diff --git a/go.mod b/go.mod index 7babc52b997..a8635a1e431 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/terraform-providers/terraform-provider-aws go 1.13 require ( - github.com/aws/aws-sdk-go v1.30.21 + github.com/aws/aws-sdk-go v1.34.0 github.com/beevik/etree v1.1.0 github.com/bflad/tfproviderdocs v0.5.0 github.com/bflad/tfproviderlint v0.14.0 diff --git a/go.sum b/go.sum index 9cf1d90d6ab..38b67d4932f 100644 --- a/go.sum +++ b/go.sum @@ -16,7 +16,6 @@ github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAE github.com/OpenPeeDeeP/depguard v1.0.1 h1:VlW4R6jmBIv3/u1JNlawEvJMM4J+dPORPaZasQee8Us= github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmUx/1V+TNhjQvM= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= -github.com/agext/levenshtein v1.2.1 h1:QmvMAjj2aEICytGiWzmxoE0x2KZvE0fvmqMOfy2tjT8= github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/agext/levenshtein v1.2.2 h1:0S/Yg6LYmFJ5stwQeRp6EeOcCbj7xiqQSdNelsXvaqE= github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= @@ -39,8 +38,8 @@ github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.30.21 h1:19EO1Jr80+jLwJyITzH8c79C/6EwY5mMyasqDbBiCuc= -github.com/aws/aws-sdk-go v1.30.21/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.34.0 h1:brux2dRrlwCF5JhTL7MUT3WUwo9zfDHZZp3+g3Mvlmo= +github.com/aws/aws-sdk-go v1.34.0/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -67,21 +66,17 @@ github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXH github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.10+incompatible h1:jFneRYjIvLMLhDLCzuTuU4rSJUjRplcJQ7pD7MnhC04= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-semver v0.2.0 h1:3Jm3tLmsgAYcjC+4Up7hJrFBPr+n7rAqYeSw/SZazuY= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -108,20 +103,16 @@ github.com/go-toolsmith/astcast v1.0.0 h1:JojxlmI6STnFVG9yOImLeGREv8W2ocNUM+iOhR github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= github.com/go-toolsmith/astcopy v1.0.0 h1:OMgl1b1MEpjFQ1m5ztEO06rz5CUd3oBv9RF7+DyvdG8= github.com/go-toolsmith/astcopy v1.0.0/go.mod h1:vrgyG+5Bxrnz4MZWPF+pI4R8h3qKRjjyvV/DSez4WVQ= -github.com/go-toolsmith/astequal v0.0.0-20180903214952-dcb477bfacd6 h1:aTBUNRTatDDU24gbOEKEoLiDwxtc98ga6K/iMTm6fvs= github.com/go-toolsmith/astequal v0.0.0-20180903214952-dcb477bfacd6/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= github.com/go-toolsmith/astequal v1.0.0 h1:4zxD8j3JRFNyLN46lodQuqz3xdKSrur7U/sr0SDS/gQ= github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= -github.com/go-toolsmith/astfmt v0.0.0-20180903215011-8f8ee99c3086 h1:EIMuvbE9fbtQtimdLe5yeXjuC5CeKbQt8zH6GwtIrhM= github.com/go-toolsmith/astfmt v0.0.0-20180903215011-8f8ee99c3086/go.mod h1:mP93XdblcopXwlyN4X4uodxXQhldPGZbcEJIimQHrkg= github.com/go-toolsmith/astfmt v1.0.0 h1:A0vDDXt+vsvLEdbMFJAUBI/uTbRw1ffOPnxsILnFL6k= github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw= github.com/go-toolsmith/astinfo v0.0.0-20180906194353-9809ff7efb21/go.mod h1:dDStQCHtmZpYOmjRP/8gHHnCCch3Zz3oEgCdZVdtweU= -github.com/go-toolsmith/astp v0.0.0-20180903215135-0af7e3c24f30 h1:zRJPftZJNLPDiOtvYbFRwjSbaJAcVOf80TeEmWGe2kQ= github.com/go-toolsmith/astp v0.0.0-20180903215135-0af7e3c24f30/go.mod h1:SV2ur98SGypH1UjcPpCatrV5hPazG6+IfNHbkDXBRrk= github.com/go-toolsmith/astp v1.0.0 h1:alXE75TXgcmupDsMK1fRAy0YUzLzqPVvBKoyWV+KPXg= github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= -github.com/go-toolsmith/pkgload v0.0.0-20181119091011-e9e65178eee8 h1:vVouagbdmqTVlCIAxpyYsNNTbkKZ3V66VpKOLU/s6W4= github.com/go-toolsmith/pkgload v0.0.0-20181119091011-e9e65178eee8/go.mod h1:WoMrjiy4zvdS+Bg6z9jZH82QXwkcgCBX6nOfnmdaHks= github.com/go-toolsmith/pkgload v1.0.0 h1:4DFWWMXVfbcN5So1sBNW9+yeiMqLFGl1wFLTL5R0Tgg= github.com/go-toolsmith/pkgload v1.0.0/go.mod h1:5eFArkbO80v7Z0kdngIxsRXRMTaX4Ilcwuh3clNrQJc= @@ -140,18 +131,13 @@ github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zV github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1 h1:G5FRp8JnTd7RQH5kemVNlMeyXQAztQ3mOWV95KxsXH8= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0 h1:28o5sBqPkBsMGnC6b4MvE2TzSr5/AT4c/1fLqVGIwlk= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1 h1:qGJ6qTW+x6xX/my+8YUVl4WNpX9B7+/l2tRsHGZ7f2s= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.4 h1:87PNWwrRvUSnqS4dlcBU/ftvOIBep4sYuBLlh6rX2wk= @@ -190,9 +176,7 @@ github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSW github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -221,14 +205,12 @@ github.com/hashicorp/aws-sdk-go-base v0.4.0 h1:zH9hNUdsS+2G0zJaU85ul8D59BGnZBaKM github.com/hashicorp/aws-sdk-go-base v0.4.0/go.mod h1:eRhlz3c4nhqxFZJAahJEFL7gh6Jyj5rQmQc7F9eHFyQ= github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.0 h1:wvCrVc9TjDls6+YGAF2hAifE1E5U1+b4tH6KdvN3Gig= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1 h1:dH3aiDG9Jvb5r5+bYHsikaOUIpcM0xvgMXVoDkXMzJM= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-getter v1.4.0 h1:ENHNi8494porjD0ZhIrjlAHnveSFhY7hvOJrV/fsKkw= github.com/hashicorp/go-getter v1.4.0/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= -github.com/hashicorp/go-hclog v0.9.2 h1:CG6TE5H9/JXsFWJCfoIVpKFIkFe6ysEuHirp4DxCsHI= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-hclog v0.10.0 h1:b86HUuA126IcSHyC55WjPo7KtCOVeTCKIjr+3lBhPxI= github.com/hashicorp/go-hclog v0.10.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= @@ -240,19 +222,15 @@ github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhE github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.1.0 h1:bPIoEKD27tNdebFGGxxYwcL4nepeY4j1QP23PFRGzg0= github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.0 h1:3vNe/fWF5CBgRIguda1meWhsZHy3m8gCJ5wx+dIzX/E= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/golang-lru v0.5.0 h1:CL2msUPvZTLb5O648aiLNJw3hnBxN2+1Jq8rCOH9wdo= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f h1:UdxlrJz4JOnY8W+DbLISwf2B8WXEolNRA8BGCwI9jws= github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/hcl/v2 v2.0.0 h1:efQznTz+ydmQXq3BOnRa3AXzvCeTq1P4dKj/z5GLlY8= github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= github.com/hashicorp/hcl/v2 v2.3.0 h1:iRly8YaMwTBAKhn1Ybk7VSdzbnopghktCD031P8ggUE= github.com/hashicorp/hcl/v2 v2.3.0/go.mod h1:d+FwDBbOLvpAM3Z6J7gPj/VoAGkNe/gm352ZhjJ/Zv8= @@ -260,11 +238,9 @@ github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8 h1:+RyjwU+Gnd/aTJBPZVDNm903eXVjjqhbaR4Ypx3xYyY= github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= -github.com/hashicorp/terraform-json v0.3.1 h1:vRiOLck4YX4UqzljVhdQKsVLixX4L+Pgnm/q+xu6QvE= github.com/hashicorp/terraform-json v0.3.1/go.mod h1:MdwQStcJb00ht55L/2YH0ypAO9RNtczJ1MaUlf+gJcg= github.com/hashicorp/terraform-json v0.4.0 h1:KNh29iNxozP5adfUFBJ4/fWd0Cu3taGgjHB38JYqOF4= github.com/hashicorp/terraform-json v0.4.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= -github.com/hashicorp/terraform-plugin-sdk v1.7.0 h1:B//oq0ZORG+EkVrIJy0uPGSonvmXqxSzXe8+GhknoW0= github.com/hashicorp/terraform-plugin-sdk v1.7.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY= github.com/hashicorp/terraform-plugin-sdk v1.9.0 h1:WBHHIX/RgF6/lbfMCzx0qKl96BbQy3bexWFvDqt1bhE= github.com/hashicorp/terraform-plugin-sdk v1.9.0/go.mod h1:C/AXwmDHqbc3h6URiHpIsVKrwV4PS0Sh0+VTaeEkShw= @@ -274,7 +250,6 @@ github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596 h1:hjy github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= github.com/hashicorp/vault v0.10.4 h1:4x0lHxui/ZRp/B3E0Auv1QNBJpzETqHR2kQD3mHSBJU= github.com/hashicorp/vault v0.10.4/go.mod h1:KfSyffbKxoVyspOdlaGVjIuwLobi07qD1bAbosPMpP0= -github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb h1:b5rjCoWHc7eqmAS4/qyk21ZsHyb6Mxv/jykxvNTkU4M= github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d h1:kJCB4vdITiW1eC1vq2e6IsrXKrZit1bv/TDYFGMp4BQ= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= @@ -289,7 +264,6 @@ github.com/jingyugao/rowserrcheck v0.0.0-20191204022205-72ab7603b68a/go.mod h1:x github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3 h1:jNYPNLe3d8smommaoQlK7LOA5ESyUJJ+Wf79ZtA7Vp4= github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc= github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= @@ -317,18 +291,15 @@ github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348 h1:MtvEpTB6LX3vkb4ax0b5D2DHbNAUsen0Gx5wZoq3lV4= github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= -github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= @@ -336,16 +307,13 @@ github.com/maratori/testpackage v1.0.1 h1:QtJ5ZjqapShm0w5DosRjg0PRlSdAdlx+W6cCKo github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU= github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb h1:RHba4YImhrUVQDHUCe2BNSOz4tVy2yGyXhvYDvxGgeE= github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= -github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.4 h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.10 h1:qxFzApOv4WsAL965uUPIsXzAKCZxN2p9UqdhFS4ZW10= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= @@ -359,23 +327,19 @@ github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2Em github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= -github.com/mitchellh/go-homedir v1.0.0 h1:vKb8ShqSby24Yrqr/yDYkuFz8d0WUjys40rvnGC8aR0= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-ps v0.0.0-20190716172923-621e5597135b/go.mod h1:r1VsdOzOPt1ZSrGZWFoNhsAedKnEd6r9Np1+5blZCWk= -github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77 h1:7GoSOOW2jpsfkntVKaS2rAr1TJqfcxotyaUcuxoZSzg= github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-testing-interface v1.0.0 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= -github.com/mitchellh/mapstructure v1.0.0 h1:vVpGvMXJPqSDh2VYHF7gsfQj8Ncx+Xw5Y1KHeTRY+7I= github.com/mitchellh/mapstructure v1.0.0/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.1 h1:FVzMWA5RllMAKIdUSC8mdWo3XtwoecrH79BY70sEEpE= github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= @@ -390,7 +354,6 @@ github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLA github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/onsi/ginkgo v1.6.0 h1:Ix8l273rp3QzYgXSR+c8d1fTG7UPgYkOSELPhiY/YGw= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.0 h1:Iw5WCbBcaAAd0fpRb1c9r5YCylv4XDoCSigm1zLevwU= github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= @@ -403,9 +366,7 @@ github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/9 github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= github.com/pierrec/lz4 v2.0.5+incompatible h1:2xWsjqPFWcplujydGg4WmhC/6fZqK42wMM8aXeqhl0I= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -442,7 +403,6 @@ github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e h1:MZM7FHLqUHYI0Y/mQAt github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041 h1:llrF3Fs4018ePo4+G/HV/uQUqEI1HMDjCeOf2V6puPc= github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= -github.com/sirupsen/logrus v1.2.0 h1:juTguoYk5qI21pwyTXY3B3Y5cOTH3ZUyZCg1v/mihuo= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= @@ -466,7 +426,6 @@ github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tL github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= @@ -478,9 +437,7 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= @@ -518,7 +475,6 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/zclconf/go-cty v0.0.0-20190430221426-d36a6f0dbffd/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= -github.com/zclconf/go-cty v1.1.0 h1:uJwc9HiBOCpoKIObTQaLR+tsEXx1HBHnOsOOpcdhZgw= github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= github.com/zclconf/go-cty v1.2.1 h1:vGMsygfmeCl4Xb6OA5U5XVAaQZ69FvoG7X2jUtQujb8= @@ -535,7 +491,6 @@ go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734 h1:p/H982KKEjUnLJkM3tt/LemDnOc1GiZL5FCVlORJ5zo= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -553,7 +508,6 @@ golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee h1:WG0RUwxtNT4qqaXX3DPA8zHFNm/D9xaBpxzHt1WcA/E= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -565,7 +519,6 @@ golang.org/x/net v0.0.0-20180911220305-26e67e76b6c3/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd h1:HuTn7WObtcDo9uEEU7rEqL0jYthdXAmZ6PP+meazmaU= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -573,28 +526,21 @@ golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859 h1:R/3boaszxrf1GEUWTVDzSKVwLmSJpwZ1yqXm8j0v2QI= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478 h1:l5EDrHhldLYb3ZRHDUhXF7Om7MvYXnkV9/iQNo1lX6g= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191009170851-d66e71096ffb h1:TR699M2v0qoKTOHxeLgp6zPqaQNs74f01a/ob9W0qko= golang.org/x/net v0.0.0-20191009170851-d66e71096ffb/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjutRKlBEZQ6wTn8ozI/nI= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a h1:GuSPYbZzB5/dcLNCwLQLsg3obCJtX9IJhpXkvY7kzk0= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421 h1:Wo7BWFiOk0QRFMLYMqJGFMd9CgUAcGx7V+qEg/h5IBI= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -611,26 +557,20 @@ golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82 h1:vsphBvatvfbhlb4PO1BYSr9dzugGxJ/SQHoNufZJq1w= golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190804053845-51ab0e2deafa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be h1:QAcqgptGM8IQBC9K/RC4o+O9YmqEm0diQn9QmZw/0mU= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527 h1:uYVVQ9WP/Ds2ROhcaGPeIdVq0RIXVLwsHlnvJ+cT1So= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2 h1:z99zHgr7hKfrUcX/KsoJk5FJfjTceCKIp96+biqP4To= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c h1:fqgJT0MGcGpPgpWU7VRdRjuArfcOvC4AoJmILihzhDg= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -646,10 +586,8 @@ golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262 h1:qsl9y/CJx34tuA7QCPNp86JNJe4spst6Ff8MjvPUdPg= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190521203540-521d6ed310dd h1:7E3PabyysDSEjnaANKBgums/hyvMI/HoHQ50qZEzTrg= golang.org/x/tools v0.0.0-20190521203540-521d6ed310dd/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -661,7 +599,6 @@ golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200214201135-548b770e2dfa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200216192241-b320d3a0f5a2 h1:0sfSpGSa544Fwnbot3Oxq/U6SXqjty6Jy/3wRhVS7ig= golang.org/x/tools v0.0.0-20200216192241-b320d3a0f5a2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200228224639-71482053b885/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= @@ -669,7 +606,6 @@ golang.org/x/tools v0.0.0-20200414032229-332987a829c3/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200422022333-3d57cf2e726e h1:3Dzrrxi54Io7Aoyb0PYLsI47K2TxkRQg+cqUn+m04do= golang.org/x/tools v0.0.0-20200422022333-3d57cf2e726e/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898 h1:/atklqdjdhuosWIl6AIbOeHJjicWYPqR9bpxqxYG2pA= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -679,39 +615,31 @@ google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEn google.golang.org/api v0.9.0 h1:jbyannxz0XFD3zdjgrSUsaJbgpH4eTrkdhRChkHPfO8= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19 h1:Lj2SnHtxkRGJDqnGaSjo+CCdIieEnwVazbOXILwQemk= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2ElGhA4+qG2zF97qiUzTM+rQ0klBOcE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200310143817-43be25429f5a h1:lRlI5zu6AFy3iU/F8YWyNrAmn/tPCnhiTxfwhWb76eU= google.golang.org/genproto v0.0.0-20200310143817-43be25429f5a/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.0 h1:G+97AoqBnmZIT91cLG/EkCoK9NSelj64P8bOHHNmGn0= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0 h1:AzbTB6ux+okLTzP8Ru1Xs41C303zdcfEht7MQnYJt5A= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.1 h1:zvIju4sqAGvwKspUQOhwnpcqSbzi7/H6QomNNjTL4sk= google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -725,13 +653,9 @@ gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.7 h1:VUgggvou5XRW9mHwD/yXxIYSMtY0zoKQf/v226p2nyo= gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/aws/aws-sdk-go/aws/config.go b/vendor/github.com/aws/aws-sdk-go/aws/config.go index 2def23fa1d1..3b809e8478c 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/config.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/config.go @@ -43,7 +43,7 @@ type Config struct { // An optional endpoint URL (hostname only or fully qualified URI) // that overrides the default generated endpoint for a client. Set this - // to `""` to use the default generated endpoint. + // to `nil` or the value to `""` to use the default generated endpoint. // // Note: You must still provide a `Region` value when specifying an // endpoint for a client. @@ -138,7 +138,7 @@ type Config struct { // `ExpectContinueTimeout` for information on adjusting the continue wait // timeout. https://golang.org/pkg/net/http/#Transport // - // You should use this flag to disble 100-Continue if you experience issues + // You should use this flag to disable 100-Continue if you experience issues // with proxies or third party S3 compatible services. S3Disable100Continue *bool @@ -183,7 +183,7 @@ type Config struct { // // Example: // sess := session.Must(session.NewSession(aws.NewConfig() - // .WithEC2MetadataDiableTimeoutOverride(true))) + // .WithEC2MetadataDisableTimeoutOverride(true))) // // svc := s3.New(sess) // @@ -194,7 +194,7 @@ type Config struct { // both IPv4 and IPv6 addressing. // // Setting this for a service which does not support dual stack will fail - // to make requets. It is not recommended to set this value on the session + // to make requests. It is not recommended to set this value on the session // as it will apply to all service clients created with the session. Even // services which don't support dual stack endpoints. // @@ -238,6 +238,7 @@ type Config struct { // EnableEndpointDiscovery will allow for endpoint discovery on operations that // have the definition in its model. By default, endpoint discovery is off. + // To use EndpointDiscovery, Endpoint should be unset or set to an empty string. // // Example: // sess := session.Must(session.NewSession(&aws.Config{ diff --git a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go index aa902d70837..d95a5eb5408 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go @@ -225,6 +225,8 @@ var ValidateEndpointHandler = request.NamedHandler{Name: "core.ValidateEndpointH if r.ClientInfo.SigningRegion == "" && aws.StringValue(r.Config.Region) == "" { r.Error = aws.ErrMissingRegion } else if r.ClientInfo.Endpoint == "" { + // Was any endpoint provided by the user, or one was derived by the + // SDK's endpoint resolver? r.Error = aws.ErrMissingEndpoint } }} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go index e1551495812..22b5c5d9f32 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go @@ -17,8 +17,9 @@ var ( ErrSharedCredentialsHomeNotFound = awserr.New("UserHomeNotFound", "user home directory not found.", nil) ) -// A SharedCredentialsProvider retrieves credentials from the current user's home -// directory, and keeps track if those credentials are expired. +// A SharedCredentialsProvider retrieves access key pair (access key ID, +// secret access key, and session token if present) credentials from the current +// user's home directory, and keeps track if those credentials are expired. // // Profile ini file example: $HOME/.aws/credentials type SharedCredentialsProvider struct { diff --git a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go index b8b2940d744..dc7e051e0c0 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go @@ -41,7 +41,7 @@ const ( enableTokenProviderHandlerName = "enableTokenProviderHandler" // TTL constants - defaultTTL = 21600 * time.Second + defaultTTL = 21600 * time.Second ttlExpirationWindow = 30 * time.Second ) diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go index 343a2106f81..654fb1ad52d 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go @@ -93,7 +93,7 @@ func decodeV3Endpoints(modelDef modelDefinition, opts DecodeModelOptions) (Resol } func custAddS3DualStack(p *partition) { - if p.ID != "aws" { + if !(p.ID == "aws" || p.ID == "aws-cn" || p.ID == "aws-us-gov") { return } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go index 9b50e10b4bd..4f9de24fd56 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go @@ -25,12 +25,12 @@ const ( ApSoutheast1RegionID = "ap-southeast-1" // Asia Pacific (Singapore). ApSoutheast2RegionID = "ap-southeast-2" // Asia Pacific (Sydney). CaCentral1RegionID = "ca-central-1" // Canada (Central). - EuCentral1RegionID = "eu-central-1" // EU (Frankfurt). - EuNorth1RegionID = "eu-north-1" // EU (Stockholm). + EuCentral1RegionID = "eu-central-1" // Europe (Frankfurt). + EuNorth1RegionID = "eu-north-1" // Europe (Stockholm). EuSouth1RegionID = "eu-south-1" // Europe (Milan). - EuWest1RegionID = "eu-west-1" // EU (Ireland). - EuWest2RegionID = "eu-west-2" // EU (London). - EuWest3RegionID = "eu-west-3" // EU (Paris). + EuWest1RegionID = "eu-west-1" // Europe (Ireland). + EuWest2RegionID = "eu-west-2" // Europe (London). + EuWest3RegionID = "eu-west-3" // Europe (Paris). MeSouth1RegionID = "me-south-1" // Middle East (Bahrain). SaEast1RegionID = "sa-east-1" // South America (Sao Paulo). UsEast1RegionID = "us-east-1" // US East (N. Virginia). @@ -48,7 +48,7 @@ const ( // AWS GovCloud (US) partition's regions. const ( UsGovEast1RegionID = "us-gov-east-1" // AWS GovCloud (US-East). - UsGovWest1RegionID = "us-gov-west-1" // AWS GovCloud (US). + UsGovWest1RegionID = "us-gov-west-1" // AWS GovCloud (US-West). ) // AWS ISO (US) partition's regions. @@ -134,22 +134,22 @@ var awsPartition = partition{ Description: "Canada (Central)", }, "eu-central-1": region{ - Description: "EU (Frankfurt)", + Description: "Europe (Frankfurt)", }, "eu-north-1": region{ - Description: "EU (Stockholm)", + Description: "Europe (Stockholm)", }, "eu-south-1": region{ Description: "Europe (Milan)", }, "eu-west-1": region{ - Description: "EU (Ireland)", + Description: "Europe (Ireland)", }, "eu-west-2": region{ - Description: "EU (London)", + Description: "Europe (London)", }, "eu-west-3": region{ - Description: "EU (Paris)", + Description: "Europe (Paris)", }, "me-south-1": region{ Description: "Middle East (Bahrain)", @@ -194,12 +194,42 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, - "me-south-1": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "fips-ca-central-1": endpoint{ + Hostname: "access-analyzer-fips.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, + "fips-us-east-1": endpoint{ + Hostname: "access-analyzer-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "access-analyzer-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-1": endpoint{ + Hostname: "access-analyzer-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "access-analyzer-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "acm": service{ @@ -312,6 +342,29 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "api.detective": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "api.ecr": service{ Endpoints: endpoints{ @@ -639,6 +692,7 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, @@ -661,11 +715,17 @@ var awsPartition = partition{ "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, + "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -724,6 +784,7 @@ var awsPartition = partition{ Protocols: []string{"http", "https"}, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -731,8 +792,12 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -774,6 +839,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -855,6 +921,7 @@ var awsPartition = partition{ "cloud9": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -863,10 +930,15 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, + "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -969,6 +1041,7 @@ var awsPartition = partition{ }, }, Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -978,6 +1051,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -1053,6 +1127,21 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "codeartifact": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "codebuild": service{ Endpoints: endpoints{ @@ -1505,6 +1594,7 @@ var awsPartition = partition{ "datasync": service{ Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -1514,6 +1604,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -1631,8 +1722,10 @@ var awsPartition = partition{ "discovery": service{ Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, + "us-east-1": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -1753,6 +1846,7 @@ var awsPartition = partition{ "ds": service{ Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -1762,6 +1856,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -1984,6 +2079,50 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "eks": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "af-south-1": endpoint{}, + "ap-east-1": endpoint{}, + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "fips-us-east-1": endpoint{ + Hostname: "fips.eks.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "fips.eks.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "fips.eks.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "elasticache": service{ Endpoints: endpoints{ @@ -2067,6 +2206,7 @@ var awsPartition = partition{ "elasticfilesystem": service{ Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -2076,9 +2216,16 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, + "fips-af-south-1": endpoint{ + Hostname: "elasticfilesystem-fips.af-south-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "af-south-1", + }, + }, "fips-ap-east-1": endpoint{ Hostname: "elasticfilesystem-fips.ap-east-1.amazonaws.com", CredentialScope: credentialScope{ @@ -2133,6 +2280,12 @@ var awsPartition = partition{ Region: "eu-north-1", }, }, + "fips-eu-south-1": endpoint{ + Hostname: "elasticfilesystem-fips.eu-south-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-south-1", + }, + }, "fips-eu-west-1": endpoint{ Hostname: "elasticfilesystem-fips.eu-west-1.amazonaws.com", CredentialScope: credentialScope{ @@ -2425,6 +2578,7 @@ var awsPartition = partition{ "firehose": service{ Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -2434,6 +2588,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -2474,6 +2629,7 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, @@ -2575,11 +2731,12 @@ var awsPartition = partition{ Region: "us-west-2", }, }, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "forecast": service{ @@ -2618,12 +2775,15 @@ var awsPartition = partition{ "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -2778,9 +2938,21 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, - "me-south-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, + "fips-us-east-2": endpoint{ + Hostname: "groundstation-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "groundstation-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "me-south-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, }, }, "guardduty": service{ @@ -2789,6 +2961,7 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -2798,6 +2971,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -2839,6 +3013,12 @@ var awsPartition = partition{ "us-east-1": endpoint{}, }, }, + "honeycode": service{ + + Endpoints: endpoints{ + "us-west-2": endpoint{}, + }, + }, "iam": service{ PartitionEndpoint: "aws-global", IsRegionalized: boxedFalse, @@ -2945,6 +3125,7 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "us-east-1": endpoint{}, @@ -3219,8 +3400,11 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-1": endpoint{}, @@ -3279,6 +3463,7 @@ var awsPartition = partition{ "license-manager": service{ Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -3288,6 +3473,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -3358,12 +3544,36 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, - "me-south-1": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "fips-us-east-1": endpoint{ + Hostname: "logs-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "logs-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-1": endpoint{ + Hostname: "logs-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "logs-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "machinelearning": service{ @@ -3373,23 +3583,26 @@ var awsPartition = partition{ "us-east-1": endpoint{}, }, }, - "managedblockchain": service{ - - Endpoints: endpoints{ - "ap-northeast-1": endpoint{}, - "ap-northeast-2": endpoint{}, - "ap-southeast-1": endpoint{}, - "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - }, - }, - "marketplacecommerceanalytics": service{ + "macie": service{ Endpoints: endpoints{ + "fips-us-east-1": endpoint{ + Hostname: "macie-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "macie-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, "us-east-1": endpoint{}, + "us-west-2": endpoint{}, }, }, - "mediaconnect": service{ + "macie2": service{ Endpoints: endpoints{ "ap-east-1": endpoint{}, @@ -3398,28 +3611,70 @@ var awsPartition = partition{ "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "fips-us-east-1": endpoint{ + Hostname: "macie2-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "macie2-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-1": endpoint{ + Hostname: "macie2-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "macie2-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, - "mediaconvert": service{ + "managedblockchain": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-southeast-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + }, + }, + "marketplacecommerceanalytics": service{ + + Endpoints: endpoints{ + "us-east-1": endpoint{}, + }, + }, + "mediaconnect": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, - "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -3430,6 +3685,57 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "mediaconvert": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "fips-ca-central-1": endpoint{ + Hostname: "mediaconvert-fips.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, + "fips-us-east-1": endpoint{ + Hostname: "mediaconvert-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "mediaconvert-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-1": endpoint{ + Hostname: "mediaconvert-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "mediaconvert-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "medialive": service{ Endpoints: endpoints{ @@ -3514,8 +3820,10 @@ var awsPartition = partition{ "mgh": service{ Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, + "us-east-1": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -3532,6 +3840,7 @@ var awsPartition = partition{ }, }, Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, @@ -3652,6 +3961,12 @@ var awsPartition = partition{ "neptune": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{ + Hostname: "rds.ap-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-east-1", + }, + }, "ap-northeast-1": endpoint{ Hostname: "rds.ap-northeast-1.amazonaws.com", CredentialScope: credentialScope{ @@ -3724,6 +4039,12 @@ var awsPartition = partition{ Region: "me-south-1", }, }, + "sa-east-1": endpoint{ + Hostname: "rds.sa-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "sa-east-1", + }, + }, "us-east-1": endpoint{ Hostname: "rds.us-east-1.amazonaws.com", CredentialScope: credentialScope{ @@ -3736,6 +4057,12 @@ var awsPartition = partition{ Region: "us-east-2", }, }, + "us-west-1": endpoint{ + Hostname: "rds.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, "us-west-2": endpoint{ Hostname: "rds.us-west-2.amazonaws.com", CredentialScope: credentialScope{ @@ -3771,6 +4098,12 @@ var awsPartition = partition{ Region: "eu-central-1", }, }, + "eu-north-1": endpoint{ + Hostname: "oidc.eu-north-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "eu-north-1", + }, + }, "eu-west-1": endpoint{ Hostname: "oidc.eu-west-1.amazonaws.com", CredentialScope: credentialScope{ @@ -3859,22 +4192,56 @@ var awsPartition = partition{ "outposts": service{ Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, - "me-south-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "fips-ca-central-1": endpoint{ + Hostname: "outposts-fips.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, + "fips-us-east-1": endpoint{ + Hostname: "outposts-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "outposts-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-1": endpoint{ + Hostname: "outposts-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "outposts-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "pinpoint": service{ @@ -3884,6 +4251,7 @@ var awsPartition = partition{ }, }, Endpoints: endpoints{ + "ap-northeast-2": endpoint{}, "ap-south-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, @@ -4049,6 +4417,7 @@ var awsPartition = partition{ "ram": service{ Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -4058,6 +4427,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -4192,10 +4562,34 @@ var awsPartition = partition{ "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "rekognition-fips.us-east-1": endpoint{ + Hostname: "rekognition-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "rekognition-fips.us-east-2": endpoint{ + Hostname: "rekognition-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "rekognition-fips.us-west-1": endpoint{ + Hostname: "rekognition-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "rekognition-fips.us-west-2": endpoint{ + Hostname: "rekognition-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "resource-groups": service{ @@ -4283,6 +4677,7 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -4292,6 +4687,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -4310,6 +4706,7 @@ var awsPartition = partition{ }, }, Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, @@ -4604,10 +5001,22 @@ var awsPartition = partition{ "schemas": service{ Endpoints: endpoints{ + "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "sa-east-1": endpoint{}, "us-east-1": endpoint{}, "us-east-2": endpoint{}, + "us-west-1": endpoint{}, "us-west-2": endpoint{}, }, }, @@ -4632,6 +5041,7 @@ var awsPartition = partition{ "secretsmanager": service{ Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -4641,6 +5051,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -4679,6 +5090,7 @@ var awsPartition = partition{ "securityhub": service{ Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -4688,15 +5100,40 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, - "me-south-1": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "fips-us-east-1": endpoint{ + Hostname: "securityhub-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "securityhub-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-1": endpoint{ + Hostname: "securityhub-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "securityhub-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "serverlessrepo": service{ @@ -4763,6 +5200,7 @@ var awsPartition = partition{ "servicecatalog": service{ Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -4772,6 +5210,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -4830,6 +5269,31 @@ var awsPartition = partition{ "us-west-2": endpoint{}, }, }, + "servicequotas": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "ap-east-1": endpoint{}, + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-north-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, "session.qldb": service{ Endpoints: endpoints{ @@ -4845,20 +5309,21 @@ var awsPartition = partition{ }, }, "shield": service{ - IsRegionalized: boxedFalse, + PartitionEndpoint: "aws-global", + IsRegionalized: boxedFalse, Defaults: endpoint{ SSLCommonName: "shield.us-east-1.amazonaws.com", Protocols: []string{"https"}, }, Endpoints: endpoints{ - "fips-us-east-1": endpoint{ - Hostname: "shield-fips.us-east-1.amazonaws.com", + "aws-global": endpoint{ + Hostname: "shield.us-east-1.amazonaws.com", CredentialScope: credentialScope{ Region: "us-east-1", }, }, - "us-east-1": endpoint{ - Hostname: "shield.us-east-1.amazonaws.com", + "fips-aws-global": endpoint{ + Hostname: "shield-fips.us-east-1.amazonaws.com", CredentialScope: credentialScope{ Region: "us-east-1", }, @@ -5254,6 +5719,7 @@ var awsPartition = partition{ "storagegateway": service{ Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -5263,15 +5729,22 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, - "me-south-1": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "fips": endpoint{ + Hostname: "storagegateway-fips.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, + "me-south-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "streams.dynamodb": service{ @@ -5947,6 +6420,13 @@ var awscnPartition = partition{ }, }, Services: services{ + "access-analyzer": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, + }, + }, "acm": service{ Endpoints: endpoints{ @@ -6016,6 +6496,15 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "autoscaling-plans": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, + }, + }, "backup": service{ Endpoints: endpoints{ @@ -6030,6 +6519,32 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "budgets": service{ + PartitionEndpoint: "aws-cn-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-cn-global": endpoint{ + Hostname: "budgets.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, + }, + }, + "ce": service{ + PartitionEndpoint: "aws-cn-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-cn-global": endpoint{ + Hostname: "ce.cn-northwest-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, + }, + }, "cloudformation": service{ Endpoints: endpoints{ @@ -6092,6 +6607,12 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "cur": service{ + + Endpoints: endpoints{ + "cn-northwest-1": endpoint{}, + }, + }, "dax": service{ Endpoints: endpoints{ @@ -6155,6 +6676,15 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "eks": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, + }, + }, "elasticache": service{ Endpoints: endpoints{ @@ -6310,6 +6840,13 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "kinesisanalytics": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, + }, + }, "kms": service{ Endpoints: endpoints{ @@ -6369,6 +6906,25 @@ var awscnPartition = partition{ }, }, }, + "organizations": service{ + PartitionEndpoint: "aws-cn-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-cn-global": endpoint{ + Hostname: "organizations.cn-northwest-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, + "fips-aws-cn-global": endpoint{ + Hostname: "organizations.cn-northwest-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, + }, + }, "polly": service{ Endpoints: endpoints{ @@ -6389,6 +6945,19 @@ var awscnPartition = partition{ "cn-northwest-1": endpoint{}, }, }, + "route53": service{ + PartitionEndpoint: "aws-cn-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-cn-global": endpoint{ + Hostname: "route53.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, + }, + }, "runtime.sagemaker": service{ Endpoints: endpoints{ @@ -6400,6 +6969,9 @@ var awscnPartition = partition{ Defaults: endpoint{ Protocols: []string{"http", "https"}, SignatureVersions: []string{"s3v4"}, + + HasDualStack: boxedTrue, + DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}", }, Endpoints: endpoints{ "cn-north-1": endpoint{}, @@ -6410,6 +6982,9 @@ var awscnPartition = partition{ Defaults: endpoint{ Protocols: []string{"https"}, SignatureVersions: []string{"s3v4"}, + + HasDualStack: boxedTrue, + DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}", }, Endpoints: endpoints{ "cn-north-1": endpoint{ @@ -6458,13 +7033,20 @@ var awscnPartition = partition{ "snowball": service{ Endpoints: endpoints{ - "cn-north-1": endpoint{}, + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, "fips-cn-north-1": endpoint{ Hostname: "snowball-fips.cn-north-1.amazonaws.com.cn", CredentialScope: credentialScope{ Region: "cn-north-1", }, }, + "fips-cn-northwest-1": endpoint{ + Hostname: "snowball-fips.cn-northwest-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, }, }, "sns": service{ @@ -6612,15 +7194,25 @@ var awsusgovPartition = partition{ Description: "AWS GovCloud (US-East)", }, "us-gov-west-1": region{ - Description: "AWS GovCloud (US)", + Description: "AWS GovCloud (US-West)", }, }, Services: services{ "access-analyzer": service{ Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, + "us-gov-east-1": endpoint{ + Hostname: "access-analyzer.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "us-gov-west-1": endpoint{ + Hostname: "access-analyzer.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "acm": service{ @@ -6684,6 +7276,18 @@ var awsusgovPartition = partition{ Endpoints: endpoints{ "us-gov-west-1": endpoint{}, + "us-gov-west-1-fips": endpoint{ + Hostname: "api-fips.sagemaker.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + "us-gov-west-1-fips-secondary": endpoint{ + Hostname: "api.sagemaker.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "apigateway": service{ @@ -6745,7 +7349,9 @@ var awsusgovPartition = partition{ "autoscaling": service{ Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, + "us-gov-east-1": endpoint{ + Protocols: []string{"http", "https"}, + }, "us-gov-west-1": endpoint{ Protocols: []string{"http", "https"}, }, @@ -6760,6 +7366,13 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "backup": service{ + + Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, + "us-gov-west-1": endpoint{}, + }, + }, "batch": service{ Endpoints: endpoints{ @@ -6788,8 +7401,18 @@ var awsusgovPartition = partition{ "cloudformation": service{ Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, + "us-gov-east-1": endpoint{ + Hostname: "cloudformation.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "us-gov-west-1": endpoint{ + Hostname: "cloudformation.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "cloudhsm": service{ @@ -6812,8 +7435,18 @@ var awsusgovPartition = partition{ "cloudtrail": service{ Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, + "us-gov-east-1": endpoint{ + Hostname: "cloudtrail.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "us-gov-west-1": endpoint{ + Hostname: "cloudtrail.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "codebuild": service{ @@ -6867,11 +7500,29 @@ var awsusgovPartition = partition{ }, }, }, - "codepipeline": service{ + "codepipeline": service{ + + Endpoints: endpoints{ + "fips-us-gov-west-1": endpoint{ + Hostname: "codepipeline-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + "us-gov-west-1": endpoint{}, + }, + }, + "cognito-identity": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "cognito-idp": service{ Endpoints: endpoints{ "fips-us-gov-west-1": endpoint{ - Hostname: "codepipeline-fips.us-gov-west-1.amazonaws.com", + Hostname: "cognito-idp-fips.us-gov-west-1.amazonaws.com", CredentialScope: credentialScope{ Region: "us-gov-west-1", }, @@ -6896,6 +7547,12 @@ var awsusgovPartition = partition{ "comprehendmedical": service{ Endpoints: endpoints{ + "fips-us-gov-west-1": endpoint{ + Hostname: "comprehendmedical-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-west-1": endpoint{}, }, }, @@ -6955,6 +7612,17 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "docdb": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{ + Hostname: "rds.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + }, + }, "ds": service{ Endpoints: endpoints{ @@ -7040,11 +7708,20 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "eks": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, + "us-gov-west-1": endpoint{}, + }, + }, "elasticache": service{ Endpoints: endpoints{ "fips": endpoint{ - Hostname: "elasticache-fips.us-gov-west-1.amazonaws.com", + Hostname: "elasticache.us-gov-west-1.amazonaws.com", CredentialScope: credentialScope{ Region: "us-gov-west-1", }, @@ -7092,6 +7769,18 @@ var awsusgovPartition = partition{ "elasticloadbalancing": service{ Endpoints: endpoints{ + "fips-us-gov-east-1": endpoint{ + Hostname: "elasticloadbalancing-fips.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "fips-us-gov-west-1": endpoint{ + Hostname: "elasticloadbalancing-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{ Protocols: []string{"http", "https"}, @@ -7101,6 +7790,18 @@ var awsusgovPartition = partition{ "elasticmapreduce": service{ Endpoints: endpoints{ + "fips-us-gov-east-1": endpoint{ + Hostname: "elasticmapreduce.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "fips-us-gov-west-1": endpoint{ + Hostname: "elasticmapreduce.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{ Protocols: []string{"https"}, @@ -7135,8 +7836,18 @@ var awsusgovPartition = partition{ "events": service{ Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, + "us-gov-east-1": endpoint{ + Hostname: "events.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "us-gov-west-1": endpoint{ + Hostname: "events.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "firehose": service{ @@ -7201,7 +7912,12 @@ var awsusgovPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, + "us-gov-west-1": endpoint{ + Hostname: "greengrass.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "guardduty": service{ @@ -7211,6 +7927,12 @@ var awsusgovPartition = partition{ }, Endpoints: endpoints{ "us-gov-west-1": endpoint{}, + "us-gov-west-1-fips": endpoint{ + Hostname: "guardduty.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "health": service{ @@ -7230,6 +7952,12 @@ var awsusgovPartition = partition{ Region: "us-gov-west-1", }, }, + "iam-govcloud-fips": endpoint{ + Hostname: "iam.us-gov.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "inspector": service{ @@ -7267,8 +7995,34 @@ var awsusgovPartition = partition{ "us-gov-west-1": endpoint{}, }, }, + "kafka": service{ + + Endpoints: endpoints{ + "us-gov-east-1": endpoint{}, + "us-gov-west-1": endpoint{}, + }, + }, "kinesis": service{ + Endpoints: endpoints{ + "fips-us-gov-east-1": endpoint{ + Hostname: "kinesis-fips.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "fips-us-gov-west-1": endpoint{ + Hostname: "kinesis-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + "us-gov-east-1": endpoint{}, + "us-gov-west-1": endpoint{}, + }, + }, + "kinesisanalytics": service{ + Endpoints: endpoints{ "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, @@ -7328,14 +8082,29 @@ var awsusgovPartition = partition{ "logs": service{ Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, + "us-gov-east-1": endpoint{ + Hostname: "logs.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "us-gov-west-1": endpoint{ + Hostname: "logs.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "mediaconvert": service{ Endpoints: endpoints{ - "us-gov-west-1": endpoint{}, + "us-gov-west-1": endpoint{ + Hostname: "mediaconvert.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "metering.marketplace": service{ @@ -7396,13 +8165,29 @@ var awsusgovPartition = partition{ Region: "us-gov-west-1", }, }, + "fips-aws-us-gov-global": endpoint{ + Hostname: "organizations.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "outposts": service{ Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, - "us-gov-west-1": endpoint{}, + "us-gov-east-1": endpoint{ + Hostname: "outposts.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "us-gov-west-1": endpoint{ + Hostname: "outposts.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "pinpoint": service{ @@ -7437,6 +8222,18 @@ var awsusgovPartition = partition{ "rds": service{ Endpoints: endpoints{ + "rds.us-gov-east-1": endpoint{ + Hostname: "rds.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "rds.us-gov-west-1": endpoint{ + Hostname: "rds.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, @@ -7461,6 +8258,12 @@ var awsusgovPartition = partition{ "rekognition": service{ Endpoints: endpoints{ + "rekognition-fips.us-gov-west-1": endpoint{ + Hostname: "rekognition-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-west-1": endpoint{}, }, }, @@ -7512,6 +8315,9 @@ var awsusgovPartition = partition{ "s3": service{ Defaults: endpoint{ SignatureVersions: []string{"s3", "s3v4"}, + + HasDualStack: boxedTrue, + DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}", }, Endpoints: endpoints{ "fips-us-gov-west-1": endpoint{ @@ -7534,6 +8340,9 @@ var awsusgovPartition = partition{ Defaults: endpoint{ Protocols: []string{"https"}, SignatureVersions: []string{"s3v4"}, + + HasDualStack: boxedTrue, + DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}", }, Endpoints: endpoints{ "us-gov-east-1": endpoint{ @@ -7588,6 +8397,18 @@ var awsusgovPartition = partition{ "securityhub": service{ Endpoints: endpoints{ + "fips-us-gov-east-1": endpoint{ + Hostname: "securityhub-fips.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "fips-us-gov-west-1": endpoint{ + Hostname: "securityhub-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, @@ -7598,10 +8419,18 @@ var awsusgovPartition = partition{ }, Endpoints: endpoints{ "us-gov-east-1": endpoint{ + Hostname: "serverlessrepo.us-gov-east-1.amazonaws.com", Protocols: []string{"https"}, + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, }, "us-gov-west-1": endpoint{ + Hostname: "serverlessrepo.us-gov-west-1.amazonaws.com", Protocols: []string{"https"}, + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, }, }, }, @@ -7665,25 +8494,67 @@ var awsusgovPartition = partition{ "sns": service{ Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, + "us-gov-east-1": endpoint{ + Hostname: "sns.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoint{ + Hostname: "sns.us-gov-west-1.amazonaws.com", Protocols: []string{"http", "https"}, + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, }, }, }, "sqs": service{ Endpoints: endpoints{ - "us-gov-east-1": endpoint{}, + "us-gov-east-1": endpoint{ + Hostname: "sqs.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoint{ + Hostname: "sqs.us-gov-west-1.amazonaws.com", SSLCommonName: "{region}.queue.{dnsSuffix}", Protocols: []string{"http", "https"}, + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, }, }, }, "ssm": service{ Endpoints: endpoints{ + "fips-us-gov-east-1": endpoint{ + Hostname: "ssm.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "fips-us-gov-west-1": endpoint{ + Hostname: "ssm.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + "ssm-facade-fips-us-gov-east-1": endpoint{ + Hostname: "ssm-facade.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + "ssm-facade-fips-us-gov-west-1": endpoint{ + Hostname: "ssm-facade.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, @@ -7710,6 +8581,12 @@ var awsusgovPartition = partition{ "storagegateway": service{ Endpoints: endpoints{ + "fips": endpoint{ + Hostname: "storagegateway-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, "us-gov-east-1": endpoint{}, "us-gov-west-1": endpoint{}, }, @@ -7741,7 +8618,19 @@ var awsusgovPartition = partition{ Endpoints: endpoints{ "us-gov-east-1": endpoint{}, + "us-gov-east-1-fips": endpoint{ + Hostname: "sts.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, "us-gov-west-1": endpoint{}, + "us-gov-west-1-fips": endpoint{ + Hostname: "sts.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "support": service{ @@ -7754,6 +8643,12 @@ var awsusgovPartition = partition{ Region: "us-gov-west-1", }, }, + "fips-us-gov-west-1": endpoint{ + Hostname: "support.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, }, }, "swf": service{ @@ -8028,6 +8923,12 @@ var awsisoPartition = partition{ }, }, }, + "es": service{ + + Endpoints: endpoints{ + "us-iso-east-1": endpoint{}, + }, + }, "events": service{ Endpoints: endpoints{ @@ -8204,6 +9105,20 @@ var awsisoPartition = partition{ "us-iso-east-1": endpoint{}, }, }, + "transcribe": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "us-iso-east-1": endpoint{}, + }, + }, + "transcribestreaming": service{ + + Endpoints: endpoints{ + "us-iso-east-1": endpoint{}, + }, + }, "workspaces": service{ Endpoints: endpoints{ @@ -8387,6 +9302,12 @@ var awsisobPartition = partition{ "us-isob-east-1": endpoint{}, }, }, + "lambda": service{ + + Endpoints: endpoints{ + "us-isob-east-1": endpoint{}, + }, + }, "license-manager": service{ Endpoints: endpoints{ diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go index eb2ac83c992..773613722f4 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go @@ -7,6 +7,8 @@ import ( "strings" ) +var regionValidationRegex = regexp.MustCompile(`^[[:alnum:]]([[:alnum:]\-]*[[:alnum:]])?$`) + type partitions []partition func (ps partitions) EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) { @@ -124,7 +126,7 @@ func (p partition) EndpointFor(service, region string, opts ...func(*Options)) ( defs := []endpoint{p.Defaults, s.Defaults} - return e.resolve(service, p.ID, region, p.DNSSuffix, defs, opt), nil + return e.resolve(service, p.ID, region, p.DNSSuffix, defs, opt) } func serviceList(ss services) []string { @@ -233,7 +235,7 @@ func getByPriority(s []string, p []string, def string) string { return s[0] } -func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs []endpoint, opts Options) ResolvedEndpoint { +func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs []endpoint, opts Options) (ResolvedEndpoint, error) { var merged endpoint for _, def := range defs { merged.mergeIn(def) @@ -260,6 +262,10 @@ func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs [ region = signingRegion } + if !validateInputRegion(region) { + return ResolvedEndpoint{}, fmt.Errorf("invalid region identifier format provided") + } + u := strings.Replace(hostname, "{service}", service, 1) u = strings.Replace(u, "{region}", region, 1) u = strings.Replace(u, "{dnsSuffix}", dnsSuffix, 1) @@ -274,7 +280,7 @@ func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs [ SigningName: signingName, SigningNameDerived: signingNameDerived, SigningMethod: getByPriority(e.SignatureVersions, signerPriority, defaultSigner), - } + }, nil } func getEndpointScheme(protocols []string, disableSSL bool) string { @@ -339,3 +345,7 @@ const ( boxedFalse boxedTrue ) + +func validateInputRegion(region string) bool { + return regionValidationRegex.MatchString(region) +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/types.go b/vendor/github.com/aws/aws-sdk-go/aws/types.go index d542ef01bc8..98751ee84f2 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/types.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/types.go @@ -239,3 +239,26 @@ func (es errors) Error() string { return strings.Join(parts, "\n") } + +// CopySeekableBody copies the seekable body to an io.Writer +func CopySeekableBody(dst io.Writer, src io.ReadSeeker) (int64, error) { + curPos, err := src.Seek(0, sdkio.SeekCurrent) + if err != nil { + return 0, err + } + + // copy errors may be assumed to be from the body. + n, err := io.Copy(dst, src) + if err != nil { + return n, err + } + + // seek back to the first position after reading to reset + // the body for transmission. + _, err = src.Seek(curPos, sdkio.SeekStart) + if err != nil { + return n, err + } + + return n, nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go index 354ef69292d..08127d60d4c 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.30.21" +const SDKVersion = "1.34.0" diff --git a/vendor/github.com/aws/aws-sdk-go/private/checksum/content_md5.go b/vendor/github.com/aws/aws-sdk-go/private/checksum/content_md5.go new file mode 100644 index 00000000000..e045f38d837 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/private/checksum/content_md5.go @@ -0,0 +1,53 @@ +package checksum + +import ( + "crypto/md5" + "encoding/base64" + "fmt" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/request" +) + +const contentMD5Header = "Content-Md5" + +// AddBodyContentMD5Handler computes and sets the HTTP Content-MD5 header for requests that +// require it. +func AddBodyContentMD5Handler(r *request.Request) { + // if Content-MD5 header is already present, return + if v := r.HTTPRequest.Header.Get(contentMD5Header); len(v) != 0 { + return + } + + // if S3DisableContentMD5Validation flag is set, return + if aws.BoolValue(r.Config.S3DisableContentMD5Validation) { + return + } + + // if request is presigned, return + if r.IsPresigned() { + return + } + + // if body is not seekable, return + 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 + } + + h := md5.New() + + if _, err := aws.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) +} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/reader.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/reader.go index bb8ea5da165..0e4aa42f3e4 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/reader.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/reader.go @@ -69,10 +69,23 @@ func (r *EventReader) ReadEvent() (event interface{}, err error) { case ErrorMessageType: return nil, r.unmarshalErrorMessage(msg) default: - return nil, fmt.Errorf("unknown eventstream message type, %v", typ) + return nil, &UnknownMessageTypeError{ + Type: typ, Message: msg.Clone(), + } } } +// UnknownMessageTypeError provides an error when a message is received from +// the stream, but the reader is unable to determine what kind of message it is. +type UnknownMessageTypeError struct { + Type string + Message eventstream.Message +} + +func (e *UnknownMessageTypeError) Error() string { + return "unknown eventstream message type, " + e.Type +} + func (r *EventReader) unmarshalEventMessage( msg eventstream.Message, ) (event interface{}, err error) { 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 index 3b44dde2f32..f6f8c5674ed 100644 --- 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 @@ -52,6 +52,15 @@ func (hs *Headers) Del(name string) { } } +// Clone returns a deep copy of the headers +func (hs Headers) Clone() Headers { + o := make(Headers, 0, len(hs)) + for _, h := range hs { + o.Set(h.Name, h.Value) + } + return o +} + func decodeHeaders(r io.Reader) (Headers, error) { hs := Headers{} 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 index 25c9783cde6..f7427da039e 100644 --- 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 @@ -57,6 +57,20 @@ func (m *Message) rawMessage() (rawMessage, error) { return raw, nil } +// Clone returns a deep copy of the message. +func (m Message) Clone() Message { + var payload []byte + if m.Payload != nil { + payload = make([]byte, len(m.Payload)) + copy(payload, m.Payload) + } + + return Message{ + Headers: m.Headers.Clone(), + Payload: payload, + } +} + type messagePrelude struct { Length uint32 HeadersLen uint32 diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go index 05d4ff51925..d2f6dae5321 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go @@ -56,7 +56,8 @@ func FormatTime(name string, t time.Time) string { case ISO8601TimeFormatName: return t.Format(ISO8601OutputTimeFormat) case UnixTimeFormatName: - return strconv.FormatInt(t.Unix(), 10) + ms := t.UnixNano() / int64(time.Millisecond) + return strconv.FormatFloat(float64(ms)/1e3, 'f', -1, 64) default: panic("unknown timestamp format name, " + name) } diff --git a/vendor/github.com/aws/aws-sdk-go/service/amplify/api.go b/vendor/github.com/aws/aws-sdk-go/service/amplify/api.go index 76a70164f40..c12ac6bd1d3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/amplify/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/amplify/api.go @@ -57,7 +57,7 @@ func (c *Amplify) CreateAppRequest(input *CreateAppInput) (req *request.Request, // CreateApp API operation for AWS Amplify. // -// Creates a new Amplify App. +// Creates a new Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -68,22 +68,19 @@ func (c *Amplify) CreateAppRequest(input *CreateAppInput) (req *request.Request, // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // * DependentServiceFailureException -// Exception thrown when an operation fails due to a dependent service throwing -// an exception. +// An operation failed because a dependent service threw an exception. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateApp func (c *Amplify) CreateApp(input *CreateAppInput) (*CreateAppOutput, error) { @@ -151,7 +148,7 @@ func (c *Amplify) CreateBackendEnvironmentRequest(input *CreateBackendEnvironmen // CreateBackendEnvironment API operation for AWS Amplify. // -// Creates a new backend environment for an Amplify App. +// Creates a new backend environment for an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -162,21 +159,19 @@ func (c *Amplify) CreateBackendEnvironmentRequest(input *CreateBackendEnvironmen // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateBackendEnvironment func (c *Amplify) CreateBackendEnvironment(input *CreateBackendEnvironmentInput) (*CreateBackendEnvironmentOutput, error) { @@ -244,7 +239,7 @@ func (c *Amplify) CreateBranchRequest(input *CreateBranchInput) (req *request.Re // CreateBranch API operation for AWS Amplify. // -// Creates a new Branch for an Amplify App. +// Creates a new branch for an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -255,25 +250,22 @@ func (c *Amplify) CreateBranchRequest(input *CreateBranchInput) (req *request.Re // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // * DependentServiceFailureException -// Exception thrown when an operation fails due to a dependent service throwing -// an exception. +// An operation failed because a dependent service threw an exception. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateBranch func (c *Amplify) CreateBranch(input *CreateBranchInput) (*CreateBranchOutput, error) { @@ -341,7 +333,8 @@ func (c *Amplify) CreateDeploymentRequest(input *CreateDeploymentInput) (req *re // CreateDeployment API operation for AWS Amplify. // -// Create a deployment for manual deploy apps. (Apps are not connected to repository) +// Creates a deployment for a manually deployed Amplify app. Manually deployed +// apps are not connected to a repository. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -352,18 +345,16 @@ func (c *Amplify) CreateDeploymentRequest(input *CreateDeploymentInput) (req *re // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateDeployment func (c *Amplify) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploymentOutput, error) { @@ -431,7 +422,8 @@ func (c *Amplify) CreateDomainAssociationRequest(input *CreateDomainAssociationI // CreateDomainAssociation API operation for AWS Amplify. // -// Create a new DomainAssociation on an App +// Creates a new domain association for an Amplify app. This action associates +// a custom domain with the Amplify app // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -442,25 +434,22 @@ func (c *Amplify) CreateDomainAssociationRequest(input *CreateDomainAssociationI // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // * DependentServiceFailureException -// Exception thrown when an operation fails due to a dependent service throwing -// an exception. +// An operation failed because a dependent service threw an exception. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateDomainAssociation func (c *Amplify) CreateDomainAssociation(input *CreateDomainAssociationInput) (*CreateDomainAssociationOutput, error) { @@ -528,7 +517,7 @@ func (c *Amplify) CreateWebhookRequest(input *CreateWebhookInput) (req *request. // CreateWebhook API operation for AWS Amplify. // -// Create a new webhook on an App. +// Creates a new webhook on an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -539,25 +528,22 @@ func (c *Amplify) CreateWebhookRequest(input *CreateWebhookInput) (req *request. // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // * DependentServiceFailureException -// Exception thrown when an operation fails due to a dependent service throwing -// an exception. +// An operation failed because a dependent service threw an exception. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/CreateWebhook func (c *Amplify) CreateWebhook(input *CreateWebhookInput) (*CreateWebhookOutput, error) { @@ -625,7 +611,7 @@ func (c *Amplify) DeleteAppRequest(input *DeleteAppInput) (req *request.Request, // DeleteApp API operation for AWS Amplify. // -// Delete an existing Amplify App by appId. +// Deletes an existing Amplify app specified by an app 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 @@ -636,21 +622,19 @@ func (c *Amplify) DeleteAppRequest(input *DeleteAppInput) (req *request.Request, // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * DependentServiceFailureException -// Exception thrown when an operation fails due to a dependent service throwing -// an exception. +// An operation failed because a dependent service threw an exception. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteApp func (c *Amplify) DeleteApp(input *DeleteAppInput) (*DeleteAppOutput, error) { @@ -718,7 +702,7 @@ func (c *Amplify) DeleteBackendEnvironmentRequest(input *DeleteBackendEnvironmen // DeleteBackendEnvironment API operation for AWS Amplify. // -// Delete backend environment for an Amplify App. +// Deletes a backend environment for an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -729,21 +713,19 @@ func (c *Amplify) DeleteBackendEnvironmentRequest(input *DeleteBackendEnvironmen // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * DependentServiceFailureException -// Exception thrown when an operation fails due to a dependent service throwing -// an exception. +// An operation failed because a dependent service threw an exception. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteBackendEnvironment func (c *Amplify) DeleteBackendEnvironment(input *DeleteBackendEnvironmentInput) (*DeleteBackendEnvironmentOutput, error) { @@ -811,7 +793,7 @@ func (c *Amplify) DeleteBranchRequest(input *DeleteBranchInput) (req *request.Re // DeleteBranch API operation for AWS Amplify. // -// Deletes a branch for an Amplify App. +// Deletes a branch for an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -822,21 +804,19 @@ func (c *Amplify) DeleteBranchRequest(input *DeleteBranchInput) (req *request.Re // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * DependentServiceFailureException -// Exception thrown when an operation fails due to a dependent service throwing -// an exception. +// An operation failed because a dependent service threw an exception. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteBranch func (c *Amplify) DeleteBranch(input *DeleteBranchInput) (*DeleteBranchOutput, error) { @@ -904,7 +884,7 @@ func (c *Amplify) DeleteDomainAssociationRequest(input *DeleteDomainAssociationI // DeleteDomainAssociation API operation for AWS Amplify. // -// Deletes a DomainAssociation. +// Deletes a domain association for an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -915,21 +895,19 @@ func (c *Amplify) DeleteDomainAssociationRequest(input *DeleteDomainAssociationI // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * DependentServiceFailureException -// Exception thrown when an operation fails due to a dependent service throwing -// an exception. +// An operation failed because a dependent service threw an exception. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteDomainAssociation func (c *Amplify) DeleteDomainAssociation(input *DeleteDomainAssociationInput) (*DeleteDomainAssociationOutput, error) { @@ -997,7 +975,7 @@ func (c *Amplify) DeleteJobRequest(input *DeleteJobInput) (req *request.Request, // DeleteJob API operation for AWS Amplify. // -// Delete a job, for an Amplify branch, part of Amplify App. +// Deletes a job for a branch of an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1008,21 +986,19 @@ func (c *Amplify) DeleteJobRequest(input *DeleteJobInput) (req *request.Request, // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteJob func (c *Amplify) DeleteJob(input *DeleteJobInput) (*DeleteJobOutput, error) { @@ -1101,21 +1077,19 @@ func (c *Amplify) DeleteWebhookRequest(input *DeleteWebhookInput) (req *request. // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/DeleteWebhook func (c *Amplify) DeleteWebhook(input *DeleteWebhookInput) (*DeleteWebhookOutput, error) { @@ -1183,7 +1157,8 @@ func (c *Amplify) GenerateAccessLogsRequest(input *GenerateAccessLogsInput) (req // GenerateAccessLogs API operation for AWS Amplify. // -// Retrieve website access logs for a specific time range via a pre-signed URL. +// Returns the website access logs for a specific time range using a presigned +// URL. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1194,17 +1169,16 @@ func (c *Amplify) GenerateAccessLogsRequest(input *GenerateAccessLogsInput) (req // // Returned Error Types: // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GenerateAccessLogs func (c *Amplify) GenerateAccessLogs(input *GenerateAccessLogsInput) (*GenerateAccessLogsOutput, error) { @@ -1272,7 +1246,7 @@ func (c *Amplify) GetAppRequest(input *GetAppInput) (req *request.Request, outpu // GetApp API operation for AWS Amplify. // -// Retrieves an existing Amplify App by appId. +// Returns an existing Amplify app by appID. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1283,17 +1257,16 @@ func (c *Amplify) GetAppRequest(input *GetAppInput) (req *request.Request, outpu // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetApp func (c *Amplify) GetApp(input *GetAppInput) (*GetAppOutput, error) { @@ -1361,7 +1334,7 @@ func (c *Amplify) GetArtifactUrlRequest(input *GetArtifactUrlInput) (req *reques // GetArtifactUrl API operation for AWS Amplify. // -// Retrieves artifact info that corresponds to a artifactId. +// Returns the artifact info that corresponds to an artifact 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 @@ -1372,21 +1345,19 @@ func (c *Amplify) GetArtifactUrlRequest(input *GetArtifactUrlInput) (req *reques // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetArtifactUrl func (c *Amplify) GetArtifactUrl(input *GetArtifactUrlInput) (*GetArtifactUrlOutput, error) { @@ -1454,7 +1425,7 @@ func (c *Amplify) GetBackendEnvironmentRequest(input *GetBackendEnvironmentInput // GetBackendEnvironment API operation for AWS Amplify. // -// Retrieves a backend environment for an Amplify App. +// Returns a backend environment for an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1465,17 +1436,16 @@ func (c *Amplify) GetBackendEnvironmentRequest(input *GetBackendEnvironmentInput // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetBackendEnvironment func (c *Amplify) GetBackendEnvironment(input *GetBackendEnvironmentInput) (*GetBackendEnvironmentOutput, error) { @@ -1543,7 +1513,7 @@ func (c *Amplify) GetBranchRequest(input *GetBranchInput) (req *request.Request, // GetBranch API operation for AWS Amplify. // -// Retrieves a branch for an Amplify App. +// Returns a branch for an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1554,17 +1524,16 @@ func (c *Amplify) GetBranchRequest(input *GetBranchInput) (req *request.Request, // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetBranch func (c *Amplify) GetBranch(input *GetBranchInput) (*GetBranchOutput, error) { @@ -1632,7 +1601,7 @@ func (c *Amplify) GetDomainAssociationRequest(input *GetDomainAssociationInput) // GetDomainAssociation API operation for AWS Amplify. // -// Retrieves domain info that corresponds to an appId and domainName. +// Returns the domain information for an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1643,17 +1612,16 @@ func (c *Amplify) GetDomainAssociationRequest(input *GetDomainAssociationInput) // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetDomainAssociation func (c *Amplify) GetDomainAssociation(input *GetDomainAssociationInput) (*GetDomainAssociationOutput, error) { @@ -1721,7 +1689,7 @@ func (c *Amplify) GetJobRequest(input *GetJobInput) (req *request.Request, outpu // GetJob API operation for AWS Amplify. // -// Get a job for a branch, part of an Amplify App. +// Returns a job for a branch of an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1732,21 +1700,19 @@ func (c *Amplify) GetJobRequest(input *GetJobInput) (req *request.Request, outpu // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetJob func (c *Amplify) GetJob(input *GetJobInput) (*GetJobOutput, error) { @@ -1814,7 +1780,7 @@ func (c *Amplify) GetWebhookRequest(input *GetWebhookInput) (req *request.Reques // GetWebhook API operation for AWS Amplify. // -// Retrieves webhook info that corresponds to a webhookId. +// Returns the webhook information that corresponds to a specified webhook 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 @@ -1825,21 +1791,19 @@ func (c *Amplify) GetWebhookRequest(input *GetWebhookInput) (req *request.Reques // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GetWebhook func (c *Amplify) GetWebhook(input *GetWebhookInput) (*GetWebhookOutput, error) { @@ -1907,7 +1871,7 @@ func (c *Amplify) ListAppsRequest(input *ListAppsInput) (req *request.Request, o // ListApps API operation for AWS Amplify. // -// Lists existing Amplify Apps. +// Returns a list of the existing Amplify apps. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1918,14 +1882,13 @@ func (c *Amplify) ListAppsRequest(input *ListAppsInput) (req *request.Request, o // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListApps func (c *Amplify) ListApps(input *ListAppsInput) (*ListAppsOutput, error) { @@ -1993,7 +1956,7 @@ func (c *Amplify) ListArtifactsRequest(input *ListArtifactsInput) (req *request. // ListArtifacts API operation for AWS Amplify. // -// List artifacts with an app, a branch, a job and an artifact type. +// Returns a list of artifacts for a specified app, branch, and job. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2004,18 +1967,16 @@ func (c *Amplify) ListArtifactsRequest(input *ListArtifactsInput) (req *request. // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListArtifacts func (c *Amplify) ListArtifacts(input *ListArtifactsInput) (*ListArtifactsOutput, error) { @@ -2083,7 +2044,7 @@ func (c *Amplify) ListBackendEnvironmentsRequest(input *ListBackendEnvironmentsI // ListBackendEnvironments API operation for AWS Amplify. // -// Lists backend environments for an Amplify App. +// Lists the backend environments for an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2094,14 +2055,13 @@ func (c *Amplify) ListBackendEnvironmentsRequest(input *ListBackendEnvironmentsI // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListBackendEnvironments func (c *Amplify) ListBackendEnvironments(input *ListBackendEnvironmentsInput) (*ListBackendEnvironmentsOutput, error) { @@ -2169,7 +2129,7 @@ func (c *Amplify) ListBranchesRequest(input *ListBranchesInput) (req *request.Re // ListBranches API operation for AWS Amplify. // -// Lists branches for an Amplify App. +// Lists the branches of an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2180,14 +2140,13 @@ func (c *Amplify) ListBranchesRequest(input *ListBranchesInput) (req *request.Re // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListBranches func (c *Amplify) ListBranches(input *ListBranchesInput) (*ListBranchesOutput, error) { @@ -2255,7 +2214,7 @@ func (c *Amplify) ListDomainAssociationsRequest(input *ListDomainAssociationsInp // ListDomainAssociations API operation for AWS Amplify. // -// List domains with an app +// Returns the domain associations for an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2266,14 +2225,13 @@ func (c *Amplify) ListDomainAssociationsRequest(input *ListDomainAssociationsInp // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListDomainAssociations func (c *Amplify) ListDomainAssociations(input *ListDomainAssociationsInput) (*ListDomainAssociationsOutput, error) { @@ -2341,7 +2299,7 @@ func (c *Amplify) ListJobsRequest(input *ListJobsInput) (req *request.Request, o // ListJobs API operation for AWS Amplify. // -// List Jobs for a branch, part of an Amplify App. +// Lists the jobs for a branch of an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2352,18 +2310,16 @@ func (c *Amplify) ListJobsRequest(input *ListJobsInput) (req *request.Request, o // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListJobs func (c *Amplify) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) { @@ -2431,7 +2387,7 @@ func (c *Amplify) ListTagsForResourceRequest(input *ListTagsForResourceInput) (r // ListTagsForResource API operation for AWS Amplify. // -// List tags for resource. +// Returns a list of tags for a specified Amazon Resource Name (ARN). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2442,14 +2398,13 @@ func (c *Amplify) ListTagsForResourceRequest(input *ListTagsForResourceInput) (r // // Returned Error Types: // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * ResourceNotFoundException -// Exception thrown when an operation fails due to non-existent resource. +// An operation failed due to a non-existent resource. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListTagsForResource func (c *Amplify) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { @@ -2517,7 +2472,7 @@ func (c *Amplify) ListWebhooksRequest(input *ListWebhooksInput) (req *request.Re // ListWebhooks API operation for AWS Amplify. // -// List webhooks with an app. +// Returns a list of webhooks for an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2528,18 +2483,16 @@ func (c *Amplify) ListWebhooksRequest(input *ListWebhooksInput) (req *request.Re // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/ListWebhooks func (c *Amplify) ListWebhooks(input *ListWebhooksInput) (*ListWebhooksOutput, error) { @@ -2607,7 +2560,8 @@ func (c *Amplify) StartDeploymentRequest(input *StartDeploymentInput) (req *requ // StartDeployment API operation for AWS Amplify. // -// Start a deployment for manual deploy apps. (Apps are not connected to repository) +// Starts a deployment for a manually deployed app. Manually deployed apps are +// not connected to a repository. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2618,21 +2572,19 @@ func (c *Amplify) StartDeploymentRequest(input *StartDeploymentInput) (req *requ // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/StartDeployment func (c *Amplify) StartDeployment(input *StartDeploymentInput) (*StartDeploymentOutput, error) { @@ -2700,7 +2652,7 @@ func (c *Amplify) StartJobRequest(input *StartJobInput) (req *request.Request, o // StartJob API operation for AWS Amplify. // -// Starts a new job for a branch, part of an Amplify App. +// Starts a new job for a branch of an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2711,21 +2663,19 @@ func (c *Amplify) StartJobRequest(input *StartJobInput) (req *request.Request, o // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/StartJob func (c *Amplify) StartJob(input *StartJobInput) (*StartJobOutput, error) { @@ -2793,7 +2743,7 @@ func (c *Amplify) StopJobRequest(input *StopJobInput) (req *request.Request, out // StopJob API operation for AWS Amplify. // -// Stop a job that is in progress, for an Amplify branch, part of Amplify App. +// Stops a job that is in progress for a branch of an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2804,21 +2754,19 @@ func (c *Amplify) StopJobRequest(input *StopJobInput) (req *request.Request, out // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * LimitExceededException -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/StopJob func (c *Amplify) StopJob(input *StopJobInput) (*StopJobOutput, error) { @@ -2887,7 +2835,7 @@ func (c *Amplify) TagResourceRequest(input *TagResourceInput) (req *request.Requ // TagResource API operation for AWS Amplify. // -// Tag resource with tag key and value. +// Tags the resource with a tag key and value. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2898,14 +2846,13 @@ func (c *Amplify) TagResourceRequest(input *TagResourceInput) (req *request.Requ // // Returned Error Types: // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * ResourceNotFoundException -// Exception thrown when an operation fails due to non-existent resource. +// An operation failed due to a non-existent resource. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/TagResource func (c *Amplify) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { @@ -2974,7 +2921,7 @@ func (c *Amplify) UntagResourceRequest(input *UntagResourceInput) (req *request. // UntagResource API operation for AWS Amplify. // -// Untag resource with resourceArn. +// Untags a resource with a specified Amazon Resource Name (ARN). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2985,14 +2932,13 @@ func (c *Amplify) UntagResourceRequest(input *UntagResourceInput) (req *request. // // Returned Error Types: // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * ResourceNotFoundException -// Exception thrown when an operation fails due to non-existent resource. +// An operation failed due to a non-existent resource. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/UntagResource func (c *Amplify) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { @@ -3060,7 +3006,7 @@ func (c *Amplify) UpdateAppRequest(input *UpdateAppInput) (req *request.Request, // UpdateApp API operation for AWS Amplify. // -// Updates an existing Amplify App. +// Updates an existing Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3071,17 +3017,16 @@ func (c *Amplify) UpdateAppRequest(input *UpdateAppInput) (req *request.Request, // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/UpdateApp func (c *Amplify) UpdateApp(input *UpdateAppInput) (*UpdateAppOutput, error) { @@ -3149,7 +3094,7 @@ func (c *Amplify) UpdateBranchRequest(input *UpdateBranchInput) (req *request.Re // UpdateBranch API operation for AWS Amplify. // -// Updates a branch for an Amplify App. +// Updates a branch for an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3160,21 +3105,19 @@ func (c *Amplify) UpdateBranchRequest(input *UpdateBranchInput) (req *request.Re // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * DependentServiceFailureException -// Exception thrown when an operation fails due to a dependent service throwing -// an exception. +// An operation failed because a dependent service threw an exception. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/UpdateBranch func (c *Amplify) UpdateBranch(input *UpdateBranchInput) (*UpdateBranchOutput, error) { @@ -3242,7 +3185,7 @@ func (c *Amplify) UpdateDomainAssociationRequest(input *UpdateDomainAssociationI // UpdateDomainAssociation API operation for AWS Amplify. // -// Create a new DomainAssociation on an App +// Creates a new domain association for an Amplify app. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3253,21 +3196,19 @@ func (c *Amplify) UpdateDomainAssociationRequest(input *UpdateDomainAssociationI // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * DependentServiceFailureException -// Exception thrown when an operation fails due to a dependent service throwing -// an exception. +// An operation failed because a dependent service threw an exception. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/UpdateDomainAssociation func (c *Amplify) UpdateDomainAssociation(input *UpdateDomainAssociationInput) (*UpdateDomainAssociationOutput, error) { @@ -3335,7 +3276,7 @@ func (c *Amplify) UpdateWebhookRequest(input *UpdateWebhookInput) (req *request. // UpdateWebhook API operation for AWS Amplify. // -// Update a webhook. +// Updates a webhook. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3346,21 +3287,19 @@ func (c *Amplify) UpdateWebhookRequest(input *UpdateWebhookInput) (req *request. // // Returned Error Types: // * BadRequestException -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. // // * UnauthorizedException -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. // // * NotFoundException -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. // // * InternalFailureException -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. // // * DependentServiceFailureException -// Exception thrown when an operation fails due to a dependent service throwing -// an exception. +// An operation failed because a dependent service threw an exception. // // See also, https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/UpdateWebhook func (c *Amplify) UpdateWebhook(input *UpdateWebhookInput) (*UpdateWebhookOutput, error) { @@ -3384,94 +3323,100 @@ func (c *Amplify) UpdateWebhookWithContext(ctx aws.Context, input *UpdateWebhook return out, req.Send() } -// Amplify App represents different branches of a repository for building, deploying, -// and hosting. +// Represents the different branches of a repository for building, deploying, +// and hosting an Amplify app. type App struct { _ struct{} `type:"structure"` - // ARN for the Amplify App. + // The Amazon Resource Name (ARN) of the Amplify app. // // AppArn is a required field AppArn *string `locationName:"appArn" type:"string" required:"true"` - // Unique Id for the Amplify App. + // The unique ID of the Amplify app. // // AppId is a required field AppId *string `locationName:"appId" min:"1" type:"string" required:"true"` - // Automated branch creation config for the Amplify App. + // Describes the automated branch creation configuration for the Amplify app. AutoBranchCreationConfig *AutoBranchCreationConfig `locationName:"autoBranchCreationConfig" type:"structure"` - // Automated branch creation glob patterns for the Amplify App. + // Describes the automated branch creation glob patterns for the Amplify app. AutoBranchCreationPatterns []*string `locationName:"autoBranchCreationPatterns" type:"list"` - // Basic Authorization credentials for branches for the Amplify App. - BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string"` + // The basic authorization credentials for branches for the Amplify app. + BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"` - // BuildSpec content for Amplify App. + // Describes the content of the build specification (build spec) for the Amplify + // app. BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"` - // Create date / time for the Amplify App. + // Creates a date and time for the Amplify app. // // CreateTime is a required field CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // Custom redirect / rewrite rules for the Amplify App. + // Describes the custom redirect and rewrite rules for the Amplify app. CustomRules []*CustomRule `locationName:"customRules" type:"list"` - // Default domain for the Amplify App. + // The default domain for the Amplify app. // // DefaultDomain is a required field DefaultDomain *string `locationName:"defaultDomain" min:"1" type:"string" required:"true"` - // Description for the Amplify App. + // The description for the Amplify app. // // Description is a required field Description *string `locationName:"description" type:"string" required:"true"` - // Enables automated branch creation for the Amplify App. + // Enables automated branch creation for the Amplify app. EnableAutoBranchCreation *bool `locationName:"enableAutoBranchCreation" type:"boolean"` - // Enables Basic Authorization for branches for the Amplify App. + // Enables basic authorization for the Amplify app's branches. // // EnableBasicAuth is a required field EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean" required:"true"` - // Enables auto-building of branches for the Amplify App. + // Enables the auto-building of branches for the Amplify app. // // EnableBranchAutoBuild is a required field EnableBranchAutoBuild *bool `locationName:"enableBranchAutoBuild" type:"boolean" required:"true"` - // Environment Variables for the Amplify App. + // Automatically disconnect a branch in the Amplify Console when you delete + // a branch from your Git repository. + EnableBranchAutoDeletion *bool `locationName:"enableBranchAutoDeletion" type:"boolean"` + + // The environment variables for the Amplify app. // // EnvironmentVariables is a required field EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map" required:"true"` - // IAM service role ARN for the Amplify App. + // The AWS Identity and Access Management (IAM) service role for the Amazon + // Resource Name (ARN) of the Amplify app. IamServiceRoleArn *string `locationName:"iamServiceRoleArn" min:"1" type:"string"` - // Name for the Amplify App. + // The name for the Amplify app. // // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // Platform for the Amplify App. + // The platform for the Amplify app. // // Platform is a required field Platform *string `locationName:"platform" type:"string" required:"true" enum:"Platform"` - // Structure with Production Branch information. + // Describes the information about a production branch of the Amplify app. ProductionBranch *ProductionBranch `locationName:"productionBranch" type:"structure"` - // Repository for the Amplify App. + // The repository for the Amplify app. // // Repository is a required field Repository *string `locationName:"repository" type:"string" required:"true"` - // Tag for Amplify App. + // The tag for the Amplify app. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` - // Update date / time for the Amplify App. + // Updates the date and time for the Amplify app. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` @@ -3565,6 +3510,12 @@ func (s *App) SetEnableBranchAutoBuild(v bool) *App { return s } +// SetEnableBranchAutoDeletion sets the EnableBranchAutoDeletion field's value. +func (s *App) SetEnableBranchAutoDeletion(v bool) *App { + s.EnableBranchAutoDeletion = &v + return s +} + // SetEnvironmentVariables sets the EnvironmentVariables field's value. func (s *App) SetEnvironmentVariables(v map[string]*string) *App { s.EnvironmentVariables = v @@ -3613,16 +3564,16 @@ func (s *App) SetUpdateTime(v time.Time) *App { return s } -// Structure for artifact. +// Describes an artifact. type Artifact struct { _ struct{} `type:"structure"` - // File name for the artifact. + // The file name for the artifact. // // ArtifactFileName is a required field ArtifactFileName *string `locationName:"artifactFileName" type:"string" required:"true"` - // Unique Id for a artifact. + // The unique ID for the artifact. // // ArtifactId is a required field ArtifactId *string `locationName:"artifactId" type:"string" required:"true"` @@ -3650,35 +3601,35 @@ func (s *Artifact) SetArtifactId(v string) *Artifact { return s } -// Structure with auto branch creation config. +// Describes the automated branch creation configuration. type AutoBranchCreationConfig struct { _ struct{} `type:"structure"` - // Basic Authorization credentials for the auto created branch. - BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string"` + // The basic authorization credentials for the autocreated branch. + BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"` - // BuildSpec for the auto created branch. + // The build specification (build spec) for the autocreated branch. BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"` - // Enables auto building for the auto created branch. + // Enables auto building for the autocreated branch. EnableAutoBuild *bool `locationName:"enableAutoBuild" type:"boolean"` - // Enables Basic Auth for the auto created branch. + // Enables basic authorization for the autocreated branch. EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean"` - // Enables Pull Request Preview for auto created branch. + // Enables pull request preview for the autocreated branch. EnablePullRequestPreview *bool `locationName:"enablePullRequestPreview" type:"boolean"` - // Environment Variables for the auto created branch. + // The environment variables for the autocreated branch. EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"` - // Framework for the auto created branch. + // The framework for the autocreated branch. Framework *string `locationName:"framework" type:"string"` - // The Amplify Environment name for the pull request. + // The Amplify environment name for the pull request. PullRequestEnvironmentName *string `locationName:"pullRequestEnvironmentName" type:"string"` - // Stage for the auto created branch. + // Describes the current stage for the autocreated branch. Stage *string `locationName:"stage" type:"string" enum:"Stage"` } @@ -3759,33 +3710,35 @@ func (s *AutoBranchCreationConfig) SetStage(v string) *AutoBranchCreationConfig return s } -// Backend environment for an Amplify App. +// Describes the backend environment for an Amplify app. type BackendEnvironment struct { _ struct{} `type:"structure"` - // Arn for a backend environment, part of an Amplify App. + // The Amazon Resource Name (ARN) for a backend environment that is part of + // an Amplify app. // // BackendEnvironmentArn is a required field BackendEnvironmentArn *string `locationName:"backendEnvironmentArn" min:"1" type:"string" required:"true"` - // Creation date and time for a backend environment, part of an Amplify App. + // The creation date and time for a backend environment that is part of an Amplify + // app. // // CreateTime is a required field CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // Name of deployment artifacts. + // The name of deployment artifacts. DeploymentArtifacts *string `locationName:"deploymentArtifacts" min:"1" type:"string"` - // Name for a backend environment, part of an Amplify App. + // The name for a backend environment that is part of an Amplify app. // // EnvironmentName is a required field EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"` - // CloudFormation stack name of backend environment. + // The AWS CloudFormation stack name of a backend environment. StackName *string `locationName:"stackName" min:"1" type:"string"` - // Last updated date and time for a backend environment, part of an Amplify - // App. + // The last updated date and time for a backend environment that is part of + // an Amplify app. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` @@ -3837,7 +3790,7 @@ func (s *BackendEnvironment) SetUpdateTime(v time.Time) *BackendEnvironment { return s } -// Exception thrown when a request contains unexpected data. +// A request contains unexpected data. type BadRequestException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -3893,48 +3846,50 @@ func (s *BadRequestException) RequestID() string { return s.RespMetadata.RequestID } -// Branch for an Amplify App, which maps to a 3rd party repository branch. +// The branch for an Amplify app, which maps to a third-party repository branch. type Branch struct { _ struct{} `type:"structure"` - // Id of the active job for a branch, part of an Amplify App. + // The ID of the active job for a branch of an Amplify app. // // ActiveJobId is a required field ActiveJobId *string `locationName:"activeJobId" type:"string" required:"true"` - // List of custom resources that are linked to this branch. + // A list of custom resources that are linked to this branch. AssociatedResources []*string `locationName:"associatedResources" type:"list"` - // ARN for a Backend Environment, part of an Amplify App. + // The Amazon Resource Name (ARN) for a backend environment that is part of + // an Amplify app. BackendEnvironmentArn *string `locationName:"backendEnvironmentArn" min:"1" type:"string"` - // Basic Authorization credentials for a branch, part of an Amplify App. - BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string"` + // The basic authorization credentials for a branch of an Amplify app. + BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"` - // ARN for a branch, part of an Amplify App. + // The Amazon Resource Name (ARN) for a branch that is part of an Amplify app. // // BranchArn is a required field BranchArn *string `locationName:"branchArn" type:"string" required:"true"` - // Name for a branch, part of an Amplify App. + // The name for the branch that is part of an Amplify app. // // BranchName is a required field BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"` - // BuildSpec content for branch for Amplify App. + // The build specification (build spec) content for the branch of an Amplify + // app. BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"` - // Creation date and time for a branch, part of an Amplify App. + // The creation date and time for a branch that is part of an Amplify app. // // CreateTime is a required field CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // Custom domains for a branch, part of an Amplify App. + // The custom domains for a branch of an Amplify app. // // CustomDomains is a required field CustomDomains []*string `locationName:"customDomains" type:"list" required:"true"` - // Description for a branch, part of an Amplify App. + // The description for the branch that is part of an Amplify app. // // Description is a required field Description *string `locationName:"description" type:"string" required:"true"` @@ -3942,69 +3897,69 @@ type Branch struct { // The destination branch if the branch is a pull request branch. DestinationBranch *string `locationName:"destinationBranch" min:"1" type:"string"` - // Display name for a branch, will use as the default domain prefix. + // The display name for the branch. This is used as the default domain prefix. // // DisplayName is a required field DisplayName *string `locationName:"displayName" type:"string" required:"true"` - // Enables auto-building on push for a branch, part of an Amplify App. + // Enables auto-building on push for a branch of an Amplify app. // // EnableAutoBuild is a required field EnableAutoBuild *bool `locationName:"enableAutoBuild" type:"boolean" required:"true"` - // Enables Basic Authorization for a branch, part of an Amplify App. + // Enables basic authorization for a branch of an Amplify app. // // EnableBasicAuth is a required field EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean" required:"true"` - // Enables notifications for a branch, part of an Amplify App. + // Enables notifications for a branch that is part of an Amplify app. // // EnableNotification is a required field EnableNotification *bool `locationName:"enableNotification" type:"boolean" required:"true"` - // Enables Pull Request Preview for this branch. + // Enables pull request preview for the branch. // // EnablePullRequestPreview is a required field EnablePullRequestPreview *bool `locationName:"enablePullRequestPreview" type:"boolean" required:"true"` - // Environment Variables specific to a branch, part of an Amplify App. + // The environment variables specific to a branch of an Amplify app. // // EnvironmentVariables is a required field EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map" required:"true"` - // Framework for a branch, part of an Amplify App. + // The framework for a branch of an Amplify app. // // Framework is a required field Framework *string `locationName:"framework" type:"string" required:"true"` - // The Amplify Environment name for the pull request. + // The Amplify environment name for the pull request. PullRequestEnvironmentName *string `locationName:"pullRequestEnvironmentName" type:"string"` // The source branch if the branch is a pull request branch. SourceBranch *string `locationName:"sourceBranch" min:"1" type:"string"` - // Stage for a branch, part of an Amplify App. + // The current stage for the branch that is part of an Amplify app. // // Stage is a required field Stage *string `locationName:"stage" type:"string" required:"true" enum:"Stage"` - // Tag for branch for Amplify App. + // The tag for the branch of an Amplify app. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` - // Thumbnail URL for the branch. + // The thumbnail URL for the branch of an Amplify app. ThumbnailUrl *string `locationName:"thumbnailUrl" min:"1" type:"string"` - // Total number of Jobs part of an Amplify App. + // The total number of jobs that are part of an Amplify app. // // TotalNumberOfJobs is a required field TotalNumberOfJobs *string `locationName:"totalNumberOfJobs" type:"string" required:"true"` - // The content TTL for the website in seconds. + // The content Time to Live (TTL) for the website in seconds. // // Ttl is a required field Ttl *string `locationName:"ttl" type:"string" required:"true"` - // Last updated date and time for a branch, part of an Amplify App. + // The last updated date and time for a branch that is part of an Amplify app. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` @@ -4176,64 +4131,71 @@ func (s *Branch) SetUpdateTime(v time.Time) *Branch { return s } -// Request structure used to create Apps in Amplify. +// The request structure used to create apps in Amplify. type CreateAppInput struct { _ struct{} `type:"structure"` - // Personal Access token for 3rd party source control system for an Amplify - // App, used to create webhook and read-only deploy key. Token is not stored. - AccessToken *string `locationName:"accessToken" min:"1" type:"string"` + // The personal access token for a third-party source control system for an + // Amplify app. The personal access token is used to create a webhook and a + // read-only deploy key. The token is not stored. + AccessToken *string `locationName:"accessToken" min:"1" type:"string" sensitive:"true"` - // Automated branch creation config for the Amplify App. + // The automated branch creation configuration for the Amplify app. AutoBranchCreationConfig *AutoBranchCreationConfig `locationName:"autoBranchCreationConfig" type:"structure"` - // Automated branch creation glob patterns for the Amplify App. + // The automated branch creation glob patterns for the Amplify app. AutoBranchCreationPatterns []*string `locationName:"autoBranchCreationPatterns" type:"list"` - // Credentials for Basic Authorization for an Amplify App. - BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string"` + // The credentials for basic authorization for an Amplify app. + BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"` - // BuildSpec for an Amplify App + // The build specification (build spec) for an Amplify app. BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"` - // Custom rewrite / redirect rules for an Amplify App. + // The custom rewrite and redirect rules for an Amplify app. CustomRules []*CustomRule `locationName:"customRules" type:"list"` - // Description for an Amplify App + // The description for an Amplify app. Description *string `locationName:"description" type:"string"` - // Enables automated branch creation for the Amplify App. + // Enables automated branch creation for the Amplify app. EnableAutoBranchCreation *bool `locationName:"enableAutoBranchCreation" type:"boolean"` - // Enable Basic Authorization for an Amplify App, this will apply to all branches - // part of this App. + // Enables basic authorization for an Amplify app. This will apply to all branches + // that are part of this app. EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean"` - // Enable the auto building of branches for an Amplify App. + // Enables the auto building of branches for an Amplify app. EnableBranchAutoBuild *bool `locationName:"enableBranchAutoBuild" type:"boolean"` - // Environment variables map for an Amplify App. + // Automatically disconnects a branch in the Amplify Console when you delete + // a branch from your Git repository. + EnableBranchAutoDeletion *bool `locationName:"enableBranchAutoDeletion" type:"boolean"` + + // The environment variables map for an Amplify app. EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"` - // AWS IAM service role for an Amplify App + // The AWS Identity and Access Management (IAM) service role for an Amplify + // app. IamServiceRoleArn *string `locationName:"iamServiceRoleArn" min:"1" type:"string"` - // Name for the Amplify App + // The name for the Amplify app. // // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // OAuth token for 3rd party source control system for an Amplify App, used - // to create webhook and read-only deploy key. OAuth token is not stored. - OauthToken *string `locationName:"oauthToken" type:"string"` + // The OAuth token for a third-party source control system for an Amplify app. + // The OAuth token is used to create a webhook and a read-only deploy key. The + // OAuth token is not stored. + OauthToken *string `locationName:"oauthToken" type:"string" sensitive:"true"` - // Platform / framework for an Amplify App + // The platform or framework for an Amplify app. Platform *string `locationName:"platform" type:"string" enum:"Platform"` - // Repository for an Amplify App + // The repository for an Amplify app. Repository *string `locationName:"repository" type:"string"` - // Tag for an Amplify App + // The tag for an Amplify app. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } @@ -4350,6 +4312,12 @@ func (s *CreateAppInput) SetEnableBranchAutoBuild(v bool) *CreateAppInput { return s } +// SetEnableBranchAutoDeletion sets the EnableBranchAutoDeletion field's value. +func (s *CreateAppInput) SetEnableBranchAutoDeletion(v bool) *CreateAppInput { + s.EnableBranchAutoDeletion = &v + return s +} + // SetEnvironmentVariables sets the EnvironmentVariables field's value. func (s *CreateAppInput) SetEnvironmentVariables(v map[string]*string) *CreateAppInput { s.EnvironmentVariables = v @@ -4395,8 +4363,8 @@ func (s *CreateAppInput) SetTags(v map[string]*string) *CreateAppInput { type CreateAppOutput struct { _ struct{} `type:"structure"` - // Amplify App represents different branches of a repository for building, deploying, - // and hosting. + // Represents the different branches of a repository for building, deploying, + // and hosting an Amplify app. // // App is a required field App *App `locationName:"app" type:"structure" required:"true"` @@ -4418,24 +4386,24 @@ func (s *CreateAppOutput) SetApp(v *App) *CreateAppOutput { return s } -// Request structure for a backend environment create request. +// The request structure for the backend environment create request. type CreateBackendEnvironmentInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name of deployment artifacts. + // The name of deployment artifacts. DeploymentArtifacts *string `locationName:"deploymentArtifacts" min:"1" type:"string"` - // Name for the backend environment. + // The name for the backend environment. // // EnvironmentName is a required field EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"` - // CloudFormation stack name of backend environment. + // The AWS CloudFormation stack name of a backend environment. StackName *string `locationName:"stackName" min:"1" type:"string"` } @@ -4501,11 +4469,11 @@ func (s *CreateBackendEnvironmentInput) SetStackName(v string) *CreateBackendEnv return s } -// Result structure for create backend environment. +// The result structure for the create backend environment request. type CreateBackendEnvironmentOutput struct { _ struct{} `type:"structure"` - // Backend environment structure for an amplify App. + // Describes the backend environment for an Amplify app. // // BackendEnvironment is a required field BackendEnvironment *BackendEnvironment `locationName:"backendEnvironment" type:"structure" required:"true"` @@ -4527,63 +4495,64 @@ func (s *CreateBackendEnvironmentOutput) SetBackendEnvironment(v *BackendEnviron return s } -// Request structure for a branch create request. +// The request structure for the create branch request. type CreateBranchInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // ARN for a Backend Environment, part of an Amplify App. + // The Amazon Resource Name (ARN) for a backend environment that is part of + // an Amplify app. BackendEnvironmentArn *string `locationName:"backendEnvironmentArn" min:"1" type:"string"` - // Basic Authorization credentials for the branch. - BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string"` + // The basic authorization credentials for the branch. + BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"` - // Name for the branch. + // The name for the branch. // // BranchName is a required field BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"` - // BuildSpec for the branch. + // The build specification (build spec) for the branch. BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"` - // Description for the branch. + // The description for the branch. Description *string `locationName:"description" type:"string"` - // Display name for a branch, will use as the default domain prefix. + // The display name for a branch. This is used as the default domain prefix. DisplayName *string `locationName:"displayName" type:"string"` // Enables auto building for the branch. EnableAutoBuild *bool `locationName:"enableAutoBuild" type:"boolean"` - // Enables Basic Auth for the branch. + // Enables basic authorization for the branch. EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean"` // Enables notifications for the branch. EnableNotification *bool `locationName:"enableNotification" type:"boolean"` - // Enables Pull Request Preview for this branch. + // Enables pull request preview for this branch. EnablePullRequestPreview *bool `locationName:"enablePullRequestPreview" type:"boolean"` - // Environment Variables for the branch. + // The environment variables for the branch. EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"` - // Framework for the branch. + // The framework for the branch. Framework *string `locationName:"framework" type:"string"` - // The Amplify Environment name for the pull request. + // The Amplify environment name for the pull request. PullRequestEnvironmentName *string `locationName:"pullRequestEnvironmentName" type:"string"` - // Stage for the branch. + // Describes the current stage for the branch. Stage *string `locationName:"stage" type:"string" enum:"Stage"` - // Tag for the branch. + // The tag for the branch. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` - // The content TTL for the website in seconds. + // The content Time To Live (TTL) for the website in seconds. Ttl *string `locationName:"ttl" type:"string"` } @@ -4730,11 +4699,12 @@ func (s *CreateBranchInput) SetTtl(v string) *CreateBranchInput { return s } -// Result structure for create branch request. +// The result structure for create branch request. type CreateBranchOutput struct { _ struct{} `type:"structure"` - // Branch structure for an Amplify App. + // Describes the branch for an Amplify app, which maps to a third-party repository + // branch. // // Branch is a required field Branch *Branch `locationName:"branch" type:"structure" required:"true"` @@ -4756,24 +4726,24 @@ func (s *CreateBranchOutput) SetBranch(v *Branch) *CreateBranchOutput { return s } -// Request structure for create a new deployment. +// The request structure for the create a new deployment request. type CreateDeploymentInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name for the branch, for the Job. + // The name for the branch, for the job. // // BranchName is a required field BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"` - // Optional file map that contains file name as the key and file content md5 - // hash as the value. If this argument is provided, the service will generate - // different upload url per file. Otherwise, the service will only generate - // a single upload url for the zipped files. + // An optional file map that contains the file name as the key and the file + // content md5 hash as the value. If this argument is provided, the service + // will generate a unique upload URL per file. Otherwise, the service will only + // generate a single upload URL for the zipped files. FileMap map[string]*string `locationName:"fileMap" type:"map"` } @@ -4827,20 +4797,21 @@ func (s *CreateDeploymentInput) SetFileMap(v map[string]*string) *CreateDeployme return s } -// Result structure for create a new deployment. +// The result structure for the create a new deployment request. type CreateDeploymentOutput struct { _ struct{} `type:"structure"` - // When the fileMap argument is provided in the request, the fileUploadUrls - // will contain a map of file names to upload url. + // When the fileMap argument is provided in the request, fileUploadUrls will + // contain a map of file names to upload URLs. // // FileUploadUrls is a required field FileUploadUrls map[string]*string `locationName:"fileUploadUrls" type:"map" required:"true"` - // The jobId for this deployment, will supply to start deployment api. + // The job ID for this deployment. will supply to start deployment api. JobId *string `locationName:"jobId" type:"string"` - // When the fileMap argument is NOT provided. This zipUploadUrl will be returned. + // When the fileMap argument is not provided in the request, this zipUploadUrl + // is returned. // // ZipUploadUrl is a required field ZipUploadUrl *string `locationName:"zipUploadUrl" type:"string" required:"true"` @@ -4874,24 +4845,31 @@ func (s *CreateDeploymentOutput) SetZipUploadUrl(v string) *CreateDeploymentOutp return s } -// Request structure for create Domain Association request. +// The request structure for the create domain association request. type CreateDomainAssociationInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Domain name for the Domain Association. + // Sets the branch patterns for automatic subdomain creation. + AutoSubDomainCreationPatterns []*string `locationName:"autoSubDomainCreationPatterns" type:"list"` + + // The required AWS Identity and Access Management (IAM) service role for the + // Amazon Resource Name (ARN) for automatically creating subdomains. + AutoSubDomainIAMRole *string `locationName:"autoSubDomainIAMRole" type:"string"` + + // The domain name for the domain association. // // DomainName is a required field DomainName *string `locationName:"domainName" type:"string" required:"true"` - // Enables automated creation of Subdomains for branches. (Currently not supported) + // Enables the automated creation of subdomains for branches. EnableAutoSubDomain *bool `locationName:"enableAutoSubDomain" type:"boolean"` - // Setting structure for the Subdomain. + // The setting for the subdomain. // // SubDomainSettings is a required field SubDomainSettings []*SubDomainSetting `locationName:"subDomainSettings" type:"list" required:"true"` @@ -4945,6 +4923,18 @@ func (s *CreateDomainAssociationInput) SetAppId(v string) *CreateDomainAssociati return s } +// SetAutoSubDomainCreationPatterns sets the AutoSubDomainCreationPatterns field's value. +func (s *CreateDomainAssociationInput) SetAutoSubDomainCreationPatterns(v []*string) *CreateDomainAssociationInput { + s.AutoSubDomainCreationPatterns = v + return s +} + +// SetAutoSubDomainIAMRole sets the AutoSubDomainIAMRole field's value. +func (s *CreateDomainAssociationInput) SetAutoSubDomainIAMRole(v string) *CreateDomainAssociationInput { + s.AutoSubDomainIAMRole = &v + return s +} + // SetDomainName sets the DomainName field's value. func (s *CreateDomainAssociationInput) SetDomainName(v string) *CreateDomainAssociationInput { s.DomainName = &v @@ -4963,11 +4953,12 @@ func (s *CreateDomainAssociationInput) SetSubDomainSettings(v []*SubDomainSettin return s } -// Result structure for the create Domain Association request. +// The result structure for the create domain association request. type CreateDomainAssociationOutput struct { _ struct{} `type:"structure"` - // Domain Association structure. + // Describes the structure of a domain association, which associates a custom + // domain with an Amplify app. // // DomainAssociation is a required field DomainAssociation *DomainAssociation `locationName:"domainAssociation" type:"structure" required:"true"` @@ -4989,21 +4980,21 @@ func (s *CreateDomainAssociationOutput) SetDomainAssociation(v *DomainAssociatio return s } -// Request structure for create webhook request. +// The request structure for the create webhook request. type CreateWebhookInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name for a branch, part of an Amplify App. + // The name for a branch that is part of an Amplify app. // // BranchName is a required field BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"` - // Description for a webhook. + // The description for a webhook. Description *string `locationName:"description" type:"string"` } @@ -5057,11 +5048,11 @@ func (s *CreateWebhookInput) SetDescription(v string) *CreateWebhookInput { return s } -// Result structure for the create webhook request. +// The result structure for the create webhook request. type CreateWebhookOutput struct { _ struct{} `type:"structure"` - // Webhook structure. + // Describes a webhook that connects repository events to an Amplify app. // // Webhook is a required field Webhook *Webhook `locationName:"webhook" type:"structure" required:"true"` @@ -5083,11 +5074,11 @@ func (s *CreateWebhookOutput) SetWebhook(v *Webhook) *CreateWebhookOutput { return s } -// Custom rewrite / redirect rule. +// Describes a custom rewrite or redirect rule. type CustomRule struct { _ struct{} `type:"structure"` - // The condition for a URL rewrite or redirect rule, e.g. country code. + // The condition for a URL rewrite or redirect rule, such as a country code. Condition *string `locationName:"condition" min:"1" type:"string"` // The source pattern for a URL rewrite or redirect rule. @@ -5166,11 +5157,11 @@ func (s *CustomRule) SetTarget(v string) *CustomRule { return s } -// Request structure for an Amplify App delete request. +// Describes the request structure for the delete app request. type DeleteAppInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` @@ -5208,12 +5199,12 @@ func (s *DeleteAppInput) SetAppId(v string) *DeleteAppInput { return s } -// Result structure for an Amplify App delete request. +// The result structure for the delete app request. type DeleteAppOutput struct { _ struct{} `type:"structure"` - // Amplify App represents different branches of a repository for building, deploying, - // and hosting. + // Represents the different branches of a repository for building, deploying, + // and hosting an Amplify app. // // App is a required field App *App `locationName:"app" type:"structure" required:"true"` @@ -5235,16 +5226,16 @@ func (s *DeleteAppOutput) SetApp(v *App) *DeleteAppOutput { return s } -// Request structure for delete backend environment request. +// The request structure for the delete backend environment request. type DeleteBackendEnvironmentInput struct { _ struct{} `type:"structure"` - // Unique Id of an Amplify App. + // The unique ID of an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name of a backend environment of an Amplify App. + // The name of a backend environment of an Amplify app. // // EnvironmentName is a required field EnvironmentName *string `location:"uri" locationName:"environmentName" min:"1" type:"string" required:"true"` @@ -5294,11 +5285,11 @@ func (s *DeleteBackendEnvironmentInput) SetEnvironmentName(v string) *DeleteBack return s } -// Result structure of a delete backend environment result. +// The result structure of the delete backend environment result. type DeleteBackendEnvironmentOutput struct { _ struct{} `type:"structure"` - // Backend environment structure for an Amplify App. + // Describes the backend environment for an Amplify app. // // BackendEnvironment is a required field BackendEnvironment *BackendEnvironment `locationName:"backendEnvironment" type:"structure" required:"true"` @@ -5320,16 +5311,16 @@ func (s *DeleteBackendEnvironmentOutput) SetBackendEnvironment(v *BackendEnviron return s } -// Request structure for delete branch request. +// The request structure for the delete branch request. type DeleteBranchInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name for the branch. + // The name for the branch. // // BranchName is a required field BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"` @@ -5379,11 +5370,11 @@ func (s *DeleteBranchInput) SetBranchName(v string) *DeleteBranchInput { return s } -// Result structure for delete branch request. +// The result structure for the delete branch request. type DeleteBranchOutput struct { _ struct{} `type:"structure"` - // Branch structure for an Amplify App. + // The branch for an Amplify app, which maps to a third-party repository branch. // // Branch is a required field Branch *Branch `locationName:"branch" type:"structure" required:"true"` @@ -5405,16 +5396,16 @@ func (s *DeleteBranchOutput) SetBranch(v *Branch) *DeleteBranchOutput { return s } -// Request structure for the delete Domain Association request. +// The request structure for the delete domain association request. type DeleteDomainAssociationInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique id for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name of the domain. + // The name of the domain. // // DomainName is a required field DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"` @@ -5467,8 +5458,8 @@ func (s *DeleteDomainAssociationInput) SetDomainName(v string) *DeleteDomainAsso type DeleteDomainAssociationOutput struct { _ struct{} `type:"structure"` - // Structure for Domain Association, which associates a custom domain with an - // Amplify App. + // Describes a domain association that associates a custom domain with an Amplify + // app. // // DomainAssociation is a required field DomainAssociation *DomainAssociation `locationName:"domainAssociation" type:"structure" required:"true"` @@ -5490,21 +5481,21 @@ func (s *DeleteDomainAssociationOutput) SetDomainAssociation(v *DomainAssociatio return s } -// Request structure for delete job request. +// The request structure for the delete job request. type DeleteJobInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name for the branch, for the Job. + // The name for the branch, for the job. // // BranchName is a required field BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"` - // Unique Id for the Job. + // The unique ID for the job. // // JobId is a required field JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"` @@ -5566,11 +5557,11 @@ func (s *DeleteJobInput) SetJobId(v string) *DeleteJobInput { return s } -// Result structure for the delete job request. +// The result structure for the delete job request. type DeleteJobOutput struct { _ struct{} `type:"structure"` - // Structure for the summary of a Job. + // Describes the summary for an execution job for an Amplify app. // // JobSummary is a required field JobSummary *JobSummary `locationName:"jobSummary" type:"structure" required:"true"` @@ -5592,11 +5583,11 @@ func (s *DeleteJobOutput) SetJobSummary(v *JobSummary) *DeleteJobOutput { return s } -// Request structure for the delete webhook request. +// The request structure for the delete webhook request. type DeleteWebhookInput struct { _ struct{} `type:"structure"` - // Unique Id for a webhook. + // The unique ID for a webhook. // // WebhookId is a required field WebhookId *string `location:"uri" locationName:"webhookId" type:"string" required:"true"` @@ -5634,11 +5625,11 @@ func (s *DeleteWebhookInput) SetWebhookId(v string) *DeleteWebhookInput { return s } -// Result structure for the delete webhook request. +// The result structure for the delete webhook request. type DeleteWebhookOutput struct { _ struct{} `type:"structure"` - // Webhook structure. + // Describes a webhook that connects repository events to an Amplify app. // // Webhook is a required field Webhook *Webhook `locationName:"webhook" type:"structure" required:"true"` @@ -5660,8 +5651,7 @@ func (s *DeleteWebhookOutput) SetWebhook(v *Webhook) *DeleteWebhookOutput { return s } -// Exception thrown when an operation fails due to a dependent service throwing -// an exception. +// An operation failed because a dependent service threw an exception. type DependentServiceFailureException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -5717,40 +5707,47 @@ func (s *DependentServiceFailureException) RequestID() string { return s.RespMetadata.RequestID } -// Structure for Domain Association, which associates a custom domain with an -// Amplify App. +// Describes a domain association that associates a custom domain with an Amplify +// app. type DomainAssociation struct { _ struct{} `type:"structure"` - // DNS Record for certificate verification. + // Sets branch patterns for automatic subdomain creation. + AutoSubDomainCreationPatterns []*string `locationName:"autoSubDomainCreationPatterns" type:"list"` + + // The required AWS Identity and Access Management (IAM) service role for the + // Amazon Resource Name (ARN) for automatically creating subdomains. + AutoSubDomainIAMRole *string `locationName:"autoSubDomainIAMRole" type:"string"` + + // The DNS record for certificate verification. CertificateVerificationDNSRecord *string `locationName:"certificateVerificationDNSRecord" type:"string"` - // ARN for the Domain Association. + // The Amazon Resource Name (ARN) for the domain association. // // DomainAssociationArn is a required field DomainAssociationArn *string `locationName:"domainAssociationArn" type:"string" required:"true"` - // Name of the domain. + // The name of the domain. // // DomainName is a required field DomainName *string `locationName:"domainName" type:"string" required:"true"` - // Status fo the Domain Association. + // The current status of the domain association. // // DomainStatus is a required field DomainStatus *string `locationName:"domainStatus" type:"string" required:"true" enum:"DomainStatus"` - // Enables automated creation of Subdomains for branches. (Currently not supported) + // Enables the automated creation of subdomains for branches. // // EnableAutoSubDomain is a required field EnableAutoSubDomain *bool `locationName:"enableAutoSubDomain" type:"boolean" required:"true"` - // Reason for the current status of the Domain Association. + // The reason for the current status of the domain association. // // StatusReason is a required field StatusReason *string `locationName:"statusReason" type:"string" required:"true"` - // Subdomains for the Domain Association. + // The subdomains for the domain association. // // SubDomains is a required field SubDomains []*SubDomain `locationName:"subDomains" type:"list" required:"true"` @@ -5766,6 +5763,18 @@ func (s DomainAssociation) GoString() string { return s.String() } +// SetAutoSubDomainCreationPatterns sets the AutoSubDomainCreationPatterns field's value. +func (s *DomainAssociation) SetAutoSubDomainCreationPatterns(v []*string) *DomainAssociation { + s.AutoSubDomainCreationPatterns = v + return s +} + +// SetAutoSubDomainIAMRole sets the AutoSubDomainIAMRole field's value. +func (s *DomainAssociation) SetAutoSubDomainIAMRole(v string) *DomainAssociation { + s.AutoSubDomainIAMRole = &v + return s +} + // SetCertificateVerificationDNSRecord sets the CertificateVerificationDNSRecord field's value. func (s *DomainAssociation) SetCertificateVerificationDNSRecord(v string) *DomainAssociation { s.CertificateVerificationDNSRecord = &v @@ -5808,24 +5817,26 @@ func (s *DomainAssociation) SetSubDomains(v []*SubDomain) *DomainAssociation { return s } -// Request structure for the generate access logs request. +// The request structure for the generate access logs request. type GenerateAccessLogsInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name of the domain. + // The name of the domain. // // DomainName is a required field DomainName *string `locationName:"domainName" type:"string" required:"true"` - // The time at which the logs should end, inclusive. + // The time at which the logs should end. The time range specified is inclusive + // of the end time. EndTime *time.Time `locationName:"endTime" type:"timestamp"` - // The time at which the logs should start, inclusive. + // The time at which the logs should start. The time range specified is inclusive + // of the start time. StartTime *time.Time `locationName:"startTime" type:"timestamp"` } @@ -5882,11 +5893,11 @@ func (s *GenerateAccessLogsInput) SetStartTime(v time.Time) *GenerateAccessLogsI return s } -// Result structure for the generate access logs request. +// The result structure for the generate access logs request. type GenerateAccessLogsOutput struct { _ struct{} `type:"structure"` - // Pre-signed URL for the requested access logs. + // The pre-signed URL for the requested access logs. LogUrl *string `locationName:"logUrl" type:"string"` } @@ -5906,11 +5917,11 @@ func (s *GenerateAccessLogsOutput) SetLogUrl(v string) *GenerateAccessLogsOutput return s } -// Request structure for get App request. +// The request structure for the get app request. type GetAppInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` @@ -5951,8 +5962,8 @@ func (s *GetAppInput) SetAppId(v string) *GetAppInput { type GetAppOutput struct { _ struct{} `type:"structure"` - // Amplify App represents different branches of a repository for building, deploying, - // and hosting. + // Represents the different branches of a repository for building, deploying, + // and hosting an Amplify app. // // App is a required field App *App `locationName:"app" type:"structure" required:"true"` @@ -5974,11 +5985,11 @@ func (s *GetAppOutput) SetApp(v *App) *GetAppOutput { return s } -// Request structure for the get artifact request. +// Returns the request structure for the get artifact request. type GetArtifactUrlInput struct { _ struct{} `type:"structure"` - // Unique Id for a artifact. + // The unique ID for an artifact. // // ArtifactId is a required field ArtifactId *string `location:"uri" locationName:"artifactId" type:"string" required:"true"` @@ -6016,16 +6027,16 @@ func (s *GetArtifactUrlInput) SetArtifactId(v string) *GetArtifactUrlInput { return s } -// Result structure for the get artifact request. +// Returns the result structure for the get artifact request. type GetArtifactUrlOutput struct { _ struct{} `type:"structure"` - // Unique Id for a artifact. + // The unique ID for an artifact. // // ArtifactId is a required field ArtifactId *string `locationName:"artifactId" type:"string" required:"true"` - // Presigned url for the artifact. + // The presigned URL for the artifact. // // ArtifactUrl is a required field ArtifactUrl *string `locationName:"artifactUrl" type:"string" required:"true"` @@ -6053,16 +6064,16 @@ func (s *GetArtifactUrlOutput) SetArtifactUrl(v string) *GetArtifactUrlOutput { return s } -// Request structure for get backend environment request. +// The request structure for the get backend environment request. type GetBackendEnvironmentInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique id for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name for the backend environment. + // The name for the backend environment. // // EnvironmentName is a required field EnvironmentName *string `location:"uri" locationName:"environmentName" min:"1" type:"string" required:"true"` @@ -6112,11 +6123,11 @@ func (s *GetBackendEnvironmentInput) SetEnvironmentName(v string) *GetBackendEnv return s } -// Result structure for get backend environment result. +// The result structure for the get backend environment result. type GetBackendEnvironmentOutput struct { _ struct{} `type:"structure"` - // Backend environment structure for an an Amplify App. + // Describes the backend environment for an Amplify app. // // BackendEnvironment is a required field BackendEnvironment *BackendEnvironment `locationName:"backendEnvironment" type:"structure" required:"true"` @@ -6138,16 +6149,16 @@ func (s *GetBackendEnvironmentOutput) SetBackendEnvironment(v *BackendEnvironmen return s } -// Request structure for get branch request. +// The request structure for the get branch request. type GetBranchInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name for the branch. + // The name for the branch. // // BranchName is a required field BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"` @@ -6200,7 +6211,7 @@ func (s *GetBranchInput) SetBranchName(v string) *GetBranchInput { type GetBranchOutput struct { _ struct{} `type:"structure"` - // Branch for an Amplify App, which maps to a 3rd party repository branch. + // The branch for an Amplify app, which maps to a third-party repository branch. // // Branch is a required field Branch *Branch `locationName:"branch" type:"structure" required:"true"` @@ -6222,16 +6233,16 @@ func (s *GetBranchOutput) SetBranch(v *Branch) *GetBranchOutput { return s } -// Request structure for the get Domain Association request. +// The request structure for the get domain association request. type GetDomainAssociationInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique id for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name of the domain. + // The name of the domain. // // DomainName is a required field DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"` @@ -6281,11 +6292,12 @@ func (s *GetDomainAssociationInput) SetDomainName(v string) *GetDomainAssociatio return s } -// Result structure for the get Domain Association request. +// The result structure for the get domain association request. type GetDomainAssociationOutput struct { _ struct{} `type:"structure"` - // Domain Association structure. + // Describes the structure of a domain association, which associates a custom + // domain with an Amplify app. // // DomainAssociation is a required field DomainAssociation *DomainAssociation `locationName:"domainAssociation" type:"structure" required:"true"` @@ -6307,21 +6319,21 @@ func (s *GetDomainAssociationOutput) SetDomainAssociation(v *DomainAssociation) return s } -// Request structure for get job request. +// The request structure for the get job request. type GetJobInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name for the branch, for the Job. + // The branch name for the job. // // BranchName is a required field BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"` - // Unique Id for the Job. + // The unique ID for the job. // // JobId is a required field JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"` @@ -6386,7 +6398,7 @@ func (s *GetJobInput) SetJobId(v string) *GetJobInput { type GetJobOutput struct { _ struct{} `type:"structure"` - // Structure for an execution job for an Amplify App. + // Describes an execution job for an Amplify app. // // Job is a required field Job *Job `locationName:"job" type:"structure" required:"true"` @@ -6408,11 +6420,11 @@ func (s *GetJobOutput) SetJob(v *Job) *GetJobOutput { return s } -// Request structure for the get webhook request. +// The request structure for the get webhook request. type GetWebhookInput struct { _ struct{} `type:"structure"` - // Unique Id for a webhook. + // The unique ID for a webhook. // // WebhookId is a required field WebhookId *string `location:"uri" locationName:"webhookId" type:"string" required:"true"` @@ -6450,11 +6462,11 @@ func (s *GetWebhookInput) SetWebhookId(v string) *GetWebhookInput { return s } -// Result structure for the get webhook request. +// The result structure for the get webhook request. type GetWebhookOutput struct { _ struct{} `type:"structure"` - // Webhook structure. + // Describes the structure of a webhook. // // Webhook is a required field Webhook *Webhook `locationName:"webhook" type:"structure" required:"true"` @@ -6476,8 +6488,7 @@ func (s *GetWebhookOutput) SetWebhook(v *Webhook) *GetWebhookOutput { return s } -// Exception thrown when the service fails to perform an operation due to an -// internal issue. +// The service failed to perform an operation due to an internal issue. type InternalFailureException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -6533,16 +6544,16 @@ func (s *InternalFailureException) RequestID() string { return s.RespMetadata.RequestID } -// Structure for an execution job for an Amplify App. +// Describes an execution job for an Amplify app. type Job struct { _ struct{} `type:"structure"` - // Execution steps for an execution job, for an Amplify App. + // The execution steps for an execution job, for an Amplify app. // // Steps is a required field Steps []*Step `locationName:"steps" type:"list" required:"true"` - // Summary for an execution job for an Amplify App. + // Describes the summary for an execution job for an Amplify app. // // Summary is a required field Summary *JobSummary `locationName:"summary" type:"structure" required:"true"` @@ -6570,51 +6581,52 @@ func (s *Job) SetSummary(v *JobSummary) *Job { return s } -// Structure for the summary of a Job. +// Describes the summary for an execution job for an Amplify app. type JobSummary struct { _ struct{} `type:"structure"` - // Commit Id from 3rd party repository provider for the Job. + // The commit ID from a third-party repository provider for the job. // // CommitId is a required field CommitId *string `locationName:"commitId" type:"string" required:"true"` - // Commit message from 3rd party repository provider for the Job. + // The commit message from a third-party repository provider for the job. // // CommitMessage is a required field CommitMessage *string `locationName:"commitMessage" type:"string" required:"true"` - // Commit date / time for the Job. + // The commit date and time for the job. // // CommitTime is a required field CommitTime *time.Time `locationName:"commitTime" type:"timestamp" required:"true"` - // End date / time for the Job. + // The end date and time for the job. EndTime *time.Time `locationName:"endTime" type:"timestamp"` - // Arn for the Job. + // The Amazon Resource Name (ARN) for the job. // // JobArn is a required field JobArn *string `locationName:"jobArn" type:"string" required:"true"` - // Unique Id for the Job. + // The unique ID for the job. // // JobId is a required field JobId *string `locationName:"jobId" type:"string" required:"true"` - // Type for the Job. \n "RELEASE": Manually released from source by using StartJob - // API. "RETRY": Manually retried by using StartJob API. "WEB_HOOK": Automatically - // triggered by WebHooks. + // The type for the job. If the value is RELEASE, the job was manually released + // from its source by using the StartJob API. If the value is RETRY, the job + // was manually retried using the StartJob API. If the value is WEB_HOOK, the + // job was automatically triggered by webhooks. // // JobType is a required field JobType *string `locationName:"jobType" type:"string" required:"true" enum:"JobType"` - // Start date / time for the Job. + // The start date and time for the job. // // StartTime is a required field StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"` - // Status for the Job. + // The current status for the job. // // Status is a required field Status *string `locationName:"status" type:"string" required:"true" enum:"JobStatus"` @@ -6684,8 +6696,7 @@ func (s *JobSummary) SetStatus(v string) *JobSummary { return s } -// Exception thrown when a resource could not be created because of service -// limits. +// A resource could not be created because service quotas were exceeded. type LimitExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -6741,15 +6752,15 @@ func (s *LimitExceededException) RequestID() string { return s.RespMetadata.RequestID } -// Request structure for an Amplify App list request. +// The request structure for the list apps request. type ListAppsInput struct { _ struct{} `type:"structure"` - // Maximum number of records to list in a single response. + // The maximum number of records to list in a single response. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Pagination token. If non-null pagination token is returned in a result, then - // pass its value in another request to fetch more entries. + // A pagination token. If non-null, the pagination token is returned in a result. + // Pass its value in another request to retrieve more entries. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -6788,18 +6799,18 @@ func (s *ListAppsInput) SetNextToken(v string) *ListAppsInput { return s } -// Result structure for an Amplify App list request. +// The result structure for an Amplify app list request. type ListAppsOutput struct { _ struct{} `type:"structure"` - // List of Amplify Apps. + // A list of Amplify apps. // // Apps is a required field Apps []*App `locationName:"apps" type:"list" required:"true"` - // Pagination token. Set to null to start listing Apps from start. If non-null - // pagination token is returned in a result, then pass its value in here to - // list more projects. + // A pagination token. Set to null to start listing apps from start. If non-null, + // the pagination token is returned in a result. Pass its value in here to list + // more projects. NextToken *string `locationName:"nextToken" type:"string"` } @@ -6825,31 +6836,31 @@ func (s *ListAppsOutput) SetNextToken(v string) *ListAppsOutput { return s } -// Request structure for the list artifacts request. +// Describes the request structure for the list artifacts request. type ListArtifactsInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name for a branch, part of an Amplify App. + // The name of a branch that is part of an Amplify app. // // BranchName is a required field BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"` - // Unique Id for an Job. + // The unique ID for a job. // // JobId is a required field JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"` - // Maximum number of records to list in a single response. + // The maximum number of records to list in a single response. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Pagination token. Set to null to start listing artifacts from start. If non-null - // pagination token is returned in a result, then pass its value in here to - // list more artifacts. + // A pagination token. Set to null to start listing artifacts from start. If + // a non-null pagination token is returned in a result, pass its value in here + // to list more artifacts. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -6924,17 +6935,17 @@ func (s *ListArtifactsInput) SetNextToken(v string) *ListArtifactsInput { return s } -// Result structure for the list artifacts request. +// The result structure for the list artifacts request. type ListArtifactsOutput struct { _ struct{} `type:"structure"` - // List of artifacts. + // A list of artifacts. // // Artifacts is a required field Artifacts []*Artifact `locationName:"artifacts" type:"list" required:"true"` - // Pagination token. If non-null pagination token is returned in a result, then - // pass its value in another request to fetch more entries. + // A pagination token. If a non-null pagination token is returned in a result, + // pass its value in another request to retrieve more entries. NextToken *string `locationName:"nextToken" type:"string"` } @@ -6960,24 +6971,24 @@ func (s *ListArtifactsOutput) SetNextToken(v string) *ListArtifactsOutput { return s } -// Request structure for list backend environments request. +// The request structure for the list backend environments request. type ListBackendEnvironmentsInput struct { _ struct{} `type:"structure"` - // Unique Id for an amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name of the backend environment - EnvironmentName *string `locationName:"environmentName" min:"1" type:"string"` + // The name of the backend environment + EnvironmentName *string `location:"querystring" locationName:"environmentName" min:"1" type:"string"` - // Maximum number of records to list in a single response. + // The maximum number of records to list in a single response. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Pagination token. Set to null to start listing backen environments from start. - // If a non-null pagination token is returned in a result, then pass its value - // in here to list more backend environments. + // A pagination token. Set to null to start listing backend environments from + // the start. If a non-null pagination token is returned in a result, pass its + // value in here to list more backend environments. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -7037,17 +7048,17 @@ func (s *ListBackendEnvironmentsInput) SetNextToken(v string) *ListBackendEnviro return s } -// Result structure for list backend environments result. +// The result structure for the list backend environments result. type ListBackendEnvironmentsOutput struct { _ struct{} `type:"structure"` - // List of backend environments for an Amplify App. + // The list of backend environments for an Amplify app. // // BackendEnvironments is a required field BackendEnvironments []*BackendEnvironment `locationName:"backendEnvironments" type:"list" required:"true"` - // Pagination token. If non-null pagination token is returned in a result, then - // pass its value in another request to fetch more entries. + // A pagination token. If a non-null pagination token is returned in a result, + // pass its value in another request to retrieve more entries. NextToken *string `locationName:"nextToken" type:"string"` } @@ -7073,20 +7084,20 @@ func (s *ListBackendEnvironmentsOutput) SetNextToken(v string) *ListBackendEnvir return s } -// Request structure for list branches request. +// The request structure for the list branches request. type ListBranchesInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Maximum number of records to list in a single response. + // The maximum number of records to list in a single response. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Pagination token. Set to null to start listing branches from start. If a - // non-null pagination token is returned in a result, then pass its value in + // A pagination token. Set to null to start listing branches from the start. + // If a non-null pagination token is returned in a result, pass its value in // here to list more branches. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -7138,17 +7149,17 @@ func (s *ListBranchesInput) SetNextToken(v string) *ListBranchesInput { return s } -// Result structure for list branches request. +// The result structure for the list branches request. type ListBranchesOutput struct { _ struct{} `type:"structure"` - // List of branches for an Amplify App. + // A list of branches for an Amplify app. // // Branches is a required field Branches []*Branch `locationName:"branches" type:"list" required:"true"` - // Pagination token. If non-null pagination token is returned in a result, then - // pass its value in another request to fetch more entries. + // A pagination token. If a non-null pagination token is returned in a result, + // pass its value in another request to retrieve more entries. NextToken *string `locationName:"nextToken" type:"string"` } @@ -7174,21 +7185,21 @@ func (s *ListBranchesOutput) SetNextToken(v string) *ListBranchesOutput { return s } -// Request structure for the list Domain Associations request. +// The request structure for the list domain associations request. type ListDomainAssociationsInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Maximum number of records to list in a single response. + // The maximum number of records to list in a single response. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Pagination token. Set to null to start listing Apps from start. If non-null - // pagination token is returned in a result, then pass its value in here to - // list more projects. + // A pagination token. Set to null to start listing apps from the start. If + // non-null, a pagination token is returned in a result. Pass its value in here + // to list more projects. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -7239,17 +7250,17 @@ func (s *ListDomainAssociationsInput) SetNextToken(v string) *ListDomainAssociat return s } -// Result structure for the list Domain Association request. +// The result structure for the list domain association request. type ListDomainAssociationsOutput struct { _ struct{} `type:"structure"` - // List of Domain Associations. + // A list of domain associations. // // DomainAssociations is a required field DomainAssociations []*DomainAssociation `locationName:"domainAssociations" type:"list" required:"true"` - // Pagination token. If non-null pagination token is returned in a result, then - // pass its value in another request to fetch more entries. + // A pagination token. If non-null, a pagination token is returned in a result. + // Pass its value in another request to retrieve more entries. NextToken *string `locationName:"nextToken" type:"string"` } @@ -7275,26 +7286,26 @@ func (s *ListDomainAssociationsOutput) SetNextToken(v string) *ListDomainAssocia return s } -// Request structure for list job request. +// The request structure for the list jobs request. type ListJobsInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name for a branch. + // The name for a branch. // // BranchName is a required field BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"` - // Maximum number of records to list in a single response. + // The maximum number of records to list in a single response. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Pagination token. Set to null to start listing steps from start. If a non-null - // pagination token is returned in a result, then pass its value in here to - // list more steps. + // A pagination token. Set to null to start listing steps from the start. If + // a non-null pagination token is returned in a result, pass its value in here + // to list more steps. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -7357,17 +7368,17 @@ func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput { return s } -// Maximum number of records to list in a single response. +// The maximum number of records to list in a single response. type ListJobsOutput struct { _ struct{} `type:"structure"` - // Result structure for list job result request. + // The result structure for the list job result request. // // JobSummaries is a required field JobSummaries []*JobSummary `locationName:"jobSummaries" type:"list" required:"true"` - // Pagination token. If non-null pagination token is returned in a result, then - // pass its value in another request to fetch more entries. + // A pagination token. If non-null the pagination token is returned in a result. + // Pass its value in another request to retrieve more entries. NextToken *string `locationName:"nextToken" type:"string"` } @@ -7393,11 +7404,11 @@ func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput { return s } -// Request structure used to list tags for resource. +// The request structure to use to list tags for a resource. type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // Resource arn used to list tags. + // The Amazon Resource Name (ARN) to use to list tags. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` @@ -7435,11 +7446,11 @@ func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResource return s } -// Response for list tags. +// The response for the list tags for resource request. type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // Tags result for response. + // A list of tags for the specified The Amazon Resource Name (ARN). Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } @@ -7459,21 +7470,21 @@ func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForRe return s } -// Request structure for the list webhooks request. +// The request structure for the list webhooks request. type ListWebhooksInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Maximum number of records to list in a single response. + // The maximum number of records to list in a single response. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Pagination token. Set to null to start listing webhooks from start. If non-null - // pagination token is returned in a result, then pass its value in here to - // list more webhooks. + // A pagination token. Set to null to start listing webhooks from the start. + // If non-null,the pagination token is returned in a result. Pass its value + // in here to list more webhooks. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -7524,15 +7535,15 @@ func (s *ListWebhooksInput) SetNextToken(v string) *ListWebhooksInput { return s } -// Result structure for the list webhooks request. +// The result structure for the list webhooks request. type ListWebhooksOutput struct { _ struct{} `type:"structure"` - // Pagination token. If non-null pagination token is returned in a result, then - // pass its value in another request to fetch more entries. + // A pagination token. If non-null, the pagination token is returned in a result. + // Pass its value in another request to retrieve more entries. NextToken *string `locationName:"nextToken" type:"string"` - // List of webhooks. + // A list of webhooks. // // Webhooks is a required field Webhooks []*Webhook `locationName:"webhooks" type:"list" required:"true"` @@ -7560,7 +7571,7 @@ func (s *ListWebhooksOutput) SetWebhooks(v []*Webhook) *ListWebhooksOutput { return s } -// Exception thrown when an entity has not been found during an operation. +// An entity was not found during an operation. type NotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -7616,20 +7627,20 @@ func (s *NotFoundException) RequestID() string { return s.RespMetadata.RequestID } -// Structure with Production Branch information. +// Describes the information about a production branch for an Amplify app. type ProductionBranch struct { _ struct{} `type:"structure"` - // Branch Name for Production Branch. + // The branch name for the production branch. BranchName *string `locationName:"branchName" min:"1" type:"string"` - // Last Deploy Time of Production Branch. + // The last deploy time of the production branch. LastDeployTime *time.Time `locationName:"lastDeployTime" type:"timestamp"` - // Status of Production Branch. + // The status of the production branch. Status *string `locationName:"status" min:"3" type:"string"` - // Thumbnail URL for Production Branch. + // The thumbnail URL for the production branch. ThumbnailUrl *string `locationName:"thumbnailUrl" min:"1" type:"string"` } @@ -7667,7 +7678,7 @@ func (s *ProductionBranch) SetThumbnailUrl(v string) *ProductionBranch { return s } -// Exception thrown when an operation fails due to non-existent resource. +// An operation failed due to a non-existent resource. type ResourceNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -7725,26 +7736,26 @@ func (s *ResourceNotFoundException) RequestID() string { return s.RespMetadata.RequestID } -// Request structure for start a deployment. +// The request structure for the start a deployment request. type StartDeploymentInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name for the branch, for the Job. + // The name for the branch, for the job. // // BranchName is a required field BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"` - // The job id for this deployment, generated by create deployment request. + // The job ID for this deployment, generated by the create deployment request. JobId *string `locationName:"jobId" type:"string"` - // The sourceUrl for this deployment, used when calling start deployment without - // create deployment. SourceUrl can be any HTTP GET url that is public accessible - // and downloads a single zip. + // The source URL for this deployment, used when calling start deployment without + // create deployment. The source URL can be any HTTP GET URL that is publicly + // accessible and downloads a single .zip file. SourceUrl *string `locationName:"sourceUrl" type:"string"` } @@ -7804,11 +7815,11 @@ func (s *StartDeploymentInput) SetSourceUrl(v string) *StartDeploymentInput { return s } -// Result structure for start a deployment. +// The result structure for the start a deployment request. type StartDeploymentOutput struct { _ struct{} `type:"structure"` - // Summary for the Job. + // The summary for the job. // // JobSummary is a required field JobSummary *JobSummary `locationName:"jobSummary" type:"structure" required:"true"` @@ -7830,39 +7841,40 @@ func (s *StartDeploymentOutput) SetJobSummary(v *JobSummary) *StartDeploymentOut return s } -// Request structure for Start job request. +// The request structure for the start job request. type StartJobInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name for the branch, for the Job. + // The branch name for the job. // // BranchName is a required field BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"` - // Commit Id from 3rd party repository provider for the Job. + // The commit ID from a third-party repository provider for the job. CommitId *string `locationName:"commitId" type:"string"` - // Commit message from 3rd party repository provider for the Job. + // The commit message from a third-party repository provider for the job. CommitMessage *string `locationName:"commitMessage" type:"string"` - // Commit date / time for the Job. + // The commit date and time for the job. CommitTime *time.Time `locationName:"commitTime" type:"timestamp"` - // Unique Id for an existing job. Required for "RETRY" JobType. + // The unique ID for an existing job. This is required if the value of jobType + // is RETRY. JobId *string `locationName:"jobId" type:"string"` - // Descriptive reason for starting this job. + // A descriptive reason for starting this job. JobReason *string `locationName:"jobReason" type:"string"` - // Type for the Job. Available JobTypes are: \n "RELEASE": Start a new job with - // the latest change from the specified branch. Only available for apps that - // have connected to a repository. "RETRY": Retry an existing job. JobId is - // required for this type of job. + // Describes the type for the job. The job type RELEASE starts a new job with + // the latest change from the specified branch. This value is available only + // for apps that are connected to a repository. The job type RETRY retries an + // existing job. If the job type value is RETRY, the jobId is also required. // // JobType is a required field JobType *string `locationName:"jobType" type:"string" required:"true" enum:"JobType"` @@ -7951,11 +7963,11 @@ func (s *StartJobInput) SetJobType(v string) *StartJobInput { return s } -// Result structure for run job request. +// The result structure for the run job request. type StartJobOutput struct { _ struct{} `type:"structure"` - // Summary for the Job. + // The summary for the job. // // JobSummary is a required field JobSummary *JobSummary `locationName:"jobSummary" type:"structure" required:"true"` @@ -7977,49 +7989,49 @@ func (s *StartJobOutput) SetJobSummary(v *JobSummary) *StartJobOutput { return s } -// Structure for an execution step for an execution job, for an Amplify App. +// Describes an execution step, for an execution job, for an Amplify app. type Step struct { _ struct{} `type:"structure"` - // URL to the artifact for the execution step. + // The URL to the artifact for the execution step. ArtifactsUrl *string `locationName:"artifactsUrl" type:"string"` - // The context for current step, will include build image if step is build. + // The context for the current step. Includes a build image if the step is build. Context *string `locationName:"context" type:"string"` - // End date/ time of the execution step. + // The end date and time of the execution step. // // EndTime is a required field EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"` - // URL to the logs for the execution step. + // The URL to the logs for the execution step. LogUrl *string `locationName:"logUrl" type:"string"` - // List of screenshot URLs for the execution step, if relevant. + // The list of screenshot URLs for the execution step, if relevant. Screenshots map[string]*string `locationName:"screenshots" type:"map"` - // Start date/ time of the execution step. + // The start date and time of the execution step. // // StartTime is a required field StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"` - // Status of the execution step. + // The status of the execution step. // // Status is a required field Status *string `locationName:"status" type:"string" required:"true" enum:"JobStatus"` - // The reason for current step status. + // The reason for the current step status. StatusReason *string `locationName:"statusReason" type:"string"` - // Name of the execution step. + // The name of the execution step. // // StepName is a required field StepName *string `locationName:"stepName" type:"string" required:"true"` - // URL to the test artifact for the execution step. + // The URL to the test artifact for the execution step. TestArtifactsUrl *string `locationName:"testArtifactsUrl" type:"string"` - // URL to the test config for the execution step. + // The URL to the test configuration for the execution step. TestConfigUrl *string `locationName:"testConfigUrl" type:"string"` } @@ -8099,21 +8111,21 @@ func (s *Step) SetTestConfigUrl(v string) *Step { return s } -// Request structure for stop job request. +// The request structure for the stop job request. type StopJobInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name for the branch, for the Job. + // The name for the branch, for the job. // // BranchName is a required field BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"` - // Unique Id for the Job. + // The unique id for the job. // // JobId is a required field JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"` @@ -8175,11 +8187,11 @@ func (s *StopJobInput) SetJobId(v string) *StopJobInput { return s } -// Result structure for the stop job request. +// The result structure for the stop job request. type StopJobOutput struct { _ struct{} `type:"structure"` - // Summary for the Job. + // The summary for the job. // // JobSummary is a required field JobSummary *JobSummary `locationName:"jobSummary" type:"structure" required:"true"` @@ -8201,21 +8213,21 @@ func (s *StopJobOutput) SetJobSummary(v *JobSummary) *StopJobOutput { return s } -// Subdomain for the Domain Association. +// The subdomain for the domain association. type SubDomain struct { _ struct{} `type:"structure"` - // DNS record for the Subdomain. + // The DNS record for the subdomain. // // DnsRecord is a required field DnsRecord *string `locationName:"dnsRecord" type:"string" required:"true"` - // Setting structure for the Subdomain. + // Describes the settings for the subdomain. // // SubDomainSetting is a required field SubDomainSetting *SubDomainSetting `locationName:"subDomainSetting" type:"structure" required:"true"` - // Verified status of the Subdomain + // The verified status of the subdomain // // Verified is a required field Verified *bool `locationName:"verified" type:"boolean" required:"true"` @@ -8249,16 +8261,16 @@ func (s *SubDomain) SetVerified(v bool) *SubDomain { return s } -// Setting for the Subdomain. +// Describes the settings for the subdomain. type SubDomainSetting struct { _ struct{} `type:"structure"` - // Branch name setting for the Subdomain. + // The branch name setting for the subdomain. // // BranchName is a required field BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"` - // Prefix setting for the Subdomain. + // The prefix setting for the subdomain. // // Prefix is a required field Prefix *string `locationName:"prefix" type:"string" required:"true"` @@ -8305,16 +8317,16 @@ func (s *SubDomainSetting) SetPrefix(v string) *SubDomainSetting { return s } -// Request structure used to tag resource. +// The request structure to tag a resource with a tag key and value. type TagResourceInput struct { _ struct{} `type:"structure"` - // Resource arn used to tag resource. + // The Amazon Resource Name (ARN) to use to tag a resource. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` - // Tags used to tag resource. + // The tags used to tag the resource. // // Tags is a required field Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` @@ -8364,7 +8376,7 @@ func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { return s } -// Response for tag resource. +// The response for the tag resource request. type TagResourceOutput struct { _ struct{} `type:"structure"` } @@ -8379,7 +8391,7 @@ func (s TagResourceOutput) GoString() string { return s.String() } -// Exception thrown when an operation fails due to a lack of access. +// An operation failed due to a lack of access. type UnauthorizedException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -8435,16 +8447,16 @@ func (s *UnauthorizedException) RequestID() string { return s.RespMetadata.RequestID } -// Request structure used to untag resource. +// The request structure for the untag resource request. type UntagResourceInput struct { _ struct{} `type:"structure"` - // Resource arn used to untag resource. + // The Amazon Resource Name (ARN) to use to untag a resource. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` - // Tag keys used to untag resource. + // The tag keys to use to untag a resource. // // TagKeys is a required field TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` @@ -8494,7 +8506,7 @@ func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { return s } -// Response for untag resource. +// The response for the untag resource request. type UntagResourceOutput struct { _ struct{} `type:"structure"` } @@ -8509,63 +8521,70 @@ func (s UntagResourceOutput) GoString() string { return s.String() } -// Request structure for update App request. +// The request structure for the update app request. type UpdateAppInput struct { _ struct{} `type:"structure"` - // Personal Access token for 3rd party source control system for an Amplify - // App, used to create webhook and read-only deploy key. Token is not stored. - AccessToken *string `locationName:"accessToken" min:"1" type:"string"` + // The personal access token for a third-party source control system for an + // Amplify app. The token is used to create webhook and a read-only deploy key. + // The token is not stored. + AccessToken *string `locationName:"accessToken" min:"1" type:"string" sensitive:"true"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Automated branch creation branchConfig for the Amplify App. + // The automated branch creation configuration for the Amplify app. AutoBranchCreationConfig *AutoBranchCreationConfig `locationName:"autoBranchCreationConfig" type:"structure"` - // Automated branch creation glob patterns for the Amplify App. + // Describes the automated branch creation glob patterns for the Amplify app. AutoBranchCreationPatterns []*string `locationName:"autoBranchCreationPatterns" type:"list"` - // Basic Authorization credentials for an Amplify App. - BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string"` + // The basic authorization credentials for an Amplify app. + BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"` - // BuildSpec for an Amplify App. + // The build specification (build spec) for an Amplify app. BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"` - // Custom redirect / rewrite rules for an Amplify App. + // The custom redirect and rewrite rules for an Amplify app. CustomRules []*CustomRule `locationName:"customRules" type:"list"` - // Description for an Amplify App. + // The description for an Amplify app. Description *string `locationName:"description" type:"string"` - // Enables automated branch creation for the Amplify App. + // Enables automated branch creation for the Amplify app. EnableAutoBranchCreation *bool `locationName:"enableAutoBranchCreation" type:"boolean"` - // Enables Basic Authorization for an Amplify App. + // Enables basic authorization for an Amplify app. EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean"` - // Enables branch auto-building for an Amplify App. + // Enables branch auto-building for an Amplify app. EnableBranchAutoBuild *bool `locationName:"enableBranchAutoBuild" type:"boolean"` - // Environment Variables for an Amplify App. + // Automatically disconnects a branch in the Amplify Console when you delete + // a branch from your Git repository. + EnableBranchAutoDeletion *bool `locationName:"enableBranchAutoDeletion" type:"boolean"` + + // The environment variables for an Amplify app. EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"` - // IAM service role for an Amplify App. + // The AWS Identity and Access Management (IAM) service role for an Amplify + // app. IamServiceRoleArn *string `locationName:"iamServiceRoleArn" min:"1" type:"string"` - // Name for an Amplify App. + // The name for an Amplify app. Name *string `locationName:"name" min:"1" type:"string"` - // OAuth token for 3rd party source control system for an Amplify App, used - // to create webhook and read-only deploy key. OAuth token is not stored. - OauthToken *string `locationName:"oauthToken" type:"string"` + // The OAuth token for a third-party source control system for an Amplify app. + // The token is used to create a webhook and a read-only deploy key. The OAuth + // token is not stored. + OauthToken *string `locationName:"oauthToken" type:"string" sensitive:"true"` - // Platform for an Amplify App. + // The platform for an Amplify app. Platform *string `locationName:"platform" type:"string" enum:"Platform"` - // Repository for an Amplify App + // The name of the repository for an Amplify app Repository *string `locationName:"repository" type:"string"` } @@ -8688,6 +8707,12 @@ func (s *UpdateAppInput) SetEnableBranchAutoBuild(v bool) *UpdateAppInput { return s } +// SetEnableBranchAutoDeletion sets the EnableBranchAutoDeletion field's value. +func (s *UpdateAppInput) SetEnableBranchAutoDeletion(v bool) *UpdateAppInput { + s.EnableBranchAutoDeletion = &v + return s +} + // SetEnvironmentVariables sets the EnvironmentVariables field's value. func (s *UpdateAppInput) SetEnvironmentVariables(v map[string]*string) *UpdateAppInput { s.EnvironmentVariables = v @@ -8724,11 +8749,11 @@ func (s *UpdateAppInput) SetRepository(v string) *UpdateAppInput { return s } -// Result structure for an Amplify App update request. +// The result structure for an Amplify app update request. type UpdateAppOutput struct { _ struct{} `type:"structure"` - // App structure for the updated App. + // Represents the updated Amplify app. // // App is a required field App *App `locationName:"app" type:"structure" required:"true"` @@ -8750,60 +8775,61 @@ func (s *UpdateAppOutput) SetApp(v *App) *UpdateAppOutput { return s } -// Request structure for update branch request. +// The request structure for the update branch request. type UpdateBranchInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // ARN for a Backend Environment, part of an Amplify App. + // The Amazon Resource Name (ARN) for a backend environment that is part of + // an Amplify app. BackendEnvironmentArn *string `locationName:"backendEnvironmentArn" min:"1" type:"string"` - // Basic Authorization credentials for the branch. - BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string"` + // The basic authorization credentials for the branch. + BasicAuthCredentials *string `locationName:"basicAuthCredentials" type:"string" sensitive:"true"` - // Name for the branch. + // The name for the branch. // // BranchName is a required field BranchName *string `location:"uri" locationName:"branchName" min:"1" type:"string" required:"true"` - // BuildSpec for the branch. + // The build specification (build spec) for the branch. BuildSpec *string `locationName:"buildSpec" min:"1" type:"string"` - // Description for the branch. + // The description for the branch. Description *string `locationName:"description" type:"string"` - // Display name for a branch, will use as the default domain prefix. + // The display name for a branch. This is used as the default domain prefix. DisplayName *string `locationName:"displayName" type:"string"` // Enables auto building for the branch. EnableAutoBuild *bool `locationName:"enableAutoBuild" type:"boolean"` - // Enables Basic Auth for the branch. + // Enables basic authorization for the branch. EnableBasicAuth *bool `locationName:"enableBasicAuth" type:"boolean"` // Enables notifications for the branch. EnableNotification *bool `locationName:"enableNotification" type:"boolean"` - // Enables Pull Request Preview for this branch. + // Enables pull request preview for this branch. EnablePullRequestPreview *bool `locationName:"enablePullRequestPreview" type:"boolean"` - // Environment Variables for the branch. + // The environment variables for the branch. EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"` - // Framework for the branch. + // The framework for the branch. Framework *string `locationName:"framework" type:"string"` - // The Amplify Environment name for the pull request. + // The Amplify environment name for the pull request. PullRequestEnvironmentName *string `locationName:"pullRequestEnvironmentName" type:"string"` - // Stage for the branch. + // Describes the current stage for the branch. Stage *string `locationName:"stage" type:"string" enum:"Stage"` - // The content TTL for the website in seconds. + // The content Time to Live (TTL) for the website in seconds. Ttl *string `locationName:"ttl" type:"string"` } @@ -8941,11 +8967,11 @@ func (s *UpdateBranchInput) SetTtl(v string) *UpdateBranchInput { return s } -// Result structure for update branch request. +// The result structure for the update branch request. type UpdateBranchOutput struct { _ struct{} `type:"structure"` - // Branch structure for an Amplify App. + // The branch for an Amplify app, which maps to a third-party repository branch. // // Branch is a required field Branch *Branch `locationName:"branch" type:"structure" required:"true"` @@ -8967,24 +8993,31 @@ func (s *UpdateBranchOutput) SetBranch(v *Branch) *UpdateBranchOutput { return s } -// Request structure for update Domain Association request. +// The request structure for the update domain association request. type UpdateDomainAssociationInput struct { _ struct{} `type:"structure"` - // Unique Id for an Amplify App. + // The unique ID for an Amplify app. // // AppId is a required field AppId *string `location:"uri" locationName:"appId" min:"1" type:"string" required:"true"` - // Name of the domain. + // Sets the branch patterns for automatic subdomain creation. + AutoSubDomainCreationPatterns []*string `locationName:"autoSubDomainCreationPatterns" type:"list"` + + // The required AWS Identity and Access Management (IAM) service role for the + // Amazon Resource Name (ARN) for automatically creating subdomains. + AutoSubDomainIAMRole *string `locationName:"autoSubDomainIAMRole" type:"string"` + + // The name of the domain. // // DomainName is a required field DomainName *string `location:"uri" locationName:"domainName" type:"string" required:"true"` - // Enables automated creation of Subdomains for branches. (Currently not supported) + // Enables the automated creation of subdomains for branches. EnableAutoSubDomain *bool `locationName:"enableAutoSubDomain" type:"boolean"` - // Setting structure for the Subdomain. + // Describes the settings for the subdomain. // // SubDomainSettings is a required field SubDomainSettings []*SubDomainSetting `locationName:"subDomainSettings" type:"list" required:"true"` @@ -9041,6 +9074,18 @@ func (s *UpdateDomainAssociationInput) SetAppId(v string) *UpdateDomainAssociati return s } +// SetAutoSubDomainCreationPatterns sets the AutoSubDomainCreationPatterns field's value. +func (s *UpdateDomainAssociationInput) SetAutoSubDomainCreationPatterns(v []*string) *UpdateDomainAssociationInput { + s.AutoSubDomainCreationPatterns = v + return s +} + +// SetAutoSubDomainIAMRole sets the AutoSubDomainIAMRole field's value. +func (s *UpdateDomainAssociationInput) SetAutoSubDomainIAMRole(v string) *UpdateDomainAssociationInput { + s.AutoSubDomainIAMRole = &v + return s +} + // SetDomainName sets the DomainName field's value. func (s *UpdateDomainAssociationInput) SetDomainName(v string) *UpdateDomainAssociationInput { s.DomainName = &v @@ -9059,11 +9104,12 @@ func (s *UpdateDomainAssociationInput) SetSubDomainSettings(v []*SubDomainSettin return s } -// Result structure for the update Domain Association request. +// The result structure for the update domain association request. type UpdateDomainAssociationOutput struct { _ struct{} `type:"structure"` - // Domain Association structure. + // Describes a domain association, which associates a custom domain with an + // Amplify app. // // DomainAssociation is a required field DomainAssociation *DomainAssociation `locationName:"domainAssociation" type:"structure" required:"true"` @@ -9085,17 +9131,17 @@ func (s *UpdateDomainAssociationOutput) SetDomainAssociation(v *DomainAssociatio return s } -// Request structure for update webhook request. +// The request structure for the update webhook request. type UpdateWebhookInput struct { _ struct{} `type:"structure"` - // Name for a branch, part of an Amplify App. + // The name for a branch that is part of an Amplify app. BranchName *string `locationName:"branchName" min:"1" type:"string"` - // Description for a webhook. + // The description for a webhook. Description *string `locationName:"description" type:"string"` - // Unique Id for a webhook. + // The unique ID for a webhook. // // WebhookId is a required field WebhookId *string `location:"uri" locationName:"webhookId" type:"string" required:"true"` @@ -9148,11 +9194,11 @@ func (s *UpdateWebhookInput) SetWebhookId(v string) *UpdateWebhookInput { return s } -// Result structure for the update webhook request. +// The result structure for the update webhook request. type UpdateWebhookOutput struct { _ struct{} `type:"structure"` - // Webhook structure. + // Describes a webhook that connects repository events to an Amplify app. // // Webhook is a required field Webhook *Webhook `locationName:"webhook" type:"structure" required:"true"` @@ -9174,41 +9220,41 @@ func (s *UpdateWebhookOutput) SetWebhook(v *Webhook) *UpdateWebhookOutput { return s } -// Structure for webhook, which associates a webhook with an Amplify App. +// Describes a webhook that connects repository events to an Amplify app. type Webhook struct { _ struct{} `type:"structure"` - // Name for a branch, part of an Amplify App. + // The name for a branch that is part of an Amplify app. // // BranchName is a required field BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"` - // Create date / time for a webhook. + // The create date and time for a webhook. // // CreateTime is a required field CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // Description for a webhook. + // The description for a webhook. // // Description is a required field Description *string `locationName:"description" type:"string" required:"true"` - // Update date / time for a webhook. + // Updates the date and time for a webhook. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` - // ARN for the webhook. + // The Amazon Resource Name (ARN) for the webhook. // // WebhookArn is a required field WebhookArn *string `locationName:"webhookArn" type:"string" required:"true"` - // Id of the webhook. + // The ID of the webhook. // // WebhookId is a required field WebhookId *string `locationName:"webhookId" type:"string" required:"true"` - // Url of the webhook. + // The URL of the webhook. // // WebhookUrl is a required field WebhookUrl *string `locationName:"webhookUrl" type:"string" required:"true"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/amplify/doc.go b/vendor/github.com/aws/aws-sdk-go/service/amplify/doc.go index d00cb08ebab..e1395d3fd2f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/amplify/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/amplify/doc.go @@ -3,8 +3,13 @@ // Package amplify provides the client and types for making API // requests to AWS Amplify. // -// Amplify is a fully managed continuous deployment and hosting service for -// modern web apps. +// Amplify enables developers to develop and deploy cloud-powered mobile and +// web apps. The Amplify Console provides a continuous delivery and hosting +// service for web applications. For more information, see the Amplify Console +// User Guide (https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html). +// The Amplify Framework is a comprehensive set of SDKs, libraries, tools, and +// documentation for client app development. For more information, see the Amplify +// Framework. (https://docs.amplify.aws/) // // See https://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/amplify/errors.go b/vendor/github.com/aws/aws-sdk-go/service/amplify/errors.go index 4e406d9ce46..f79cee8392f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/amplify/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/amplify/errors.go @@ -11,46 +11,43 @@ const ( // ErrCodeBadRequestException for service response error code // "BadRequestException". // - // Exception thrown when a request contains unexpected data. + // A request contains unexpected data. ErrCodeBadRequestException = "BadRequestException" // ErrCodeDependentServiceFailureException for service response error code // "DependentServiceFailureException". // - // Exception thrown when an operation fails due to a dependent service throwing - // an exception. + // An operation failed because a dependent service threw an exception. ErrCodeDependentServiceFailureException = "DependentServiceFailureException" // ErrCodeInternalFailureException for service response error code // "InternalFailureException". // - // Exception thrown when the service fails to perform an operation due to an - // internal issue. + // The service failed to perform an operation due to an internal issue. ErrCodeInternalFailureException = "InternalFailureException" // ErrCodeLimitExceededException for service response error code // "LimitExceededException". // - // Exception thrown when a resource could not be created because of service - // limits. + // A resource could not be created because service quotas were exceeded. ErrCodeLimitExceededException = "LimitExceededException" // ErrCodeNotFoundException for service response error code // "NotFoundException". // - // Exception thrown when an entity has not been found during an operation. + // An entity was not found during an operation. ErrCodeNotFoundException = "NotFoundException" // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFoundException". // - // Exception thrown when an operation fails due to non-existent resource. + // An operation failed due to a non-existent resource. ErrCodeResourceNotFoundException = "ResourceNotFoundException" // ErrCodeUnauthorizedException for service response error code // "UnauthorizedException". // - // Exception thrown when an operation fails due to a lack of access. + // An operation failed due to a lack of access. ErrCodeUnauthorizedException = "UnauthorizedException" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go b/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go index 15969f19078..751c10ab453 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/apigateway/api.go @@ -19847,7 +19847,7 @@ type ImportRestApiInput struct { // [Required] The POST request body containing external API definitions. Currently, // only OpenAPI definition JSON/YAML files are supported. The maximum size of - // the API definition file is 2MB. + // the API definition file is 6MB. // // Body is a required field Body []byte `locationName:"body" type:"blob" required:"true"` @@ -19936,9 +19936,10 @@ type Integration struct { // Method requestParameters. CacheKeyParameters []*string `locationName:"cacheKeyParameters" type:"list"` - // An API-specific tag group of related cached parameters. To be valid values - // for cacheKeyParameters, these parameters must also be specified for Method - // requestParameters. + // Specifies a group of related cached parameters. By default, API Gateway uses + // the resource ID as the cacheNamespace. You can specify the same cacheNamespace + // across resources to return the same cached data for requests to different + // resources. CacheNamespace *string `locationName:"cacheNamespace" type:"string"` // The (id (https://docs.aws.amazon.com/apigateway/api-reference/resource/vpc-link/#id)) @@ -20043,6 +20044,9 @@ type Integration struct { // milliseconds or 29 seconds. TimeoutInMillis *int64 `locationName:"timeoutInMillis" type:"integer"` + // Specifies the TLS configuration for an integration. + TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"` + // Specifies an API method integration type. The valid value is one of the following: // // * AWS: for integrating the API method request with an AWS service action, @@ -20178,6 +20182,12 @@ func (s *Integration) SetTimeoutInMillis(v int64) *Integration { return s } +// SetTlsConfig sets the TlsConfig field's value. +func (s *Integration) SetTlsConfig(v *TlsConfig) *Integration { + s.TlsConfig = v + return s +} + // SetType sets the Type field's value. func (s *Integration) SetType(v string) *Integration { s.Type = &v @@ -21192,10 +21202,15 @@ func (s *PutGatewayResponseInput) SetStatusCode(v string) *PutGatewayResponseInp type PutIntegrationInput struct { _ struct{} `type:"structure"` - // An API-specific tag group of related cached parameters. + // A list of request parameters whose values API Gateway caches. To be valid + // values for cacheKeyParameters, these parameters must also be specified for + // Method requestParameters. CacheKeyParameters []*string `locationName:"cacheKeyParameters" type:"list"` - // A list of request parameters whose values are to be cached. + // Specifies a group of related cached parameters. By default, API Gateway uses + // the resource ID as the cacheNamespace. You can specify the same cacheNamespace + // across resources to return the same cached data for requests to different + // resources. CacheNamespace *string `locationName:"cacheNamespace" type:"string"` // The (id (https://docs.aws.amazon.com/apigateway/api-reference/resource/vpc-link/#id)) @@ -21280,6 +21295,8 @@ type PutIntegrationInput struct { // milliseconds or 29 seconds. TimeoutInMillis *int64 `locationName:"timeoutInMillis" type:"integer"` + TlsConfig *TlsConfig `locationName:"tlsConfig" type:"structure"` + // [Required] Specifies a put integration input's type. // // Type is a required field @@ -21434,6 +21451,12 @@ func (s *PutIntegrationInput) SetTimeoutInMillis(v int64) *PutIntegrationInput { return s } +// SetTlsConfig sets the TlsConfig field's value. +func (s *PutIntegrationInput) SetTlsConfig(v *TlsConfig) *PutIntegrationInput { + s.TlsConfig = v + return s +} + // SetType sets the Type field's value. func (s *PutIntegrationInput) SetType(v string) *PutIntegrationInput { s.Type = &v @@ -21900,7 +21923,7 @@ type PutRestApiInput struct { // [Required] The PUT request body containing external API definitions. Currently, // only OpenAPI definition JSON/YAML files are supported. The maximum size of - // the API definition file is 2MB. + // the API definition file is 6MB. // // Body is a required field Body []byte `locationName:"body" type:"blob" required:"true"` @@ -23178,6 +23201,36 @@ func (s *ThrottleSettings) SetRateLimit(v float64) *ThrottleSettings { return s } +type TlsConfig struct { + _ struct{} `type:"structure"` + + // Specifies whether or not API Gateway skips verification that the certificate + // for an integration endpoint is issued by a supported certificate authority + // (https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-supported-certificate-authorities-for-http-endpoints.html). + // This isn’t recommended, but it enables you to use certificates that are + // signed by private certificate authorities, or certificates that are self-signed. + // If enabled, API Gateway still performs basic certificate validation, which + // includes checking the certificate's expiration date, hostname, and presence + // of a root certificate authority. Supported only for HTTP and HTTP_PROXY integrations. + InsecureSkipVerification *bool `locationName:"insecureSkipVerification" type:"boolean"` +} + +// String returns the string representation +func (s TlsConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TlsConfig) GoString() string { + return s.String() +} + +// SetInsecureSkipVerification sets the InsecureSkipVerification field's value. +func (s *TlsConfig) SetInsecureSkipVerification(v bool) *TlsConfig { + s.InsecureSkipVerification = &v + return s +} + // The request has reached its throttling limit. Retry after the specified time // period. type TooManyRequestsException struct { diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go index a4cce2c0b42..a9d77bc4b9c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/api.go @@ -998,6 +998,14 @@ func (c *ApplicationAutoScaling) PutScalingPolicyRequest(input *PutScalingPolicy // uses the policy with the highest calculated capacity (200% of 10 = 20) and // scales out to 30. // +// We recommend caution, however, when using target tracking scaling policies +// with step scaling policies because conflicts between these policies can cause +// undesirable behavior. For example, if the step scaling policy initiates a +// scale-in activity before the target tracking policy is ready to scale in, +// the scale-in activity will not be blocked. After the scale-in activity completes, +// the target tracking policy could instruct the scalable target to scale out +// again. +// // For more information, see Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) // and Step Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) // in the Application Auto Scaling User Guide. @@ -3267,7 +3275,9 @@ type PredefinedMetricSpecification struct { // a resource label unless the metric type is ALBRequestCountPerTarget and there // is a target group attached to the Spot Fleet request or ECS service. // - // The format is app///targetgroup//, + // Elastic Load Balancing sends data about your load balancers to Amazon CloudWatch. + // CloudWatch collects the data and specifies the format to use to access the + // data. The format is app///targetgroup//, // where: // // * app// is the final portion of @@ -3275,6 +3285,12 @@ type PredefinedMetricSpecification struct { // // * targetgroup// is the final portion // of the target group ARN. + // + // To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers + // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) + // API operation. To find the ARN for the target group, use the DescribeTargetGroups + // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) + // API operation. ResourceLabel *string `min:"1" type:"string"` } @@ -3332,7 +3348,7 @@ type PutScalingPolicyInput struct { // TargetTrackingScaling—Not supported for Amazon EMR // // StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, or Amazon - // Keyspaces for Apache Cassandra. + // Keyspaces (for Apache Cassandra). // // For more information, see Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) // and Step Scaling Policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) @@ -3846,8 +3862,10 @@ type RegisterScalableTargetInput struct { // the minimum capacity limit in response to changing demand. // // This parameter is required if you are registering a scalable target. For - // Lambda provisioned concurrency, the minimum value allowed is 0. For all other - // resources, the minimum value allowed is 1. + // certain resources, the minimum value allowed is 0. This includes Lambda provisioned + // concurrency, Spot Fleet, ECS services, Aurora DB clusters, EMR clusters, + // and custom resources. For all other resources, the minimum value allowed + // is 1. MinCapacity *int64 `type:"integer"` // The identifier of the resource that is associated with the scalable target. @@ -4084,12 +4102,12 @@ type ScalableTarget struct { // CreationTime is a required field CreationTime *time.Time `type:"timestamp" required:"true"` - // The maximum value to scale to in response to a scale-out event. + // The maximum value to scale to in response to a scale-out activity. // // MaxCapacity is a required field MaxCapacity *int64 `type:"integer" required:"true"` - // The minimum value to scale to in response to a scale-in event. + // The minimum value to scale to in response to a scale-in activity. // // MinCapacity is a required field MinCapacity *int64 `type:"integer" required:"true"` @@ -5062,27 +5080,27 @@ type StepScalingPolicyConfiguration struct { // AdjustmentType is required if you are adding a new step scaling policy configuration. AdjustmentType *string `type:"string" enum:"AdjustmentType"` - // The amount of time, in seconds, after a scaling activity completes where - // previous trigger-related scaling activities can influence future scaling - // events. - // - // For scale-out policies, while the cooldown period is in effect, the capacity - // that has been added by the previous scale-out action that initiated the cooldown - // is calculated as part of the desired capacity for the next scale out. The - // intention is to continuously (but not excessively) scale out. For example, - // an alarm triggers a step scaling policy to scale out an Amazon ECS service - // by 2 tasks, the scaling activity completes successfully, and a cooldown period - // of 5 minutes starts. During the cooldown period, if the alarm triggers the - // same policy again but at a more aggressive step adjustment to scale out the - // service by 3 tasks, the 2 tasks that were added in the previous scale-out - // action are considered part of that capacity and only 1 additional task is - // added to the desired count. - // - // For scale-in policies, the cooldown period is used to block subsequent scale-in - // requests until it has expired. The intention is to scale in conservatively - // to protect your application's availability. However, if another alarm triggers - // a scale-out policy during the cooldown period after a scale-in, Application - // Auto Scaling scales out your scalable target immediately. + // The amount of time, in seconds, to wait for a previous scaling activity to + // take effect. + // + // With scale-out policies, the intention is to continuously (but not excessively) + // scale out. After Application Auto Scaling successfully scales out using a + // step scaling policy, it starts to calculate the cooldown time. While the + // cooldown period is in effect, capacity added by the initiating scale-out + // activity is calculated as part of the desired capacity for the next scale-out + // activity. For example, when an alarm triggers a step scaling policy to increase + // the capacity by 2, the scaling activity completes successfully, and a cooldown + // period starts. If the alarm triggers again during the cooldown period but + // at a more aggressive step adjustment of 3, the previous increase of 2 is + // considered part of the current capacity. Therefore, only 1 is added to the + // capacity. + // + // With scale-in policies, the intention is to scale in conservatively to protect + // your application’s availability, so scale-in activities are blocked until + // the cooldown period has expired. However, if another alarm triggers a scale-out + // activity during the cooldown period after a scale-in activity, Application + // Auto Scaling scales out the target immediately. In this case, the cooldown + // period for the scale-in activity stops and doesn't complete. // // Application Auto Scaling provides a default value of 300 for the following // scalable targets: @@ -5267,13 +5285,14 @@ type TargetTrackingScalingPolicyConfiguration struct { PredefinedMetricSpecification *PredefinedMetricSpecification `type:"structure"` // The amount of time, in seconds, after a scale-in activity completes before - // another scale in activity can start. + // another scale-in activity can start. // - // The cooldown period is used to block subsequent scale-in requests until it - // has expired. The intention is to scale in conservatively to protect your - // application's availability. However, if another alarm triggers a scale-out - // policy during the cooldown period after a scale-in, Application Auto Scaling - // scales out your scalable target immediately. + // With the scale-in cooldown period, the intention is to scale in conservatively + // to protect your application’s availability, so scale-in activities are + // blocked until the cooldown period has expired. However, if another alarm + // triggers a scale-out activity during the scale-in cooldown period, Application + // Auto Scaling scales out the target immediately. In this case, the scale-in + // cooldown period stops and doesn't complete. // // Application Auto Scaling provides a default value of 300 for the following // scalable targets: @@ -5305,13 +5324,15 @@ type TargetTrackingScalingPolicyConfiguration struct { // * Amazon Keyspaces tables ScaleInCooldown *int64 `type:"integer"` - // The amount of time, in seconds, after a scale-out activity completes before - // another scale-out activity can start. + // The amount of time, in seconds, to wait for a previous scale-out activity + // to take effect. // - // While the cooldown period is in effect, the capacity that has been added - // by the previous scale-out action that initiated the cooldown is calculated - // as part of the desired capacity for the next scale out. The intention is - // to continuously (but not excessively) scale out. + // With the scale-out cooldown period, the intention is to continuously (but + // not excessively) scale out. After Application Auto Scaling successfully scales + // out using a target tracking scaling policy, it starts to calculate the cooldown + // time. While the scale-out cooldown period is in effect, the capacity added + // by the initiating scale-out activity is calculated as part of the desired + // capacity for the next scale-out activity. // // Application Auto Scaling provides a default value of 300 for the following // scalable targets: diff --git a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go index 88feeb8edb1..8bc83b04ef5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/applicationautoscaling/doc.go @@ -26,7 +26,7 @@ // // * AWS Lambda function provisioned concurrency // -// * Amazon Keyspaces for Apache Cassandra tables +// * Amazon Keyspaces (for Apache Cassandra) tables // // API Summary // diff --git a/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go b/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go index 18cb1a9452a..b9f33c52388 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appmesh/api.go @@ -13,6 +13,119 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restjson" ) +const opCreateGatewayRoute = "CreateGatewayRoute" + +// CreateGatewayRouteRequest generates a "aws/request.Request" representing the +// client's request for the CreateGatewayRoute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateGatewayRoute for more information on using the CreateGatewayRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateGatewayRouteRequest method. +// req, resp := client.CreateGatewayRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute +func (c *AppMesh) CreateGatewayRouteRequest(input *CreateGatewayRouteInput) (req *request.Request, output *CreateGatewayRouteOutput) { + op := &request.Operation{ + Name: opCreateGatewayRoute, + HTTPMethod: "PUT", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes", + } + + if input == nil { + input = &CreateGatewayRouteInput{} + } + + output = &CreateGatewayRouteOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateGatewayRoute API operation for AWS App Mesh. +// +// Creates a gateway route. +// +// A gateway route is attached to a virtual gateway and routes traffic to an +// existing virtual service. If a route matches a request, it can distribute +// traffic to a target virtual service. +// +// For more information about gateway routes, see Gateway routes (https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation CreateGatewayRoute for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ConflictException +// The request contains a client token that was used for a previous update resource +// call with different specifications. Try the request again with a new client +// token. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * LimitExceededException +// You have exceeded a service limit for your account. For more information, +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) +// in the AWS App Mesh User Guide. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute +func (c *AppMesh) CreateGatewayRoute(input *CreateGatewayRouteInput) (*CreateGatewayRouteOutput, error) { + req, out := c.CreateGatewayRouteRequest(input) + return out, req.Send() +} + +// CreateGatewayRouteWithContext is the same as CreateGatewayRoute with the addition of +// the ability to pass a context and additional request options. +// +// See CreateGatewayRoute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) CreateGatewayRouteWithContext(ctx aws.Context, input *CreateGatewayRouteInput, opts ...request.Option) (*CreateGatewayRouteOutput, error) { + req, out := c.CreateGatewayRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateMesh = "CreateMesh" // CreateMeshRequest generates a "aws/request.Request" representing the @@ -57,12 +170,14 @@ func (c *AppMesh) CreateMeshRequest(input *CreateMeshInput) (req *request.Reques // CreateMesh API operation for AWS App Mesh. // -// Creates a service mesh. A service mesh is a logical boundary for network -// traffic between the services that reside within it. +// Creates a service mesh. // -// After you create your service mesh, you can create virtual services, virtual -// nodes, virtual routers, and routes to distribute traffic between the applications -// in your mesh. +// A service mesh is a logical boundary for network traffic between services +// that are represented by resources within the mesh. After you create your +// service mesh, you can create virtual services, virtual nodes, virtual routers, +// and routes to distribute traffic between the applications in your mesh. +// +// For more information about service meshes, see Service meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/meshes.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 @@ -89,7 +204,7 @@ func (c *AppMesh) CreateMeshRequest(input *CreateMeshInput) (req *request.Reques // // * LimitExceededException // You have exceeded a service limit for your account. For more information, -// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the AWS App Mesh User Guide. // // * NotFoundException @@ -171,13 +286,8 @@ func (c *AppMesh) CreateRouteRequest(input *CreateRouteInput) (req *request.Requ // // Creates a route that is associated with a virtual router. // -// You can use the prefix parameter in your route specification for path-based -// routing of requests. For example, if your virtual service name is my-service.local -// and you want the route to match requests to my-service.local/metrics, your -// prefix should be /metrics. -// -// If your route matches a request, you can distribute traffic to one or more -// target virtual nodes with relative weighting. +// You can route several different protocols and define a retry policy for a +// route. Traffic can be routed to one or more virtual nodes. // // For more information about routes, see Routes (https://docs.aws.amazon.com/app-mesh/latest/userguide/routes.html). // @@ -206,7 +316,7 @@ func (c *AppMesh) CreateRouteRequest(input *CreateRouteInput) (req *request.Requ // // * LimitExceededException // You have exceeded a service limit for your account. For more information, -// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the AWS App Mesh User Guide. // // * NotFoundException @@ -242,6 +352,121 @@ func (c *AppMesh) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInpu return out, req.Send() } +const opCreateVirtualGateway = "CreateVirtualGateway" + +// CreateVirtualGatewayRequest generates a "aws/request.Request" representing the +// client's request for the CreateVirtualGateway operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateVirtualGateway for more information on using the CreateVirtualGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateVirtualGatewayRequest method. +// req, resp := client.CreateVirtualGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway +func (c *AppMesh) CreateVirtualGatewayRequest(input *CreateVirtualGatewayInput) (req *request.Request, output *CreateVirtualGatewayOutput) { + op := &request.Operation{ + Name: opCreateVirtualGateway, + HTTPMethod: "PUT", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways", + } + + if input == nil { + input = &CreateVirtualGatewayInput{} + } + + output = &CreateVirtualGatewayOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateVirtualGateway API operation for AWS App Mesh. +// +// Creates a virtual gateway. +// +// A virtual gateway allows resources outside your mesh to communicate to resources +// that are inside your mesh. The virtual gateway represents an Envoy proxy +// running in an Amazon ECS task, in a Kubernetes service, or on an Amazon EC2 +// instance. Unlike a virtual node, which represents an Envoy running with an +// application, a virtual gateway represents Envoy deployed by itself. +// +// For more information about virtual gateways, see Virtual gateways (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation CreateVirtualGateway for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ConflictException +// The request contains a client token that was used for a previous update resource +// call with different specifications. Try the request again with a new client +// token. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * LimitExceededException +// You have exceeded a service limit for your account. For more information, +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) +// in the AWS App Mesh User Guide. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway +func (c *AppMesh) CreateVirtualGateway(input *CreateVirtualGatewayInput) (*CreateVirtualGatewayOutput, error) { + req, out := c.CreateVirtualGatewayRequest(input) + return out, req.Send() +} + +// CreateVirtualGatewayWithContext is the same as CreateVirtualGateway with the addition of +// the ability to pass a context and additional request options. +// +// See CreateVirtualGateway for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) CreateVirtualGatewayWithContext(ctx aws.Context, input *CreateVirtualGatewayInput, opts ...request.Option) (*CreateVirtualGatewayOutput, error) { + req, out := c.CreateVirtualGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateVirtualNode = "CreateVirtualNode" // CreateVirtualNodeRequest generates a "aws/request.Request" representing the @@ -290,11 +515,13 @@ func (c *AppMesh) CreateVirtualNodeRequest(input *CreateVirtualNodeInput) (req * // // A virtual node acts as a logical pointer to a particular task group, such // as an Amazon ECS service or a Kubernetes deployment. When you create a virtual -// node, you can specify the service discovery information for your task group. +// node, you can specify the service discovery information for your task group, +// and whether the proxy running in a task group will communicate with other +// proxies using Transport Layer Security (TLS). // -// Any inbound traffic that your virtual node expects should be specified as -// a listener. Any outbound traffic that your virtual node expects to reach -// should be specified as a backend. +// You define a listener for any inbound traffic that your virtual node expects. +// Any virtual service that your virtual node expects to communicate to is specified +// as a backend. // // The response metadata for your new virtual node contains the arn that is // associated with the virtual node. Set this value (either the full ARN or @@ -307,7 +534,7 @@ func (c *AppMesh) CreateVirtualNodeRequest(input *CreateVirtualNodeInput) (req * // override the node.cluster value that is set by APPMESH_VIRTUAL_NODE_NAME // with the APPMESH_VIRTUAL_NODE_CLUSTER environment variable. // -// For more information about virtual nodes, see Virtual Nodes (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html). +// For more information about virtual nodes, see Virtual nodes (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.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 @@ -334,7 +561,7 @@ func (c *AppMesh) CreateVirtualNodeRequest(input *CreateVirtualNodeInput) (req * // // * LimitExceededException // You have exceeded a service limit for your account. For more information, -// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the AWS App Mesh User Guide. // // * NotFoundException @@ -416,14 +643,13 @@ func (c *AppMesh) CreateVirtualRouterRequest(input *CreateVirtualRouterInput) (r // // Creates a virtual router within a service mesh. // -// Any inbound traffic that your virtual router expects should be specified -// as a listener. -// +// Specify a listener for any inbound traffic that your virtual router receives. +// Create a virtual router for each protocol and port that you need to route. // Virtual routers handle traffic for one or more virtual services within your // mesh. After you create your virtual router, create and associate routes for // your virtual router that direct incoming requests to different virtual nodes. // -// For more information about virtual routers, see Virtual Routers (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_routers.html). +// For more information about virtual routers, see Virtual routers (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_routers.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 @@ -450,7 +676,7 @@ func (c *AppMesh) CreateVirtualRouterRequest(input *CreateVirtualRouterInput) (r // // * LimitExceededException // You have exceeded a service limit for your account. For more information, -// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the AWS App Mesh User Guide. // // * NotFoundException @@ -538,7 +764,7 @@ func (c *AppMesh) CreateVirtualServiceRequest(input *CreateVirtualServiceInput) // are routed to the virtual node or virtual router that is specified as the // provider for the virtual service. // -// For more information about virtual services, see Virtual Services (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_services.html). +// For more information about virtual services, see Virtual services (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_services.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 @@ -565,7 +791,7 @@ func (c *AppMesh) CreateVirtualServiceRequest(input *CreateVirtualServiceInput) // // * LimitExceededException // You have exceeded a service limit for your account. For more information, -// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the AWS App Mesh User Guide. // // * NotFoundException @@ -601,6 +827,107 @@ func (c *AppMesh) CreateVirtualServiceWithContext(ctx aws.Context, input *Create return out, req.Send() } +const opDeleteGatewayRoute = "DeleteGatewayRoute" + +// DeleteGatewayRouteRequest generates a "aws/request.Request" representing the +// client's request for the DeleteGatewayRoute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteGatewayRoute for more information on using the DeleteGatewayRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteGatewayRouteRequest method. +// req, resp := client.DeleteGatewayRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute +func (c *AppMesh) DeleteGatewayRouteRequest(input *DeleteGatewayRouteInput) (req *request.Request, output *DeleteGatewayRouteOutput) { + op := &request.Operation{ + Name: opDeleteGatewayRoute, + HTTPMethod: "DELETE", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}", + } + + if input == nil { + input = &DeleteGatewayRouteInput{} + } + + output = &DeleteGatewayRouteOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteGatewayRoute API operation for AWS App Mesh. +// +// Deletes an existing gateway route. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation DeleteGatewayRoute for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ResourceInUseException +// You can't delete the specified resource because it's in use or required by +// another resource. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute +func (c *AppMesh) DeleteGatewayRoute(input *DeleteGatewayRouteInput) (*DeleteGatewayRouteOutput, error) { + req, out := c.DeleteGatewayRouteRequest(input) + return out, req.Send() +} + +// DeleteGatewayRouteWithContext is the same as DeleteGatewayRoute with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteGatewayRoute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) DeleteGatewayRouteWithContext(ctx aws.Context, input *DeleteGatewayRouteInput, opts ...request.Option) (*DeleteGatewayRouteOutput, error) { + req, out := c.DeleteGatewayRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteMesh = "DeleteMesh" // DeleteMeshRequest generates a "aws/request.Request" representing the @@ -806,9 +1133,111 @@ func (c *AppMesh) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInpu return out, req.Send() } -const opDeleteVirtualNode = "DeleteVirtualNode" +const opDeleteVirtualGateway = "DeleteVirtualGateway" -// DeleteVirtualNodeRequest generates a "aws/request.Request" representing the +// DeleteVirtualGatewayRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVirtualGateway operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteVirtualGateway for more information on using the DeleteVirtualGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteVirtualGatewayRequest method. +// req, resp := client.DeleteVirtualGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway +func (c *AppMesh) DeleteVirtualGatewayRequest(input *DeleteVirtualGatewayInput) (req *request.Request, output *DeleteVirtualGatewayOutput) { + op := &request.Operation{ + Name: opDeleteVirtualGateway, + HTTPMethod: "DELETE", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}", + } + + if input == nil { + input = &DeleteVirtualGatewayInput{} + } + + output = &DeleteVirtualGatewayOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteVirtualGateway API operation for AWS App Mesh. +// +// Deletes an existing virtual gateway. You cannot delete a virtual gateway +// if any gateway routes are associated 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 AWS App Mesh's +// API operation DeleteVirtualGateway for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ResourceInUseException +// You can't delete the specified resource because it's in use or required by +// another resource. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway +func (c *AppMesh) DeleteVirtualGateway(input *DeleteVirtualGatewayInput) (*DeleteVirtualGatewayOutput, error) { + req, out := c.DeleteVirtualGatewayRequest(input) + return out, req.Send() +} + +// DeleteVirtualGatewayWithContext is the same as DeleteVirtualGateway with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteVirtualGateway for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) DeleteVirtualGatewayWithContext(ctx aws.Context, input *DeleteVirtualGatewayInput, opts ...request.Option) (*DeleteVirtualGatewayOutput, error) { + req, out := c.DeleteVirtualGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteVirtualNode = "DeleteVirtualNode" + +// DeleteVirtualNodeRequest generates a "aws/request.Request" representing the // client's request for the DeleteVirtualNode operation. The "output" return // value will be populated with the request's response once the request completes // successfully. @@ -1081,6 +1510,10 @@ func (c *AppMesh) DeleteVirtualServiceRequest(input *DeleteVirtualServiceInput) // * NotFoundException // The specified resource doesn't exist. Check your request syntax and try again. // +// * ResourceInUseException +// You can't delete the specified resource because it's in use or required by +// another resource. +// // * ServiceUnavailableException // The request has failed due to a temporary failure of the service. // @@ -1111,6 +1544,103 @@ func (c *AppMesh) DeleteVirtualServiceWithContext(ctx aws.Context, input *Delete return out, req.Send() } +const opDescribeGatewayRoute = "DescribeGatewayRoute" + +// DescribeGatewayRouteRequest generates a "aws/request.Request" representing the +// client's request for the DescribeGatewayRoute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeGatewayRoute for more information on using the DescribeGatewayRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeGatewayRouteRequest method. +// req, resp := client.DescribeGatewayRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute +func (c *AppMesh) DescribeGatewayRouteRequest(input *DescribeGatewayRouteInput) (req *request.Request, output *DescribeGatewayRouteOutput) { + op := &request.Operation{ + Name: opDescribeGatewayRoute, + HTTPMethod: "GET", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}", + } + + if input == nil { + input = &DescribeGatewayRouteInput{} + } + + output = &DescribeGatewayRouteOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeGatewayRoute API operation for AWS App Mesh. +// +// Describes an existing gateway route. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation DescribeGatewayRoute for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute +func (c *AppMesh) DescribeGatewayRoute(input *DescribeGatewayRouteInput) (*DescribeGatewayRouteOutput, error) { + req, out := c.DescribeGatewayRouteRequest(input) + return out, req.Send() +} + +// DescribeGatewayRouteWithContext is the same as DescribeGatewayRoute with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeGatewayRoute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) DescribeGatewayRouteWithContext(ctx aws.Context, input *DescribeGatewayRouteInput, opts ...request.Option) (*DescribeGatewayRouteOutput, error) { + req, out := c.DescribeGatewayRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeMesh = "DescribeMesh" // DescribeMeshRequest generates a "aws/request.Request" representing the @@ -1305,6 +1835,103 @@ func (c *AppMesh) DescribeRouteWithContext(ctx aws.Context, input *DescribeRoute return out, req.Send() } +const opDescribeVirtualGateway = "DescribeVirtualGateway" + +// DescribeVirtualGatewayRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVirtualGateway operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeVirtualGateway for more information on using the DescribeVirtualGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeVirtualGatewayRequest method. +// req, resp := client.DescribeVirtualGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway +func (c *AppMesh) DescribeVirtualGatewayRequest(input *DescribeVirtualGatewayInput) (req *request.Request, output *DescribeVirtualGatewayOutput) { + op := &request.Operation{ + Name: opDescribeVirtualGateway, + HTTPMethod: "GET", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}", + } + + if input == nil { + input = &DescribeVirtualGatewayInput{} + } + + output = &DescribeVirtualGatewayOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeVirtualGateway API operation for AWS App Mesh. +// +// Describes an existing virtual gateway. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation DescribeVirtualGateway for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway +func (c *AppMesh) DescribeVirtualGateway(input *DescribeVirtualGatewayInput) (*DescribeVirtualGatewayOutput, error) { + req, out := c.DescribeVirtualGatewayRequest(input) + return out, req.Send() +} + +// DescribeVirtualGatewayWithContext is the same as DescribeVirtualGateway with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeVirtualGateway for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) DescribeVirtualGatewayWithContext(ctx aws.Context, input *DescribeVirtualGatewayInput, opts ...request.Option) (*DescribeVirtualGatewayOutput, error) { + req, out := c.DescribeVirtualGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeVirtualNode = "DescribeVirtualNode" // DescribeVirtualNodeRequest generates a "aws/request.Request" representing the @@ -1596,37 +2223,37 @@ func (c *AppMesh) DescribeVirtualServiceWithContext(ctx aws.Context, input *Desc return out, req.Send() } -const opListMeshes = "ListMeshes" +const opListGatewayRoutes = "ListGatewayRoutes" -// ListMeshesRequest generates a "aws/request.Request" representing the -// client's request for the ListMeshes operation. The "output" return +// ListGatewayRoutesRequest generates a "aws/request.Request" representing the +// client's request for the ListGatewayRoutes operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListMeshes for more information on using the ListMeshes +// See ListGatewayRoutes for more information on using the ListGatewayRoutes // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListMeshesRequest method. -// req, resp := client.ListMeshesRequest(params) +// // Example sending a request using the ListGatewayRoutesRequest method. +// req, resp := client.ListGatewayRoutesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes -func (c *AppMesh) ListMeshesRequest(input *ListMeshesInput) (req *request.Request, output *ListMeshesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes +func (c *AppMesh) ListGatewayRoutesRequest(input *ListGatewayRoutesInput) (req *request.Request, output *ListGatewayRoutesOutput) { op := &request.Operation{ - Name: opListMeshes, + Name: opListGatewayRoutes, HTTPMethod: "GET", - HTTPPath: "/v20190125/meshes", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -1636,24 +2263,25 @@ func (c *AppMesh) ListMeshesRequest(input *ListMeshesInput) (req *request.Reques } if input == nil { - input = &ListMeshesInput{} + input = &ListGatewayRoutesInput{} } - output = &ListMeshesOutput{} + output = &ListGatewayRoutesOutput{} req = c.newRequest(op, input, output) return } -// ListMeshes API operation for AWS App Mesh. +// ListGatewayRoutes API operation for AWS App Mesh. // -// Returns a list of existing service meshes. +// Returns a list of existing gateway routes that are associated to a virtual +// gateway. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS App Mesh's -// API operation ListMeshes for usage and error information. +// API operation ListGatewayRoutes for usage and error information. // // Returned Error Types: // * BadRequestException @@ -1677,22 +2305,177 @@ func (c *AppMesh) ListMeshesRequest(input *ListMeshesInput) (req *request.Reques // for your account. For best results, use an increasing or variable sleep interval // between requests. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes -func (c *AppMesh) ListMeshes(input *ListMeshesInput) (*ListMeshesOutput, error) { - req, out := c.ListMeshesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes +func (c *AppMesh) ListGatewayRoutes(input *ListGatewayRoutesInput) (*ListGatewayRoutesOutput, error) { + req, out := c.ListGatewayRoutesRequest(input) return out, req.Send() } -// ListMeshesWithContext is the same as ListMeshes with the addition of +// ListGatewayRoutesWithContext is the same as ListGatewayRoutes with the addition of // the ability to pass a context and additional request options. // -// See ListMeshes for details on how to use this API operation. +// See ListGatewayRoutes for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *AppMesh) ListMeshesWithContext(ctx aws.Context, input *ListMeshesInput, opts ...request.Option) (*ListMeshesOutput, error) { +func (c *AppMesh) ListGatewayRoutesWithContext(ctx aws.Context, input *ListGatewayRoutesInput, opts ...request.Option) (*ListGatewayRoutesOutput, error) { + req, out := c.ListGatewayRoutesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListGatewayRoutesPages iterates over the pages of a ListGatewayRoutes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListGatewayRoutes 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 ListGatewayRoutes operation. +// pageNum := 0 +// err := client.ListGatewayRoutesPages(params, +// func(page *appmesh.ListGatewayRoutesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *AppMesh) ListGatewayRoutesPages(input *ListGatewayRoutesInput, fn func(*ListGatewayRoutesOutput, bool) bool) error { + return c.ListGatewayRoutesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListGatewayRoutesPagesWithContext same as ListGatewayRoutesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) ListGatewayRoutesPagesWithContext(ctx aws.Context, input *ListGatewayRoutesInput, fn func(*ListGatewayRoutesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListGatewayRoutesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListGatewayRoutesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListGatewayRoutesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListMeshes = "ListMeshes" + +// ListMeshesRequest generates a "aws/request.Request" representing the +// client's request for the ListMeshes operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListMeshes for more information on using the ListMeshes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListMeshesRequest method. +// req, resp := client.ListMeshesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes +func (c *AppMesh) ListMeshesRequest(input *ListMeshesInput) (req *request.Request, output *ListMeshesOutput) { + op := &request.Operation{ + Name: opListMeshes, + HTTPMethod: "GET", + HTTPPath: "/v20190125/meshes", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListMeshesInput{} + } + + output = &ListMeshesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListMeshes API operation for AWS App Mesh. +// +// Returns a list of existing service meshes. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation ListMeshes for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes +func (c *AppMesh) ListMeshes(input *ListMeshesInput) (*ListMeshesOutput, error) { + req, out := c.ListMeshesRequest(input) + return out, req.Send() +} + +// ListMeshesWithContext is the same as ListMeshes with the addition of +// the ability to pass a context and additional request options. +// +// See ListMeshes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) ListMeshesWithContext(ctx aws.Context, input *ListMeshesInput, opts ...request.Option) (*ListMeshesOutput, error) { req, out := c.ListMeshesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) @@ -2061,37 +2844,37 @@ func (c *AppMesh) ListTagsForResourcePagesWithContext(ctx aws.Context, input *Li return p.Err() } -const opListVirtualNodes = "ListVirtualNodes" +const opListVirtualGateways = "ListVirtualGateways" -// ListVirtualNodesRequest generates a "aws/request.Request" representing the -// client's request for the ListVirtualNodes operation. The "output" return +// ListVirtualGatewaysRequest generates a "aws/request.Request" representing the +// client's request for the ListVirtualGateways operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListVirtualNodes for more information on using the ListVirtualNodes +// See ListVirtualGateways for more information on using the ListVirtualGateways // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListVirtualNodesRequest method. -// req, resp := client.ListVirtualNodesRequest(params) +// // Example sending a request using the ListVirtualGatewaysRequest method. +// req, resp := client.ListVirtualGatewaysRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes -func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *request.Request, output *ListVirtualNodesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways +func (c *AppMesh) ListVirtualGatewaysRequest(input *ListVirtualGatewaysInput) (req *request.Request, output *ListVirtualGatewaysOutput) { op := &request.Operation{ - Name: opListVirtualNodes, + Name: opListVirtualGateways, HTTPMethod: "GET", - HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -2101,24 +2884,24 @@ func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *re } if input == nil { - input = &ListVirtualNodesInput{} + input = &ListVirtualGatewaysInput{} } - output = &ListVirtualNodesOutput{} + output = &ListVirtualGatewaysOutput{} req = c.newRequest(op, input, output) return } -// ListVirtualNodes API operation for AWS App Mesh. +// ListVirtualGateways API operation for AWS App Mesh. // -// Returns a list of existing virtual nodes. +// Returns a list of existing virtual gateways in a service mesh. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS App Mesh's -// API operation ListVirtualNodes for usage and error information. +// API operation ListVirtualGateways for usage and error information. // // Returned Error Types: // * BadRequestException @@ -2142,65 +2925,65 @@ func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *re // for your account. For best results, use an increasing or variable sleep interval // between requests. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes -func (c *AppMesh) ListVirtualNodes(input *ListVirtualNodesInput) (*ListVirtualNodesOutput, error) { - req, out := c.ListVirtualNodesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways +func (c *AppMesh) ListVirtualGateways(input *ListVirtualGatewaysInput) (*ListVirtualGatewaysOutput, error) { + req, out := c.ListVirtualGatewaysRequest(input) return out, req.Send() } -// ListVirtualNodesWithContext is the same as ListVirtualNodes with the addition of +// ListVirtualGatewaysWithContext is the same as ListVirtualGateways with the addition of // the ability to pass a context and additional request options. // -// See ListVirtualNodes for details on how to use this API operation. +// See ListVirtualGateways for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *AppMesh) ListVirtualNodesWithContext(ctx aws.Context, input *ListVirtualNodesInput, opts ...request.Option) (*ListVirtualNodesOutput, error) { - req, out := c.ListVirtualNodesRequest(input) +func (c *AppMesh) ListVirtualGatewaysWithContext(ctx aws.Context, input *ListVirtualGatewaysInput, opts ...request.Option) (*ListVirtualGatewaysOutput, error) { + req, out := c.ListVirtualGatewaysRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListVirtualNodesPages iterates over the pages of a ListVirtualNodes operation, +// ListVirtualGatewaysPages iterates over the pages of a ListVirtualGateways operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListVirtualNodes method for more information on how to use this operation. +// See ListVirtualGateways 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 ListVirtualNodes operation. +// // Example iterating over at most 3 pages of a ListVirtualGateways operation. // pageNum := 0 -// err := client.ListVirtualNodesPages(params, -// func(page *appmesh.ListVirtualNodesOutput, lastPage bool) bool { +// err := client.ListVirtualGatewaysPages(params, +// func(page *appmesh.ListVirtualGatewaysOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *AppMesh) ListVirtualNodesPages(input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool) error { - return c.ListVirtualNodesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *AppMesh) ListVirtualGatewaysPages(input *ListVirtualGatewaysInput, fn func(*ListVirtualGatewaysOutput, bool) bool) error { + return c.ListVirtualGatewaysPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListVirtualNodesPagesWithContext same as ListVirtualNodesPages except +// ListVirtualGatewaysPagesWithContext same as ListVirtualGatewaysPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool, opts ...request.Option) error { +func (c *AppMesh) ListVirtualGatewaysPagesWithContext(ctx aws.Context, input *ListVirtualGatewaysInput, fn func(*ListVirtualGatewaysOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListVirtualNodesInput + var inCpy *ListVirtualGatewaysInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListVirtualNodesRequest(inCpy) + req, _ := c.ListVirtualGatewaysRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2208,7 +2991,7 @@ func (c *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListV } for p.Next() { - if !fn(p.Page().(*ListVirtualNodesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListVirtualGatewaysOutput), !p.HasNextPage()) { break } } @@ -2216,37 +2999,37 @@ func (c *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListV return p.Err() } -const opListVirtualRouters = "ListVirtualRouters" +const opListVirtualNodes = "ListVirtualNodes" -// ListVirtualRoutersRequest generates a "aws/request.Request" representing the -// client's request for the ListVirtualRouters operation. The "output" return +// ListVirtualNodesRequest generates a "aws/request.Request" representing the +// client's request for the ListVirtualNodes operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListVirtualRouters for more information on using the ListVirtualRouters +// See ListVirtualNodes for more information on using the ListVirtualNodes // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListVirtualRoutersRequest method. -// req, resp := client.ListVirtualRoutersRequest(params) +// // Example sending a request using the ListVirtualNodesRequest method. +// req, resp := client.ListVirtualNodesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters -func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req *request.Request, output *ListVirtualRoutersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes +func (c *AppMesh) ListVirtualNodesRequest(input *ListVirtualNodesInput) (req *request.Request, output *ListVirtualNodesOutput) { op := &request.Operation{ - Name: opListVirtualRouters, + Name: opListVirtualNodes, HTTPMethod: "GET", - HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters", + HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -2256,24 +3039,24 @@ func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req } if input == nil { - input = &ListVirtualRoutersInput{} + input = &ListVirtualNodesInput{} } - output = &ListVirtualRoutersOutput{} + output = &ListVirtualNodesOutput{} req = c.newRequest(op, input, output) return } -// ListVirtualRouters API operation for AWS App Mesh. +// ListVirtualNodes API operation for AWS App Mesh. // -// Returns a list of existing virtual routers in a service mesh. +// Returns a list of existing virtual nodes. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS App Mesh's -// API operation ListVirtualRouters for usage and error information. +// API operation ListVirtualNodes for usage and error information. // // Returned Error Types: // * BadRequestException @@ -2297,65 +3080,65 @@ func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req // for your account. For best results, use an increasing or variable sleep interval // between requests. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters -func (c *AppMesh) ListVirtualRouters(input *ListVirtualRoutersInput) (*ListVirtualRoutersOutput, error) { - req, out := c.ListVirtualRoutersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes +func (c *AppMesh) ListVirtualNodes(input *ListVirtualNodesInput) (*ListVirtualNodesOutput, error) { + req, out := c.ListVirtualNodesRequest(input) return out, req.Send() } -// ListVirtualRoutersWithContext is the same as ListVirtualRouters with the addition of +// ListVirtualNodesWithContext is the same as ListVirtualNodes with the addition of // the ability to pass a context and additional request options. // -// See ListVirtualRouters for details on how to use this API operation. +// See ListVirtualNodes for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *AppMesh) ListVirtualRoutersWithContext(ctx aws.Context, input *ListVirtualRoutersInput, opts ...request.Option) (*ListVirtualRoutersOutput, error) { - req, out := c.ListVirtualRoutersRequest(input) +func (c *AppMesh) ListVirtualNodesWithContext(ctx aws.Context, input *ListVirtualNodesInput, opts ...request.Option) (*ListVirtualNodesOutput, error) { + req, out := c.ListVirtualNodesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListVirtualRoutersPages iterates over the pages of a ListVirtualRouters operation, +// ListVirtualNodesPages iterates over the pages of a ListVirtualNodes operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListVirtualRouters method for more information on how to use this operation. +// See ListVirtualNodes 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 ListVirtualRouters operation. +// // Example iterating over at most 3 pages of a ListVirtualNodes operation. // pageNum := 0 -// err := client.ListVirtualRoutersPages(params, -// func(page *appmesh.ListVirtualRoutersOutput, lastPage bool) bool { +// err := client.ListVirtualNodesPages(params, +// func(page *appmesh.ListVirtualNodesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *AppMesh) ListVirtualRoutersPages(input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool) error { - return c.ListVirtualRoutersPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *AppMesh) ListVirtualNodesPages(input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool) error { + return c.ListVirtualNodesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListVirtualRoutersPagesWithContext same as ListVirtualRoutersPages except +// ListVirtualNodesPagesWithContext same as ListVirtualNodesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool, opts ...request.Option) error { +func (c *AppMesh) ListVirtualNodesPagesWithContext(ctx aws.Context, input *ListVirtualNodesInput, fn func(*ListVirtualNodesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListVirtualRoutersInput + var inCpy *ListVirtualNodesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListVirtualRoutersRequest(inCpy) + req, _ := c.ListVirtualNodesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2363,7 +3146,7 @@ func (c *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *Lis } for p.Next() { - if !fn(p.Page().(*ListVirtualRoutersOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListVirtualNodesOutput), !p.HasNextPage()) { break } } @@ -2371,25 +3154,180 @@ func (c *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *Lis return p.Err() } -const opListVirtualServices = "ListVirtualServices" +const opListVirtualRouters = "ListVirtualRouters" -// ListVirtualServicesRequest generates a "aws/request.Request" representing the -// client's request for the ListVirtualServices operation. The "output" return +// ListVirtualRoutersRequest generates a "aws/request.Request" representing the +// client's request for the ListVirtualRouters operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListVirtualServices for more information on using the ListVirtualServices +// See ListVirtualRouters for more information on using the ListVirtualRouters // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListVirtualServicesRequest method. -// req, resp := client.ListVirtualServicesRequest(params) +// // Example sending a request using the ListVirtualRoutersRequest method. +// req, resp := client.ListVirtualRoutersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters +func (c *AppMesh) ListVirtualRoutersRequest(input *ListVirtualRoutersInput) (req *request.Request, output *ListVirtualRoutersOutput) { + op := &request.Operation{ + Name: opListVirtualRouters, + HTTPMethod: "GET", + HTTPPath: "/v20190125/meshes/{meshName}/virtualRouters", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "limit", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListVirtualRoutersInput{} + } + + output = &ListVirtualRoutersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListVirtualRouters API operation for AWS App Mesh. +// +// Returns a list of existing virtual routers in a service mesh. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation ListVirtualRouters for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters +func (c *AppMesh) ListVirtualRouters(input *ListVirtualRoutersInput) (*ListVirtualRoutersOutput, error) { + req, out := c.ListVirtualRoutersRequest(input) + return out, req.Send() +} + +// ListVirtualRoutersWithContext is the same as ListVirtualRouters with the addition of +// the ability to pass a context and additional request options. +// +// See ListVirtualRouters for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) ListVirtualRoutersWithContext(ctx aws.Context, input *ListVirtualRoutersInput, opts ...request.Option) (*ListVirtualRoutersOutput, error) { + req, out := c.ListVirtualRoutersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListVirtualRoutersPages iterates over the pages of a ListVirtualRouters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListVirtualRouters 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 ListVirtualRouters operation. +// pageNum := 0 +// err := client.ListVirtualRoutersPages(params, +// func(page *appmesh.ListVirtualRoutersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *AppMesh) ListVirtualRoutersPages(input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool) error { + return c.ListVirtualRoutersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListVirtualRoutersPagesWithContext same as ListVirtualRoutersPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) ListVirtualRoutersPagesWithContext(ctx aws.Context, input *ListVirtualRoutersInput, fn func(*ListVirtualRoutersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListVirtualRoutersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListVirtualRoutersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListVirtualRoutersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListVirtualServices = "ListVirtualServices" + +// ListVirtualServicesRequest generates a "aws/request.Request" representing the +// client's request for the ListVirtualServices operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListVirtualServices for more information on using the ListVirtualServices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListVirtualServicesRequest method. +// req, resp := client.ListVirtualServicesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled @@ -2730,6 +3668,114 @@ func (c *AppMesh) UntagResourceWithContext(ctx aws.Context, input *UntagResource return out, req.Send() } +const opUpdateGatewayRoute = "UpdateGatewayRoute" + +// UpdateGatewayRouteRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGatewayRoute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateGatewayRoute for more information on using the UpdateGatewayRoute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateGatewayRouteRequest method. +// req, resp := client.UpdateGatewayRouteRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute +func (c *AppMesh) UpdateGatewayRouteRequest(input *UpdateGatewayRouteInput) (req *request.Request, output *UpdateGatewayRouteOutput) { + op := &request.Operation{ + Name: opUpdateGatewayRoute, + HTTPMethod: "PUT", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateway/{virtualGatewayName}/gatewayRoutes/{gatewayRouteName}", + } + + if input == nil { + input = &UpdateGatewayRouteInput{} + } + + output = &UpdateGatewayRouteOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateGatewayRoute API operation for AWS App Mesh. +// +// Updates an existing gateway route that is associated to a specified virtual +// gateway in a service mesh. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation UpdateGatewayRoute for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ConflictException +// The request contains a client token that was used for a previous update resource +// call with different specifications. Try the request again with a new client +// token. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * LimitExceededException +// You have exceeded a service limit for your account. For more information, +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) +// in the AWS App Mesh User Guide. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute +func (c *AppMesh) UpdateGatewayRoute(input *UpdateGatewayRouteInput) (*UpdateGatewayRouteOutput, error) { + req, out := c.UpdateGatewayRouteRequest(input) + return out, req.Send() +} + +// UpdateGatewayRouteWithContext is the same as UpdateGatewayRoute with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateGatewayRoute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) UpdateGatewayRouteWithContext(ctx aws.Context, input *UpdateGatewayRouteInput, opts ...request.Option) (*UpdateGatewayRouteOutput, error) { + req, out := c.UpdateGatewayRouteRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateMesh = "UpdateMesh" // UpdateMeshRequest generates a "aws/request.Request" representing the @@ -2903,7 +3949,7 @@ func (c *AppMesh) UpdateRouteRequest(input *UpdateRouteInput) (req *request.Requ // // * LimitExceededException // You have exceeded a service limit for your account. For more information, -// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the AWS App Mesh User Guide. // // * NotFoundException @@ -2939,58 +3985,58 @@ func (c *AppMesh) UpdateRouteWithContext(ctx aws.Context, input *UpdateRouteInpu return out, req.Send() } -const opUpdateVirtualNode = "UpdateVirtualNode" +const opUpdateVirtualGateway = "UpdateVirtualGateway" -// UpdateVirtualNodeRequest generates a "aws/request.Request" representing the -// client's request for the UpdateVirtualNode operation. The "output" return +// UpdateVirtualGatewayRequest generates a "aws/request.Request" representing the +// client's request for the UpdateVirtualGateway operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateVirtualNode for more information on using the UpdateVirtualNode +// See UpdateVirtualGateway for more information on using the UpdateVirtualGateway // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateVirtualNodeRequest method. -// req, resp := client.UpdateVirtualNodeRequest(params) +// // Example sending a request using the UpdateVirtualGatewayRequest method. +// req, resp := client.UpdateVirtualGatewayRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode -func (c *AppMesh) UpdateVirtualNodeRequest(input *UpdateVirtualNodeInput) (req *request.Request, output *UpdateVirtualNodeOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway +func (c *AppMesh) UpdateVirtualGatewayRequest(input *UpdateVirtualGatewayInput) (req *request.Request, output *UpdateVirtualGatewayOutput) { op := &request.Operation{ - Name: opUpdateVirtualNode, + Name: opUpdateVirtualGateway, HTTPMethod: "PUT", - HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", + HTTPPath: "/v20190125/meshes/{meshName}/virtualGateways/{virtualGatewayName}", } if input == nil { - input = &UpdateVirtualNodeInput{} + input = &UpdateVirtualGatewayInput{} } - output = &UpdateVirtualNodeOutput{} + output = &UpdateVirtualGatewayOutput{} req = c.newRequest(op, input, output) return } -// UpdateVirtualNode API operation for AWS App Mesh. +// UpdateVirtualGateway API operation for AWS App Mesh. // -// Updates an existing virtual node in a specified service mesh. +// Updates an existing virtual gateway in a specified service mesh. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS App Mesh's -// API operation UpdateVirtualNode for usage and error information. +// API operation UpdateVirtualGateway for usage and error information. // // Returned Error Types: // * BadRequestException @@ -3010,7 +4056,7 @@ func (c *AppMesh) UpdateVirtualNodeRequest(input *UpdateVirtualNodeInput) (req * // // * LimitExceededException // You have exceeded a service limit for your account. For more information, -// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the AWS App Mesh User Guide. // // * NotFoundException @@ -3024,8 +4070,115 @@ func (c *AppMesh) UpdateVirtualNodeRequest(input *UpdateVirtualNodeInput) (req * // for your account. For best results, use an increasing or variable sleep interval // between requests. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode -func (c *AppMesh) UpdateVirtualNode(input *UpdateVirtualNodeInput) (*UpdateVirtualNodeOutput, error) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway +func (c *AppMesh) UpdateVirtualGateway(input *UpdateVirtualGatewayInput) (*UpdateVirtualGatewayOutput, error) { + req, out := c.UpdateVirtualGatewayRequest(input) + return out, req.Send() +} + +// UpdateVirtualGatewayWithContext is the same as UpdateVirtualGateway with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateVirtualGateway for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AppMesh) UpdateVirtualGatewayWithContext(ctx aws.Context, input *UpdateVirtualGatewayInput, opts ...request.Option) (*UpdateVirtualGatewayOutput, error) { + req, out := c.UpdateVirtualGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateVirtualNode = "UpdateVirtualNode" + +// UpdateVirtualNodeRequest generates a "aws/request.Request" representing the +// client's request for the UpdateVirtualNode operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateVirtualNode for more information on using the UpdateVirtualNode +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateVirtualNodeRequest method. +// req, resp := client.UpdateVirtualNodeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode +func (c *AppMesh) UpdateVirtualNodeRequest(input *UpdateVirtualNodeInput) (req *request.Request, output *UpdateVirtualNodeOutput) { + op := &request.Operation{ + Name: opUpdateVirtualNode, + HTTPMethod: "PUT", + HTTPPath: "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", + } + + if input == nil { + input = &UpdateVirtualNodeInput{} + } + + output = &UpdateVirtualNodeOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateVirtualNode API operation for AWS App Mesh. +// +// Updates an existing virtual node in a specified service mesh. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS App Mesh's +// API operation UpdateVirtualNode for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request syntax was malformed. Check your request syntax and try again. +// +// * ConflictException +// The request contains a client token that was used for a previous update resource +// call with different specifications. Try the request again with a new client +// token. +// +// * ForbiddenException +// You don't have permissions to perform this action. +// +// * InternalServerErrorException +// The request processing has failed because of an unknown error, exception, +// or failure. +// +// * LimitExceededException +// You have exceeded a service limit for your account. For more information, +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) +// in the AWS App Mesh User Guide. +// +// * NotFoundException +// The specified resource doesn't exist. Check your request syntax and try again. +// +// * ServiceUnavailableException +// The request has failed due to a temporary failure of the service. +// +// * TooManyRequestsException +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode +func (c *AppMesh) UpdateVirtualNode(input *UpdateVirtualNodeInput) (*UpdateVirtualNodeOutput, error) { req, out := c.UpdateVirtualNodeRequest(input) return out, req.Send() } @@ -3117,7 +4270,7 @@ func (c *AppMesh) UpdateVirtualRouterRequest(input *UpdateVirtualRouterInput) (r // // * LimitExceededException // You have exceeded a service limit for your account. For more information, -// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the AWS App Mesh User Guide. // // * NotFoundException @@ -3224,7 +4377,7 @@ func (c *AppMesh) UpdateVirtualServiceRequest(input *UpdateVirtualServiceInput) // // * LimitExceededException // You have exceeded a service limit for your account. For more information, -// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the AWS App Mesh User Guide. // // * NotFoundException @@ -3721,6 +4874,157 @@ func (s *ConflictException) RequestID() string { return s.RespMetadata.RequestID } +type CreateGatewayRouteInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // GatewayRouteName is a required field + GatewayRouteName *string `locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // An object that represents a gateway route specification. Specify one gateway + // route type. + // + // Spec is a required field + Spec *GatewayRouteSpec `locationName:"spec" type:"structure" required:"true"` + + Tags []*TagRef `locationName:"tags" type:"list"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateGatewayRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGatewayRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateGatewayRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGatewayRouteInput"} + if s.GatewayRouteName == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) + } + if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) + } + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) + } + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateGatewayRouteInput) SetClientToken(v string) *CreateGatewayRouteInput { + s.ClientToken = &v + return s +} + +// SetGatewayRouteName sets the GatewayRouteName field's value. +func (s *CreateGatewayRouteInput) SetGatewayRouteName(v string) *CreateGatewayRouteInput { + s.GatewayRouteName = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *CreateGatewayRouteInput) SetMeshName(v string) *CreateGatewayRouteInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *CreateGatewayRouteInput) SetMeshOwner(v string) *CreateGatewayRouteInput { + s.MeshOwner = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *CreateGatewayRouteInput) SetSpec(v *GatewayRouteSpec) *CreateGatewayRouteInput { + s.Spec = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateGatewayRouteInput) SetTags(v []*TagRef) *CreateGatewayRouteInput { + s.Tags = v + return s +} + +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *CreateGatewayRouteInput) SetVirtualGatewayName(v string) *CreateGatewayRouteInput { + s.VirtualGatewayName = &v + return s +} + +type CreateGatewayRouteOutput struct { + _ struct{} `type:"structure" payload:"GatewayRoute"` + + // An object that represents a gateway route returned by a describe operation. + // + // GatewayRoute is a required field + GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateGatewayRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGatewayRouteOutput) GoString() string { + return s.String() +} + +// SetGatewayRoute sets the GatewayRoute field's value. +func (s *CreateGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *CreateGatewayRouteOutput { + s.GatewayRoute = v + return s +} + type CreateMeshInput struct { _ struct{} `type:"structure"` @@ -3975,7 +5279,7 @@ func (s *CreateRouteOutput) SetRoute(v *RouteData) *CreateRouteOutput { return s } -type CreateVirtualNodeInput struct { +type CreateVirtualGatewayInput struct { _ struct{} `type:"structure"` ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` @@ -3985,30 +5289,30 @@ type CreateVirtualNodeInput struct { MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - // An object that represents the specification of a virtual node. + // An object that represents the specification of a service mesh resource. // // Spec is a required field - Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` + Spec *VirtualGatewaySpec `locationName:"spec" type:"structure" required:"true"` Tags []*TagRef `locationName:"tags" type:"list"` - // VirtualNodeName is a required field - VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` + // VirtualGatewayName is a required field + VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateVirtualNodeInput) String() string { +func (s CreateVirtualGatewayInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateVirtualNodeInput) GoString() string { +func (s CreateVirtualGatewayInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateVirtualNodeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateVirtualNodeInput"} +func (s *CreateVirtualGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVirtualGatewayInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } @@ -4021,11 +5325,11 @@ func (s *CreateVirtualNodeInput) Validate() error { if s.Spec == nil { invalidParams.Add(request.NewErrParamRequired("Spec")) } - if s.VirtualNodeName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) } - if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) } if s.Spec != nil { if err := s.Spec.Validate(); err != nil { @@ -4050,67 +5354,67 @@ func (s *CreateVirtualNodeInput) Validate() error { } // SetClientToken sets the ClientToken field's value. -func (s *CreateVirtualNodeInput) SetClientToken(v string) *CreateVirtualNodeInput { +func (s *CreateVirtualGatewayInput) SetClientToken(v string) *CreateVirtualGatewayInput { s.ClientToken = &v return s } // SetMeshName sets the MeshName field's value. -func (s *CreateVirtualNodeInput) SetMeshName(v string) *CreateVirtualNodeInput { +func (s *CreateVirtualGatewayInput) SetMeshName(v string) *CreateVirtualGatewayInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. -func (s *CreateVirtualNodeInput) SetMeshOwner(v string) *CreateVirtualNodeInput { +func (s *CreateVirtualGatewayInput) SetMeshOwner(v string) *CreateVirtualGatewayInput { s.MeshOwner = &v return s } // SetSpec sets the Spec field's value. -func (s *CreateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *CreateVirtualNodeInput { +func (s *CreateVirtualGatewayInput) SetSpec(v *VirtualGatewaySpec) *CreateVirtualGatewayInput { s.Spec = v return s } // SetTags sets the Tags field's value. -func (s *CreateVirtualNodeInput) SetTags(v []*TagRef) *CreateVirtualNodeInput { +func (s *CreateVirtualGatewayInput) SetTags(v []*TagRef) *CreateVirtualGatewayInput { s.Tags = v return s } -// SetVirtualNodeName sets the VirtualNodeName field's value. -func (s *CreateVirtualNodeInput) SetVirtualNodeName(v string) *CreateVirtualNodeInput { - s.VirtualNodeName = &v +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *CreateVirtualGatewayInput) SetVirtualGatewayName(v string) *CreateVirtualGatewayInput { + s.VirtualGatewayName = &v return s } -type CreateVirtualNodeOutput struct { - _ struct{} `type:"structure" payload:"VirtualNode"` +type CreateVirtualGatewayOutput struct { + _ struct{} `type:"structure" payload:"VirtualGateway"` - // An object that represents a virtual node returned by a describe operation. + // An object that represents a virtual gateway returned by a describe operation. // - // VirtualNode is a required field - VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` + // VirtualGateway is a required field + VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"` } // String returns the string representation -func (s CreateVirtualNodeOutput) String() string { +func (s CreateVirtualGatewayOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateVirtualNodeOutput) GoString() string { +func (s CreateVirtualGatewayOutput) GoString() string { return s.String() } -// SetVirtualNode sets the VirtualNode field's value. -func (s *CreateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *CreateVirtualNodeOutput { - s.VirtualNode = v +// SetVirtualGateway sets the VirtualGateway field's value. +func (s *CreateVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *CreateVirtualGatewayOutput { + s.VirtualGateway = v return s } -type CreateVirtualRouterInput struct { +type CreateVirtualNodeInput struct { _ struct{} `type:"structure"` ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` @@ -4120,24 +5424,159 @@ type CreateVirtualRouterInput struct { MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - // An object that represents the specification of a virtual router. + // An object that represents the specification of a virtual node. // // Spec is a required field - Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` + Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` Tags []*TagRef `locationName:"tags" type:"list"` - // VirtualRouterName is a required field - VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // VirtualNodeName is a required field + VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateVirtualRouterInput) String() string { +func (s CreateVirtualNodeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateVirtualRouterInput) GoString() string { +func (s CreateVirtualNodeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateVirtualNodeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVirtualNodeInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualNodeName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) + } + if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateVirtualNodeInput) SetClientToken(v string) *CreateVirtualNodeInput { + s.ClientToken = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *CreateVirtualNodeInput) SetMeshName(v string) *CreateVirtualNodeInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *CreateVirtualNodeInput) SetMeshOwner(v string) *CreateVirtualNodeInput { + s.MeshOwner = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *CreateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *CreateVirtualNodeInput { + s.Spec = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateVirtualNodeInput) SetTags(v []*TagRef) *CreateVirtualNodeInput { + s.Tags = v + return s +} + +// SetVirtualNodeName sets the VirtualNodeName field's value. +func (s *CreateVirtualNodeInput) SetVirtualNodeName(v string) *CreateVirtualNodeInput { + s.VirtualNodeName = &v + return s +} + +type CreateVirtualNodeOutput struct { + _ struct{} `type:"structure" payload:"VirtualNode"` + + // An object that represents a virtual node returned by a describe operation. + // + // VirtualNode is a required field + VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateVirtualNodeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVirtualNodeOutput) GoString() string { + return s.String() +} + +// SetVirtualNode sets the VirtualNode field's value. +func (s *CreateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *CreateVirtualNodeOutput { + s.VirtualNode = v + return s +} + +type CreateVirtualRouterInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // An object that represents the specification of a virtual router. + // + // Spec is a required field + Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` + + Tags []*TagRef `locationName:"tags" type:"list"` + + // VirtualRouterName is a required field + VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateVirtualRouterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateVirtualRouterInput) GoString() string { return s.String() } @@ -4377,6 +5816,111 @@ func (s *CreateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *C return s } +type DeleteGatewayRouteInput struct { + _ struct{} `type:"structure"` + + // GatewayRouteName is a required field + GatewayRouteName *string `location:"uri" locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteGatewayRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteGatewayRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteGatewayRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayRouteInput"} + if s.GatewayRouteName == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) + } + if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) + } + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) + } + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGatewayRouteName sets the GatewayRouteName field's value. +func (s *DeleteGatewayRouteInput) SetGatewayRouteName(v string) *DeleteGatewayRouteInput { + s.GatewayRouteName = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *DeleteGatewayRouteInput) SetMeshName(v string) *DeleteGatewayRouteInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *DeleteGatewayRouteInput) SetMeshOwner(v string) *DeleteGatewayRouteInput { + s.MeshOwner = &v + return s +} + +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *DeleteGatewayRouteInput) SetVirtualGatewayName(v string) *DeleteGatewayRouteInput { + s.VirtualGatewayName = &v + return s +} + +type DeleteGatewayRouteOutput struct { + _ struct{} `type:"structure" payload:"GatewayRoute"` + + // An object that represents a gateway route returned by a describe operation. + // + // GatewayRoute is a required field + GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteGatewayRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteGatewayRouteOutput) GoString() string { + return s.String() +} + +// SetGatewayRoute sets the GatewayRoute field's value. +func (s *DeleteGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *DeleteGatewayRouteOutput { + s.GatewayRoute = v + return s +} + type DeleteMeshInput struct { _ struct{} `type:"structure"` @@ -4546,7 +6090,7 @@ func (s *DeleteRouteOutput) SetRoute(v *RouteData) *DeleteRouteOutput { return s } -type DeleteVirtualNodeInput struct { +type DeleteVirtualGatewayInput struct { _ struct{} `type:"structure"` // MeshName is a required field @@ -4554,23 +6098,23 @@ type DeleteVirtualNodeInput struct { MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - // VirtualNodeName is a required field - VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteVirtualNodeInput) String() string { +func (s DeleteVirtualGatewayInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteVirtualNodeInput) GoString() string { +func (s DeleteVirtualGatewayInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteVirtualNodeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualNodeInput"} +func (s *DeleteVirtualGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualGatewayInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } @@ -4580,11 +6124,11 @@ func (s *DeleteVirtualNodeInput) Validate() error { if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } - if s.VirtualNodeName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) } - if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) } if invalidParams.Len() > 0 { @@ -4594,49 +6138,49 @@ func (s *DeleteVirtualNodeInput) Validate() error { } // SetMeshName sets the MeshName field's value. -func (s *DeleteVirtualNodeInput) SetMeshName(v string) *DeleteVirtualNodeInput { +func (s *DeleteVirtualGatewayInput) SetMeshName(v string) *DeleteVirtualGatewayInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. -func (s *DeleteVirtualNodeInput) SetMeshOwner(v string) *DeleteVirtualNodeInput { +func (s *DeleteVirtualGatewayInput) SetMeshOwner(v string) *DeleteVirtualGatewayInput { s.MeshOwner = &v return s } -// SetVirtualNodeName sets the VirtualNodeName field's value. -func (s *DeleteVirtualNodeInput) SetVirtualNodeName(v string) *DeleteVirtualNodeInput { - s.VirtualNodeName = &v +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *DeleteVirtualGatewayInput) SetVirtualGatewayName(v string) *DeleteVirtualGatewayInput { + s.VirtualGatewayName = &v return s } -type DeleteVirtualNodeOutput struct { - _ struct{} `type:"structure" payload:"VirtualNode"` +type DeleteVirtualGatewayOutput struct { + _ struct{} `type:"structure" payload:"VirtualGateway"` - // An object that represents a virtual node returned by a describe operation. + // An object that represents a virtual gateway returned by a describe operation. // - // VirtualNode is a required field - VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` + // VirtualGateway is a required field + VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"` } // String returns the string representation -func (s DeleteVirtualNodeOutput) String() string { +func (s DeleteVirtualGatewayOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteVirtualNodeOutput) GoString() string { +func (s DeleteVirtualGatewayOutput) GoString() string { return s.String() } -// SetVirtualNode sets the VirtualNode field's value. -func (s *DeleteVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DeleteVirtualNodeOutput { - s.VirtualNode = v +// SetVirtualGateway sets the VirtualGateway field's value. +func (s *DeleteVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *DeleteVirtualGatewayOutput { + s.VirtualGateway = v return s } -type DeleteVirtualRouterInput struct { +type DeleteVirtualNodeInput struct { _ struct{} `type:"structure"` // MeshName is a required field @@ -4644,23 +6188,23 @@ type DeleteVirtualRouterInput struct { MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - // VirtualRouterName is a required field - VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // VirtualNodeName is a required field + VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteVirtualRouterInput) String() string { +func (s DeleteVirtualNodeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteVirtualRouterInput) GoString() string { +func (s DeleteVirtualNodeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteVirtualRouterInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualRouterInput"} +func (s *DeleteVirtualNodeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualNodeInput"} if s.MeshName == nil { invalidParams.Add(request.NewErrParamRequired("MeshName")) } @@ -4670,11 +6214,11 @@ func (s *DeleteVirtualRouterInput) Validate() error { if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } - if s.VirtualRouterName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) + if s.VirtualNodeName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) } - if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) + if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) } if invalidParams.Len() > 0 { @@ -4684,13 +6228,103 @@ func (s *DeleteVirtualRouterInput) Validate() error { } // SetMeshName sets the MeshName field's value. -func (s *DeleteVirtualRouterInput) SetMeshName(v string) *DeleteVirtualRouterInput { +func (s *DeleteVirtualNodeInput) SetMeshName(v string) *DeleteVirtualNodeInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. -func (s *DeleteVirtualRouterInput) SetMeshOwner(v string) *DeleteVirtualRouterInput { +func (s *DeleteVirtualNodeInput) SetMeshOwner(v string) *DeleteVirtualNodeInput { + s.MeshOwner = &v + return s +} + +// SetVirtualNodeName sets the VirtualNodeName field's value. +func (s *DeleteVirtualNodeInput) SetVirtualNodeName(v string) *DeleteVirtualNodeInput { + s.VirtualNodeName = &v + return s +} + +type DeleteVirtualNodeOutput struct { + _ struct{} `type:"structure" payload:"VirtualNode"` + + // An object that represents a virtual node returned by a describe operation. + // + // VirtualNode is a required field + VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteVirtualNodeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteVirtualNodeOutput) GoString() string { + return s.String() +} + +// SetVirtualNode sets the VirtualNode field's value. +func (s *DeleteVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *DeleteVirtualNodeOutput { + s.VirtualNode = v + return s +} + +type DeleteVirtualRouterInput struct { + _ struct{} `type:"structure"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // VirtualRouterName is a required field + VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteVirtualRouterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteVirtualRouterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteVirtualRouterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualRouterInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.VirtualRouterName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) + } + if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMeshName sets the MeshName field's value. +func (s *DeleteVirtualRouterInput) SetMeshName(v string) *DeleteVirtualRouterInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *DeleteVirtualRouterInput) SetMeshOwner(v string) *DeleteVirtualRouterInput { s.MeshOwner = &v return s } @@ -4816,6 +6450,111 @@ func (s *DeleteVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *D return s } +type DescribeGatewayRouteInput struct { + _ struct{} `type:"structure"` + + // GatewayRouteName is a required field + GatewayRouteName *string `location:"uri" locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeGatewayRouteInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGatewayRouteInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeGatewayRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeGatewayRouteInput"} + if s.GatewayRouteName == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) + } + if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) + } + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) + } + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGatewayRouteName sets the GatewayRouteName field's value. +func (s *DescribeGatewayRouteInput) SetGatewayRouteName(v string) *DescribeGatewayRouteInput { + s.GatewayRouteName = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *DescribeGatewayRouteInput) SetMeshName(v string) *DescribeGatewayRouteInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *DescribeGatewayRouteInput) SetMeshOwner(v string) *DescribeGatewayRouteInput { + s.MeshOwner = &v + return s +} + +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *DescribeGatewayRouteInput) SetVirtualGatewayName(v string) *DescribeGatewayRouteInput { + s.VirtualGatewayName = &v + return s +} + +type DescribeGatewayRouteOutput struct { + _ struct{} `type:"structure" payload:"GatewayRoute"` + + // An object that represents a gateway route returned by a describe operation. + // + // GatewayRoute is a required field + GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DescribeGatewayRouteOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGatewayRouteOutput) GoString() string { + return s.String() +} + +// SetGatewayRoute sets the GatewayRoute field's value. +func (s *DescribeGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *DescribeGatewayRouteOutput { + s.GatewayRoute = v + return s +} + type DescribeMeshInput struct { _ struct{} `type:"structure"` @@ -4996,6 +6735,96 @@ func (s *DescribeRouteOutput) SetRoute(v *RouteData) *DescribeRouteOutput { return s } +type DescribeVirtualGatewayInput struct { + _ struct{} `type:"structure"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeVirtualGatewayInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeVirtualGatewayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeVirtualGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeVirtualGatewayInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) + } + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMeshName sets the MeshName field's value. +func (s *DescribeVirtualGatewayInput) SetMeshName(v string) *DescribeVirtualGatewayInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *DescribeVirtualGatewayInput) SetMeshOwner(v string) *DescribeVirtualGatewayInput { + s.MeshOwner = &v + return s +} + +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *DescribeVirtualGatewayInput) SetVirtualGatewayName(v string) *DescribeVirtualGatewayInput { + s.VirtualGatewayName = &v + return s +} + +type DescribeVirtualGatewayOutput struct { + _ struct{} `type:"structure" payload:"VirtualGateway"` + + // An object that represents a virtual gateway returned by a describe operation. + // + // VirtualGateway is a required field + VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DescribeVirtualGatewayOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeVirtualGatewayOutput) GoString() string { + return s.String() +} + +// SetVirtualGateway sets the VirtualGateway field's value. +func (s *DescribeVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *DescribeVirtualGatewayOutput { + s.VirtualGateway = v + return s +} + type DescribeVirtualNodeInput struct { _ struct{} `type:"structure"` @@ -5468,144 +7297,219 @@ func (s *ForbiddenException) RequestID() string { return s.RespMetadata.RequestID } -// An object that represents a retry policy. Specify at least one value for -// at least one of the types of RetryEvents, a value for maxRetries, and a value -// for perRetryTimeout. -type GrpcRetryPolicy struct { +// An object that represents a gateway route returned by a describe operation. +type GatewayRouteData struct { _ struct{} `type:"structure"` - GrpcRetryEvents []*string `locationName:"grpcRetryEvents" min:"1" type:"list"` + // GatewayRouteName is a required field + GatewayRouteName *string `locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` - HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"` + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` - // MaxRetries is a required field - MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` + // An object that represents metadata for a resource. + // + // Metadata is a required field + Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` - // An object that represents a duration of time. + // An object that represents a gateway route specification. Specify one gateway + // route type. // - // PerRetryTimeout is a required field - PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` + // Spec is a required field + Spec *GatewayRouteSpec `locationName:"spec" type:"structure" required:"true"` - TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"` + // An object that represents the current status of a gateway route. + // + // Status is a required field + Status *GatewayRouteStatus `locationName:"status" type:"structure" required:"true"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GrpcRetryPolicy) String() string { +func (s GatewayRouteData) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GrpcRetryPolicy) GoString() string { +func (s GatewayRouteData) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GrpcRetryPolicy) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GrpcRetryPolicy"} - if s.GrpcRetryEvents != nil && len(s.GrpcRetryEvents) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GrpcRetryEvents", 1)) - } - if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 { - invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1)) - } - if s.MaxRetries == nil { - invalidParams.Add(request.NewErrParamRequired("MaxRetries")) - } - if s.PerRetryTimeout == nil { - invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout")) - } - if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1)) - } +// SetGatewayRouteName sets the GatewayRouteName field's value. +func (s *GatewayRouteData) SetGatewayRouteName(v string) *GatewayRouteData { + s.GatewayRouteName = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetMeshName sets the MeshName field's value. +func (s *GatewayRouteData) SetMeshName(v string) *GatewayRouteData { + s.MeshName = &v + return s } -// SetGrpcRetryEvents sets the GrpcRetryEvents field's value. -func (s *GrpcRetryPolicy) SetGrpcRetryEvents(v []*string) *GrpcRetryPolicy { - s.GrpcRetryEvents = v +// SetMetadata sets the Metadata field's value. +func (s *GatewayRouteData) SetMetadata(v *ResourceMetadata) *GatewayRouteData { + s.Metadata = v return s } -// SetHttpRetryEvents sets the HttpRetryEvents field's value. -func (s *GrpcRetryPolicy) SetHttpRetryEvents(v []*string) *GrpcRetryPolicy { - s.HttpRetryEvents = v +// SetSpec sets the Spec field's value. +func (s *GatewayRouteData) SetSpec(v *GatewayRouteSpec) *GatewayRouteData { + s.Spec = v return s } -// SetMaxRetries sets the MaxRetries field's value. -func (s *GrpcRetryPolicy) SetMaxRetries(v int64) *GrpcRetryPolicy { - s.MaxRetries = &v +// SetStatus sets the Status field's value. +func (s *GatewayRouteData) SetStatus(v *GatewayRouteStatus) *GatewayRouteData { + s.Status = v return s } -// SetPerRetryTimeout sets the PerRetryTimeout field's value. -func (s *GrpcRetryPolicy) SetPerRetryTimeout(v *Duration) *GrpcRetryPolicy { - s.PerRetryTimeout = v +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *GatewayRouteData) SetVirtualGatewayName(v string) *GatewayRouteData { + s.VirtualGatewayName = &v return s } -// SetTcpRetryEvents sets the TcpRetryEvents field's value. -func (s *GrpcRetryPolicy) SetTcpRetryEvents(v []*string) *GrpcRetryPolicy { - s.TcpRetryEvents = v +// An object that represents a gateway route returned by a list operation. +type GatewayRouteRef struct { + _ struct{} `type:"structure"` + + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // GatewayRouteName is a required field + GatewayRouteName *string `locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` + + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // MeshOwner is a required field + MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` + + // ResourceOwner is a required field + ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + + // Version is a required field + Version *int64 `locationName:"version" type:"long" required:"true"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GatewayRouteRef) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GatewayRouteRef) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *GatewayRouteRef) SetArn(v string) *GatewayRouteRef { + s.Arn = &v return s } -// An object that represents a gRPC route type. -type GrpcRoute struct { +// SetCreatedAt sets the CreatedAt field's value. +func (s *GatewayRouteRef) SetCreatedAt(v time.Time) *GatewayRouteRef { + s.CreatedAt = &v + return s +} + +// SetGatewayRouteName sets the GatewayRouteName field's value. +func (s *GatewayRouteRef) SetGatewayRouteName(v string) *GatewayRouteRef { + s.GatewayRouteName = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *GatewayRouteRef) SetLastUpdatedAt(v time.Time) *GatewayRouteRef { + s.LastUpdatedAt = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *GatewayRouteRef) SetMeshName(v string) *GatewayRouteRef { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *GatewayRouteRef) SetMeshOwner(v string) *GatewayRouteRef { + s.MeshOwner = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *GatewayRouteRef) SetResourceOwner(v string) *GatewayRouteRef { + s.ResourceOwner = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *GatewayRouteRef) SetVersion(v int64) *GatewayRouteRef { + s.Version = &v + return s +} + +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *GatewayRouteRef) SetVirtualGatewayName(v string) *GatewayRouteRef { + s.VirtualGatewayName = &v + return s +} + +// An object that represents a gateway route specification. Specify one gateway +// route type. +type GatewayRouteSpec struct { _ struct{} `type:"structure"` - // An object that represents the action to take if a match is determined. - // - // Action is a required field - Action *GrpcRouteAction `locationName:"action" type:"structure" required:"true"` + // An object that represents a gRPC gateway route. + GrpcRoute *GrpcGatewayRoute `locationName:"grpcRoute" type:"structure"` - // An object that represents the criteria for determining a request match. - // - // Match is a required field - Match *GrpcRouteMatch `locationName:"match" type:"structure" required:"true"` + // An object that represents an HTTP gateway route. + Http2Route *HttpGatewayRoute `locationName:"http2Route" type:"structure"` - // An object that represents a retry policy. Specify at least one value for - // at least one of the types of RetryEvents, a value for maxRetries, and a value - // for perRetryTimeout. - RetryPolicy *GrpcRetryPolicy `locationName:"retryPolicy" type:"structure"` + // An object that represents an HTTP gateway route. + HttpRoute *HttpGatewayRoute `locationName:"httpRoute" type:"structure"` } // String returns the string representation -func (s GrpcRoute) String() string { +func (s GatewayRouteSpec) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GrpcRoute) GoString() string { +func (s GatewayRouteSpec) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GrpcRoute) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GrpcRoute"} - if s.Action == nil { - invalidParams.Add(request.NewErrParamRequired("Action")) - } - if s.Match == nil { - invalidParams.Add(request.NewErrParamRequired("Match")) - } - if s.Action != nil { - if err := s.Action.Validate(); err != nil { - invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) +func (s *GatewayRouteSpec) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GatewayRouteSpec"} + if s.GrpcRoute != nil { + if err := s.GrpcRoute.Validate(); err != nil { + invalidParams.AddNested("GrpcRoute", err.(request.ErrInvalidParams)) } } - if s.Match != nil { - if err := s.Match.Validate(); err != nil { - invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + if s.Http2Route != nil { + if err := s.Http2Route.Validate(); err != nil { + invalidParams.AddNested("Http2Route", err.(request.ErrInvalidParams)) } } - if s.RetryPolicy != nil { - if err := s.RetryPolicy.Validate(); err != nil { - invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams)) + if s.HttpRoute != nil { + if err := s.HttpRoute.Validate(); err != nil { + invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams)) } } @@ -5615,59 +7519,77 @@ func (s *GrpcRoute) Validate() error { return nil } -// SetAction sets the Action field's value. -func (s *GrpcRoute) SetAction(v *GrpcRouteAction) *GrpcRoute { - s.Action = v +// SetGrpcRoute sets the GrpcRoute field's value. +func (s *GatewayRouteSpec) SetGrpcRoute(v *GrpcGatewayRoute) *GatewayRouteSpec { + s.GrpcRoute = v return s } -// SetMatch sets the Match field's value. -func (s *GrpcRoute) SetMatch(v *GrpcRouteMatch) *GrpcRoute { - s.Match = v +// SetHttp2Route sets the Http2Route field's value. +func (s *GatewayRouteSpec) SetHttp2Route(v *HttpGatewayRoute) *GatewayRouteSpec { + s.Http2Route = v return s } -// SetRetryPolicy sets the RetryPolicy field's value. -func (s *GrpcRoute) SetRetryPolicy(v *GrpcRetryPolicy) *GrpcRoute { - s.RetryPolicy = v +// SetHttpRoute sets the HttpRoute field's value. +func (s *GatewayRouteSpec) SetHttpRoute(v *HttpGatewayRoute) *GatewayRouteSpec { + s.HttpRoute = v return s } -// An object that represents the action to take if a match is determined. -type GrpcRouteAction struct { +// An object that represents the current status of a gateway route. +type GatewayRouteStatus struct { _ struct{} `type:"structure"` - // WeightedTargets is a required field - WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"GatewayRouteStatusCode"` } // String returns the string representation -func (s GrpcRouteAction) String() string { +func (s GatewayRouteStatus) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GrpcRouteAction) GoString() string { +func (s GatewayRouteStatus) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *GatewayRouteStatus) SetStatus(v string) *GatewayRouteStatus { + s.Status = &v + return s +} + +// An object that represents a gateway route target. +type GatewayRouteTarget struct { + _ struct{} `type:"structure"` + + // An object that represents the virtual service that traffic is routed to. + // + // VirtualService is a required field + VirtualService *GatewayRouteVirtualService `locationName:"virtualService" type:"structure" required:"true"` +} + +// String returns the string representation +func (s GatewayRouteTarget) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GatewayRouteTarget) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GrpcRouteAction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GrpcRouteAction"} - if s.WeightedTargets == nil { - invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) +func (s *GatewayRouteTarget) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GatewayRouteTarget"} + if s.VirtualService == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualService")) } - if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) - } - if s.WeightedTargets != nil { - for i, v := range s.WeightedTargets { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) - } + if s.VirtualService != nil { + if err := s.VirtualService.Validate(); err != nil { + invalidParams.AddNested("VirtualService", err.(request.ErrInvalidParams)) } } @@ -5677,51 +7599,38 @@ func (s *GrpcRouteAction) Validate() error { return nil } -// SetWeightedTargets sets the WeightedTargets field's value. -func (s *GrpcRouteAction) SetWeightedTargets(v []*WeightedTarget) *GrpcRouteAction { - s.WeightedTargets = v +// SetVirtualService sets the VirtualService field's value. +func (s *GatewayRouteTarget) SetVirtualService(v *GatewayRouteVirtualService) *GatewayRouteTarget { + s.VirtualService = v return s } -// An object that represents the criteria for determining a request match. -type GrpcRouteMatch struct { +// An object that represents the virtual service that traffic is routed to. +type GatewayRouteVirtualService struct { _ struct{} `type:"structure"` - Metadata []*GrpcRouteMetadata `locationName:"metadata" min:"1" type:"list"` - - MethodName *string `locationName:"methodName" min:"1" type:"string"` - - ServiceName *string `locationName:"serviceName" type:"string"` + // VirtualServiceName is a required field + VirtualServiceName *string `locationName:"virtualServiceName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GrpcRouteMatch) String() string { +func (s GatewayRouteVirtualService) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GrpcRouteMatch) GoString() string { +func (s GatewayRouteVirtualService) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GrpcRouteMatch) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMatch"} - if s.Metadata != nil && len(s.Metadata) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Metadata", 1)) - } - if s.MethodName != nil && len(*s.MethodName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MethodName", 1)) +func (s *GatewayRouteVirtualService) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GatewayRouteVirtualService"} + if s.VirtualServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) } - if s.Metadata != nil { - for i, v := range s.Metadata { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metadata", i), err.(request.ErrInvalidParams)) - } - } + if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) } if invalidParams.Len() > 0 { @@ -5730,59 +7639,49 @@ func (s *GrpcRouteMatch) Validate() error { return nil } -// SetMetadata sets the Metadata field's value. -func (s *GrpcRouteMatch) SetMetadata(v []*GrpcRouteMetadata) *GrpcRouteMatch { - s.Metadata = v +// SetVirtualServiceName sets the VirtualServiceName field's value. +func (s *GatewayRouteVirtualService) SetVirtualServiceName(v string) *GatewayRouteVirtualService { + s.VirtualServiceName = &v return s } -// SetMethodName sets the MethodName field's value. -func (s *GrpcRouteMatch) SetMethodName(v string) *GrpcRouteMatch { - s.MethodName = &v - return s -} - -// SetServiceName sets the ServiceName field's value. -func (s *GrpcRouteMatch) SetServiceName(v string) *GrpcRouteMatch { - s.ServiceName = &v - return s -} - -// An object that represents the match metadata for the route. -type GrpcRouteMetadata struct { +// An object that represents a gRPC gateway route. +type GrpcGatewayRoute struct { _ struct{} `type:"structure"` - Invert *bool `locationName:"invert" type:"boolean"` - - // An object that represents the match method. Specify one of the match values. - Match *GrpcRouteMetadataMatchMethod `locationName:"match" type:"structure"` + // An object that represents the action to take if a match is determined. + // + // Action is a required field + Action *GrpcGatewayRouteAction `locationName:"action" type:"structure" required:"true"` - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // An object that represents the criteria for determining a request match. + // + // Match is a required field + Match *GrpcGatewayRouteMatch `locationName:"match" type:"structure" required:"true"` } // String returns the string representation -func (s GrpcRouteMetadata) String() string { +func (s GrpcGatewayRoute) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GrpcRouteMetadata) GoString() string { +func (s GrpcGatewayRoute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GrpcRouteMetadata) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadata"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *GrpcGatewayRoute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcGatewayRoute"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.Match == nil { + invalidParams.Add(request.NewErrParamRequired("Match")) } - if s.Match != nil { - if err := s.Match.Validate(); err != nil { - invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) } } @@ -5792,71 +7691,47 @@ func (s *GrpcRouteMetadata) Validate() error { return nil } -// SetInvert sets the Invert field's value. -func (s *GrpcRouteMetadata) SetInvert(v bool) *GrpcRouteMetadata { - s.Invert = &v +// SetAction sets the Action field's value. +func (s *GrpcGatewayRoute) SetAction(v *GrpcGatewayRouteAction) *GrpcGatewayRoute { + s.Action = v return s } // SetMatch sets the Match field's value. -func (s *GrpcRouteMetadata) SetMatch(v *GrpcRouteMetadataMatchMethod) *GrpcRouteMetadata { +func (s *GrpcGatewayRoute) SetMatch(v *GrpcGatewayRouteMatch) *GrpcGatewayRoute { s.Match = v return s } -// SetName sets the Name field's value. -func (s *GrpcRouteMetadata) SetName(v string) *GrpcRouteMetadata { - s.Name = &v - return s -} - -// An object that represents the match method. Specify one of the match values. -type GrpcRouteMetadataMatchMethod struct { +// An object that represents the action to take if a match is determined. +type GrpcGatewayRouteAction struct { _ struct{} `type:"structure"` - Exact *string `locationName:"exact" min:"1" type:"string"` - - Prefix *string `locationName:"prefix" min:"1" type:"string"` - - // An object that represents the range of values to match on. The first character - // of the range is included in the range, though the last character is not. - // For example, if the range specified were 1-100, only values 1-99 would be - // matched. - Range *MatchRange `locationName:"range" type:"structure"` - - Regex *string `locationName:"regex" min:"1" type:"string"` - - Suffix *string `locationName:"suffix" min:"1" type:"string"` + // An object that represents a gateway route target. + // + // Target is a required field + Target *GatewayRouteTarget `locationName:"target" type:"structure" required:"true"` } // String returns the string representation -func (s GrpcRouteMetadataMatchMethod) String() string { +func (s GrpcGatewayRouteAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GrpcRouteMetadataMatchMethod) GoString() string { +func (s GrpcGatewayRouteAction) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GrpcRouteMetadataMatchMethod) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadataMatchMethod"} - if s.Exact != nil && len(*s.Exact) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) - } - if s.Prefix != nil && len(*s.Prefix) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) - } - if s.Regex != nil && len(*s.Regex) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) - } - if s.Suffix != nil && len(*s.Suffix) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) - } - if s.Range != nil { - if err := s.Range.Validate(); err != nil { - invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) +func (s *GrpcGatewayRouteAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcGatewayRouteAction"} + if s.Target == nil { + invalidParams.Add(request.NewErrParamRequired("Target")) + } + if s.Target != nil { + if err := s.Target.Validate(); err != nil { + invalidParams.AddNested("Target", err.(request.ErrInvalidParams)) } } @@ -5866,85 +7741,83 @@ func (s *GrpcRouteMetadataMatchMethod) Validate() error { return nil } -// SetExact sets the Exact field's value. -func (s *GrpcRouteMetadataMatchMethod) SetExact(v string) *GrpcRouteMetadataMatchMethod { - s.Exact = &v +// SetTarget sets the Target field's value. +func (s *GrpcGatewayRouteAction) SetTarget(v *GatewayRouteTarget) *GrpcGatewayRouteAction { + s.Target = v return s } -// SetPrefix sets the Prefix field's value. -func (s *GrpcRouteMetadataMatchMethod) SetPrefix(v string) *GrpcRouteMetadataMatchMethod { - s.Prefix = &v - return s +// An object that represents the criteria for determining a request match. +type GrpcGatewayRouteMatch struct { + _ struct{} `type:"structure"` + + ServiceName *string `locationName:"serviceName" type:"string"` } -// SetRange sets the Range field's value. -func (s *GrpcRouteMetadataMatchMethod) SetRange(v *MatchRange) *GrpcRouteMetadataMatchMethod { - s.Range = v - return s +// String returns the string representation +func (s GrpcGatewayRouteMatch) String() string { + return awsutil.Prettify(s) } -// SetRegex sets the Regex field's value. -func (s *GrpcRouteMetadataMatchMethod) SetRegex(v string) *GrpcRouteMetadataMatchMethod { - s.Regex = &v - return s +// GoString returns the string representation +func (s GrpcGatewayRouteMatch) GoString() string { + return s.String() } -// SetSuffix sets the Suffix field's value. -func (s *GrpcRouteMetadataMatchMethod) SetSuffix(v string) *GrpcRouteMetadataMatchMethod { - s.Suffix = &v +// SetServiceName sets the ServiceName field's value. +func (s *GrpcGatewayRouteMatch) SetServiceName(v string) *GrpcGatewayRouteMatch { + s.ServiceName = &v return s } -// An object that represents the method and value to match with the header value -// sent in a request. Specify one match method. -type HeaderMatchMethod struct { +// An object that represents a retry policy. Specify at least one value for +// at least one of the types of RetryEvents, a value for maxRetries, and a value +// for perRetryTimeout. +type GrpcRetryPolicy struct { _ struct{} `type:"structure"` - Exact *string `locationName:"exact" min:"1" type:"string"` + GrpcRetryEvents []*string `locationName:"grpcRetryEvents" min:"1" type:"list"` - Prefix *string `locationName:"prefix" min:"1" type:"string"` + HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"` - // An object that represents the range of values to match on. The first character - // of the range is included in the range, though the last character is not. - // For example, if the range specified were 1-100, only values 1-99 would be - // matched. - Range *MatchRange `locationName:"range" type:"structure"` + // MaxRetries is a required field + MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` - Regex *string `locationName:"regex" min:"1" type:"string"` + // An object that represents a duration of time. + // + // PerRetryTimeout is a required field + PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` - Suffix *string `locationName:"suffix" min:"1" type:"string"` + TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"` } // String returns the string representation -func (s HeaderMatchMethod) String() string { +func (s GrpcRetryPolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HeaderMatchMethod) GoString() string { +func (s GrpcRetryPolicy) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HeaderMatchMethod) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HeaderMatchMethod"} - if s.Exact != nil && len(*s.Exact) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) +func (s *GrpcRetryPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRetryPolicy"} + if s.GrpcRetryEvents != nil && len(s.GrpcRetryEvents) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GrpcRetryEvents", 1)) } - if s.Prefix != nil && len(*s.Prefix) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) + if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1)) } - if s.Regex != nil && len(*s.Regex) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) + if s.MaxRetries == nil { + invalidParams.Add(request.NewErrParamRequired("MaxRetries")) } - if s.Suffix != nil && len(*s.Suffix) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) + if s.PerRetryTimeout == nil { + invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout")) } - if s.Range != nil { - if err := s.Range.Validate(); err != nil { - invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) - } + if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1)) } if invalidParams.Len() > 0 { @@ -5953,102 +7826,92 @@ func (s *HeaderMatchMethod) Validate() error { return nil } -// SetExact sets the Exact field's value. -func (s *HeaderMatchMethod) SetExact(v string) *HeaderMatchMethod { - s.Exact = &v +// SetGrpcRetryEvents sets the GrpcRetryEvents field's value. +func (s *GrpcRetryPolicy) SetGrpcRetryEvents(v []*string) *GrpcRetryPolicy { + s.GrpcRetryEvents = v return s } -// SetPrefix sets the Prefix field's value. -func (s *HeaderMatchMethod) SetPrefix(v string) *HeaderMatchMethod { - s.Prefix = &v +// SetHttpRetryEvents sets the HttpRetryEvents field's value. +func (s *GrpcRetryPolicy) SetHttpRetryEvents(v []*string) *GrpcRetryPolicy { + s.HttpRetryEvents = v return s } -// SetRange sets the Range field's value. -func (s *HeaderMatchMethod) SetRange(v *MatchRange) *HeaderMatchMethod { - s.Range = v +// SetMaxRetries sets the MaxRetries field's value. +func (s *GrpcRetryPolicy) SetMaxRetries(v int64) *GrpcRetryPolicy { + s.MaxRetries = &v return s } -// SetRegex sets the Regex field's value. -func (s *HeaderMatchMethod) SetRegex(v string) *HeaderMatchMethod { - s.Regex = &v +// SetPerRetryTimeout sets the PerRetryTimeout field's value. +func (s *GrpcRetryPolicy) SetPerRetryTimeout(v *Duration) *GrpcRetryPolicy { + s.PerRetryTimeout = v return s } -// SetSuffix sets the Suffix field's value. -func (s *HeaderMatchMethod) SetSuffix(v string) *HeaderMatchMethod { - s.Suffix = &v +// SetTcpRetryEvents sets the TcpRetryEvents field's value. +func (s *GrpcRetryPolicy) SetTcpRetryEvents(v []*string) *GrpcRetryPolicy { + s.TcpRetryEvents = v return s } -// An object that represents the health check policy for a virtual node's listener. -type HealthCheckPolicy struct { +// An object that represents a gRPC route type. +type GrpcRoute struct { _ struct{} `type:"structure"` - // HealthyThreshold is a required field - HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"` - - // IntervalMillis is a required field - IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"` - - Path *string `locationName:"path" type:"string"` - - Port *int64 `locationName:"port" min:"1" type:"integer"` + // An object that represents the action to take if a match is determined. + // + // Action is a required field + Action *GrpcRouteAction `locationName:"action" type:"structure" required:"true"` - // Protocol is a required field - Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` + // An object that represents the criteria for determining a request match. + // + // Match is a required field + Match *GrpcRouteMatch `locationName:"match" type:"structure" required:"true"` - // TimeoutMillis is a required field - TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"` + // An object that represents a retry policy. Specify at least one value for + // at least one of the types of RetryEvents, a value for maxRetries, and a value + // for perRetryTimeout. + RetryPolicy *GrpcRetryPolicy `locationName:"retryPolicy" type:"structure"` - // UnhealthyThreshold is a required field - UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"` + // An object that represents types of timeouts. + Timeout *GrpcTimeout `locationName:"timeout" type:"structure"` } // String returns the string representation -func (s HealthCheckPolicy) String() string { +func (s GrpcRoute) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HealthCheckPolicy) GoString() string { +func (s GrpcRoute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HealthCheckPolicy) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HealthCheckPolicy"} - if s.HealthyThreshold == nil { - invalidParams.Add(request.NewErrParamRequired("HealthyThreshold")) +func (s *GrpcRoute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRoute"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) } - if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 { - invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2)) + if s.Match == nil { + invalidParams.Add(request.NewErrParamRequired("Match")) } - if s.IntervalMillis == nil { - invalidParams.Add(request.NewErrParamRequired("IntervalMillis")) + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) + } } - if s.IntervalMillis != nil && *s.IntervalMillis < 5000 { - invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000)) - } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) - } - if s.Protocol == nil { - invalidParams.Add(request.NewErrParamRequired("Protocol")) - } - if s.TimeoutMillis == nil { - invalidParams.Add(request.NewErrParamRequired("TimeoutMillis")) - } - if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 { - invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000)) - } - if s.UnhealthyThreshold == nil { - invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) + if s.Match != nil { + if err := s.Match.Validate(); err != nil { + invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + } } - if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 { - invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2)) + if s.RetryPolicy != nil { + if err := s.RetryPolicy.Validate(); err != nil { + invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -6057,91 +7920,119 @@ func (s *HealthCheckPolicy) Validate() error { return nil } -// SetHealthyThreshold sets the HealthyThreshold field's value. -func (s *HealthCheckPolicy) SetHealthyThreshold(v int64) *HealthCheckPolicy { - s.HealthyThreshold = &v +// SetAction sets the Action field's value. +func (s *GrpcRoute) SetAction(v *GrpcRouteAction) *GrpcRoute { + s.Action = v return s } -// SetIntervalMillis sets the IntervalMillis field's value. -func (s *HealthCheckPolicy) SetIntervalMillis(v int64) *HealthCheckPolicy { - s.IntervalMillis = &v +// SetMatch sets the Match field's value. +func (s *GrpcRoute) SetMatch(v *GrpcRouteMatch) *GrpcRoute { + s.Match = v return s } -// SetPath sets the Path field's value. -func (s *HealthCheckPolicy) SetPath(v string) *HealthCheckPolicy { - s.Path = &v +// SetRetryPolicy sets the RetryPolicy field's value. +func (s *GrpcRoute) SetRetryPolicy(v *GrpcRetryPolicy) *GrpcRoute { + s.RetryPolicy = v return s } -// SetPort sets the Port field's value. -func (s *HealthCheckPolicy) SetPort(v int64) *HealthCheckPolicy { - s.Port = &v +// SetTimeout sets the Timeout field's value. +func (s *GrpcRoute) SetTimeout(v *GrpcTimeout) *GrpcRoute { + s.Timeout = v return s } -// SetProtocol sets the Protocol field's value. -func (s *HealthCheckPolicy) SetProtocol(v string) *HealthCheckPolicy { - s.Protocol = &v - return s +// An object that represents the action to take if a match is determined. +type GrpcRouteAction struct { + _ struct{} `type:"structure"` + + // WeightedTargets is a required field + WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` } -// SetTimeoutMillis sets the TimeoutMillis field's value. -func (s *HealthCheckPolicy) SetTimeoutMillis(v int64) *HealthCheckPolicy { - s.TimeoutMillis = &v - return s +// String returns the string representation +func (s GrpcRouteAction) String() string { + return awsutil.Prettify(s) } -// SetUnhealthyThreshold sets the UnhealthyThreshold field's value. -func (s *HealthCheckPolicy) SetUnhealthyThreshold(v int64) *HealthCheckPolicy { - s.UnhealthyThreshold = &v +// GoString returns the string representation +func (s GrpcRouteAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GrpcRouteAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRouteAction"} + if s.WeightedTargets == nil { + invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) + } + if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) + } + if s.WeightedTargets != nil { + for i, v := range s.WeightedTargets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWeightedTargets sets the WeightedTargets field's value. +func (s *GrpcRouteAction) SetWeightedTargets(v []*WeightedTarget) *GrpcRouteAction { + s.WeightedTargets = v return s } -// An object that represents a retry policy. Specify at least one value for -// at least one of the types of RetryEvents, a value for maxRetries, and a value -// for perRetryTimeout. -type HttpRetryPolicy struct { +// An object that represents the criteria for determining a request match. +type GrpcRouteMatch struct { _ struct{} `type:"structure"` - HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"` - - // MaxRetries is a required field - MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` + Metadata []*GrpcRouteMetadata `locationName:"metadata" min:"1" type:"list"` - // An object that represents a duration of time. - // - // PerRetryTimeout is a required field - PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` + MethodName *string `locationName:"methodName" min:"1" type:"string"` - TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"` + ServiceName *string `locationName:"serviceName" type:"string"` } // String returns the string representation -func (s HttpRetryPolicy) String() string { +func (s GrpcRouteMatch) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HttpRetryPolicy) GoString() string { +func (s GrpcRouteMatch) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HttpRetryPolicy) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HttpRetryPolicy"} - if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 { - invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1)) - } - if s.MaxRetries == nil { - invalidParams.Add(request.NewErrParamRequired("MaxRetries")) +func (s *GrpcRouteMatch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMatch"} + if s.Metadata != nil && len(s.Metadata) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Metadata", 1)) } - if s.PerRetryTimeout == nil { - invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout")) + if s.MethodName != nil && len(*s.MethodName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MethodName", 1)) } - if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1)) + if s.Metadata != nil { + for i, v := range s.Metadata { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metadata", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -6150,85 +8041,61 @@ func (s *HttpRetryPolicy) Validate() error { return nil } -// SetHttpRetryEvents sets the HttpRetryEvents field's value. -func (s *HttpRetryPolicy) SetHttpRetryEvents(v []*string) *HttpRetryPolicy { - s.HttpRetryEvents = v - return s -} - -// SetMaxRetries sets the MaxRetries field's value. -func (s *HttpRetryPolicy) SetMaxRetries(v int64) *HttpRetryPolicy { - s.MaxRetries = &v +// SetMetadata sets the Metadata field's value. +func (s *GrpcRouteMatch) SetMetadata(v []*GrpcRouteMetadata) *GrpcRouteMatch { + s.Metadata = v return s } -// SetPerRetryTimeout sets the PerRetryTimeout field's value. -func (s *HttpRetryPolicy) SetPerRetryTimeout(v *Duration) *HttpRetryPolicy { - s.PerRetryTimeout = v +// SetMethodName sets the MethodName field's value. +func (s *GrpcRouteMatch) SetMethodName(v string) *GrpcRouteMatch { + s.MethodName = &v return s } -// SetTcpRetryEvents sets the TcpRetryEvents field's value. -func (s *HttpRetryPolicy) SetTcpRetryEvents(v []*string) *HttpRetryPolicy { - s.TcpRetryEvents = v +// SetServiceName sets the ServiceName field's value. +func (s *GrpcRouteMatch) SetServiceName(v string) *GrpcRouteMatch { + s.ServiceName = &v return s } -// An object that represents an HTTP or HTTP/2 route type. -type HttpRoute struct { +// An object that represents the match metadata for the route. +type GrpcRouteMetadata struct { _ struct{} `type:"structure"` - // An object that represents the action to take if a match is determined. - // - // Action is a required field - Action *HttpRouteAction `locationName:"action" type:"structure" required:"true"` + Invert *bool `locationName:"invert" type:"boolean"` - // An object that represents the requirements for a route to match HTTP requests - // for a virtual router. - // - // Match is a required field - Match *HttpRouteMatch `locationName:"match" type:"structure" required:"true"` + // An object that represents the match method. Specify one of the match values. + Match *GrpcRouteMetadataMatchMethod `locationName:"match" type:"structure"` - // An object that represents a retry policy. Specify at least one value for - // at least one of the types of RetryEvents, a value for maxRetries, and a value - // for perRetryTimeout. - RetryPolicy *HttpRetryPolicy `locationName:"retryPolicy" type:"structure"` + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s HttpRoute) String() string { +func (s GrpcRouteMetadata) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HttpRoute) GoString() string { +func (s GrpcRouteMetadata) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HttpRoute) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HttpRoute"} - if s.Action == nil { - invalidParams.Add(request.NewErrParamRequired("Action")) - } - if s.Match == nil { - invalidParams.Add(request.NewErrParamRequired("Match")) +func (s *GrpcRouteMetadata) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadata"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.Action != nil { - if err := s.Action.Validate(); err != nil { - invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) - } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if s.Match != nil { if err := s.Match.Validate(); err != nil { invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) } } - if s.RetryPolicy != nil { - if err := s.RetryPolicy.Validate(); err != nil { - invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -6236,59 +8103,71 @@ func (s *HttpRoute) Validate() error { return nil } -// SetAction sets the Action field's value. -func (s *HttpRoute) SetAction(v *HttpRouteAction) *HttpRoute { - s.Action = v +// SetInvert sets the Invert field's value. +func (s *GrpcRouteMetadata) SetInvert(v bool) *GrpcRouteMetadata { + s.Invert = &v return s } // SetMatch sets the Match field's value. -func (s *HttpRoute) SetMatch(v *HttpRouteMatch) *HttpRoute { +func (s *GrpcRouteMetadata) SetMatch(v *GrpcRouteMetadataMatchMethod) *GrpcRouteMetadata { s.Match = v return s } -// SetRetryPolicy sets the RetryPolicy field's value. -func (s *HttpRoute) SetRetryPolicy(v *HttpRetryPolicy) *HttpRoute { - s.RetryPolicy = v +// SetName sets the Name field's value. +func (s *GrpcRouteMetadata) SetName(v string) *GrpcRouteMetadata { + s.Name = &v return s } -// An object that represents the action to take if a match is determined. -type HttpRouteAction struct { +// An object that represents the match method. Specify one of the match values. +type GrpcRouteMetadataMatchMethod struct { _ struct{} `type:"structure"` - // WeightedTargets is a required field - WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` + Exact *string `locationName:"exact" min:"1" type:"string"` + + Prefix *string `locationName:"prefix" min:"1" type:"string"` + + // An object that represents the range of values to match on. The first character + // of the range is included in the range, though the last character is not. + // For example, if the range specified were 1-100, only values 1-99 would be + // matched. + Range *MatchRange `locationName:"range" type:"structure"` + + Regex *string `locationName:"regex" min:"1" type:"string"` + + Suffix *string `locationName:"suffix" min:"1" type:"string"` } // String returns the string representation -func (s HttpRouteAction) String() string { +func (s GrpcRouteMetadataMatchMethod) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HttpRouteAction) GoString() string { +func (s GrpcRouteMetadataMatchMethod) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HttpRouteAction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HttpRouteAction"} - if s.WeightedTargets == nil { - invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) +func (s *GrpcRouteMetadataMatchMethod) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrpcRouteMetadataMatchMethod"} + if s.Exact != nil && len(*s.Exact) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) } - if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) + if s.Prefix != nil && len(*s.Prefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) } - if s.WeightedTargets != nil { - for i, v := range s.WeightedTargets { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) - } + if s.Regex != nil && len(*s.Regex) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) + } + if s.Suffix != nil && len(*s.Suffix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) + } + if s.Range != nil { + if err := s.Range.Validate(); err != nil { + invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) } } @@ -6298,117 +8177,117 @@ func (s *HttpRouteAction) Validate() error { return nil } -// SetWeightedTargets sets the WeightedTargets field's value. -func (s *HttpRouteAction) SetWeightedTargets(v []*WeightedTarget) *HttpRouteAction { - s.WeightedTargets = v +// SetExact sets the Exact field's value. +func (s *GrpcRouteMetadataMatchMethod) SetExact(v string) *GrpcRouteMetadataMatchMethod { + s.Exact = &v return s } -// An object that represents the HTTP header in the request. -type HttpRouteHeader struct { - _ struct{} `type:"structure"` +// SetPrefix sets the Prefix field's value. +func (s *GrpcRouteMetadataMatchMethod) SetPrefix(v string) *GrpcRouteMetadataMatchMethod { + s.Prefix = &v + return s +} - Invert *bool `locationName:"invert" type:"boolean"` +// SetRange sets the Range field's value. +func (s *GrpcRouteMetadataMatchMethod) SetRange(v *MatchRange) *GrpcRouteMetadataMatchMethod { + s.Range = v + return s +} - // An object that represents the method and value to match with the header value - // sent in a request. Specify one match method. - Match *HeaderMatchMethod `locationName:"match" type:"structure"` +// SetRegex sets the Regex field's value. +func (s *GrpcRouteMetadataMatchMethod) SetRegex(v string) *GrpcRouteMetadataMatchMethod { + s.Regex = &v + return s +} - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` +// SetSuffix sets the Suffix field's value. +func (s *GrpcRouteMetadataMatchMethod) SetSuffix(v string) *GrpcRouteMetadataMatchMethod { + s.Suffix = &v + return s +} + +// An object that represents types of timeouts. +type GrpcTimeout struct { + _ struct{} `type:"structure"` + + // An object that represents a duration of time. + Idle *Duration `locationName:"idle" type:"structure"` + + // An object that represents a duration of time. + PerRequest *Duration `locationName:"perRequest" type:"structure"` } // String returns the string representation -func (s HttpRouteHeader) String() string { +func (s GrpcTimeout) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HttpRouteHeader) GoString() string { +func (s GrpcTimeout) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *HttpRouteHeader) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HttpRouteHeader"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Match != nil { - if err := s.Match.Validate(); err != nil { - invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetInvert sets the Invert field's value. -func (s *HttpRouteHeader) SetInvert(v bool) *HttpRouteHeader { - s.Invert = &v - return s -} - -// SetMatch sets the Match field's value. -func (s *HttpRouteHeader) SetMatch(v *HeaderMatchMethod) *HttpRouteHeader { - s.Match = v +// SetIdle sets the Idle field's value. +func (s *GrpcTimeout) SetIdle(v *Duration) *GrpcTimeout { + s.Idle = v return s } -// SetName sets the Name field's value. -func (s *HttpRouteHeader) SetName(v string) *HttpRouteHeader { - s.Name = &v +// SetPerRequest sets the PerRequest field's value. +func (s *GrpcTimeout) SetPerRequest(v *Duration) *GrpcTimeout { + s.PerRequest = v return s } -// An object that represents the requirements for a route to match HTTP requests -// for a virtual router. -type HttpRouteMatch struct { +// An object that represents the method and value to match with the header value +// sent in a request. Specify one match method. +type HeaderMatchMethod struct { _ struct{} `type:"structure"` - Headers []*HttpRouteHeader `locationName:"headers" min:"1" type:"list"` + Exact *string `locationName:"exact" min:"1" type:"string"` - Method *string `locationName:"method" type:"string" enum:"HttpMethod"` + Prefix *string `locationName:"prefix" min:"1" type:"string"` - // Prefix is a required field - Prefix *string `locationName:"prefix" type:"string" required:"true"` + // An object that represents the range of values to match on. The first character + // of the range is included in the range, though the last character is not. + // For example, if the range specified were 1-100, only values 1-99 would be + // matched. + Range *MatchRange `locationName:"range" type:"structure"` - Scheme *string `locationName:"scheme" type:"string" enum:"HttpScheme"` + Regex *string `locationName:"regex" min:"1" type:"string"` + + Suffix *string `locationName:"suffix" min:"1" type:"string"` } // String returns the string representation -func (s HttpRouteMatch) String() string { +func (s HeaderMatchMethod) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s HttpRouteMatch) GoString() string { +func (s HeaderMatchMethod) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *HttpRouteMatch) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "HttpRouteMatch"} - if s.Headers != nil && len(s.Headers) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Headers", 1)) +func (s *HeaderMatchMethod) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HeaderMatchMethod"} + if s.Exact != nil && len(*s.Exact) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Exact", 1)) } - if s.Prefix == nil { - invalidParams.Add(request.NewErrParamRequired("Prefix")) + if s.Prefix != nil && len(*s.Prefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Prefix", 1)) } - if s.Headers != nil { - for i, v := range s.Headers { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Headers", i), err.(request.ErrInvalidParams)) - } + if s.Regex != nil && len(*s.Regex) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Regex", 1)) + } + if s.Suffix != nil && len(*s.Suffix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Suffix", 1)) + } + if s.Range != nil { + if err := s.Range.Validate(); err != nil { + invalidParams.AddNested("Range", err.(request.ErrInvalidParams)) } } @@ -6418,168 +8297,195 @@ func (s *HttpRouteMatch) Validate() error { return nil } -// SetHeaders sets the Headers field's value. -func (s *HttpRouteMatch) SetHeaders(v []*HttpRouteHeader) *HttpRouteMatch { - s.Headers = v - return s -} - -// SetMethod sets the Method field's value. -func (s *HttpRouteMatch) SetMethod(v string) *HttpRouteMatch { - s.Method = &v +// SetExact sets the Exact field's value. +func (s *HeaderMatchMethod) SetExact(v string) *HeaderMatchMethod { + s.Exact = &v return s } // SetPrefix sets the Prefix field's value. -func (s *HttpRouteMatch) SetPrefix(v string) *HttpRouteMatch { +func (s *HeaderMatchMethod) SetPrefix(v string) *HeaderMatchMethod { s.Prefix = &v return s } -// SetScheme sets the Scheme field's value. -func (s *HttpRouteMatch) SetScheme(v string) *HttpRouteMatch { - s.Scheme = &v +// SetRange sets the Range field's value. +func (s *HeaderMatchMethod) SetRange(v *MatchRange) *HeaderMatchMethod { + s.Range = v return s } -// The request processing has failed because of an unknown error, exception, -// or failure. -type InternalServerErrorException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"message" type:"string"` +// SetRegex sets the Regex field's value. +func (s *HeaderMatchMethod) SetRegex(v string) *HeaderMatchMethod { + s.Regex = &v + return s } -// String returns the string representation -func (s InternalServerErrorException) String() string { - return awsutil.Prettify(s) +// SetSuffix sets the Suffix field's value. +func (s *HeaderMatchMethod) SetSuffix(v string) *HeaderMatchMethod { + s.Suffix = &v + return s } -// GoString returns the string representation -func (s InternalServerErrorException) GoString() string { - return s.String() -} +// An object that represents the health check policy for a virtual node's listener. +type HealthCheckPolicy struct { + _ struct{} `type:"structure"` -func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error { - return &InternalServerErrorException{ - RespMetadata: v, - } -} + // HealthyThreshold is a required field + HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"` -// Code returns the exception type name. -func (s *InternalServerErrorException) Code() string { - return "InternalServerErrorException" -} + // IntervalMillis is a required field + IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"` -// Message returns the exception's message. -func (s *InternalServerErrorException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} + Path *string `locationName:"path" type:"string"` -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalServerErrorException) OrigErr() error { - return nil -} + Port *int64 `locationName:"port" min:"1" type:"integer"` -func (s *InternalServerErrorException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` + + // TimeoutMillis is a required field + TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"` + + // UnhealthyThreshold is a required field + UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"` } -// Status code returns the HTTP status code for the request's response error. -func (s *InternalServerErrorException) StatusCode() int { - return s.RespMetadata.StatusCode +// String returns the string representation +func (s HealthCheckPolicy) String() string { + return awsutil.Prettify(s) } -// RequestID returns the service's response RequestID for request. -func (s *InternalServerErrorException) RequestID() string { - return s.RespMetadata.RequestID +// GoString returns the string representation +func (s HealthCheckPolicy) GoString() string { + return s.String() } -// You have exceeded a service limit for your account. For more information, -// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) -// in the AWS App Mesh User Guide. -type LimitExceededException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"message" type:"string"` -} - -// String returns the string representation -func (s LimitExceededException) String() string { - return awsutil.Prettify(s) -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *HealthCheckPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HealthCheckPolicy"} + if s.HealthyThreshold == nil { + invalidParams.Add(request.NewErrParamRequired("HealthyThreshold")) + } + if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 { + invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2)) + } + if s.IntervalMillis == nil { + invalidParams.Add(request.NewErrParamRequired("IntervalMillis")) + } + if s.IntervalMillis != nil && *s.IntervalMillis < 5000 { + invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000)) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.TimeoutMillis == nil { + invalidParams.Add(request.NewErrParamRequired("TimeoutMillis")) + } + if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 { + invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000)) + } + if s.UnhealthyThreshold == nil { + invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) + } + if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 { + invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2)) + } -// GoString returns the string representation -func (s LimitExceededException) GoString() string { - return s.String() + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -func newErrorLimitExceededException(v protocol.ResponseMetadata) error { - return &LimitExceededException{ - RespMetadata: v, - } +// SetHealthyThreshold sets the HealthyThreshold field's value. +func (s *HealthCheckPolicy) SetHealthyThreshold(v int64) *HealthCheckPolicy { + s.HealthyThreshold = &v + return s } -// Code returns the exception type name. -func (s *LimitExceededException) Code() string { - return "LimitExceededException" +// SetIntervalMillis sets the IntervalMillis field's value. +func (s *HealthCheckPolicy) SetIntervalMillis(v int64) *HealthCheckPolicy { + s.IntervalMillis = &v + return s } -// Message returns the exception's message. -func (s *LimitExceededException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetPath sets the Path field's value. +func (s *HealthCheckPolicy) SetPath(v string) *HealthCheckPolicy { + s.Path = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *LimitExceededException) OrigErr() error { - return nil +// SetPort sets the Port field's value. +func (s *HealthCheckPolicy) SetPort(v int64) *HealthCheckPolicy { + s.Port = &v + return s } -func (s *LimitExceededException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetProtocol sets the Protocol field's value. +func (s *HealthCheckPolicy) SetProtocol(v string) *HealthCheckPolicy { + s.Protocol = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *LimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetTimeoutMillis sets the TimeoutMillis field's value. +func (s *HealthCheckPolicy) SetTimeoutMillis(v int64) *HealthCheckPolicy { + s.TimeoutMillis = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *LimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetUnhealthyThreshold sets the UnhealthyThreshold field's value. +func (s *HealthCheckPolicy) SetUnhealthyThreshold(v int64) *HealthCheckPolicy { + s.UnhealthyThreshold = &v + return s } -type ListMeshesInput struct { +// An object that represents an HTTP gateway route. +type HttpGatewayRoute struct { _ struct{} `type:"structure"` - Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` + // An object that represents the action to take if a match is determined. + // + // Action is a required field + Action *HttpGatewayRouteAction `locationName:"action" type:"structure" required:"true"` - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // An object that represents the criteria for determining a request match. + // + // Match is a required field + Match *HttpGatewayRouteMatch `locationName:"match" type:"structure" required:"true"` } // String returns the string representation -func (s ListMeshesInput) String() string { +func (s HttpGatewayRoute) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListMeshesInput) GoString() string { +func (s HttpGatewayRoute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListMeshesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListMeshesInput"} - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) +func (s *HttpGatewayRoute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRoute"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.Match == nil { + invalidParams.Add(request.NewErrParamRequired("Match")) + } + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) + } + } + if s.Match != nil { + if err := s.Match.Validate(); err != nil { + invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -6588,95 +8494,85 @@ func (s *ListMeshesInput) Validate() error { return nil } -// SetLimit sets the Limit field's value. -func (s *ListMeshesInput) SetLimit(v int64) *ListMeshesInput { - s.Limit = &v +// SetAction sets the Action field's value. +func (s *HttpGatewayRoute) SetAction(v *HttpGatewayRouteAction) *HttpGatewayRoute { + s.Action = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListMeshesInput) SetNextToken(v string) *ListMeshesInput { - s.NextToken = &v +// SetMatch sets the Match field's value. +func (s *HttpGatewayRoute) SetMatch(v *HttpGatewayRouteMatch) *HttpGatewayRoute { + s.Match = v return s } -type ListMeshesOutput struct { +// An object that represents the action to take if a match is determined. +type HttpGatewayRouteAction struct { _ struct{} `type:"structure"` - // Meshes is a required field - Meshes []*MeshRef `locationName:"meshes" type:"list" required:"true"` - - NextToken *string `locationName:"nextToken" type:"string"` + // An object that represents a gateway route target. + // + // Target is a required field + Target *GatewayRouteTarget `locationName:"target" type:"structure" required:"true"` } // String returns the string representation -func (s ListMeshesOutput) String() string { +func (s HttpGatewayRouteAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListMeshesOutput) GoString() string { +func (s HttpGatewayRouteAction) GoString() string { return s.String() } -// SetMeshes sets the Meshes field's value. -func (s *ListMeshesOutput) SetMeshes(v []*MeshRef) *ListMeshesOutput { - s.Meshes = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpGatewayRouteAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRouteAction"} + if s.Target == nil { + invalidParams.Add(request.NewErrParamRequired("Target")) + } + if s.Target != nil { + if err := s.Target.Validate(); err != nil { + invalidParams.AddNested("Target", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListMeshesOutput) SetNextToken(v string) *ListMeshesOutput { - s.NextToken = &v +// SetTarget sets the Target field's value. +func (s *HttpGatewayRouteAction) SetTarget(v *GatewayRouteTarget) *HttpGatewayRouteAction { + s.Target = v return s } -type ListRoutesInput struct { +// An object that represents the criteria for determining a request match. +type HttpGatewayRouteMatch struct { _ struct{} `type:"structure"` - Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - - MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` - - // VirtualRouterName is a required field - VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // Prefix is a required field + Prefix *string `locationName:"prefix" type:"string" required:"true"` } // String returns the string representation -func (s ListRoutesInput) String() string { +func (s HttpGatewayRouteMatch) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListRoutesInput) GoString() string { +func (s HttpGatewayRouteMatch) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListRoutesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListRoutesInput"} - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) - } - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) - } - if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { - invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) - } - if s.VirtualRouterName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) - } - if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) +func (s *HttpGatewayRouteMatch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpGatewayRouteMatch"} + if s.Prefix == nil { + invalidParams.Add(request.NewErrParamRequired("Prefix")) } if invalidParams.Len() > 0 { @@ -6685,96 +8581,144 @@ func (s *ListRoutesInput) Validate() error { return nil } -// SetLimit sets the Limit field's value. -func (s *ListRoutesInput) SetLimit(v int64) *ListRoutesInput { - s.Limit = &v - return s -} - -// SetMeshName sets the MeshName field's value. -func (s *ListRoutesInput) SetMeshName(v string) *ListRoutesInput { - s.MeshName = &v - return s -} - -// SetMeshOwner sets the MeshOwner field's value. -func (s *ListRoutesInput) SetMeshOwner(v string) *ListRoutesInput { - s.MeshOwner = &v +// SetPrefix sets the Prefix field's value. +func (s *HttpGatewayRouteMatch) SetPrefix(v string) *HttpGatewayRouteMatch { + s.Prefix = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListRoutesInput) SetNextToken(v string) *ListRoutesInput { - s.NextToken = &v - return s -} +// An object that represents a retry policy. Specify at least one value for +// at least one of the types of RetryEvents, a value for maxRetries, and a value +// for perRetryTimeout. +type HttpRetryPolicy struct { + _ struct{} `type:"structure"` -// SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *ListRoutesInput) SetVirtualRouterName(v string) *ListRoutesInput { - s.VirtualRouterName = &v - return s -} + HttpRetryEvents []*string `locationName:"httpRetryEvents" min:"1" type:"list"` -type ListRoutesOutput struct { - _ struct{} `type:"structure"` + // MaxRetries is a required field + MaxRetries *int64 `locationName:"maxRetries" type:"long" required:"true"` - NextToken *string `locationName:"nextToken" type:"string"` + // An object that represents a duration of time. + // + // PerRetryTimeout is a required field + PerRetryTimeout *Duration `locationName:"perRetryTimeout" type:"structure" required:"true"` - // Routes is a required field - Routes []*RouteRef `locationName:"routes" type:"list" required:"true"` + TcpRetryEvents []*string `locationName:"tcpRetryEvents" min:"1" type:"list"` } // String returns the string representation -func (s ListRoutesOutput) String() string { +func (s HttpRetryPolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListRoutesOutput) GoString() string { +func (s HttpRetryPolicy) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListRoutesOutput) SetNextToken(v string) *ListRoutesOutput { - s.NextToken = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpRetryPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpRetryPolicy"} + if s.HttpRetryEvents != nil && len(s.HttpRetryEvents) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HttpRetryEvents", 1)) + } + if s.MaxRetries == nil { + invalidParams.Add(request.NewErrParamRequired("MaxRetries")) + } + if s.PerRetryTimeout == nil { + invalidParams.Add(request.NewErrParamRequired("PerRetryTimeout")) + } + if s.TcpRetryEvents != nil && len(s.TcpRetryEvents) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TcpRetryEvents", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHttpRetryEvents sets the HttpRetryEvents field's value. +func (s *HttpRetryPolicy) SetHttpRetryEvents(v []*string) *HttpRetryPolicy { + s.HttpRetryEvents = v return s } -// SetRoutes sets the Routes field's value. -func (s *ListRoutesOutput) SetRoutes(v []*RouteRef) *ListRoutesOutput { - s.Routes = v +// SetMaxRetries sets the MaxRetries field's value. +func (s *HttpRetryPolicy) SetMaxRetries(v int64) *HttpRetryPolicy { + s.MaxRetries = &v return s } -type ListTagsForResourceInput struct { +// SetPerRetryTimeout sets the PerRetryTimeout field's value. +func (s *HttpRetryPolicy) SetPerRetryTimeout(v *Duration) *HttpRetryPolicy { + s.PerRetryTimeout = v + return s +} + +// SetTcpRetryEvents sets the TcpRetryEvents field's value. +func (s *HttpRetryPolicy) SetTcpRetryEvents(v []*string) *HttpRetryPolicy { + s.TcpRetryEvents = v + return s +} + +// An object that represents an HTTP or HTTP/2 route type. +type HttpRoute struct { _ struct{} `type:"structure"` - Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` + // An object that represents the action to take if a match is determined. + // + // Action is a required field + Action *HttpRouteAction `locationName:"action" type:"structure" required:"true"` - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // An object that represents the requirements for a route to match HTTP requests + // for a virtual router. + // + // Match is a required field + Match *HttpRouteMatch `locationName:"match" type:"structure" required:"true"` - // ResourceArn is a required field - ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` + // An object that represents a retry policy. Specify at least one value for + // at least one of the types of RetryEvents, a value for maxRetries, and a value + // for perRetryTimeout. + RetryPolicy *HttpRetryPolicy `locationName:"retryPolicy" type:"structure"` + + // An object that represents types of timeouts. + Timeout *HttpTimeout `locationName:"timeout" type:"structure"` } // String returns the string representation -func (s ListTagsForResourceInput) String() string { +func (s HttpRoute) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTagsForResourceInput) GoString() string { +func (s HttpRoute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListTagsForResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) +func (s *HttpRoute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpRoute"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) } - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + if s.Match == nil { + invalidParams.Add(request.NewErrParamRequired("Match")) + } + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) + } + } + if s.Match != nil { + if err := s.Match.Validate(); err != nil { + invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + } + } + if s.RetryPolicy != nil { + if err := s.RetryPolicy.Validate(); err != nil { + invalidParams.AddNested("RetryPolicy", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -6783,92 +8727,117 @@ func (s *ListTagsForResourceInput) Validate() error { return nil } -// SetLimit sets the Limit field's value. -func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput { - s.Limit = &v +// SetAction sets the Action field's value. +func (s *HttpRoute) SetAction(v *HttpRouteAction) *HttpRoute { + s.Action = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { - s.NextToken = &v +// SetMatch sets the Match field's value. +func (s *HttpRoute) SetMatch(v *HttpRouteMatch) *HttpRoute { + s.Match = v return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { - s.ResourceArn = &v +// SetRetryPolicy sets the RetryPolicy field's value. +func (s *HttpRoute) SetRetryPolicy(v *HttpRetryPolicy) *HttpRoute { + s.RetryPolicy = v return s } -type ListTagsForResourceOutput struct { - _ struct{} `type:"structure"` +// SetTimeout sets the Timeout field's value. +func (s *HttpRoute) SetTimeout(v *HttpTimeout) *HttpRoute { + s.Timeout = v + return s +} - NextToken *string `locationName:"nextToken" type:"string"` +// An object that represents the action to take if a match is determined. +type HttpRouteAction struct { + _ struct{} `type:"structure"` - // Tags is a required field - Tags []*TagRef `locationName:"tags" type:"list" required:"true"` + // WeightedTargets is a required field + WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` } // String returns the string representation -func (s ListTagsForResourceOutput) String() string { +func (s HttpRouteAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTagsForResourceOutput) GoString() string { +func (s HttpRouteAction) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { - s.NextToken = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpRouteAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpRouteAction"} + if s.WeightedTargets == nil { + invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) + } + if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) + } + if s.WeightedTargets != nil { + for i, v := range s.WeightedTargets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v []*TagRef) *ListTagsForResourceOutput { - s.Tags = v +// SetWeightedTargets sets the WeightedTargets field's value. +func (s *HttpRouteAction) SetWeightedTargets(v []*WeightedTarget) *HttpRouteAction { + s.WeightedTargets = v return s } -type ListVirtualNodesInput struct { +// An object that represents the HTTP header in the request. +type HttpRouteHeader struct { _ struct{} `type:"structure"` - Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + Invert *bool `locationName:"invert" type:"boolean"` - MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + // An object that represents the method and value to match with the header value + // sent in a request. Specify one match method. + Match *HeaderMatchMethod `locationName:"match" type:"structure"` - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListVirtualNodesInput) String() string { +func (s HttpRouteHeader) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualNodesInput) GoString() string { +func (s HttpRouteHeader) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListVirtualNodesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListVirtualNodesInput"} - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) - } - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) +func (s *HttpRouteHeader) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpRouteHeader"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { - invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + if s.Match != nil { + if err := s.Match.Validate(); err != nil { + invalidParams.AddNested("Match", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -6877,162 +8846,248 @@ func (s *ListVirtualNodesInput) Validate() error { return nil } -// SetLimit sets the Limit field's value. -func (s *ListVirtualNodesInput) SetLimit(v int64) *ListVirtualNodesInput { - s.Limit = &v - return s -} - -// SetMeshName sets the MeshName field's value. -func (s *ListVirtualNodesInput) SetMeshName(v string) *ListVirtualNodesInput { - s.MeshName = &v +// SetInvert sets the Invert field's value. +func (s *HttpRouteHeader) SetInvert(v bool) *HttpRouteHeader { + s.Invert = &v return s } -// SetMeshOwner sets the MeshOwner field's value. -func (s *ListVirtualNodesInput) SetMeshOwner(v string) *ListVirtualNodesInput { - s.MeshOwner = &v +// SetMatch sets the Match field's value. +func (s *HttpRouteHeader) SetMatch(v *HeaderMatchMethod) *HttpRouteHeader { + s.Match = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListVirtualNodesInput) SetNextToken(v string) *ListVirtualNodesInput { - s.NextToken = &v +// SetName sets the Name field's value. +func (s *HttpRouteHeader) SetName(v string) *HttpRouteHeader { + s.Name = &v return s } -type ListVirtualNodesOutput struct { +// An object that represents the requirements for a route to match HTTP requests +// for a virtual router. +type HttpRouteMatch struct { _ struct{} `type:"structure"` - NextToken *string `locationName:"nextToken" type:"string"` + Headers []*HttpRouteHeader `locationName:"headers" min:"1" type:"list"` - // VirtualNodes is a required field - VirtualNodes []*VirtualNodeRef `locationName:"virtualNodes" type:"list" required:"true"` + Method *string `locationName:"method" type:"string" enum:"HttpMethod"` + + // Prefix is a required field + Prefix *string `locationName:"prefix" type:"string" required:"true"` + + Scheme *string `locationName:"scheme" type:"string" enum:"HttpScheme"` } // String returns the string representation -func (s ListVirtualNodesOutput) String() string { +func (s HttpRouteMatch) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualNodesOutput) GoString() string { +func (s HttpRouteMatch) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListVirtualNodesOutput) SetNextToken(v string) *ListVirtualNodesOutput { - s.NextToken = &v - return s -} - -// SetVirtualNodes sets the VirtualNodes field's value. -func (s *ListVirtualNodesOutput) SetVirtualNodes(v []*VirtualNodeRef) *ListVirtualNodesOutput { - s.VirtualNodes = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpRouteMatch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpRouteMatch"} + if s.Headers != nil && len(s.Headers) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Headers", 1)) + } + if s.Prefix == nil { + invalidParams.Add(request.NewErrParamRequired("Prefix")) + } + if s.Headers != nil { + for i, v := range s.Headers { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Headers", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHeaders sets the Headers field's value. +func (s *HttpRouteMatch) SetHeaders(v []*HttpRouteHeader) *HttpRouteMatch { + s.Headers = v return s } -type ListVirtualRoutersInput struct { +// SetMethod sets the Method field's value. +func (s *HttpRouteMatch) SetMethod(v string) *HttpRouteMatch { + s.Method = &v + return s +} + +// SetPrefix sets the Prefix field's value. +func (s *HttpRouteMatch) SetPrefix(v string) *HttpRouteMatch { + s.Prefix = &v + return s +} + +// SetScheme sets the Scheme field's value. +func (s *HttpRouteMatch) SetScheme(v string) *HttpRouteMatch { + s.Scheme = &v + return s +} + +// An object that represents types of timeouts. +type HttpTimeout struct { _ struct{} `type:"structure"` - Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` + // An object that represents a duration of time. + Idle *Duration `locationName:"idle" type:"structure"` - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + // An object that represents a duration of time. + PerRequest *Duration `locationName:"perRequest" type:"structure"` +} - MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` +// String returns the string representation +func (s HttpTimeout) String() string { + return awsutil.Prettify(s) +} - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +// GoString returns the string representation +func (s HttpTimeout) GoString() string { + return s.String() +} + +// SetIdle sets the Idle field's value. +func (s *HttpTimeout) SetIdle(v *Duration) *HttpTimeout { + s.Idle = v + return s +} + +// SetPerRequest sets the PerRequest field's value. +func (s *HttpTimeout) SetPerRequest(v *Duration) *HttpTimeout { + s.PerRequest = v + return s +} + +// The request processing has failed because of an unknown error, exception, +// or failure. +type InternalServerErrorException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation -func (s ListVirtualRoutersInput) String() string { +func (s InternalServerErrorException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualRoutersInput) GoString() string { +func (s InternalServerErrorException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListVirtualRoutersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListVirtualRoutersInput"} - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) - } - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) - } - if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { - invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) +func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error { + return &InternalServerErrorException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// Code returns the exception type name. +func (s *InternalServerErrorException) Code() string { + return "InternalServerErrorException" } -// SetLimit sets the Limit field's value. -func (s *ListVirtualRoutersInput) SetLimit(v int64) *ListVirtualRoutersInput { - s.Limit = &v - return s +// Message returns the exception's message. +func (s *InternalServerErrorException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetMeshName sets the MeshName field's value. -func (s *ListVirtualRoutersInput) SetMeshName(v string) *ListVirtualRoutersInput { - s.MeshName = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerErrorException) OrigErr() error { + return nil } -// SetMeshOwner sets the MeshOwner field's value. -func (s *ListVirtualRoutersInput) SetMeshOwner(v string) *ListVirtualRoutersInput { - s.MeshOwner = &v - return s +func (s *InternalServerErrorException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetNextToken sets the NextToken field's value. -func (s *ListVirtualRoutersInput) SetNextToken(v string) *ListVirtualRoutersInput { - s.NextToken = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerErrorException) StatusCode() int { + return s.RespMetadata.StatusCode } -type ListVirtualRoutersOutput struct { - _ struct{} `type:"structure"` +// RequestID returns the service's response RequestID for request. +func (s *InternalServerErrorException) RequestID() string { + return s.RespMetadata.RequestID +} - NextToken *string `locationName:"nextToken" type:"string"` +// You have exceeded a service limit for your account. For more information, +// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) +// in the AWS App Mesh User Guide. +type LimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // VirtualRouters is a required field - VirtualRouters []*VirtualRouterRef `locationName:"virtualRouters" type:"list" required:"true"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation -func (s ListVirtualRoutersOutput) String() string { +func (s LimitExceededException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualRoutersOutput) GoString() string { +func (s LimitExceededException) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListVirtualRoutersOutput) SetNextToken(v string) *ListVirtualRoutersOutput { - s.NextToken = &v - return s +func newErrorLimitExceededException(v protocol.ResponseMetadata) error { + return &LimitExceededException{ + RespMetadata: v, + } } -// SetVirtualRouters sets the VirtualRouters field's value. -func (s *ListVirtualRoutersOutput) SetVirtualRouters(v []*VirtualRouterRef) *ListVirtualRoutersOutput { - s.VirtualRouters = v - return s +// Code returns the exception type name. +func (s *LimitExceededException) Code() string { + return "LimitExceededException" } -type ListVirtualServicesInput struct { +// Message returns the exception's message. +func (s *LimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *LimitExceededException) OrigErr() error { + return nil +} + +func (s *LimitExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListGatewayRoutesInput struct { _ struct{} `type:"structure"` Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` @@ -7043,21 +9098,24 @@ type ListVirtualServicesInput struct { MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListVirtualServicesInput) String() string { +func (s ListGatewayRoutesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualServicesInput) GoString() string { +func (s ListGatewayRoutesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListVirtualServicesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListVirtualServicesInput"} +func (s *ListGatewayRoutesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListGatewayRoutesInput"} if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } @@ -7070,6 +9128,12 @@ func (s *ListVirtualServicesInput) Validate() error { if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) + } + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -7078,107 +9142,89 @@ func (s *ListVirtualServicesInput) Validate() error { } // SetLimit sets the Limit field's value. -func (s *ListVirtualServicesInput) SetLimit(v int64) *ListVirtualServicesInput { +func (s *ListGatewayRoutesInput) SetLimit(v int64) *ListGatewayRoutesInput { s.Limit = &v return s } // SetMeshName sets the MeshName field's value. -func (s *ListVirtualServicesInput) SetMeshName(v string) *ListVirtualServicesInput { +func (s *ListGatewayRoutesInput) SetMeshName(v string) *ListGatewayRoutesInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. -func (s *ListVirtualServicesInput) SetMeshOwner(v string) *ListVirtualServicesInput { +func (s *ListGatewayRoutesInput) SetMeshOwner(v string) *ListGatewayRoutesInput { s.MeshOwner = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListVirtualServicesInput) SetNextToken(v string) *ListVirtualServicesInput { +func (s *ListGatewayRoutesInput) SetNextToken(v string) *ListGatewayRoutesInput { s.NextToken = &v return s } -type ListVirtualServicesOutput struct { +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *ListGatewayRoutesInput) SetVirtualGatewayName(v string) *ListGatewayRoutesInput { + s.VirtualGatewayName = &v + return s +} + +type ListGatewayRoutesOutput struct { _ struct{} `type:"structure"` - NextToken *string `locationName:"nextToken" type:"string"` + // GatewayRoutes is a required field + GatewayRoutes []*GatewayRouteRef `locationName:"gatewayRoutes" type:"list" required:"true"` - // VirtualServices is a required field - VirtualServices []*VirtualServiceRef `locationName:"virtualServices" type:"list" required:"true"` + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s ListVirtualServicesOutput) String() string { +func (s ListGatewayRoutesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListVirtualServicesOutput) GoString() string { +func (s ListGatewayRoutesOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListVirtualServicesOutput) SetNextToken(v string) *ListVirtualServicesOutput { - s.NextToken = &v +// SetGatewayRoutes sets the GatewayRoutes field's value. +func (s *ListGatewayRoutesOutput) SetGatewayRoutes(v []*GatewayRouteRef) *ListGatewayRoutesOutput { + s.GatewayRoutes = v return s } -// SetVirtualServices sets the VirtualServices field's value. -func (s *ListVirtualServicesOutput) SetVirtualServices(v []*VirtualServiceRef) *ListVirtualServicesOutput { - s.VirtualServices = v +// SetNextToken sets the NextToken field's value. +func (s *ListGatewayRoutesOutput) SetNextToken(v string) *ListGatewayRoutesOutput { + s.NextToken = &v return s } -// An object that represents a listener for a virtual node. -type Listener struct { +type ListMeshesInput struct { _ struct{} `type:"structure"` - // An object that represents the health check policy for a virtual node's listener. - HealthCheck *HealthCheckPolicy `locationName:"healthCheck" type:"structure"` - - // An object that represents a port mapping. - // - // PortMapping is a required field - PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"` + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - // An object that represents the Transport Layer Security (TLS) properties for - // a listener. - Tls *ListenerTls `locationName:"tls" type:"structure"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s Listener) String() string { +func (s ListMeshesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Listener) GoString() string { +func (s ListMeshesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Listener) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Listener"} - if s.PortMapping == nil { - invalidParams.Add(request.NewErrParamRequired("PortMapping")) - } - if s.HealthCheck != nil { - if err := s.HealthCheck.Validate(); err != nil { - invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) - } - } - if s.PortMapping != nil { - if err := s.PortMapping.Validate(); err != nil { - invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) - } - } - if s.Tls != nil { - if err := s.Tls.Validate(); err != nil { - invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) - } +func (s *ListMeshesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMeshesInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } if invalidParams.Len() > 0 { @@ -7187,104 +9233,95 @@ func (s *Listener) Validate() error { return nil } -// SetHealthCheck sets the HealthCheck field's value. -func (s *Listener) SetHealthCheck(v *HealthCheckPolicy) *Listener { - s.HealthCheck = v - return s -} - -// SetPortMapping sets the PortMapping field's value. -func (s *Listener) SetPortMapping(v *PortMapping) *Listener { - s.PortMapping = v +// SetLimit sets the Limit field's value. +func (s *ListMeshesInput) SetLimit(v int64) *ListMeshesInput { + s.Limit = &v return s } -// SetTls sets the Tls field's value. -func (s *Listener) SetTls(v *ListenerTls) *Listener { - s.Tls = v +// SetNextToken sets the NextToken field's value. +func (s *ListMeshesInput) SetNextToken(v string) *ListMeshesInput { + s.NextToken = &v return s } -// An object that represents the Transport Layer Security (TLS) properties for -// a listener. -type ListenerTls struct { +type ListMeshesOutput struct { _ struct{} `type:"structure"` - // An object that represents a listener's Transport Layer Security (TLS) certificate. - // - // Certificate is a required field - Certificate *ListenerTlsCertificate `locationName:"certificate" type:"structure" required:"true"` + // Meshes is a required field + Meshes []*MeshRef `locationName:"meshes" type:"list" required:"true"` - // Mode is a required field - Mode *string `locationName:"mode" type:"string" required:"true" enum:"ListenerTlsMode"` + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s ListenerTls) String() string { +func (s ListMeshesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListenerTls) GoString() string { +func (s ListMeshesOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListenerTls) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListenerTls"} - if s.Certificate == nil { - invalidParams.Add(request.NewErrParamRequired("Certificate")) - } - if s.Mode == nil { - invalidParams.Add(request.NewErrParamRequired("Mode")) - } - if s.Certificate != nil { - if err := s.Certificate.Validate(); err != nil { - invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetCertificate sets the Certificate field's value. -func (s *ListenerTls) SetCertificate(v *ListenerTlsCertificate) *ListenerTls { - s.Certificate = v +// SetMeshes sets the Meshes field's value. +func (s *ListMeshesOutput) SetMeshes(v []*MeshRef) *ListMeshesOutput { + s.Meshes = v return s } -// SetMode sets the Mode field's value. -func (s *ListenerTls) SetMode(v string) *ListenerTls { - s.Mode = &v +// SetNextToken sets the NextToken field's value. +func (s *ListMeshesOutput) SetNextToken(v string) *ListMeshesOutput { + s.NextToken = &v return s } -// An object that represents an AWS Certicate Manager (ACM) certificate. -type ListenerTlsAcmCertificate struct { +type ListRoutesInput struct { _ struct{} `type:"structure"` - // CertificateArn is a required field - CertificateArn *string `locationName:"certificateArn" type:"string" required:"true"` + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // VirtualRouterName is a required field + VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListenerTlsAcmCertificate) String() string { +func (s ListRoutesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListenerTlsAcmCertificate) GoString() string { +func (s ListRoutesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListenerTlsAcmCertificate) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListenerTlsAcmCertificate"} - if s.CertificateArn == nil { - invalidParams.Add(request.NewErrParamRequired("CertificateArn")) +func (s *ListRoutesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRoutesInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.VirtualRouterName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) + } + if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) } if invalidParams.Len() > 0 { @@ -7293,104 +9330,96 @@ func (s *ListenerTlsAcmCertificate) Validate() error { return nil } -// SetCertificateArn sets the CertificateArn field's value. -func (s *ListenerTlsAcmCertificate) SetCertificateArn(v string) *ListenerTlsAcmCertificate { - s.CertificateArn = &v +// SetLimit sets the Limit field's value. +func (s *ListRoutesInput) SetLimit(v int64) *ListRoutesInput { + s.Limit = &v return s } -// An object that represents a listener's Transport Layer Security (TLS) certificate. -type ListenerTlsCertificate struct { +// SetMeshName sets the MeshName field's value. +func (s *ListRoutesInput) SetMeshName(v string) *ListRoutesInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *ListRoutesInput) SetMeshOwner(v string) *ListRoutesInput { + s.MeshOwner = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRoutesInput) SetNextToken(v string) *ListRoutesInput { + s.NextToken = &v + return s +} + +// SetVirtualRouterName sets the VirtualRouterName field's value. +func (s *ListRoutesInput) SetVirtualRouterName(v string) *ListRoutesInput { + s.VirtualRouterName = &v + return s +} + +type ListRoutesOutput struct { _ struct{} `type:"structure"` - // An object that represents an AWS Certicate Manager (ACM) certificate. - Acm *ListenerTlsAcmCertificate `locationName:"acm" type:"structure"` + NextToken *string `locationName:"nextToken" type:"string"` - // An object that represents a local file certificate. The certificate must - // meet specific requirements and you must have proxy authorization enabled. - // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual-node-tls.html#virtual-node-tls-prerequisites). - File *ListenerTlsFileCertificate `locationName:"file" type:"structure"` + // Routes is a required field + Routes []*RouteRef `locationName:"routes" type:"list" required:"true"` } // String returns the string representation -func (s ListenerTlsCertificate) String() string { +func (s ListRoutesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListenerTlsCertificate) GoString() string { +func (s ListRoutesOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListenerTlsCertificate) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListenerTlsCertificate"} - if s.Acm != nil { - if err := s.Acm.Validate(); err != nil { - invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) - } - } - if s.File != nil { - if err := s.File.Validate(); err != nil { - invalidParams.AddNested("File", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAcm sets the Acm field's value. -func (s *ListenerTlsCertificate) SetAcm(v *ListenerTlsAcmCertificate) *ListenerTlsCertificate { - s.Acm = v +// SetNextToken sets the NextToken field's value. +func (s *ListRoutesOutput) SetNextToken(v string) *ListRoutesOutput { + s.NextToken = &v return s } -// SetFile sets the File field's value. -func (s *ListenerTlsCertificate) SetFile(v *ListenerTlsFileCertificate) *ListenerTlsCertificate { - s.File = v +// SetRoutes sets the Routes field's value. +func (s *ListRoutesOutput) SetRoutes(v []*RouteRef) *ListRoutesOutput { + s.Routes = v return s } -// An object that represents a local file certificate. The certificate must -// meet specific requirements and you must have proxy authorization enabled. -// For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual-node-tls.html#virtual-node-tls-prerequisites). -type ListenerTlsFileCertificate struct { +type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // CertificateChain is a required field - CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - // PrivateKey is a required field - PrivateKey *string `locationName:"privateKey" min:"1" type:"string" required:"true"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // ResourceArn is a required field + ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` } // String returns the string representation -func (s ListenerTlsFileCertificate) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListenerTlsFileCertificate) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListenerTlsFileCertificate) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListenerTlsFileCertificate"} - if s.CertificateChain == nil { - invalidParams.Add(request.NewErrParamRequired("CertificateChain")) - } - if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) - } - if s.PrivateKey == nil { - invalidParams.Add(request.NewErrParamRequired("PrivateKey")) +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } - if s.PrivateKey != nil && len(*s.PrivateKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1)) + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if invalidParams.Len() > 0 { @@ -7399,89 +9428,92 @@ func (s *ListenerTlsFileCertificate) Validate() error { return nil } -// SetCertificateChain sets the CertificateChain field's value. -func (s *ListenerTlsFileCertificate) SetCertificateChain(v string) *ListenerTlsFileCertificate { - s.CertificateChain = &v +// SetLimit sets the Limit field's value. +func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput { + s.Limit = &v return s } -// SetPrivateKey sets the PrivateKey field's value. -func (s *ListenerTlsFileCertificate) SetPrivateKey(v string) *ListenerTlsFileCertificate { - s.PrivateKey = &v +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { + s.NextToken = &v return s } -// An object that represents the logging information for a virtual node. -type Logging struct { +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // An object that represents the access logging information for a virtual node. - AccessLog *AccessLog `locationName:"accessLog" type:"structure"` + NextToken *string `locationName:"nextToken" type:"string"` + + // Tags is a required field + Tags []*TagRef `locationName:"tags" type:"list" required:"true"` } // String returns the string representation -func (s Logging) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Logging) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Logging) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Logging"} - if s.AccessLog != nil { - if err := s.AccessLog.Validate(); err != nil { - invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { + s.NextToken = &v + return s } -// SetAccessLog sets the AccessLog field's value. -func (s *Logging) SetAccessLog(v *AccessLog) *Logging { - s.AccessLog = v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*TagRef) *ListTagsForResourceOutput { + s.Tags = v return s } -// An object that represents the range of values to match on. The first character -// of the range is included in the range, though the last character is not. -// For example, if the range specified were 1-100, only values 1-99 would be -// matched. -type MatchRange struct { +type ListVirtualGatewaysInput struct { _ struct{} `type:"structure"` - // End is a required field - End *int64 `locationName:"end" type:"long" required:"true"` + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` - // Start is a required field - Start *int64 `locationName:"start" type:"long" required:"true"` + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s MatchRange) String() string { +func (s ListVirtualGatewaysInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MatchRange) GoString() string { +func (s ListVirtualGatewaysInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *MatchRange) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MatchRange"} - if s.End == nil { - invalidParams.Add(request.NewErrParamRequired("End")) +func (s *ListVirtualGatewaysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListVirtualGatewaysInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } - if s.Start == nil { - invalidParams.Add(request.NewErrParamRequired("Start")) + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) } if invalidParams.Len() > 0 { @@ -7490,219 +9522,2151 @@ func (s *MatchRange) Validate() error { return nil } -// SetEnd sets the End field's value. -func (s *MatchRange) SetEnd(v int64) *MatchRange { - s.End = &v +// SetLimit sets the Limit field's value. +func (s *ListVirtualGatewaysInput) SetLimit(v int64) *ListVirtualGatewaysInput { + s.Limit = &v return s } -// SetStart sets the Start field's value. -func (s *MatchRange) SetStart(v int64) *MatchRange { - s.Start = &v +// SetMeshName sets the MeshName field's value. +func (s *ListVirtualGatewaysInput) SetMeshName(v string) *ListVirtualGatewaysInput { + s.MeshName = &v return s } -// An object that represents a service mesh returned by a describe operation. -type MeshData struct { - _ struct{} `type:"structure"` +// SetMeshOwner sets the MeshOwner field's value. +func (s *ListVirtualGatewaysInput) SetMeshOwner(v string) *ListVirtualGatewaysInput { + s.MeshOwner = &v + return s +} - // MeshName is a required field - MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualGatewaysInput) SetNextToken(v string) *ListVirtualGatewaysInput { + s.NextToken = &v + return s +} - // An object that represents metadata for a resource. - // - // Metadata is a required field - Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` +type ListVirtualGatewaysOutput struct { + _ struct{} `type:"structure"` - // An object that represents the specification of a service mesh. - // - // Spec is a required field - Spec *MeshSpec `locationName:"spec" type:"structure" required:"true"` + NextToken *string `locationName:"nextToken" type:"string"` - // An object that represents the status of a service mesh. - // - // Status is a required field - Status *MeshStatus `locationName:"status" type:"structure" required:"true"` + // VirtualGateways is a required field + VirtualGateways []*VirtualGatewayRef `locationName:"virtualGateways" type:"list" required:"true"` } // String returns the string representation -func (s MeshData) String() string { +func (s ListVirtualGatewaysOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MeshData) GoString() string { +func (s ListVirtualGatewaysOutput) GoString() string { return s.String() } -// SetMeshName sets the MeshName field's value. -func (s *MeshData) SetMeshName(v string) *MeshData { - s.MeshName = &v - return s -} - -// SetMetadata sets the Metadata field's value. -func (s *MeshData) SetMetadata(v *ResourceMetadata) *MeshData { - s.Metadata = v - return s -} - -// SetSpec sets the Spec field's value. -func (s *MeshData) SetSpec(v *MeshSpec) *MeshData { - s.Spec = v +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualGatewaysOutput) SetNextToken(v string) *ListVirtualGatewaysOutput { + s.NextToken = &v return s } -// SetStatus sets the Status field's value. -func (s *MeshData) SetStatus(v *MeshStatus) *MeshData { - s.Status = v +// SetVirtualGateways sets the VirtualGateways field's value. +func (s *ListVirtualGatewaysOutput) SetVirtualGateways(v []*VirtualGatewayRef) *ListVirtualGatewaysOutput { + s.VirtualGateways = v return s } -// An object that represents a service mesh returned by a list operation. -type MeshRef struct { +type ListVirtualNodesInput struct { _ struct{} `type:"structure"` - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` // MeshName is a required field - MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // MeshOwner is a required field - MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - // ResourceOwner is a required field - ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s MeshRef) String() string { +func (s ListVirtualNodesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MeshRef) GoString() string { +func (s ListVirtualNodesInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *MeshRef) SetArn(v string) *MeshRef { - s.Arn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListVirtualNodesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListVirtualNodesInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *ListVirtualNodesInput) SetLimit(v int64) *ListVirtualNodesInput { + s.Limit = &v return s } // SetMeshName sets the MeshName field's value. -func (s *MeshRef) SetMeshName(v string) *MeshRef { +func (s *ListVirtualNodesInput) SetMeshName(v string) *ListVirtualNodesInput { s.MeshName = &v return s } // SetMeshOwner sets the MeshOwner field's value. -func (s *MeshRef) SetMeshOwner(v string) *MeshRef { +func (s *ListVirtualNodesInput) SetMeshOwner(v string) *ListVirtualNodesInput { s.MeshOwner = &v return s } -// SetResourceOwner sets the ResourceOwner field's value. -func (s *MeshRef) SetResourceOwner(v string) *MeshRef { - s.ResourceOwner = &v +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualNodesInput) SetNextToken(v string) *ListVirtualNodesInput { + s.NextToken = &v return s } -// An object that represents the specification of a service mesh. -type MeshSpec struct { +type ListVirtualNodesOutput struct { _ struct{} `type:"structure"` - // An object that represents the egress filter rules for a service mesh. - EgressFilter *EgressFilter `locationName:"egressFilter" type:"structure"` + NextToken *string `locationName:"nextToken" type:"string"` + + // VirtualNodes is a required field + VirtualNodes []*VirtualNodeRef `locationName:"virtualNodes" type:"list" required:"true"` } // String returns the string representation -func (s MeshSpec) String() string { +func (s ListVirtualNodesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MeshSpec) GoString() string { +func (s ListVirtualNodesOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *MeshSpec) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MeshSpec"} - if s.EgressFilter != nil { - if err := s.EgressFilter.Validate(); err != nil { - invalidParams.AddNested("EgressFilter", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualNodesOutput) SetNextToken(v string) *ListVirtualNodesOutput { + s.NextToken = &v + return s } -// SetEgressFilter sets the EgressFilter field's value. -func (s *MeshSpec) SetEgressFilter(v *EgressFilter) *MeshSpec { - s.EgressFilter = v +// SetVirtualNodes sets the VirtualNodes field's value. +func (s *ListVirtualNodesOutput) SetVirtualNodes(v []*VirtualNodeRef) *ListVirtualNodesOutput { + s.VirtualNodes = v return s } -// An object that represents the status of a service mesh. -type MeshStatus struct { +type ListVirtualRoutersInput struct { _ struct{} `type:"structure"` - Status *string `locationName:"status" type:"string" enum:"MeshStatusCode"` -} - -// String returns the string representation -func (s MeshStatus) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s MeshStatus) GoString() string { - return s.String() -} + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` -// SetStatus sets the Status field's value. -func (s *MeshStatus) SetStatus(v string) *MeshStatus { - s.Status = &v - return s -} + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` -// The specified resource doesn't exist. Check your request syntax and try again. -type NotFoundException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - Message_ *string `locationName:"message" type:"string"` + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation -func (s NotFoundException) String() string { +func (s ListVirtualRoutersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s NotFoundException) GoString() string { +func (s ListVirtualRoutersInput) GoString() string { return s.String() } -func newErrorNotFoundException(v protocol.ResponseMetadata) error { - return &NotFoundException{ - RespMetadata: v, - } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListVirtualRoutersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListVirtualRoutersInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *ListVirtualRoutersInput) SetLimit(v int64) *ListVirtualRoutersInput { + s.Limit = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *ListVirtualRoutersInput) SetMeshName(v string) *ListVirtualRoutersInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *ListVirtualRoutersInput) SetMeshOwner(v string) *ListVirtualRoutersInput { + s.MeshOwner = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualRoutersInput) SetNextToken(v string) *ListVirtualRoutersInput { + s.NextToken = &v + return s +} + +type ListVirtualRoutersOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `locationName:"nextToken" type:"string"` + + // VirtualRouters is a required field + VirtualRouters []*VirtualRouterRef `locationName:"virtualRouters" type:"list" required:"true"` +} + +// String returns the string representation +func (s ListVirtualRoutersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListVirtualRoutersOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualRoutersOutput) SetNextToken(v string) *ListVirtualRoutersOutput { + s.NextToken = &v + return s +} + +// SetVirtualRouters sets the VirtualRouters field's value. +func (s *ListVirtualRoutersOutput) SetVirtualRouters(v []*VirtualRouterRef) *ListVirtualRoutersOutput { + s.VirtualRouters = v + return s +} + +type ListVirtualServicesInput struct { + _ struct{} `type:"structure"` + + Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListVirtualServicesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListVirtualServicesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListVirtualServicesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListVirtualServicesInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *ListVirtualServicesInput) SetLimit(v int64) *ListVirtualServicesInput { + s.Limit = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *ListVirtualServicesInput) SetMeshName(v string) *ListVirtualServicesInput { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *ListVirtualServicesInput) SetMeshOwner(v string) *ListVirtualServicesInput { + s.MeshOwner = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualServicesInput) SetNextToken(v string) *ListVirtualServicesInput { + s.NextToken = &v + return s +} + +type ListVirtualServicesOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `locationName:"nextToken" type:"string"` + + // VirtualServices is a required field + VirtualServices []*VirtualServiceRef `locationName:"virtualServices" type:"list" required:"true"` +} + +// String returns the string representation +func (s ListVirtualServicesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListVirtualServicesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualServicesOutput) SetNextToken(v string) *ListVirtualServicesOutput { + s.NextToken = &v + return s +} + +// SetVirtualServices sets the VirtualServices field's value. +func (s *ListVirtualServicesOutput) SetVirtualServices(v []*VirtualServiceRef) *ListVirtualServicesOutput { + s.VirtualServices = v + return s +} + +// An object that represents a listener for a virtual node. +type Listener struct { + _ struct{} `type:"structure"` + + // An object that represents the health check policy for a virtual node's listener. + HealthCheck *HealthCheckPolicy `locationName:"healthCheck" type:"structure"` + + // An object that represents a port mapping. + // + // PortMapping is a required field + PortMapping *PortMapping `locationName:"portMapping" type:"structure" required:"true"` + + // An object that represents timeouts for different protocols. + Timeout *ListenerTimeout `locationName:"timeout" type:"structure"` + + // An object that represents the Transport Layer Security (TLS) properties for + // a listener. + Tls *ListenerTls `locationName:"tls" type:"structure"` +} + +// String returns the string representation +func (s Listener) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Listener) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Listener) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Listener"} + if s.PortMapping == nil { + invalidParams.Add(request.NewErrParamRequired("PortMapping")) + } + if s.HealthCheck != nil { + if err := s.HealthCheck.Validate(); err != nil { + invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) + } + } + if s.PortMapping != nil { + if err := s.PortMapping.Validate(); err != nil { + invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) + } + } + if s.Tls != nil { + if err := s.Tls.Validate(); err != nil { + invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHealthCheck sets the HealthCheck field's value. +func (s *Listener) SetHealthCheck(v *HealthCheckPolicy) *Listener { + s.HealthCheck = v + return s +} + +// SetPortMapping sets the PortMapping field's value. +func (s *Listener) SetPortMapping(v *PortMapping) *Listener { + s.PortMapping = v + return s +} + +// SetTimeout sets the Timeout field's value. +func (s *Listener) SetTimeout(v *ListenerTimeout) *Listener { + s.Timeout = v + return s +} + +// SetTls sets the Tls field's value. +func (s *Listener) SetTls(v *ListenerTls) *Listener { + s.Tls = v + return s +} + +// An object that represents timeouts for different protocols. +type ListenerTimeout struct { + _ struct{} `type:"structure"` + + // An object that represents types of timeouts. + Grpc *GrpcTimeout `locationName:"grpc" type:"structure"` + + // An object that represents types of timeouts. + Http *HttpTimeout `locationName:"http" type:"structure"` + + // An object that represents types of timeouts. + Http2 *HttpTimeout `locationName:"http2" type:"structure"` + + // An object that represents types of timeouts. + Tcp *TcpTimeout `locationName:"tcp" type:"structure"` +} + +// String returns the string representation +func (s ListenerTimeout) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListenerTimeout) GoString() string { + return s.String() +} + +// SetGrpc sets the Grpc field's value. +func (s *ListenerTimeout) SetGrpc(v *GrpcTimeout) *ListenerTimeout { + s.Grpc = v + return s +} + +// SetHttp sets the Http field's value. +func (s *ListenerTimeout) SetHttp(v *HttpTimeout) *ListenerTimeout { + s.Http = v + return s +} + +// SetHttp2 sets the Http2 field's value. +func (s *ListenerTimeout) SetHttp2(v *HttpTimeout) *ListenerTimeout { + s.Http2 = v + return s +} + +// SetTcp sets the Tcp field's value. +func (s *ListenerTimeout) SetTcp(v *TcpTimeout) *ListenerTimeout { + s.Tcp = v + return s +} + +// An object that represents the Transport Layer Security (TLS) properties for +// a listener. +type ListenerTls struct { + _ struct{} `type:"structure"` + + // An object that represents a listener's Transport Layer Security (TLS) certificate. + // + // Certificate is a required field + Certificate *ListenerTlsCertificate `locationName:"certificate" type:"structure" required:"true"` + + // Mode is a required field + Mode *string `locationName:"mode" type:"string" required:"true" enum:"ListenerTlsMode"` +} + +// String returns the string representation +func (s ListenerTls) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListenerTls) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListenerTls) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListenerTls"} + if s.Certificate == nil { + invalidParams.Add(request.NewErrParamRequired("Certificate")) + } + if s.Mode == nil { + invalidParams.Add(request.NewErrParamRequired("Mode")) + } + if s.Certificate != nil { + if err := s.Certificate.Validate(); err != nil { + invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificate sets the Certificate field's value. +func (s *ListenerTls) SetCertificate(v *ListenerTlsCertificate) *ListenerTls { + s.Certificate = v + return s +} + +// SetMode sets the Mode field's value. +func (s *ListenerTls) SetMode(v string) *ListenerTls { + s.Mode = &v + return s +} + +// An object that represents an AWS Certicate Manager (ACM) certificate. +type ListenerTlsAcmCertificate struct { + _ struct{} `type:"structure"` + + // CertificateArn is a required field + CertificateArn *string `locationName:"certificateArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListenerTlsAcmCertificate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListenerTlsAcmCertificate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListenerTlsAcmCertificate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListenerTlsAcmCertificate"} + if s.CertificateArn == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateArn sets the CertificateArn field's value. +func (s *ListenerTlsAcmCertificate) SetCertificateArn(v string) *ListenerTlsAcmCertificate { + s.CertificateArn = &v + return s +} + +// An object that represents a listener's Transport Layer Security (TLS) certificate. +type ListenerTlsCertificate struct { + _ struct{} `type:"structure"` + + // An object that represents an AWS Certicate Manager (ACM) certificate. + Acm *ListenerTlsAcmCertificate `locationName:"acm" type:"structure"` + + // An object that represents a local file certificate. The certificate must + // meet specific requirements and you must have proxy authorization enabled. + // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). + File *ListenerTlsFileCertificate `locationName:"file" type:"structure"` +} + +// String returns the string representation +func (s ListenerTlsCertificate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListenerTlsCertificate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListenerTlsCertificate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListenerTlsCertificate"} + if s.Acm != nil { + if err := s.Acm.Validate(); err != nil { + invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) + } + } + if s.File != nil { + if err := s.File.Validate(); err != nil { + invalidParams.AddNested("File", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcm sets the Acm field's value. +func (s *ListenerTlsCertificate) SetAcm(v *ListenerTlsAcmCertificate) *ListenerTlsCertificate { + s.Acm = v + return s +} + +// SetFile sets the File field's value. +func (s *ListenerTlsCertificate) SetFile(v *ListenerTlsFileCertificate) *ListenerTlsCertificate { + s.File = v + return s +} + +// An object that represents a local file certificate. The certificate must +// meet specific requirements and you must have proxy authorization enabled. +// For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). +type ListenerTlsFileCertificate struct { + _ struct{} `type:"structure"` + + // CertificateChain is a required field + CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` + + // PrivateKey is a required field + PrivateKey *string `locationName:"privateKey" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListenerTlsFileCertificate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListenerTlsFileCertificate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListenerTlsFileCertificate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListenerTlsFileCertificate"} + if s.CertificateChain == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateChain")) + } + if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) + } + if s.PrivateKey == nil { + invalidParams.Add(request.NewErrParamRequired("PrivateKey")) + } + if s.PrivateKey != nil && len(*s.PrivateKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateChain sets the CertificateChain field's value. +func (s *ListenerTlsFileCertificate) SetCertificateChain(v string) *ListenerTlsFileCertificate { + s.CertificateChain = &v + return s +} + +// SetPrivateKey sets the PrivateKey field's value. +func (s *ListenerTlsFileCertificate) SetPrivateKey(v string) *ListenerTlsFileCertificate { + s.PrivateKey = &v + return s +} + +// An object that represents the logging information for a virtual node. +type Logging struct { + _ struct{} `type:"structure"` + + // An object that represents the access logging information for a virtual node. + AccessLog *AccessLog `locationName:"accessLog" type:"structure"` +} + +// String returns the string representation +func (s Logging) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Logging) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Logging) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Logging"} + if s.AccessLog != nil { + if err := s.AccessLog.Validate(); err != nil { + invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessLog sets the AccessLog field's value. +func (s *Logging) SetAccessLog(v *AccessLog) *Logging { + s.AccessLog = v + return s +} + +// An object that represents the range of values to match on. The first character +// of the range is included in the range, though the last character is not. +// For example, if the range specified were 1-100, only values 1-99 would be +// matched. +type MatchRange struct { + _ struct{} `type:"structure"` + + // End is a required field + End *int64 `locationName:"end" type:"long" required:"true"` + + // Start is a required field + Start *int64 `locationName:"start" type:"long" required:"true"` +} + +// String returns the string representation +func (s MatchRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MatchRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MatchRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MatchRange"} + if s.End == nil { + invalidParams.Add(request.NewErrParamRequired("End")) + } + if s.Start == nil { + invalidParams.Add(request.NewErrParamRequired("Start")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnd sets the End field's value. +func (s *MatchRange) SetEnd(v int64) *MatchRange { + s.End = &v + return s +} + +// SetStart sets the Start field's value. +func (s *MatchRange) SetStart(v int64) *MatchRange { + s.Start = &v + return s +} + +// An object that represents a service mesh returned by a describe operation. +type MeshData struct { + _ struct{} `type:"structure"` + + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // An object that represents metadata for a resource. + // + // Metadata is a required field + Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` + + // An object that represents the specification of a service mesh. + // + // Spec is a required field + Spec *MeshSpec `locationName:"spec" type:"structure" required:"true"` + + // An object that represents the status of a service mesh. + // + // Status is a required field + Status *MeshStatus `locationName:"status" type:"structure" required:"true"` +} + +// String returns the string representation +func (s MeshData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MeshData) GoString() string { + return s.String() +} + +// SetMeshName sets the MeshName field's value. +func (s *MeshData) SetMeshName(v string) *MeshData { + s.MeshName = &v + return s +} + +// SetMetadata sets the Metadata field's value. +func (s *MeshData) SetMetadata(v *ResourceMetadata) *MeshData { + s.Metadata = v + return s +} + +// SetSpec sets the Spec field's value. +func (s *MeshData) SetSpec(v *MeshSpec) *MeshData { + s.Spec = v + return s +} + +// SetStatus sets the Status field's value. +func (s *MeshData) SetStatus(v *MeshStatus) *MeshData { + s.Status = v + return s +} + +// An object that represents a service mesh returned by a list operation. +type MeshRef struct { + _ struct{} `type:"structure"` + + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // MeshOwner is a required field + MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` + + // ResourceOwner is a required field + ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + + // Version is a required field + Version *int64 `locationName:"version" type:"long" required:"true"` +} + +// String returns the string representation +func (s MeshRef) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MeshRef) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *MeshRef) SetArn(v string) *MeshRef { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *MeshRef) SetCreatedAt(v time.Time) *MeshRef { + s.CreatedAt = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *MeshRef) SetLastUpdatedAt(v time.Time) *MeshRef { + s.LastUpdatedAt = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *MeshRef) SetMeshName(v string) *MeshRef { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *MeshRef) SetMeshOwner(v string) *MeshRef { + s.MeshOwner = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *MeshRef) SetResourceOwner(v string) *MeshRef { + s.ResourceOwner = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *MeshRef) SetVersion(v int64) *MeshRef { + s.Version = &v + return s +} + +// An object that represents the specification of a service mesh. +type MeshSpec struct { + _ struct{} `type:"structure"` + + // An object that represents the egress filter rules for a service mesh. + EgressFilter *EgressFilter `locationName:"egressFilter" type:"structure"` +} + +// String returns the string representation +func (s MeshSpec) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MeshSpec) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MeshSpec) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MeshSpec"} + if s.EgressFilter != nil { + if err := s.EgressFilter.Validate(); err != nil { + invalidParams.AddNested("EgressFilter", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEgressFilter sets the EgressFilter field's value. +func (s *MeshSpec) SetEgressFilter(v *EgressFilter) *MeshSpec { + s.EgressFilter = v + return s +} + +// An object that represents the status of a service mesh. +type MeshStatus struct { + _ struct{} `type:"structure"` + + Status *string `locationName:"status" type:"string" enum:"MeshStatusCode"` +} + +// String returns the string representation +func (s MeshStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MeshStatus) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *MeshStatus) SetStatus(v string) *MeshStatus { + s.Status = &v + return s +} + +// The specified resource doesn't exist. Check your request syntax and try again. +type NotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s NotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotFoundException) GoString() string { + return s.String() +} + +func newErrorNotFoundException(v protocol.ResponseMetadata) error { + return &NotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *NotFoundException) Code() string { + return "NotFoundException" +} + +// Message returns the exception's message. +func (s *NotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *NotFoundException) OrigErr() error { + return nil +} + +func (s *NotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *NotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *NotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An object that represents a port mapping. +type PortMapping struct { + _ struct{} `type:"structure"` + + // Port is a required field + Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"` + + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` +} + +// String returns the string representation +func (s PortMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PortMapping) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PortMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PortMapping"} + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPort sets the Port field's value. +func (s *PortMapping) SetPort(v int64) *PortMapping { + s.Port = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *PortMapping) SetProtocol(v string) *PortMapping { + s.Protocol = &v + return s +} + +// You can't delete the specified resource because it's in use or required by +// another resource. +type ResourceInUseException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ResourceInUseException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceInUseException) GoString() string { + return s.String() +} + +func newErrorResourceInUseException(v protocol.ResponseMetadata) error { + return &ResourceInUseException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceInUseException) Code() string { + return "ResourceInUseException" +} + +// Message returns the exception's message. +func (s *ResourceInUseException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceInUseException) OrigErr() error { + return nil +} + +func (s *ResourceInUseException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceInUseException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceInUseException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An object that represents metadata for a resource. +type ResourceMetadata struct { + _ struct{} `type:"structure"` + + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + + // MeshOwner is a required field + MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` + + // ResourceOwner is a required field + ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + + // Uid is a required field + Uid *string `locationName:"uid" type:"string" required:"true"` + + // Version is a required field + Version *int64 `locationName:"version" type:"long" required:"true"` +} + +// String returns the string representation +func (s ResourceMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceMetadata) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ResourceMetadata) SetArn(v string) *ResourceMetadata { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *ResourceMetadata) SetCreatedAt(v time.Time) *ResourceMetadata { + s.CreatedAt = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *ResourceMetadata) SetLastUpdatedAt(v time.Time) *ResourceMetadata { + s.LastUpdatedAt = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *ResourceMetadata) SetMeshOwner(v string) *ResourceMetadata { + s.MeshOwner = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *ResourceMetadata) SetResourceOwner(v string) *ResourceMetadata { + s.ResourceOwner = &v + return s +} + +// SetUid sets the Uid field's value. +func (s *ResourceMetadata) SetUid(v string) *ResourceMetadata { + s.Uid = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *ResourceMetadata) SetVersion(v int64) *ResourceMetadata { + s.Version = &v + return s +} + +// An object that represents a route returned by a describe operation. +type RouteData struct { + _ struct{} `type:"structure"` + + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // An object that represents metadata for a resource. + // + // Metadata is a required field + Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` + + // RouteName is a required field + RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` + + // An object that represents a route specification. Specify one route type. + // + // Spec is a required field + Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` + + // An object that represents the current status of a route. + // + // Status is a required field + Status *RouteStatus `locationName:"status" type:"structure" required:"true"` + + // VirtualRouterName is a required field + VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s RouteData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RouteData) GoString() string { + return s.String() +} + +// SetMeshName sets the MeshName field's value. +func (s *RouteData) SetMeshName(v string) *RouteData { + s.MeshName = &v + return s +} + +// SetMetadata sets the Metadata field's value. +func (s *RouteData) SetMetadata(v *ResourceMetadata) *RouteData { + s.Metadata = v + return s +} + +// SetRouteName sets the RouteName field's value. +func (s *RouteData) SetRouteName(v string) *RouteData { + s.RouteName = &v + return s +} + +// SetSpec sets the Spec field's value. +func (s *RouteData) SetSpec(v *RouteSpec) *RouteData { + s.Spec = v + return s +} + +// SetStatus sets the Status field's value. +func (s *RouteData) SetStatus(v *RouteStatus) *RouteData { + s.Status = v + return s +} + +// SetVirtualRouterName sets the VirtualRouterName field's value. +func (s *RouteData) SetVirtualRouterName(v string) *RouteData { + s.VirtualRouterName = &v + return s +} + +// An object that represents a route returned by a list operation. +type RouteRef struct { + _ struct{} `type:"structure"` + + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // MeshOwner is a required field + MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` + + // ResourceOwner is a required field + ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + + // RouteName is a required field + RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` + + // Version is a required field + Version *int64 `locationName:"version" type:"long" required:"true"` + + // VirtualRouterName is a required field + VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s RouteRef) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RouteRef) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *RouteRef) SetArn(v string) *RouteRef { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *RouteRef) SetCreatedAt(v time.Time) *RouteRef { + s.CreatedAt = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *RouteRef) SetLastUpdatedAt(v time.Time) *RouteRef { + s.LastUpdatedAt = &v + return s +} + +// SetMeshName sets the MeshName field's value. +func (s *RouteRef) SetMeshName(v string) *RouteRef { + s.MeshName = &v + return s +} + +// SetMeshOwner sets the MeshOwner field's value. +func (s *RouteRef) SetMeshOwner(v string) *RouteRef { + s.MeshOwner = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *RouteRef) SetResourceOwner(v string) *RouteRef { + s.ResourceOwner = &v + return s +} + +// SetRouteName sets the RouteName field's value. +func (s *RouteRef) SetRouteName(v string) *RouteRef { + s.RouteName = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *RouteRef) SetVersion(v int64) *RouteRef { + s.Version = &v + return s +} + +// SetVirtualRouterName sets the VirtualRouterName field's value. +func (s *RouteRef) SetVirtualRouterName(v string) *RouteRef { + s.VirtualRouterName = &v + return s +} + +// An object that represents a route specification. Specify one route type. +type RouteSpec struct { + _ struct{} `type:"structure"` + + // An object that represents a gRPC route type. + GrpcRoute *GrpcRoute `locationName:"grpcRoute" type:"structure"` + + // An object that represents an HTTP or HTTP/2 route type. + Http2Route *HttpRoute `locationName:"http2Route" type:"structure"` + + // An object that represents an HTTP or HTTP/2 route type. + HttpRoute *HttpRoute `locationName:"httpRoute" type:"structure"` + + Priority *int64 `locationName:"priority" type:"integer"` + + // An object that represents a TCP route type. + TcpRoute *TcpRoute `locationName:"tcpRoute" type:"structure"` +} + +// String returns the string representation +func (s RouteSpec) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RouteSpec) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RouteSpec) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RouteSpec"} + if s.GrpcRoute != nil { + if err := s.GrpcRoute.Validate(); err != nil { + invalidParams.AddNested("GrpcRoute", err.(request.ErrInvalidParams)) + } + } + if s.Http2Route != nil { + if err := s.Http2Route.Validate(); err != nil { + invalidParams.AddNested("Http2Route", err.(request.ErrInvalidParams)) + } + } + if s.HttpRoute != nil { + if err := s.HttpRoute.Validate(); err != nil { + invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams)) + } + } + if s.TcpRoute != nil { + if err := s.TcpRoute.Validate(); err != nil { + invalidParams.AddNested("TcpRoute", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGrpcRoute sets the GrpcRoute field's value. +func (s *RouteSpec) SetGrpcRoute(v *GrpcRoute) *RouteSpec { + s.GrpcRoute = v + return s +} + +// SetHttp2Route sets the Http2Route field's value. +func (s *RouteSpec) SetHttp2Route(v *HttpRoute) *RouteSpec { + s.Http2Route = v + return s +} + +// SetHttpRoute sets the HttpRoute field's value. +func (s *RouteSpec) SetHttpRoute(v *HttpRoute) *RouteSpec { + s.HttpRoute = v + return s +} + +// SetPriority sets the Priority field's value. +func (s *RouteSpec) SetPriority(v int64) *RouteSpec { + s.Priority = &v + return s +} + +// SetTcpRoute sets the TcpRoute field's value. +func (s *RouteSpec) SetTcpRoute(v *TcpRoute) *RouteSpec { + s.TcpRoute = v + return s +} + +// An object that represents the current status of a route. +type RouteStatus struct { + _ struct{} `type:"structure"` + + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"RouteStatusCode"` +} + +// String returns the string representation +func (s RouteStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RouteStatus) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *RouteStatus) SetStatus(v string) *RouteStatus { + s.Status = &v + return s +} + +// An object that represents the service discovery information for a virtual +// node. +type ServiceDiscovery struct { + _ struct{} `type:"structure"` + + // An object that represents the AWS Cloud Map service discovery information + // for your virtual node. + AwsCloudMap *AwsCloudMapServiceDiscovery `locationName:"awsCloudMap" type:"structure"` + + // An object that represents the DNS service discovery information for your + // virtual node. + Dns *DnsServiceDiscovery `locationName:"dns" type:"structure"` +} + +// String returns the string representation +func (s ServiceDiscovery) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceDiscovery) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ServiceDiscovery) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ServiceDiscovery"} + if s.AwsCloudMap != nil { + if err := s.AwsCloudMap.Validate(); err != nil { + invalidParams.AddNested("AwsCloudMap", err.(request.ErrInvalidParams)) + } + } + if s.Dns != nil { + if err := s.Dns.Validate(); err != nil { + invalidParams.AddNested("Dns", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsCloudMap sets the AwsCloudMap field's value. +func (s *ServiceDiscovery) SetAwsCloudMap(v *AwsCloudMapServiceDiscovery) *ServiceDiscovery { + s.AwsCloudMap = v + return s +} + +// SetDns sets the Dns field's value. +func (s *ServiceDiscovery) SetDns(v *DnsServiceDiscovery) *ServiceDiscovery { + s.Dns = v + return s +} + +// The request has failed due to a temporary failure of the service. +type ServiceUnavailableException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ServiceUnavailableException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceUnavailableException) GoString() string { + return s.String() +} + +func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { + return &ServiceUnavailableException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceUnavailableException) Code() string { + return "ServiceUnavailableException" +} + +// Message returns the exception's message. +func (s *ServiceUnavailableException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceUnavailableException) OrigErr() error { + return nil +} + +func (s *ServiceUnavailableException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceUnavailableException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceUnavailableException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Optional metadata that you apply to a resource to assist with categorization +// and organization. Each tag consists of a key and an optional value, both +// of which you define. Tag keys can have a maximum character length of 128 +// characters, and tag values can have a maximum length of 256 characters. +type TagRef struct { + _ struct{} `type:"structure"` + + // Key is a required field + Key *string `locationName:"key" min:"1" type:"string" required:"true"` + + Value *string `locationName:"value" type:"string"` +} + +// String returns the string representation +func (s TagRef) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagRef) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagRef) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagRef"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *TagRef) SetKey(v string) *TagRef { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *TagRef) SetValue(v string) *TagRef { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` + + // Tags is a required field + Tags []*TagRef `locationName:"tags" type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*TagRef) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// An object that represents a TCP route type. +type TcpRoute struct { + _ struct{} `type:"structure"` + + // An object that represents the action to take if a match is determined. + // + // Action is a required field + Action *TcpRouteAction `locationName:"action" type:"structure" required:"true"` + + // An object that represents types of timeouts. + Timeout *TcpTimeout `locationName:"timeout" type:"structure"` +} + +// String returns the string representation +func (s TcpRoute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TcpRoute) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TcpRoute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TcpRoute"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAction sets the Action field's value. +func (s *TcpRoute) SetAction(v *TcpRouteAction) *TcpRoute { + s.Action = v + return s +} + +// SetTimeout sets the Timeout field's value. +func (s *TcpRoute) SetTimeout(v *TcpTimeout) *TcpRoute { + s.Timeout = v + return s +} + +// An object that represents the action to take if a match is determined. +type TcpRouteAction struct { + _ struct{} `type:"structure"` + + // WeightedTargets is a required field + WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s TcpRouteAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TcpRouteAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TcpRouteAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TcpRouteAction"} + if s.WeightedTargets == nil { + invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) + } + if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) + } + if s.WeightedTargets != nil { + for i, v := range s.WeightedTargets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWeightedTargets sets the WeightedTargets field's value. +func (s *TcpRouteAction) SetWeightedTargets(v []*WeightedTarget) *TcpRouteAction { + s.WeightedTargets = v + return s +} + +// An object that represents types of timeouts. +type TcpTimeout struct { + _ struct{} `type:"structure"` + + // An object that represents a duration of time. + Idle *Duration `locationName:"idle" type:"structure"` +} + +// String returns the string representation +func (s TcpTimeout) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TcpTimeout) GoString() string { + return s.String() +} + +// SetIdle sets the Idle field's value. +func (s *TcpTimeout) SetIdle(v *Duration) *TcpTimeout { + s.Idle = v + return s +} + +// An object that represents a Transport Layer Security (TLS) validation context. +type TlsValidationContext struct { + _ struct{} `type:"structure"` + + // An object that represents a Transport Layer Security (TLS) validation context + // trust. + // + // Trust is a required field + Trust *TlsValidationContextTrust `locationName:"trust" type:"structure" required:"true"` +} + +// String returns the string representation +func (s TlsValidationContext) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TlsValidationContext) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TlsValidationContext) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TlsValidationContext"} + if s.Trust == nil { + invalidParams.Add(request.NewErrParamRequired("Trust")) + } + if s.Trust != nil { + if err := s.Trust.Validate(); err != nil { + invalidParams.AddNested("Trust", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTrust sets the Trust field's value. +func (s *TlsValidationContext) SetTrust(v *TlsValidationContextTrust) *TlsValidationContext { + s.Trust = v + return s +} + +// An object that represents a TLS validation context trust for an AWS Certicate +// Manager (ACM) certificate. +type TlsValidationContextAcmTrust struct { + _ struct{} `type:"structure"` + + // CertificateAuthorityArns is a required field + CertificateAuthorityArns []*string `locationName:"certificateAuthorityArns" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s TlsValidationContextAcmTrust) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TlsValidationContextAcmTrust) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TlsValidationContextAcmTrust) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextAcmTrust"} + if s.CertificateAuthorityArns == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArns")) + } + if s.CertificateAuthorityArns != nil && len(s.CertificateAuthorityArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateAuthorityArns sets the CertificateAuthorityArns field's value. +func (s *TlsValidationContextAcmTrust) SetCertificateAuthorityArns(v []*string) *TlsValidationContextAcmTrust { + s.CertificateAuthorityArns = v + return s +} + +// An object that represents a Transport Layer Security (TLS) validation context +// trust for a local file. +type TlsValidationContextFileTrust struct { + _ struct{} `type:"structure"` + + // CertificateChain is a required field + CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s TlsValidationContextFileTrust) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TlsValidationContextFileTrust) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TlsValidationContextFileTrust) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextFileTrust"} + if s.CertificateChain == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateChain")) + } + if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateChain sets the CertificateChain field's value. +func (s *TlsValidationContextFileTrust) SetCertificateChain(v string) *TlsValidationContextFileTrust { + s.CertificateChain = &v + return s +} + +// An object that represents a Transport Layer Security (TLS) validation context +// trust. +type TlsValidationContextTrust struct { + _ struct{} `type:"structure"` + + // An object that represents a TLS validation context trust for an AWS Certicate + // Manager (ACM) certificate. + Acm *TlsValidationContextAcmTrust `locationName:"acm" type:"structure"` + + // An object that represents a Transport Layer Security (TLS) validation context + // trust for a local file. + File *TlsValidationContextFileTrust `locationName:"file" type:"structure"` +} + +// String returns the string representation +func (s TlsValidationContextTrust) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TlsValidationContextTrust) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TlsValidationContextTrust) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextTrust"} + if s.Acm != nil { + if err := s.Acm.Validate(); err != nil { + invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) + } + } + if s.File != nil { + if err := s.File.Validate(); err != nil { + invalidParams.AddNested("File", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcm sets the Acm field's value. +func (s *TlsValidationContextTrust) SetAcm(v *TlsValidationContextAcmTrust) *TlsValidationContextTrust { + s.Acm = v + return s +} + +// SetFile sets the File field's value. +func (s *TlsValidationContextTrust) SetFile(v *TlsValidationContextFileTrust) *TlsValidationContextTrust { + s.File = v + return s +} + +// The maximum request rate permitted by the App Mesh APIs has been exceeded +// for your account. For best results, use an increasing or variable sleep interval +// between requests. +type TooManyRequestsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s TooManyRequestsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TooManyRequestsException) GoString() string { + return s.String() +} + +func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error { + return &TooManyRequestsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *TooManyRequestsException) Code() string { + return "TooManyRequestsException" +} + +// Message returns the exception's message. +func (s *TooManyRequestsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TooManyRequestsException) OrigErr() error { + return nil +} + +func (s *TooManyRequestsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *TooManyRequestsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *TooManyRequestsException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The request exceeds the maximum allowed number of tags allowed per resource. +// The current limit is 50 user tags per resource. You must reduce the number +// of tags in the request. None of the tags in this request were applied. +type TooManyTagsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s TooManyTagsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TooManyTagsException) GoString() string { + return s.String() +} + +func newErrorTooManyTagsException(v protocol.ResponseMetadata) error { + return &TooManyTagsException{ + RespMetadata: v, + } } // Code returns the exception type name. -func (s *NotFoundException) Code() string { - return "NotFoundException" +func (s *TooManyTagsException) Code() string { + return "TooManyTagsException" } // Message returns the exception's message. -func (s *NotFoundException) Message() string { +func (s *TooManyTagsException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -7710,56 +11674,52 @@ func (s *NotFoundException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *NotFoundException) OrigErr() error { +func (s *TooManyTagsException) OrigErr() error { return nil } -func (s *NotFoundException) Error() string { +func (s *TooManyTagsException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *NotFoundException) StatusCode() int { +func (s *TooManyTagsException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *NotFoundException) RequestID() string { +func (s *TooManyTagsException) RequestID() string { return s.RespMetadata.RequestID } -// An object that represents a port mapping. -type PortMapping struct { +type UntagResourceInput struct { _ struct{} `type:"structure"` - // Port is a required field - Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"` + // ResourceArn is a required field + ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` - // Protocol is a required field - Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"PortProtocol"` + // TagKeys is a required field + TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` } // String returns the string representation -func (s PortMapping) String() string { +func (s UntagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PortMapping) GoString() string { +func (s UntagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *PortMapping) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PortMapping"} - if s.Port == nil { - invalidParams.Add(request.NewErrParamRequired("Port")) - } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.Protocol == nil { - invalidParams.Add(request.NewErrParamRequired("Protocol")) + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) } if invalidParams.Len() > 0 { @@ -7768,347 +11728,436 @@ func (s *PortMapping) Validate() error { return nil } -// SetPort sets the Port field's value. -func (s *PortMapping) SetPort(v int64) *PortMapping { - s.Port = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v return s } -// SetProtocol sets the Protocol field's value. -func (s *PortMapping) SetProtocol(v string) *PortMapping { - s.Protocol = &v +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v return s } -// You can't delete the specified resource because it's in use or required by -// another resource. -type ResourceInUseException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} - Message_ *string `locationName:"message" type:"string"` +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateGatewayRouteInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // GatewayRouteName is a required field + GatewayRouteName *string `location:"uri" locationName:"gatewayRouteName" min:"1" type:"string" required:"true"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // An object that represents a gateway route specification. Specify one gateway + // route type. + // + // Spec is a required field + Spec *GatewayRouteSpec `locationName:"spec" type:"structure" required:"true"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ResourceInUseException) String() string { +func (s UpdateGatewayRouteInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourceInUseException) GoString() string { +func (s UpdateGatewayRouteInput) GoString() string { return s.String() } -func newErrorResourceInUseException(v protocol.ResponseMetadata) error { - return &ResourceInUseException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateGatewayRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayRouteInput"} + if s.GatewayRouteName == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayRouteName")) + } + if s.GatewayRouteName != nil && len(*s.GatewayRouteName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GatewayRouteName", 1)) + } + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) + } + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *ResourceInUseException) Code() string { - return "ResourceInUseException" +// SetClientToken sets the ClientToken field's value. +func (s *UpdateGatewayRouteInput) SetClientToken(v string) *UpdateGatewayRouteInput { + s.ClientToken = &v + return s } -// Message returns the exception's message. -func (s *ResourceInUseException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetGatewayRouteName sets the GatewayRouteName field's value. +func (s *UpdateGatewayRouteInput) SetGatewayRouteName(v string) *UpdateGatewayRouteInput { + s.GatewayRouteName = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceInUseException) OrigErr() error { - return nil +// SetMeshName sets the MeshName field's value. +func (s *UpdateGatewayRouteInput) SetMeshName(v string) *UpdateGatewayRouteInput { + s.MeshName = &v + return s } -func (s *ResourceInUseException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetMeshOwner sets the MeshOwner field's value. +func (s *UpdateGatewayRouteInput) SetMeshOwner(v string) *UpdateGatewayRouteInput { + s.MeshOwner = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceInUseException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetSpec sets the Spec field's value. +func (s *UpdateGatewayRouteInput) SetSpec(v *GatewayRouteSpec) *UpdateGatewayRouteInput { + s.Spec = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceInUseException) RequestID() string { - return s.RespMetadata.RequestID +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *UpdateGatewayRouteInput) SetVirtualGatewayName(v string) *UpdateGatewayRouteInput { + s.VirtualGatewayName = &v + return s } -// An object that represents metadata for a resource. -type ResourceMetadata struct { - _ struct{} `type:"structure"` +type UpdateGatewayRouteOutput struct { + _ struct{} `type:"structure" payload:"GatewayRoute"` - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` + // An object that represents a gateway route returned by a describe operation. + // + // GatewayRoute is a required field + GatewayRoute *GatewayRouteData `locationName:"gatewayRoute" type:"structure" required:"true"` +} - // CreatedAt is a required field - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` +// String returns the string representation +func (s UpdateGatewayRouteOutput) String() string { + return awsutil.Prettify(s) +} - // LastUpdatedAt is a required field - LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` +// GoString returns the string representation +func (s UpdateGatewayRouteOutput) GoString() string { + return s.String() +} - // MeshOwner is a required field - MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` +// SetGatewayRoute sets the GatewayRoute field's value. +func (s *UpdateGatewayRouteOutput) SetGatewayRoute(v *GatewayRouteData) *UpdateGatewayRouteOutput { + s.GatewayRoute = v + return s +} - // ResourceOwner is a required field - ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` +type UpdateMeshInput struct { + _ struct{} `type:"structure"` - // Uid is a required field - Uid *string `locationName:"uid" type:"string" required:"true"` + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - // Version is a required field - Version *int64 `locationName:"version" type:"long" required:"true"` + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + // An object that represents the specification of a service mesh. + Spec *MeshSpec `locationName:"spec" type:"structure"` } // String returns the string representation -func (s ResourceMetadata) String() string { +func (s UpdateMeshInput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s ResourceMetadata) GoString() string { - return s.String() +// GoString returns the string representation +func (s UpdateMeshInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMeshInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMeshInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetArn sets the Arn field's value. -func (s *ResourceMetadata) SetArn(v string) *ResourceMetadata { - s.Arn = &v +// SetClientToken sets the ClientToken field's value. +func (s *UpdateMeshInput) SetClientToken(v string) *UpdateMeshInput { + s.ClientToken = &v return s } -// SetCreatedAt sets the CreatedAt field's value. -func (s *ResourceMetadata) SetCreatedAt(v time.Time) *ResourceMetadata { - s.CreatedAt = &v +// SetMeshName sets the MeshName field's value. +func (s *UpdateMeshInput) SetMeshName(v string) *UpdateMeshInput { + s.MeshName = &v return s } -// SetLastUpdatedAt sets the LastUpdatedAt field's value. -func (s *ResourceMetadata) SetLastUpdatedAt(v time.Time) *ResourceMetadata { - s.LastUpdatedAt = &v +// SetSpec sets the Spec field's value. +func (s *UpdateMeshInput) SetSpec(v *MeshSpec) *UpdateMeshInput { + s.Spec = v return s } -// SetMeshOwner sets the MeshOwner field's value. -func (s *ResourceMetadata) SetMeshOwner(v string) *ResourceMetadata { - s.MeshOwner = &v - return s +type UpdateMeshOutput struct { + _ struct{} `type:"structure" payload:"Mesh"` + + // An object that represents a service mesh returned by a describe operation. + // + // Mesh is a required field + Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` } -// SetResourceOwner sets the ResourceOwner field's value. -func (s *ResourceMetadata) SetResourceOwner(v string) *ResourceMetadata { - s.ResourceOwner = &v - return s +// String returns the string representation +func (s UpdateMeshOutput) String() string { + return awsutil.Prettify(s) } -// SetUid sets the Uid field's value. -func (s *ResourceMetadata) SetUid(v string) *ResourceMetadata { - s.Uid = &v - return s +// GoString returns the string representation +func (s UpdateMeshOutput) GoString() string { + return s.String() } -// SetVersion sets the Version field's value. -func (s *ResourceMetadata) SetVersion(v int64) *ResourceMetadata { - s.Version = &v +// SetMesh sets the Mesh field's value. +func (s *UpdateMeshOutput) SetMesh(v *MeshData) *UpdateMeshOutput { + s.Mesh = v return s } -// An object that represents a route returned by a describe operation. -type RouteData struct { +type UpdateRouteInput struct { _ struct{} `type:"structure"` + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + // MeshName is a required field - MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // An object that represents metadata for a resource. - // - // Metadata is a required field - Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` // RouteName is a required field - RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` + RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` // An object that represents a route specification. Specify one route type. // // Spec is a required field Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` - // An object that represents the current status of a route. - // - // Status is a required field - Status *RouteStatus `locationName:"status" type:"structure" required:"true"` - // VirtualRouterName is a required field - VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s RouteData) String() string { +func (s UpdateRouteInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RouteData) GoString() string { +func (s UpdateRouteInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRouteInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRouteInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.RouteName == nil { + invalidParams.Add(request.NewErrParamRequired("RouteName")) + } + if s.RouteName != nil && len(*s.RouteName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualRouterName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) + } + if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateRouteInput) SetClientToken(v string) *UpdateRouteInput { + s.ClientToken = &v + return s +} + // SetMeshName sets the MeshName field's value. -func (s *RouteData) SetMeshName(v string) *RouteData { +func (s *UpdateRouteInput) SetMeshName(v string) *UpdateRouteInput { s.MeshName = &v return s } -// SetMetadata sets the Metadata field's value. -func (s *RouteData) SetMetadata(v *ResourceMetadata) *RouteData { - s.Metadata = v +// SetMeshOwner sets the MeshOwner field's value. +func (s *UpdateRouteInput) SetMeshOwner(v string) *UpdateRouteInput { + s.MeshOwner = &v return s } // SetRouteName sets the RouteName field's value. -func (s *RouteData) SetRouteName(v string) *RouteData { +func (s *UpdateRouteInput) SetRouteName(v string) *UpdateRouteInput { s.RouteName = &v return s } // SetSpec sets the Spec field's value. -func (s *RouteData) SetSpec(v *RouteSpec) *RouteData { +func (s *UpdateRouteInput) SetSpec(v *RouteSpec) *UpdateRouteInput { s.Spec = v return s } -// SetStatus sets the Status field's value. -func (s *RouteData) SetStatus(v *RouteStatus) *RouteData { - s.Status = v - return s -} - // SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *RouteData) SetVirtualRouterName(v string) *RouteData { +func (s *UpdateRouteInput) SetVirtualRouterName(v string) *UpdateRouteInput { s.VirtualRouterName = &v return s } -// An object that represents a route returned by a list operation. -type RouteRef struct { - _ struct{} `type:"structure"` - - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` - - // MeshName is a required field - MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` - - // MeshOwner is a required field - MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` - - // ResourceOwner is a required field - ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` - - // RouteName is a required field - RouteName *string `locationName:"routeName" min:"1" type:"string" required:"true"` +type UpdateRouteOutput struct { + _ struct{} `type:"structure" payload:"Route"` - // VirtualRouterName is a required field - VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // An object that represents a route returned by a describe operation. + // + // Route is a required field + Route *RouteData `locationName:"route" type:"structure" required:"true"` } // String returns the string representation -func (s RouteRef) String() string { +func (s UpdateRouteOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RouteRef) GoString() string { +func (s UpdateRouteOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *RouteRef) SetArn(v string) *RouteRef { - s.Arn = &v - return s -} - -// SetMeshName sets the MeshName field's value. -func (s *RouteRef) SetMeshName(v string) *RouteRef { - s.MeshName = &v - return s -} - -// SetMeshOwner sets the MeshOwner field's value. -func (s *RouteRef) SetMeshOwner(v string) *RouteRef { - s.MeshOwner = &v - return s -} - -// SetResourceOwner sets the ResourceOwner field's value. -func (s *RouteRef) SetResourceOwner(v string) *RouteRef { - s.ResourceOwner = &v - return s -} - -// SetRouteName sets the RouteName field's value. -func (s *RouteRef) SetRouteName(v string) *RouteRef { - s.RouteName = &v - return s -} - -// SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *RouteRef) SetVirtualRouterName(v string) *RouteRef { - s.VirtualRouterName = &v +// SetRoute sets the Route field's value. +func (s *UpdateRouteOutput) SetRoute(v *RouteData) *UpdateRouteOutput { + s.Route = v return s } -// An object that represents a route specification. Specify one route type. -type RouteSpec struct { +type UpdateVirtualGatewayInput struct { _ struct{} `type:"structure"` - // An object that represents a gRPC route type. - GrpcRoute *GrpcRoute `locationName:"grpcRoute" type:"structure"` + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - // An object that represents an HTTP or HTTP/2 route type. - Http2Route *HttpRoute `locationName:"http2Route" type:"structure"` + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - // An object that represents an HTTP or HTTP/2 route type. - HttpRoute *HttpRoute `locationName:"httpRoute" type:"structure"` + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - Priority *int64 `locationName:"priority" type:"integer"` + // An object that represents the specification of a service mesh resource. + // + // Spec is a required field + Spec *VirtualGatewaySpec `locationName:"spec" type:"structure" required:"true"` - // An object that represents a TCP route type. - TcpRoute *TcpRoute `locationName:"tcpRoute" type:"structure"` + // VirtualGatewayName is a required field + VirtualGatewayName *string `location:"uri" locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s RouteSpec) String() string { +func (s UpdateVirtualGatewayInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RouteSpec) GoString() string { +func (s UpdateVirtualGatewayInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RouteSpec) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RouteSpec"} - if s.GrpcRoute != nil { - if err := s.GrpcRoute.Validate(); err != nil { - invalidParams.AddNested("GrpcRoute", err.(request.ErrInvalidParams)) - } +func (s *UpdateVirtualGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualGatewayInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) } - if s.Http2Route != nil { - if err := s.Http2Route.Validate(); err != nil { - invalidParams.AddNested("Http2Route", err.(request.ErrInvalidParams)) - } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } - if s.HttpRoute != nil { - if err := s.HttpRoute.Validate(); err != nil { - invalidParams.AddNested("HttpRoute", err.(request.ErrInvalidParams)) - } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualGatewayName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualGatewayName")) } - if s.TcpRoute != nil { - if err := s.TcpRoute.Validate(); err != nil { - invalidParams.AddNested("TcpRoute", err.(request.ErrInvalidParams)) + if s.VirtualGatewayName != nil && len(*s.VirtualGatewayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualGatewayName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) } } @@ -8118,95 +12167,114 @@ func (s *RouteSpec) Validate() error { return nil } -// SetGrpcRoute sets the GrpcRoute field's value. -func (s *RouteSpec) SetGrpcRoute(v *GrpcRoute) *RouteSpec { - s.GrpcRoute = v +// SetClientToken sets the ClientToken field's value. +func (s *UpdateVirtualGatewayInput) SetClientToken(v string) *UpdateVirtualGatewayInput { + s.ClientToken = &v return s } -// SetHttp2Route sets the Http2Route field's value. -func (s *RouteSpec) SetHttp2Route(v *HttpRoute) *RouteSpec { - s.Http2Route = v +// SetMeshName sets the MeshName field's value. +func (s *UpdateVirtualGatewayInput) SetMeshName(v string) *UpdateVirtualGatewayInput { + s.MeshName = &v return s } -// SetHttpRoute sets the HttpRoute field's value. -func (s *RouteSpec) SetHttpRoute(v *HttpRoute) *RouteSpec { - s.HttpRoute = v +// SetMeshOwner sets the MeshOwner field's value. +func (s *UpdateVirtualGatewayInput) SetMeshOwner(v string) *UpdateVirtualGatewayInput { + s.MeshOwner = &v return s } -// SetPriority sets the Priority field's value. -func (s *RouteSpec) SetPriority(v int64) *RouteSpec { - s.Priority = &v +// SetSpec sets the Spec field's value. +func (s *UpdateVirtualGatewayInput) SetSpec(v *VirtualGatewaySpec) *UpdateVirtualGatewayInput { + s.Spec = v return s } -// SetTcpRoute sets the TcpRoute field's value. -func (s *RouteSpec) SetTcpRoute(v *TcpRoute) *RouteSpec { - s.TcpRoute = v +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *UpdateVirtualGatewayInput) SetVirtualGatewayName(v string) *UpdateVirtualGatewayInput { + s.VirtualGatewayName = &v return s } -// An object that represents the current status of a route. -type RouteStatus struct { - _ struct{} `type:"structure"` +type UpdateVirtualGatewayOutput struct { + _ struct{} `type:"structure" payload:"VirtualGateway"` - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"RouteStatusCode"` + // An object that represents a virtual gateway returned by a describe operation. + // + // VirtualGateway is a required field + VirtualGateway *VirtualGatewayData `locationName:"virtualGateway" type:"structure" required:"true"` } // String returns the string representation -func (s RouteStatus) String() string { +func (s UpdateVirtualGatewayOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RouteStatus) GoString() string { +func (s UpdateVirtualGatewayOutput) GoString() string { return s.String() } -// SetStatus sets the Status field's value. -func (s *RouteStatus) SetStatus(v string) *RouteStatus { - s.Status = &v +// SetVirtualGateway sets the VirtualGateway field's value. +func (s *UpdateVirtualGatewayOutput) SetVirtualGateway(v *VirtualGatewayData) *UpdateVirtualGatewayOutput { + s.VirtualGateway = v return s } -// An object that represents the service discovery information for a virtual -// node. -type ServiceDiscovery struct { +type UpdateVirtualNodeInput struct { _ struct{} `type:"structure"` - // An object that represents the AWS Cloud Map service discovery information - // for your virtual node. - AwsCloudMap *AwsCloudMapServiceDiscovery `locationName:"awsCloudMap" type:"structure"` + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - // An object that represents the DNS service discovery information for your - // virtual node. - Dns *DnsServiceDiscovery `locationName:"dns" type:"structure"` + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // An object that represents the specification of a virtual node. + // + // Spec is a required field + Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` + + // VirtualNodeName is a required field + VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ServiceDiscovery) String() string { +func (s UpdateVirtualNodeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ServiceDiscovery) GoString() string { +func (s UpdateVirtualNodeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ServiceDiscovery) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ServiceDiscovery"} - if s.AwsCloudMap != nil { - if err := s.AwsCloudMap.Validate(); err != nil { - invalidParams.AddNested("AwsCloudMap", err.(request.ErrInvalidParams)) - } +func (s *UpdateVirtualNodeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualNodeInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) } - if s.Dns != nil { - if err := s.Dns.Validate(); err != nil { - invalidParams.AddNested("Dns", err.(request.ErrInvalidParams)) + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualNodeName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) + } + if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) } } @@ -8216,162 +12284,231 @@ func (s *ServiceDiscovery) Validate() error { return nil } -// SetAwsCloudMap sets the AwsCloudMap field's value. -func (s *ServiceDiscovery) SetAwsCloudMap(v *AwsCloudMapServiceDiscovery) *ServiceDiscovery { - s.AwsCloudMap = v +// SetClientToken sets the ClientToken field's value. +func (s *UpdateVirtualNodeInput) SetClientToken(v string) *UpdateVirtualNodeInput { + s.ClientToken = &v return s } -// SetDns sets the Dns field's value. -func (s *ServiceDiscovery) SetDns(v *DnsServiceDiscovery) *ServiceDiscovery { - s.Dns = v +// SetMeshName sets the MeshName field's value. +func (s *UpdateVirtualNodeInput) SetMeshName(v string) *UpdateVirtualNodeInput { + s.MeshName = &v return s } -// The request has failed due to a temporary failure of the service. -type ServiceUnavailableException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetMeshOwner sets the MeshOwner field's value. +func (s *UpdateVirtualNodeInput) SetMeshOwner(v string) *UpdateVirtualNodeInput { + s.MeshOwner = &v + return s +} - Message_ *string `locationName:"message" type:"string"` +// SetSpec sets the Spec field's value. +func (s *UpdateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *UpdateVirtualNodeInput { + s.Spec = v + return s +} + +// SetVirtualNodeName sets the VirtualNodeName field's value. +func (s *UpdateVirtualNodeInput) SetVirtualNodeName(v string) *UpdateVirtualNodeInput { + s.VirtualNodeName = &v + return s +} + +type UpdateVirtualNodeOutput struct { + _ struct{} `type:"structure" payload:"VirtualNode"` + + // An object that represents a virtual node returned by a describe operation. + // + // VirtualNode is a required field + VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` } // String returns the string representation -func (s ServiceUnavailableException) String() string { +func (s UpdateVirtualNodeOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ServiceUnavailableException) GoString() string { +func (s UpdateVirtualNodeOutput) GoString() string { return s.String() } -func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { - return &ServiceUnavailableException{ - RespMetadata: v, - } +// SetVirtualNode sets the VirtualNode field's value. +func (s *UpdateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *UpdateVirtualNodeOutput { + s.VirtualNode = v + return s } -// Code returns the exception type name. -func (s *ServiceUnavailableException) Code() string { - return "ServiceUnavailableException" +type UpdateVirtualRouterInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // An object that represents the specification of a virtual router. + // + // Spec is a required field + Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` + + // VirtualRouterName is a required field + VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } -// Message returns the exception's message. -func (s *ServiceUnavailableException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// String returns the string representation +func (s UpdateVirtualRouterInput) String() string { + return awsutil.Prettify(s) } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ServiceUnavailableException) OrigErr() error { +// GoString returns the string representation +func (s UpdateVirtualRouterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateVirtualRouterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualRouterInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) + } + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualRouterName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) + } + if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *ServiceUnavailableException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetClientToken sets the ClientToken field's value. +func (s *UpdateVirtualRouterInput) SetClientToken(v string) *UpdateVirtualRouterInput { + s.ClientToken = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ServiceUnavailableException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetMeshName sets the MeshName field's value. +func (s *UpdateVirtualRouterInput) SetMeshName(v string) *UpdateVirtualRouterInput { + s.MeshName = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ServiceUnavailableException) RequestID() string { - return s.RespMetadata.RequestID +// SetMeshOwner sets the MeshOwner field's value. +func (s *UpdateVirtualRouterInput) SetMeshOwner(v string) *UpdateVirtualRouterInput { + s.MeshOwner = &v + return s } -// Optional metadata that you apply to a resource to assist with categorization -// and organization. Each tag consists of a key and an optional value, both -// of which you define. Tag keys can have a maximum character length of 128 -// characters, and tag values can have a maximum length of 256 characters. -type TagRef struct { - _ struct{} `type:"structure"` +// SetSpec sets the Spec field's value. +func (s *UpdateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *UpdateVirtualRouterInput { + s.Spec = v + return s +} - // Key is a required field - Key *string `locationName:"key" min:"1" type:"string" required:"true"` +// SetVirtualRouterName sets the VirtualRouterName field's value. +func (s *UpdateVirtualRouterInput) SetVirtualRouterName(v string) *UpdateVirtualRouterInput { + s.VirtualRouterName = &v + return s +} - Value *string `locationName:"value" type:"string"` +type UpdateVirtualRouterOutput struct { + _ struct{} `type:"structure" payload:"VirtualRouter"` + + // An object that represents a virtual router returned by a describe operation. + // + // VirtualRouter is a required field + VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` } // String returns the string representation -func (s TagRef) String() string { +func (s UpdateVirtualRouterOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TagRef) GoString() string { +func (s UpdateVirtualRouterOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *TagRef) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TagRef"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } - if s.Key != nil && len(*s.Key) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Key", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetKey sets the Key field's value. -func (s *TagRef) SetKey(v string) *TagRef { - s.Key = &v - return s -} - -// SetValue sets the Value field's value. -func (s *TagRef) SetValue(v string) *TagRef { - s.Value = &v +// SetVirtualRouter sets the VirtualRouter field's value. +func (s *UpdateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *UpdateVirtualRouterOutput { + s.VirtualRouter = v return s } -type TagResourceInput struct { +type UpdateVirtualServiceInput struct { _ struct{} `type:"structure"` - // ResourceArn is a required field - ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - // Tags is a required field - Tags []*TagRef `locationName:"tags" type:"list" required:"true"` + // MeshName is a required field + MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + + MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + + // An object that represents the specification of a virtual service. + // + // Spec is a required field + Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` + + // VirtualServiceName is a required field + VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` } // String returns the string representation -func (s TagResourceInput) String() string { +func (s UpdateVirtualServiceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TagResourceInput) GoString() string { +func (s UpdateVirtualServiceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TagResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) +func (s *UpdateVirtualServiceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualServiceInput"} + if s.MeshName == nil { + invalidParams.Add(request.NewErrParamRequired("MeshName")) } - if s.Tags == nil { - invalidParams.Add(request.NewErrParamRequired("Tags")) + if s.MeshName != nil && len(*s.MeshName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } + if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { + invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) + } + if s.Spec == nil { + invalidParams.Add(request.NewErrParamRequired("Spec")) + } + if s.VirtualServiceName == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) + } + if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) + } + if s.Spec != nil { + if err := s.Spec.Validate(); err != nil { + invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) } } @@ -8381,111 +12518,85 @@ func (s *TagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { - s.ResourceArn = &v +// SetClientToken sets the ClientToken field's value. +func (s *UpdateVirtualServiceInput) SetClientToken(v string) *UpdateVirtualServiceInput { + s.ClientToken = &v return s } -// SetTags sets the Tags field's value. -func (s *TagResourceInput) SetTags(v []*TagRef) *TagResourceInput { - s.Tags = v +// SetMeshName sets the MeshName field's value. +func (s *UpdateVirtualServiceInput) SetMeshName(v string) *UpdateVirtualServiceInput { + s.MeshName = &v return s } -type TagResourceOutput struct { - _ struct{} `type:"structure"` +// SetMeshOwner sets the MeshOwner field's value. +func (s *UpdateVirtualServiceInput) SetMeshOwner(v string) *UpdateVirtualServiceInput { + s.MeshOwner = &v + return s } -// String returns the string representation -func (s TagResourceOutput) String() string { - return awsutil.Prettify(s) +// SetSpec sets the Spec field's value. +func (s *UpdateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *UpdateVirtualServiceInput { + s.Spec = v + return s } -// GoString returns the string representation -func (s TagResourceOutput) GoString() string { - return s.String() +// SetVirtualServiceName sets the VirtualServiceName field's value. +func (s *UpdateVirtualServiceInput) SetVirtualServiceName(v string) *UpdateVirtualServiceInput { + s.VirtualServiceName = &v + return s } -// An object that represents a TCP route type. -type TcpRoute struct { - _ struct{} `type:"structure"` +type UpdateVirtualServiceOutput struct { + _ struct{} `type:"structure" payload:"VirtualService"` - // An object that represents the action to take if a match is determined. + // An object that represents a virtual service returned by a describe operation. // - // Action is a required field - Action *TcpRouteAction `locationName:"action" type:"structure" required:"true"` + // VirtualService is a required field + VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` } // String returns the string representation -func (s TcpRoute) String() string { +func (s UpdateVirtualServiceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TcpRoute) GoString() string { +func (s UpdateVirtualServiceOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *TcpRoute) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TcpRoute"} - if s.Action == nil { - invalidParams.Add(request.NewErrParamRequired("Action")) - } - if s.Action != nil { - if err := s.Action.Validate(); err != nil { - invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAction sets the Action field's value. -func (s *TcpRoute) SetAction(v *TcpRouteAction) *TcpRoute { - s.Action = v +// SetVirtualService sets the VirtualService field's value. +func (s *UpdateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *UpdateVirtualServiceOutput { + s.VirtualService = v return s } -// An object that represents the action to take if a match is determined. -type TcpRouteAction struct { +// The access log configuration for a virtual gateway. +type VirtualGatewayAccessLog struct { _ struct{} `type:"structure"` - // WeightedTargets is a required field - WeightedTargets []*WeightedTarget `locationName:"weightedTargets" min:"1" type:"list" required:"true"` + // An object that represents an access log file. + File *VirtualGatewayFileAccessLog `locationName:"file" type:"structure"` } // String returns the string representation -func (s TcpRouteAction) String() string { +func (s VirtualGatewayAccessLog) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TcpRouteAction) GoString() string { +func (s VirtualGatewayAccessLog) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TcpRouteAction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TcpRouteAction"} - if s.WeightedTargets == nil { - invalidParams.Add(request.NewErrParamRequired("WeightedTargets")) - } - if s.WeightedTargets != nil && len(s.WeightedTargets) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WeightedTargets", 1)) - } - if s.WeightedTargets != nil { - for i, v := range s.WeightedTargets { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeightedTargets", i), err.(request.ErrInvalidParams)) - } +func (s *VirtualGatewayAccessLog) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayAccessLog"} + if s.File != nil { + if err := s.File.Validate(); err != nil { + invalidParams.AddNested("File", err.(request.ErrInvalidParams)) } } @@ -8495,42 +12606,36 @@ func (s *TcpRouteAction) Validate() error { return nil } -// SetWeightedTargets sets the WeightedTargets field's value. -func (s *TcpRouteAction) SetWeightedTargets(v []*WeightedTarget) *TcpRouteAction { - s.WeightedTargets = v +// SetFile sets the File field's value. +func (s *VirtualGatewayAccessLog) SetFile(v *VirtualGatewayFileAccessLog) *VirtualGatewayAccessLog { + s.File = v return s } -// An object that represents a Transport Layer Security (TLS) validation context. -type TlsValidationContext struct { +// An object that represents the default properties for a backend. +type VirtualGatewayBackendDefaults struct { _ struct{} `type:"structure"` - // An object that represents a Transport Layer Security (TLS) validation context - // trust. - // - // Trust is a required field - Trust *TlsValidationContextTrust `locationName:"trust" type:"structure" required:"true"` + // An object that represents a client policy. + ClientPolicy *VirtualGatewayClientPolicy `locationName:"clientPolicy" type:"structure"` } // String returns the string representation -func (s TlsValidationContext) String() string { +func (s VirtualGatewayBackendDefaults) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TlsValidationContext) GoString() string { +func (s VirtualGatewayBackendDefaults) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TlsValidationContext) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TlsValidationContext"} - if s.Trust == nil { - invalidParams.Add(request.NewErrParamRequired("Trust")) - } - if s.Trust != nil { - if err := s.Trust.Validate(); err != nil { - invalidParams.AddNested("Trust", err.(request.ErrInvalidParams)) +func (s *VirtualGatewayBackendDefaults) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayBackendDefaults"} + if s.ClientPolicy != nil { + if err := s.ClientPolicy.Validate(); err != nil { + invalidParams.AddNested("ClientPolicy", err.(request.ErrInvalidParams)) } } @@ -8540,39 +12645,37 @@ func (s *TlsValidationContext) Validate() error { return nil } -// SetTrust sets the Trust field's value. -func (s *TlsValidationContext) SetTrust(v *TlsValidationContextTrust) *TlsValidationContext { - s.Trust = v +// SetClientPolicy sets the ClientPolicy field's value. +func (s *VirtualGatewayBackendDefaults) SetClientPolicy(v *VirtualGatewayClientPolicy) *VirtualGatewayBackendDefaults { + s.ClientPolicy = v return s } -// An object that represents a TLS validation context trust for an AWS Certicate -// Manager (ACM) certificate. -type TlsValidationContextAcmTrust struct { +// An object that represents a client policy. +type VirtualGatewayClientPolicy struct { _ struct{} `type:"structure"` - // CertificateAuthorityArns is a required field - CertificateAuthorityArns []*string `locationName:"certificateAuthorityArns" min:"1" type:"list" required:"true"` + // An object that represents a Transport Layer Security (TLS) client policy. + Tls *VirtualGatewayClientPolicyTls `locationName:"tls" type:"structure"` } // String returns the string representation -func (s TlsValidationContextAcmTrust) String() string { +func (s VirtualGatewayClientPolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TlsValidationContextAcmTrust) GoString() string { +func (s VirtualGatewayClientPolicy) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TlsValidationContextAcmTrust) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextAcmTrust"} - if s.CertificateAuthorityArns == nil { - invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArns")) - } - if s.CertificateAuthorityArns != nil && len(s.CertificateAuthorityArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArns", 1)) +func (s *VirtualGatewayClientPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayClientPolicy"} + if s.Tls != nil { + if err := s.Tls.Validate(); err != nil { + invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -8581,39 +12684,46 @@ func (s *TlsValidationContextAcmTrust) Validate() error { return nil } -// SetCertificateAuthorityArns sets the CertificateAuthorityArns field's value. -func (s *TlsValidationContextAcmTrust) SetCertificateAuthorityArns(v []*string) *TlsValidationContextAcmTrust { - s.CertificateAuthorityArns = v +// SetTls sets the Tls field's value. +func (s *VirtualGatewayClientPolicy) SetTls(v *VirtualGatewayClientPolicyTls) *VirtualGatewayClientPolicy { + s.Tls = v return s } -// An object that represents a Transport Layer Security (TLS) validation context -// trust for a local file. -type TlsValidationContextFileTrust struct { +// An object that represents a Transport Layer Security (TLS) client policy. +type VirtualGatewayClientPolicyTls struct { _ struct{} `type:"structure"` - // CertificateChain is a required field - CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` + Enforce *bool `locationName:"enforce" type:"boolean"` + + Ports []*int64 `locationName:"ports" type:"list"` + + // An object that represents a Transport Layer Security (TLS) validation context. + // + // Validation is a required field + Validation *VirtualGatewayTlsValidationContext `locationName:"validation" type:"structure" required:"true"` } // String returns the string representation -func (s TlsValidationContextFileTrust) String() string { +func (s VirtualGatewayClientPolicyTls) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TlsValidationContextFileTrust) GoString() string { +func (s VirtualGatewayClientPolicyTls) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TlsValidationContextFileTrust) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextFileTrust"} - if s.CertificateChain == nil { - invalidParams.Add(request.NewErrParamRequired("CertificateChain")) +func (s *VirtualGatewayClientPolicyTls) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayClientPolicyTls"} + if s.Validation == nil { + invalidParams.Add(request.NewErrParamRequired("Validation")) } - if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) + if s.Validation != nil { + if err := s.Validation.Validate(); err != nil { + invalidParams.AddNested("Validation", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -8622,212 +12732,295 @@ func (s *TlsValidationContextFileTrust) Validate() error { return nil } -// SetCertificateChain sets the CertificateChain field's value. -func (s *TlsValidationContextFileTrust) SetCertificateChain(v string) *TlsValidationContextFileTrust { - s.CertificateChain = &v +// SetEnforce sets the Enforce field's value. +func (s *VirtualGatewayClientPolicyTls) SetEnforce(v bool) *VirtualGatewayClientPolicyTls { + s.Enforce = &v return s } -// An object that represents a Transport Layer Security (TLS) validation context -// trust. -type TlsValidationContextTrust struct { +// SetPorts sets the Ports field's value. +func (s *VirtualGatewayClientPolicyTls) SetPorts(v []*int64) *VirtualGatewayClientPolicyTls { + s.Ports = v + return s +} + +// SetValidation sets the Validation field's value. +func (s *VirtualGatewayClientPolicyTls) SetValidation(v *VirtualGatewayTlsValidationContext) *VirtualGatewayClientPolicyTls { + s.Validation = v + return s +} + +// An object that represents a virtual gateway returned by a describe operation. +type VirtualGatewayData struct { _ struct{} `type:"structure"` - // An object that represents a TLS validation context trust for an AWS Certicate - // Manager (ACM) certificate. - Acm *TlsValidationContextAcmTrust `locationName:"acm" type:"structure"` + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` - // An object that represents a Transport Layer Security (TLS) validation context - // trust for a local file. - File *TlsValidationContextFileTrust `locationName:"file" type:"structure"` + // An object that represents metadata for a resource. + // + // Metadata is a required field + Metadata *ResourceMetadata `locationName:"metadata" type:"structure" required:"true"` + + // An object that represents the specification of a service mesh resource. + // + // Spec is a required field + Spec *VirtualGatewaySpec `locationName:"spec" type:"structure" required:"true"` + + // An object that represents the status of the mesh resource. + // + // Status is a required field + Status *VirtualGatewayStatus `locationName:"status" type:"structure" required:"true"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s TlsValidationContextTrust) String() string { +func (s VirtualGatewayData) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TlsValidationContextTrust) GoString() string { +func (s VirtualGatewayData) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *TlsValidationContextTrust) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TlsValidationContextTrust"} - if s.Acm != nil { - if err := s.Acm.Validate(); err != nil { - invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) - } - } - if s.File != nil { - if err := s.File.Validate(); err != nil { - invalidParams.AddNested("File", err.(request.ErrInvalidParams)) - } - } +// SetMeshName sets the MeshName field's value. +func (s *VirtualGatewayData) SetMeshName(v string) *VirtualGatewayData { + s.MeshName = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetMetadata sets the Metadata field's value. +func (s *VirtualGatewayData) SetMetadata(v *ResourceMetadata) *VirtualGatewayData { + s.Metadata = v + return s } -// SetAcm sets the Acm field's value. -func (s *TlsValidationContextTrust) SetAcm(v *TlsValidationContextAcmTrust) *TlsValidationContextTrust { - s.Acm = v +// SetSpec sets the Spec field's value. +func (s *VirtualGatewayData) SetSpec(v *VirtualGatewaySpec) *VirtualGatewayData { + s.Spec = v return s } -// SetFile sets the File field's value. -func (s *TlsValidationContextTrust) SetFile(v *TlsValidationContextFileTrust) *TlsValidationContextTrust { - s.File = v +// SetStatus sets the Status field's value. +func (s *VirtualGatewayData) SetStatus(v *VirtualGatewayStatus) *VirtualGatewayData { + s.Status = v return s } -// The maximum request rate permitted by the App Mesh APIs has been exceeded -// for your account. For best results, use an increasing or variable sleep interval -// between requests. -type TooManyRequestsException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *VirtualGatewayData) SetVirtualGatewayName(v string) *VirtualGatewayData { + s.VirtualGatewayName = &v + return s +} - Message_ *string `locationName:"message" type:"string"` +// An object that represents an access log file. +type VirtualGatewayFileAccessLog struct { + _ struct{} `type:"structure"` + + // Path is a required field + Path *string `locationName:"path" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s TooManyRequestsException) String() string { +func (s VirtualGatewayFileAccessLog) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TooManyRequestsException) GoString() string { +func (s VirtualGatewayFileAccessLog) GoString() string { return s.String() } -func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error { - return &TooManyRequestsException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *VirtualGatewayFileAccessLog) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayFileAccessLog"} + if s.Path == nil { + invalidParams.Add(request.NewErrParamRequired("Path")) } -} - -// Code returns the exception type name. -func (s *TooManyRequestsException) Code() string { - return "TooManyRequestsException" -} - -// Message returns the exception's message. -func (s *TooManyRequestsException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.Path != nil && len(*s.Path) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Path", 1)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *TooManyRequestsException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *TooManyRequestsException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetPath sets the Path field's value. +func (s *VirtualGatewayFileAccessLog) SetPath(v string) *VirtualGatewayFileAccessLog { + s.Path = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *TooManyRequestsException) StatusCode() int { - return s.RespMetadata.StatusCode -} +// An object that represents the health check policy for a virtual gateway's +// listener. +type VirtualGatewayHealthCheckPolicy struct { + _ struct{} `type:"structure"` -// RequestID returns the service's response RequestID for request. -func (s *TooManyRequestsException) RequestID() string { - return s.RespMetadata.RequestID -} + // HealthyThreshold is a required field + HealthyThreshold *int64 `locationName:"healthyThreshold" min:"2" type:"integer" required:"true"` -// The request exceeds the maximum allowed number of tags allowed per resource. -// The current limit is 50 user tags per resource. You must reduce the number -// of tags in the request. None of the tags in this request were applied. -type TooManyTagsException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // IntervalMillis is a required field + IntervalMillis *int64 `locationName:"intervalMillis" min:"5000" type:"long" required:"true"` - Message_ *string `locationName:"message" type:"string"` + Path *string `locationName:"path" type:"string"` + + Port *int64 `locationName:"port" min:"1" type:"integer"` + + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"VirtualGatewayPortProtocol"` + + // TimeoutMillis is a required field + TimeoutMillis *int64 `locationName:"timeoutMillis" min:"2000" type:"long" required:"true"` + + // UnhealthyThreshold is a required field + UnhealthyThreshold *int64 `locationName:"unhealthyThreshold" min:"2" type:"integer" required:"true"` } // String returns the string representation -func (s TooManyTagsException) String() string { +func (s VirtualGatewayHealthCheckPolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TooManyTagsException) GoString() string { +func (s VirtualGatewayHealthCheckPolicy) GoString() string { return s.String() } -func newErrorTooManyTagsException(v protocol.ResponseMetadata) error { - return &TooManyTagsException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *VirtualGatewayHealthCheckPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayHealthCheckPolicy"} + if s.HealthyThreshold == nil { + invalidParams.Add(request.NewErrParamRequired("HealthyThreshold")) + } + if s.HealthyThreshold != nil && *s.HealthyThreshold < 2 { + invalidParams.Add(request.NewErrParamMinValue("HealthyThreshold", 2)) + } + if s.IntervalMillis == nil { + invalidParams.Add(request.NewErrParamRequired("IntervalMillis")) + } + if s.IntervalMillis != nil && *s.IntervalMillis < 5000 { + invalidParams.Add(request.NewErrParamMinValue("IntervalMillis", 5000)) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.TimeoutMillis == nil { + invalidParams.Add(request.NewErrParamRequired("TimeoutMillis")) + } + if s.TimeoutMillis != nil && *s.TimeoutMillis < 2000 { + invalidParams.Add(request.NewErrParamMinValue("TimeoutMillis", 2000)) + } + if s.UnhealthyThreshold == nil { + invalidParams.Add(request.NewErrParamRequired("UnhealthyThreshold")) + } + if s.UnhealthyThreshold != nil && *s.UnhealthyThreshold < 2 { + invalidParams.Add(request.NewErrParamMinValue("UnhealthyThreshold", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *TooManyTagsException) Code() string { - return "TooManyTagsException" +// SetHealthyThreshold sets the HealthyThreshold field's value. +func (s *VirtualGatewayHealthCheckPolicy) SetHealthyThreshold(v int64) *VirtualGatewayHealthCheckPolicy { + s.HealthyThreshold = &v + return s } -// Message returns the exception's message. -func (s *TooManyTagsException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetIntervalMillis sets the IntervalMillis field's value. +func (s *VirtualGatewayHealthCheckPolicy) SetIntervalMillis(v int64) *VirtualGatewayHealthCheckPolicy { + s.IntervalMillis = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *TooManyTagsException) OrigErr() error { - return nil +// SetPath sets the Path field's value. +func (s *VirtualGatewayHealthCheckPolicy) SetPath(v string) *VirtualGatewayHealthCheckPolicy { + s.Path = &v + return s } -func (s *TooManyTagsException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetPort sets the Port field's value. +func (s *VirtualGatewayHealthCheckPolicy) SetPort(v int64) *VirtualGatewayHealthCheckPolicy { + s.Port = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *TooManyTagsException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetProtocol sets the Protocol field's value. +func (s *VirtualGatewayHealthCheckPolicy) SetProtocol(v string) *VirtualGatewayHealthCheckPolicy { + s.Protocol = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *TooManyTagsException) RequestID() string { - return s.RespMetadata.RequestID +// SetTimeoutMillis sets the TimeoutMillis field's value. +func (s *VirtualGatewayHealthCheckPolicy) SetTimeoutMillis(v int64) *VirtualGatewayHealthCheckPolicy { + s.TimeoutMillis = &v + return s +} + +// SetUnhealthyThreshold sets the UnhealthyThreshold field's value. +func (s *VirtualGatewayHealthCheckPolicy) SetUnhealthyThreshold(v int64) *VirtualGatewayHealthCheckPolicy { + s.UnhealthyThreshold = &v + return s } -type UntagResourceInput struct { +// An object that represents a listener for a virtual gateway. +type VirtualGatewayListener struct { _ struct{} `type:"structure"` - // ResourceArn is a required field - ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"` + // An object that represents the health check policy for a virtual gateway's + // listener. + HealthCheck *VirtualGatewayHealthCheckPolicy `locationName:"healthCheck" type:"structure"` - // TagKeys is a required field - TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` + // An object that represents a port mapping. + // + // PortMapping is a required field + PortMapping *VirtualGatewayPortMapping `locationName:"portMapping" type:"structure" required:"true"` + + // An object that represents the Transport Layer Security (TLS) properties for + // a listener. + Tls *VirtualGatewayListenerTls `locationName:"tls" type:"structure"` } // String returns the string representation -func (s UntagResourceInput) String() string { +func (s VirtualGatewayListener) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UntagResourceInput) GoString() string { +func (s VirtualGatewayListener) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UntagResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) +func (s *VirtualGatewayListener) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListener"} + if s.PortMapping == nil { + invalidParams.Add(request.NewErrParamRequired("PortMapping")) } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) + if s.HealthCheck != nil { + if err := s.HealthCheck.Validate(); err != nil { + invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) + } + } + if s.PortMapping != nil { + if err := s.PortMapping.Validate(); err != nil { + invalidParams.AddNested("PortMapping", err.(request.ErrInvalidParams)) + } + } + if s.Tls != nil { + if err := s.Tls.Validate(); err != nil { + invalidParams.AddNested("Tls", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -8836,66 +13029,60 @@ func (s *UntagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { - s.ResourceArn = &v +// SetHealthCheck sets the HealthCheck field's value. +func (s *VirtualGatewayListener) SetHealthCheck(v *VirtualGatewayHealthCheckPolicy) *VirtualGatewayListener { + s.HealthCheck = v return s } -// SetTagKeys sets the TagKeys field's value. -func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { - s.TagKeys = v +// SetPortMapping sets the PortMapping field's value. +func (s *VirtualGatewayListener) SetPortMapping(v *VirtualGatewayPortMapping) *VirtualGatewayListener { + s.PortMapping = v return s } -type UntagResourceOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s UntagResourceOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s UntagResourceOutput) GoString() string { - return s.String() +// SetTls sets the Tls field's value. +func (s *VirtualGatewayListener) SetTls(v *VirtualGatewayListenerTls) *VirtualGatewayListener { + s.Tls = v + return s } -type UpdateMeshInput struct { +// An object that represents the Transport Layer Security (TLS) properties for +// a listener. +type VirtualGatewayListenerTls struct { _ struct{} `type:"structure"` - ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` + // An object that represents a listener's Transport Layer Security (TLS) certificate. + // + // Certificate is a required field + Certificate *VirtualGatewayListenerTlsCertificate `locationName:"certificate" type:"structure" required:"true"` - // An object that represents the specification of a service mesh. - Spec *MeshSpec `locationName:"spec" type:"structure"` + // Mode is a required field + Mode *string `locationName:"mode" type:"string" required:"true" enum:"VirtualGatewayListenerTlsMode"` } // String returns the string representation -func (s UpdateMeshInput) String() string { +func (s VirtualGatewayListenerTls) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateMeshInput) GoString() string { +func (s VirtualGatewayListenerTls) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateMeshInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateMeshInput"} - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) +func (s *VirtualGatewayListenerTls) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTls"} + if s.Certificate == nil { + invalidParams.Add(request.NewErrParamRequired("Certificate")) } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) + if s.Mode == nil { + invalidParams.Add(request.NewErrParamRequired("Mode")) } - if s.Spec != nil { - if err := s.Spec.Validate(); err != nil { - invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + if s.Certificate != nil { + if err := s.Certificate.Validate(); err != nil { + invalidParams.AddNested("Certificate", err.(request.ErrInvalidParams)) } } @@ -8905,111 +13092,89 @@ func (s *UpdateMeshInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *UpdateMeshInput) SetClientToken(v string) *UpdateMeshInput { - s.ClientToken = &v - return s -} - -// SetMeshName sets the MeshName field's value. -func (s *UpdateMeshInput) SetMeshName(v string) *UpdateMeshInput { - s.MeshName = &v +// SetCertificate sets the Certificate field's value. +func (s *VirtualGatewayListenerTls) SetCertificate(v *VirtualGatewayListenerTlsCertificate) *VirtualGatewayListenerTls { + s.Certificate = v return s } -// SetSpec sets the Spec field's value. -func (s *UpdateMeshInput) SetSpec(v *MeshSpec) *UpdateMeshInput { - s.Spec = v +// SetMode sets the Mode field's value. +func (s *VirtualGatewayListenerTls) SetMode(v string) *VirtualGatewayListenerTls { + s.Mode = &v return s } -type UpdateMeshOutput struct { - _ struct{} `type:"structure" payload:"Mesh"` +// An object that represents an AWS Certicate Manager (ACM) certificate. +type VirtualGatewayListenerTlsAcmCertificate struct { + _ struct{} `type:"structure"` - // An object that represents a service mesh returned by a describe operation. - // - // Mesh is a required field - Mesh *MeshData `locationName:"mesh" type:"structure" required:"true"` + // CertificateArn is a required field + CertificateArn *string `locationName:"certificateArn" type:"string" required:"true"` } // String returns the string representation -func (s UpdateMeshOutput) String() string { +func (s VirtualGatewayListenerTlsAcmCertificate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateMeshOutput) GoString() string { +func (s VirtualGatewayListenerTlsAcmCertificate) GoString() string { return s.String() } -// SetMesh sets the Mesh field's value. -func (s *UpdateMeshOutput) SetMesh(v *MeshData) *UpdateMeshOutput { - s.Mesh = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *VirtualGatewayListenerTlsAcmCertificate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsAcmCertificate"} + if s.CertificateArn == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateArn sets the CertificateArn field's value. +func (s *VirtualGatewayListenerTlsAcmCertificate) SetCertificateArn(v string) *VirtualGatewayListenerTlsAcmCertificate { + s.CertificateArn = &v return s } -type UpdateRouteInput struct { +// An object that represents a listener's Transport Layer Security (TLS) certificate. +type VirtualGatewayListenerTlsCertificate struct { _ struct{} `type:"structure"` - ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - - MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - - // RouteName is a required field - RouteName *string `location:"uri" locationName:"routeName" min:"1" type:"string" required:"true"` - - // An object that represents a route specification. Specify one route type. - // - // Spec is a required field - Spec *RouteSpec `locationName:"spec" type:"structure" required:"true"` + // An object that represents an AWS Certicate Manager (ACM) certificate. + Acm *VirtualGatewayListenerTlsAcmCertificate `locationName:"acm" type:"structure"` - // VirtualRouterName is a required field - VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // An object that represents a local file certificate. The certificate must + // meet specific requirements and you must have proxy authorization enabled. + // For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). + File *VirtualGatewayListenerTlsFileCertificate `locationName:"file" type:"structure"` } // String returns the string representation -func (s UpdateRouteInput) String() string { +func (s VirtualGatewayListenerTlsCertificate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateRouteInput) GoString() string { +func (s VirtualGatewayListenerTlsCertificate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateRouteInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateRouteInput"} - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) - } - if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { - invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) - } - if s.RouteName == nil { - invalidParams.Add(request.NewErrParamRequired("RouteName")) - } - if s.RouteName != nil && len(*s.RouteName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RouteName", 1)) - } - if s.Spec == nil { - invalidParams.Add(request.NewErrParamRequired("Spec")) - } - if s.VirtualRouterName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) - } - if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) +func (s *VirtualGatewayListenerTlsCertificate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsCertificate"} + if s.Acm != nil { + if err := s.Acm.Validate(); err != nil { + invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) + } } - if s.Spec != nil { - if err := s.Spec.Validate(); err != nil { - invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + if s.File != nil { + if err := s.File.Validate(); err != nil { + invalidParams.AddNested("File", err.(request.ErrInvalidParams)) } } @@ -9019,121 +13184,146 @@ func (s *UpdateRouteInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *UpdateRouteInput) SetClientToken(v string) *UpdateRouteInput { - s.ClientToken = &v +// SetAcm sets the Acm field's value. +func (s *VirtualGatewayListenerTlsCertificate) SetAcm(v *VirtualGatewayListenerTlsAcmCertificate) *VirtualGatewayListenerTlsCertificate { + s.Acm = v return s } -// SetMeshName sets the MeshName field's value. -func (s *UpdateRouteInput) SetMeshName(v string) *UpdateRouteInput { - s.MeshName = &v +// SetFile sets the File field's value. +func (s *VirtualGatewayListenerTlsCertificate) SetFile(v *VirtualGatewayListenerTlsFileCertificate) *VirtualGatewayListenerTlsCertificate { + s.File = v return s } -// SetMeshOwner sets the MeshOwner field's value. -func (s *UpdateRouteInput) SetMeshOwner(v string) *UpdateRouteInput { - s.MeshOwner = &v - return s +// An object that represents a local file certificate. The certificate must +// meet specific requirements and you must have proxy authorization enabled. +// For more information, see Transport Layer Security (TLS) (https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html#virtual-node-tls-prerequisites). +type VirtualGatewayListenerTlsFileCertificate struct { + _ struct{} `type:"structure"` + + // CertificateChain is a required field + CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` + + // PrivateKey is a required field + PrivateKey *string `locationName:"privateKey" min:"1" type:"string" required:"true"` } -// SetRouteName sets the RouteName field's value. -func (s *UpdateRouteInput) SetRouteName(v string) *UpdateRouteInput { - s.RouteName = &v - return s +// String returns the string representation +func (s VirtualGatewayListenerTlsFileCertificate) String() string { + return awsutil.Prettify(s) } -// SetSpec sets the Spec field's value. -func (s *UpdateRouteInput) SetSpec(v *RouteSpec) *UpdateRouteInput { - s.Spec = v +// GoString returns the string representation +func (s VirtualGatewayListenerTlsFileCertificate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VirtualGatewayListenerTlsFileCertificate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayListenerTlsFileCertificate"} + if s.CertificateChain == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateChain")) + } + if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) + } + if s.PrivateKey == nil { + invalidParams.Add(request.NewErrParamRequired("PrivateKey")) + } + if s.PrivateKey != nil && len(*s.PrivateKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateChain sets the CertificateChain field's value. +func (s *VirtualGatewayListenerTlsFileCertificate) SetCertificateChain(v string) *VirtualGatewayListenerTlsFileCertificate { + s.CertificateChain = &v return s } -// SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *UpdateRouteInput) SetVirtualRouterName(v string) *UpdateRouteInput { - s.VirtualRouterName = &v +// SetPrivateKey sets the PrivateKey field's value. +func (s *VirtualGatewayListenerTlsFileCertificate) SetPrivateKey(v string) *VirtualGatewayListenerTlsFileCertificate { + s.PrivateKey = &v return s } -type UpdateRouteOutput struct { - _ struct{} `type:"structure" payload:"Route"` +// An object that represents logging information. +type VirtualGatewayLogging struct { + _ struct{} `type:"structure"` - // An object that represents a route returned by a describe operation. - // - // Route is a required field - Route *RouteData `locationName:"route" type:"structure" required:"true"` + // The access log configuration for a virtual gateway. + AccessLog *VirtualGatewayAccessLog `locationName:"accessLog" type:"structure"` } // String returns the string representation -func (s UpdateRouteOutput) String() string { +func (s VirtualGatewayLogging) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateRouteOutput) GoString() string { +func (s VirtualGatewayLogging) GoString() string { return s.String() } -// SetRoute sets the Route field's value. -func (s *UpdateRouteOutput) SetRoute(v *RouteData) *UpdateRouteOutput { - s.Route = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *VirtualGatewayLogging) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayLogging"} + if s.AccessLog != nil { + if err := s.AccessLog.Validate(); err != nil { + invalidParams.AddNested("AccessLog", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessLog sets the AccessLog field's value. +func (s *VirtualGatewayLogging) SetAccessLog(v *VirtualGatewayAccessLog) *VirtualGatewayLogging { + s.AccessLog = v return s } -type UpdateVirtualNodeInput struct { +// An object that represents a port mapping. +type VirtualGatewayPortMapping struct { _ struct{} `type:"structure"` - ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - - MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - - // An object that represents the specification of a virtual node. - // - // Spec is a required field - Spec *VirtualNodeSpec `locationName:"spec" type:"structure" required:"true"` + // Port is a required field + Port *int64 `locationName:"port" min:"1" type:"integer" required:"true"` - // VirtualNodeName is a required field - VirtualNodeName *string `location:"uri" locationName:"virtualNodeName" min:"1" type:"string" required:"true"` + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"VirtualGatewayPortProtocol"` } // String returns the string representation -func (s UpdateVirtualNodeInput) String() string { +func (s VirtualGatewayPortMapping) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateVirtualNodeInput) GoString() string { +func (s VirtualGatewayPortMapping) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateVirtualNodeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualNodeInput"} - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) - } - if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { - invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) - } - if s.Spec == nil { - invalidParams.Add(request.NewErrParamRequired("Spec")) - } - if s.VirtualNodeName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualNodeName")) +func (s *VirtualGatewayPortMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayPortMapping"} + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) } - if s.VirtualNodeName != nil && len(*s.VirtualNodeName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualNodeName", 1)) + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } - if s.Spec != nil { - if err := s.Spec.Validate(); err != nil { - invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) - } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) } if invalidParams.Len() > 0 { @@ -9142,114 +13332,153 @@ func (s *UpdateVirtualNodeInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *UpdateVirtualNodeInput) SetClientToken(v string) *UpdateVirtualNodeInput { - s.ClientToken = &v +// SetPort sets the Port field's value. +func (s *VirtualGatewayPortMapping) SetPort(v int64) *VirtualGatewayPortMapping { + s.Port = &v return s } -// SetMeshName sets the MeshName field's value. -func (s *UpdateVirtualNodeInput) SetMeshName(v string) *UpdateVirtualNodeInput { - s.MeshName = &v +// SetProtocol sets the Protocol field's value. +func (s *VirtualGatewayPortMapping) SetProtocol(v string) *VirtualGatewayPortMapping { + s.Protocol = &v return s } -// SetMeshOwner sets the MeshOwner field's value. -func (s *UpdateVirtualNodeInput) SetMeshOwner(v string) *UpdateVirtualNodeInput { - s.MeshOwner = &v +// An object that represents a virtual gateway returned by a list operation. +type VirtualGatewayRef struct { + _ struct{} `type:"structure"` + + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + + // MeshName is a required field + MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` + + // MeshOwner is a required field + MeshOwner *string `locationName:"meshOwner" min:"12" type:"string" required:"true"` + + // ResourceOwner is a required field + ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + + // Version is a required field + Version *int64 `locationName:"version" type:"long" required:"true"` + + // VirtualGatewayName is a required field + VirtualGatewayName *string `locationName:"virtualGatewayName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s VirtualGatewayRef) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VirtualGatewayRef) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *VirtualGatewayRef) SetArn(v string) *VirtualGatewayRef { + s.Arn = &v return s } -// SetSpec sets the Spec field's value. -func (s *UpdateVirtualNodeInput) SetSpec(v *VirtualNodeSpec) *UpdateVirtualNodeInput { - s.Spec = v +// SetCreatedAt sets the CreatedAt field's value. +func (s *VirtualGatewayRef) SetCreatedAt(v time.Time) *VirtualGatewayRef { + s.CreatedAt = &v return s } -// SetVirtualNodeName sets the VirtualNodeName field's value. -func (s *UpdateVirtualNodeInput) SetVirtualNodeName(v string) *UpdateVirtualNodeInput { - s.VirtualNodeName = &v +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *VirtualGatewayRef) SetLastUpdatedAt(v time.Time) *VirtualGatewayRef { + s.LastUpdatedAt = &v return s } -type UpdateVirtualNodeOutput struct { - _ struct{} `type:"structure" payload:"VirtualNode"` +// SetMeshName sets the MeshName field's value. +func (s *VirtualGatewayRef) SetMeshName(v string) *VirtualGatewayRef { + s.MeshName = &v + return s +} - // An object that represents a virtual node returned by a describe operation. - // - // VirtualNode is a required field - VirtualNode *VirtualNodeData `locationName:"virtualNode" type:"structure" required:"true"` +// SetMeshOwner sets the MeshOwner field's value. +func (s *VirtualGatewayRef) SetMeshOwner(v string) *VirtualGatewayRef { + s.MeshOwner = &v + return s } -// String returns the string representation -func (s UpdateVirtualNodeOutput) String() string { - return awsutil.Prettify(s) +// SetResourceOwner sets the ResourceOwner field's value. +func (s *VirtualGatewayRef) SetResourceOwner(v string) *VirtualGatewayRef { + s.ResourceOwner = &v + return s } -// GoString returns the string representation -func (s UpdateVirtualNodeOutput) GoString() string { - return s.String() +// SetVersion sets the Version field's value. +func (s *VirtualGatewayRef) SetVersion(v int64) *VirtualGatewayRef { + s.Version = &v + return s } -// SetVirtualNode sets the VirtualNode field's value. -func (s *UpdateVirtualNodeOutput) SetVirtualNode(v *VirtualNodeData) *UpdateVirtualNodeOutput { - s.VirtualNode = v +// SetVirtualGatewayName sets the VirtualGatewayName field's value. +func (s *VirtualGatewayRef) SetVirtualGatewayName(v string) *VirtualGatewayRef { + s.VirtualGatewayName = &v return s } -type UpdateVirtualRouterInput struct { +// An object that represents the specification of a service mesh resource. +type VirtualGatewaySpec struct { _ struct{} `type:"structure"` - ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - - MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` + // An object that represents the default properties for a backend. + BackendDefaults *VirtualGatewayBackendDefaults `locationName:"backendDefaults" type:"structure"` - // An object that represents the specification of a virtual router. - // - // Spec is a required field - Spec *VirtualRouterSpec `locationName:"spec" type:"structure" required:"true"` + // Listeners is a required field + Listeners []*VirtualGatewayListener `locationName:"listeners" type:"list" required:"true"` - // VirtualRouterName is a required field - VirtualRouterName *string `location:"uri" locationName:"virtualRouterName" min:"1" type:"string" required:"true"` + // An object that represents logging information. + Logging *VirtualGatewayLogging `locationName:"logging" type:"structure"` } // String returns the string representation -func (s UpdateVirtualRouterInput) String() string { +func (s VirtualGatewaySpec) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateVirtualRouterInput) GoString() string { +func (s VirtualGatewaySpec) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateVirtualRouterInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualRouterInput"} - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) - } - if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { - invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) +func (s *VirtualGatewaySpec) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewaySpec"} + if s.Listeners == nil { + invalidParams.Add(request.NewErrParamRequired("Listeners")) } - if s.Spec == nil { - invalidParams.Add(request.NewErrParamRequired("Spec")) - } - if s.VirtualRouterName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualRouterName")) + if s.BackendDefaults != nil { + if err := s.BackendDefaults.Validate(); err != nil { + invalidParams.AddNested("BackendDefaults", err.(request.ErrInvalidParams)) + } } - if s.VirtualRouterName != nil && len(*s.VirtualRouterName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualRouterName", 1)) + if s.Listeners != nil { + for i, v := range s.Listeners { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Listeners", i), err.(request.ErrInvalidParams)) + } + } } - if s.Spec != nil { - if err := s.Spec.Validate(); err != nil { - invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) + if s.Logging != nil { + if err := s.Logging.Validate(); err != nil { + invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) } } @@ -9259,115 +13488,120 @@ func (s *UpdateVirtualRouterInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *UpdateVirtualRouterInput) SetClientToken(v string) *UpdateVirtualRouterInput { - s.ClientToken = &v +// SetBackendDefaults sets the BackendDefaults field's value. +func (s *VirtualGatewaySpec) SetBackendDefaults(v *VirtualGatewayBackendDefaults) *VirtualGatewaySpec { + s.BackendDefaults = v return s } -// SetMeshName sets the MeshName field's value. -func (s *UpdateVirtualRouterInput) SetMeshName(v string) *UpdateVirtualRouterInput { - s.MeshName = &v +// SetListeners sets the Listeners field's value. +func (s *VirtualGatewaySpec) SetListeners(v []*VirtualGatewayListener) *VirtualGatewaySpec { + s.Listeners = v return s } -// SetMeshOwner sets the MeshOwner field's value. -func (s *UpdateVirtualRouterInput) SetMeshOwner(v string) *UpdateVirtualRouterInput { - s.MeshOwner = &v +// SetLogging sets the Logging field's value. +func (s *VirtualGatewaySpec) SetLogging(v *VirtualGatewayLogging) *VirtualGatewaySpec { + s.Logging = v return s } -// SetSpec sets the Spec field's value. -func (s *UpdateVirtualRouterInput) SetSpec(v *VirtualRouterSpec) *UpdateVirtualRouterInput { - s.Spec = v - return s +// An object that represents the status of the mesh resource. +type VirtualGatewayStatus struct { + _ struct{} `type:"structure"` + + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"VirtualGatewayStatusCode"` } -// SetVirtualRouterName sets the VirtualRouterName field's value. -func (s *UpdateVirtualRouterInput) SetVirtualRouterName(v string) *UpdateVirtualRouterInput { - s.VirtualRouterName = &v +// String returns the string representation +func (s VirtualGatewayStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VirtualGatewayStatus) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *VirtualGatewayStatus) SetStatus(v string) *VirtualGatewayStatus { + s.Status = &v return s } -type UpdateVirtualRouterOutput struct { - _ struct{} `type:"structure" payload:"VirtualRouter"` +// An object that represents a Transport Layer Security (TLS) validation context. +type VirtualGatewayTlsValidationContext struct { + _ struct{} `type:"structure"` - // An object that represents a virtual router returned by a describe operation. + // An object that represents a Transport Layer Security (TLS) validation context + // trust. // - // VirtualRouter is a required field - VirtualRouter *VirtualRouterData `locationName:"virtualRouter" type:"structure" required:"true"` + // Trust is a required field + Trust *VirtualGatewayTlsValidationContextTrust `locationName:"trust" type:"structure" required:"true"` } // String returns the string representation -func (s UpdateVirtualRouterOutput) String() string { +func (s VirtualGatewayTlsValidationContext) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateVirtualRouterOutput) GoString() string { +func (s VirtualGatewayTlsValidationContext) GoString() string { return s.String() } -// SetVirtualRouter sets the VirtualRouter field's value. -func (s *UpdateVirtualRouterOutput) SetVirtualRouter(v *VirtualRouterData) *UpdateVirtualRouterOutput { - s.VirtualRouter = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *VirtualGatewayTlsValidationContext) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContext"} + if s.Trust == nil { + invalidParams.Add(request.NewErrParamRequired("Trust")) + } + if s.Trust != nil { + if err := s.Trust.Validate(); err != nil { + invalidParams.AddNested("Trust", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTrust sets the Trust field's value. +func (s *VirtualGatewayTlsValidationContext) SetTrust(v *VirtualGatewayTlsValidationContextTrust) *VirtualGatewayTlsValidationContext { + s.Trust = v return s } -type UpdateVirtualServiceInput struct { +// An object that represents a TLS validation context trust for an AWS Certicate +// Manager (ACM) certificate. +type VirtualGatewayTlsValidationContextAcmTrust struct { _ struct{} `type:"structure"` - ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - - // MeshName is a required field - MeshName *string `location:"uri" locationName:"meshName" min:"1" type:"string" required:"true"` - - MeshOwner *string `location:"querystring" locationName:"meshOwner" min:"12" type:"string"` - - // An object that represents the specification of a virtual service. - // - // Spec is a required field - Spec *VirtualServiceSpec `locationName:"spec" type:"structure" required:"true"` - - // VirtualServiceName is a required field - VirtualServiceName *string `location:"uri" locationName:"virtualServiceName" type:"string" required:"true"` + // CertificateAuthorityArns is a required field + CertificateAuthorityArns []*string `locationName:"certificateAuthorityArns" min:"1" type:"list" required:"true"` } // String returns the string representation -func (s UpdateVirtualServiceInput) String() string { +func (s VirtualGatewayTlsValidationContextAcmTrust) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateVirtualServiceInput) GoString() string { +func (s VirtualGatewayTlsValidationContextAcmTrust) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateVirtualServiceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateVirtualServiceInput"} - if s.MeshName == nil { - invalidParams.Add(request.NewErrParamRequired("MeshName")) - } - if s.MeshName != nil && len(*s.MeshName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MeshName", 1)) - } - if s.MeshOwner != nil && len(*s.MeshOwner) < 12 { - invalidParams.Add(request.NewErrParamMinLen("MeshOwner", 12)) - } - if s.Spec == nil { - invalidParams.Add(request.NewErrParamRequired("Spec")) - } - if s.VirtualServiceName == nil { - invalidParams.Add(request.NewErrParamRequired("VirtualServiceName")) - } - if s.VirtualServiceName != nil && len(*s.VirtualServiceName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VirtualServiceName", 1)) +func (s *VirtualGatewayTlsValidationContextAcmTrust) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextAcmTrust"} + if s.CertificateAuthorityArns == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArns")) } - if s.Spec != nil { - if err := s.Spec.Validate(); err != nil { - invalidParams.AddNested("Spec", err.(request.ErrInvalidParams)) - } + if s.CertificateAuthorityArns != nil && len(s.CertificateAuthorityArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArns", 1)) } if invalidParams.Len() > 0 { @@ -9376,58 +13610,106 @@ func (s *UpdateVirtualServiceInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *UpdateVirtualServiceInput) SetClientToken(v string) *UpdateVirtualServiceInput { - s.ClientToken = &v +// SetCertificateAuthorityArns sets the CertificateAuthorityArns field's value. +func (s *VirtualGatewayTlsValidationContextAcmTrust) SetCertificateAuthorityArns(v []*string) *VirtualGatewayTlsValidationContextAcmTrust { + s.CertificateAuthorityArns = v return s } -// SetMeshName sets the MeshName field's value. -func (s *UpdateVirtualServiceInput) SetMeshName(v string) *UpdateVirtualServiceInput { - s.MeshName = &v - return s +// An object that represents a Transport Layer Security (TLS) validation context +// trust for a local file. +type VirtualGatewayTlsValidationContextFileTrust struct { + _ struct{} `type:"structure"` + + // CertificateChain is a required field + CertificateChain *string `locationName:"certificateChain" min:"1" type:"string" required:"true"` } -// SetMeshOwner sets the MeshOwner field's value. -func (s *UpdateVirtualServiceInput) SetMeshOwner(v string) *UpdateVirtualServiceInput { - s.MeshOwner = &v - return s +// String returns the string representation +func (s VirtualGatewayTlsValidationContextFileTrust) String() string { + return awsutil.Prettify(s) } -// SetSpec sets the Spec field's value. -func (s *UpdateVirtualServiceInput) SetSpec(v *VirtualServiceSpec) *UpdateVirtualServiceInput { - s.Spec = v - return s +// GoString returns the string representation +func (s VirtualGatewayTlsValidationContextFileTrust) GoString() string { + return s.String() } -// SetVirtualServiceName sets the VirtualServiceName field's value. -func (s *UpdateVirtualServiceInput) SetVirtualServiceName(v string) *UpdateVirtualServiceInput { - s.VirtualServiceName = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *VirtualGatewayTlsValidationContextFileTrust) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextFileTrust"} + if s.CertificateChain == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateChain")) + } + if s.CertificateChain != nil && len(*s.CertificateChain) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateChain sets the CertificateChain field's value. +func (s *VirtualGatewayTlsValidationContextFileTrust) SetCertificateChain(v string) *VirtualGatewayTlsValidationContextFileTrust { + s.CertificateChain = &v return s } -type UpdateVirtualServiceOutput struct { - _ struct{} `type:"structure" payload:"VirtualService"` +// An object that represents a Transport Layer Security (TLS) validation context +// trust. +type VirtualGatewayTlsValidationContextTrust struct { + _ struct{} `type:"structure"` - // An object that represents a virtual service returned by a describe operation. - // - // VirtualService is a required field - VirtualService *VirtualServiceData `locationName:"virtualService" type:"structure" required:"true"` + // An object that represents a TLS validation context trust for an AWS Certicate + // Manager (ACM) certificate. + Acm *VirtualGatewayTlsValidationContextAcmTrust `locationName:"acm" type:"structure"` + + // An object that represents a Transport Layer Security (TLS) validation context + // trust for a local file. + File *VirtualGatewayTlsValidationContextFileTrust `locationName:"file" type:"structure"` } // String returns the string representation -func (s UpdateVirtualServiceOutput) String() string { +func (s VirtualGatewayTlsValidationContextTrust) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateVirtualServiceOutput) GoString() string { +func (s VirtualGatewayTlsValidationContextTrust) GoString() string { return s.String() } -// SetVirtualService sets the VirtualService field's value. -func (s *UpdateVirtualServiceOutput) SetVirtualService(v *VirtualServiceData) *UpdateVirtualServiceOutput { - s.VirtualService = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *VirtualGatewayTlsValidationContextTrust) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualGatewayTlsValidationContextTrust"} + if s.Acm != nil { + if err := s.Acm.Validate(); err != nil { + invalidParams.AddNested("Acm", err.(request.ErrInvalidParams)) + } + } + if s.File != nil { + if err := s.File.Validate(); err != nil { + invalidParams.AddNested("File", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcm sets the Acm field's value. +func (s *VirtualGatewayTlsValidationContextTrust) SetAcm(v *VirtualGatewayTlsValidationContextAcmTrust) *VirtualGatewayTlsValidationContextTrust { + s.Acm = v + return s +} + +// SetFile sets the File field's value. +func (s *VirtualGatewayTlsValidationContextTrust) SetFile(v *VirtualGatewayTlsValidationContextFileTrust) *VirtualGatewayTlsValidationContextTrust { + s.File = v return s } @@ -9504,6 +13786,12 @@ type VirtualNodeRef struct { // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` @@ -9513,6 +13801,9 @@ type VirtualNodeRef struct { // ResourceOwner is a required field ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + // Version is a required field + Version *int64 `locationName:"version" type:"long" required:"true"` + // VirtualNodeName is a required field VirtualNodeName *string `locationName:"virtualNodeName" min:"1" type:"string" required:"true"` } @@ -9533,6 +13824,18 @@ func (s *VirtualNodeRef) SetArn(v string) *VirtualNodeRef { return s } +// SetCreatedAt sets the CreatedAt field's value. +func (s *VirtualNodeRef) SetCreatedAt(v time.Time) *VirtualNodeRef { + s.CreatedAt = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *VirtualNodeRef) SetLastUpdatedAt(v time.Time) *VirtualNodeRef { + s.LastUpdatedAt = &v + return s +} + // SetMeshName sets the MeshName field's value. func (s *VirtualNodeRef) SetMeshName(v string) *VirtualNodeRef { s.MeshName = &v @@ -9551,6 +13854,12 @@ func (s *VirtualNodeRef) SetResourceOwner(v string) *VirtualNodeRef { return s } +// SetVersion sets the Version field's value. +func (s *VirtualNodeRef) SetVersion(v int64) *VirtualNodeRef { + s.Version = &v + return s +} + // SetVirtualNodeName sets the VirtualNodeName field's value. func (s *VirtualNodeRef) SetVirtualNodeName(v string) *VirtualNodeRef { s.VirtualNodeName = &v @@ -9842,6 +14151,12 @@ type VirtualRouterRef struct { // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` @@ -9851,6 +14166,9 @@ type VirtualRouterRef struct { // ResourceOwner is a required field ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + // Version is a required field + Version *int64 `locationName:"version" type:"long" required:"true"` + // VirtualRouterName is a required field VirtualRouterName *string `locationName:"virtualRouterName" min:"1" type:"string" required:"true"` } @@ -9871,6 +14189,18 @@ func (s *VirtualRouterRef) SetArn(v string) *VirtualRouterRef { return s } +// SetCreatedAt sets the CreatedAt field's value. +func (s *VirtualRouterRef) SetCreatedAt(v time.Time) *VirtualRouterRef { + s.CreatedAt = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *VirtualRouterRef) SetLastUpdatedAt(v time.Time) *VirtualRouterRef { + s.LastUpdatedAt = &v + return s +} + // SetMeshName sets the MeshName field's value. func (s *VirtualRouterRef) SetMeshName(v string) *VirtualRouterRef { s.MeshName = &v @@ -9889,6 +14219,12 @@ func (s *VirtualRouterRef) SetResourceOwner(v string) *VirtualRouterRef { return s } +// SetVersion sets the Version field's value. +func (s *VirtualRouterRef) SetVersion(v int64) *VirtualRouterRef { + s.Version = &v + return s +} + // SetVirtualRouterName sets the VirtualRouterName field's value. func (s *VirtualRouterRef) SetVirtualRouterName(v string) *VirtualRouterRef { s.VirtualRouterName = &v @@ -10182,6 +14518,12 @@ type VirtualServiceRef struct { // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp" required:"true"` + // MeshName is a required field MeshName *string `locationName:"meshName" min:"1" type:"string" required:"true"` @@ -10191,6 +14533,9 @@ type VirtualServiceRef struct { // ResourceOwner is a required field ResourceOwner *string `locationName:"resourceOwner" min:"12" type:"string" required:"true"` + // Version is a required field + Version *int64 `locationName:"version" type:"long" required:"true"` + // VirtualServiceName is a required field VirtualServiceName *string `locationName:"virtualServiceName" type:"string" required:"true"` } @@ -10211,6 +14556,18 @@ func (s *VirtualServiceRef) SetArn(v string) *VirtualServiceRef { return s } +// SetCreatedAt sets the CreatedAt field's value. +func (s *VirtualServiceRef) SetCreatedAt(v time.Time) *VirtualServiceRef { + s.CreatedAt = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *VirtualServiceRef) SetLastUpdatedAt(v time.Time) *VirtualServiceRef { + s.LastUpdatedAt = &v + return s +} + // SetMeshName sets the MeshName field's value. func (s *VirtualServiceRef) SetMeshName(v string) *VirtualServiceRef { s.MeshName = &v @@ -10229,6 +14586,12 @@ func (s *VirtualServiceRef) SetResourceOwner(v string) *VirtualServiceRef { return s } +// SetVersion sets the Version field's value. +func (s *VirtualServiceRef) SetVersion(v int64) *VirtualServiceRef { + s.Version = &v + return s +} + // SetVirtualServiceName sets the VirtualServiceName field's value. func (s *VirtualServiceRef) SetVirtualServiceName(v string) *VirtualServiceRef { s.VirtualServiceName = &v @@ -10370,6 +14733,17 @@ const ( EgressFilterTypeDropAll = "DROP_ALL" ) +const ( + // GatewayRouteStatusCodeActive is a GatewayRouteStatusCode enum value + GatewayRouteStatusCodeActive = "ACTIVE" + + // GatewayRouteStatusCodeDeleted is a GatewayRouteStatusCode enum value + GatewayRouteStatusCodeDeleted = "DELETED" + + // GatewayRouteStatusCodeInactive is a GatewayRouteStatusCode enum value + GatewayRouteStatusCodeInactive = "INACTIVE" +) + const ( // GrpcRetryPolicyEventCancelled is a GrpcRetryPolicyEvent enum value GrpcRetryPolicyEventCancelled = "cancelled" @@ -10476,6 +14850,39 @@ const ( TcpRetryPolicyEventConnectionError = "connection-error" ) +const ( + // VirtualGatewayListenerTlsModeDisabled is a VirtualGatewayListenerTlsMode enum value + VirtualGatewayListenerTlsModeDisabled = "DISABLED" + + // VirtualGatewayListenerTlsModePermissive is a VirtualGatewayListenerTlsMode enum value + VirtualGatewayListenerTlsModePermissive = "PERMISSIVE" + + // VirtualGatewayListenerTlsModeStrict is a VirtualGatewayListenerTlsMode enum value + VirtualGatewayListenerTlsModeStrict = "STRICT" +) + +const ( + // VirtualGatewayPortProtocolGrpc is a VirtualGatewayPortProtocol enum value + VirtualGatewayPortProtocolGrpc = "grpc" + + // VirtualGatewayPortProtocolHttp is a VirtualGatewayPortProtocol enum value + VirtualGatewayPortProtocolHttp = "http" + + // VirtualGatewayPortProtocolHttp2 is a VirtualGatewayPortProtocol enum value + VirtualGatewayPortProtocolHttp2 = "http2" +) + +const ( + // VirtualGatewayStatusCodeActive is a VirtualGatewayStatusCode enum value + VirtualGatewayStatusCodeActive = "ACTIVE" + + // VirtualGatewayStatusCodeDeleted is a VirtualGatewayStatusCode enum value + VirtualGatewayStatusCodeDeleted = "DELETED" + + // VirtualGatewayStatusCodeInactive is a VirtualGatewayStatusCode enum value + VirtualGatewayStatusCodeInactive = "INACTIVE" +) + const ( // VirtualNodeStatusCodeActive is a VirtualNodeStatusCode enum value VirtualNodeStatusCodeActive = "ACTIVE" diff --git a/vendor/github.com/aws/aws-sdk-go/service/appmesh/doc.go b/vendor/github.com/aws/aws-sdk-go/service/appmesh/doc.go index 09a02953834..66f3509f3e4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appmesh/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appmesh/doc.go @@ -14,7 +14,7 @@ // // App Mesh supports microservice applications that use service discovery naming // for their components. For more information about service discovery on Amazon -// ECS, see Service Discovery (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) +// ECS, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) // in the Amazon Elastic Container Service Developer Guide. Kubernetes kube-dns // and coredns are supported. For more information, see DNS for Services and // Pods (https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/) diff --git a/vendor/github.com/aws/aws-sdk-go/service/appmesh/errors.go b/vendor/github.com/aws/aws-sdk-go/service/appmesh/errors.go index 9e60da8d1d0..96973b8dae2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appmesh/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appmesh/errors.go @@ -39,7 +39,7 @@ const ( // "LimitExceededException". // // You have exceeded a service limit for your account. For more information, - // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service_limits.html) + // see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html) // in the AWS App Mesh User Guide. ErrCodeLimitExceededException = "LimitExceededException" diff --git a/vendor/github.com/aws/aws-sdk-go/service/appsync/api.go b/vendor/github.com/aws/aws-sdk-go/service/appsync/api.go index 8215648e8d8..ae36e3888a2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appsync/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appsync/api.go @@ -3990,7 +3990,29 @@ type ApiCache struct { // Valid values are between 1 and 3600 seconds. Ttl *int64 `locationName:"ttl" type:"long"` - // The cache instance type. + // The cache instance type. Valid values are + // + // * SMALL + // + // * MEDIUM + // + // * LARGE + // + // * XLARGE + // + // * LARGE_2X + // + // * LARGE_4X + // + // * LARGE_8X (not available in all regions) + // + // * LARGE_12X + // + // Historically, instance types were identified by an EC2-style value. As of + // July 2020, this is deprecated, and the generic identifiers above should be + // used. + // + // The following legacy instance types are avaible, but their use is discouraged: // // * T2_SMALL: A t2.small instance type. // @@ -4633,7 +4655,29 @@ type CreateApiCacheInput struct { // Ttl is a required field Ttl *int64 `locationName:"ttl" type:"long" required:"true"` - // The cache instance type. + // The cache instance type. Valid values are + // + // * SMALL + // + // * MEDIUM + // + // * LARGE + // + // * XLARGE + // + // * LARGE_2X + // + // * LARGE_4X + // + // * LARGE_8X (not available in all regions) + // + // * LARGE_12X + // + // Historically, instance types were identified by an EC2-style value. As of + // July 2020, this is deprecated, and the generic identifiers above should be + // used. + // + // The following legacy instance types are avaible, but their use is discouraged: // // * T2_SMALL: A t2.small instance type. // @@ -5041,9 +5085,7 @@ type CreateFunctionInput struct { // The Function request mapping template. Functions support only the 2018-05-29 // version of the request mapping template. - // - // RequestMappingTemplate is a required field - RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string" required:"true"` + RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"` // The Function response mapping template. ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"` @@ -5083,9 +5125,6 @@ func (s *CreateFunctionInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.RequestMappingTemplate == nil { - invalidParams.Add(request.NewErrParamRequired("RequestMappingTemplate")) - } if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 { invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1)) } @@ -5359,9 +5398,7 @@ type CreateResolverInput struct { // A resolver uses a request mapping template to convert a GraphQL expression // into a format that a data source can understand. Mapping templates are written // in Apache Velocity Template Language (VTL). - // - // RequestMappingTemplate is a required field - RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string" required:"true"` + RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"` // The mapping template to be used for responses from the data source. ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"` @@ -5403,9 +5440,6 @@ func (s *CreateResolverInput) Validate() error { if s.FieldName != nil && len(*s.FieldName) < 1 { invalidParams.Add(request.NewErrParamMinLen("FieldName", 1)) } - if s.RequestMappingTemplate == nil { - invalidParams.Add(request.NewErrParamRequired("RequestMappingTemplate")) - } if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 { invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1)) } @@ -8585,7 +8619,7 @@ type RdsHttpEndpointConfig struct { // Logical database name. DatabaseName *string `locationName:"databaseName" type:"string"` - // Amazon RDS cluster identifier. + // Amazon RDS cluster ARN. DbClusterIdentifier *string `locationName:"dbClusterIdentifier" type:"string"` // Logical schema name. @@ -9204,7 +9238,29 @@ type UpdateApiCacheInput struct { // Ttl is a required field Ttl *int64 `locationName:"ttl" type:"long" required:"true"` - // The cache instance type. + // The cache instance type. Valid values are + // + // * SMALL + // + // * MEDIUM + // + // * LARGE + // + // * XLARGE + // + // * LARGE_2X + // + // * LARGE_4X + // + // * LARGE_8X (not available in all regions) + // + // * LARGE_12X + // + // Historically, instance types were identified by an EC2-style value. As of + // July 2020, this is deprecated, and the generic identifiers above should be + // used. + // + // The following legacy instance types are avaible, but their use is discouraged: // // * T2_SMALL: A t2.small instance type. // @@ -9619,9 +9675,7 @@ type UpdateFunctionInput struct { // The Function request mapping template. Functions support only the 2018-05-29 // version of the request mapping template. - // - // RequestMappingTemplate is a required field - RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string" required:"true"` + RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"` // The Function request mapping template. ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"` @@ -9667,9 +9721,6 @@ func (s *UpdateFunctionInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.RequestMappingTemplate == nil { - invalidParams.Add(request.NewErrParamRequired("RequestMappingTemplate")) - } if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 { invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1)) } @@ -9945,9 +9996,7 @@ type UpdateResolverInput struct { PipelineConfig *PipelineConfig `locationName:"pipelineConfig" type:"structure"` // The new request mapping template. - // - // RequestMappingTemplate is a required field - RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string" required:"true"` + RequestMappingTemplate *string `locationName:"requestMappingTemplate" min:"1" type:"string"` // The new response mapping template. ResponseMappingTemplate *string `locationName:"responseMappingTemplate" min:"1" type:"string"` @@ -9989,9 +10038,6 @@ func (s *UpdateResolverInput) Validate() error { if s.FieldName != nil && len(*s.FieldName) < 1 { invalidParams.Add(request.NewErrParamMinLen("FieldName", 1)) } - if s.RequestMappingTemplate == nil { - invalidParams.Add(request.NewErrParamRequired("RequestMappingTemplate")) - } if s.RequestMappingTemplate != nil && len(*s.RequestMappingTemplate) < 1 { invalidParams.Add(request.NewErrParamMinLen("RequestMappingTemplate", 1)) } @@ -10315,6 +10361,30 @@ const ( // ApiCacheTypeR48xlarge is a ApiCacheType enum value ApiCacheTypeR48xlarge = "R4_8XLARGE" + + // ApiCacheTypeSmall is a ApiCacheType enum value + ApiCacheTypeSmall = "SMALL" + + // ApiCacheTypeMedium is a ApiCacheType enum value + ApiCacheTypeMedium = "MEDIUM" + + // ApiCacheTypeLarge is a ApiCacheType enum value + ApiCacheTypeLarge = "LARGE" + + // ApiCacheTypeXlarge is a ApiCacheType enum value + ApiCacheTypeXlarge = "XLARGE" + + // ApiCacheTypeLarge2x is a ApiCacheType enum value + ApiCacheTypeLarge2x = "LARGE_2X" + + // ApiCacheTypeLarge4x is a ApiCacheType enum value + ApiCacheTypeLarge4x = "LARGE_4X" + + // ApiCacheTypeLarge8x is a ApiCacheType enum value + ApiCacheTypeLarge8x = "LARGE_8X" + + // ApiCacheTypeLarge12x is a ApiCacheType enum value + ApiCacheTypeLarge12x = "LARGE_12X" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/athena/api.go b/vendor/github.com/aws/aws-sdk-go/service/athena/api.go index ca2043b0144..0b934bfa932 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/athena/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/athena/api.go @@ -194,6 +194,92 @@ func (c *Athena) BatchGetQueryExecutionWithContext(ctx aws.Context, input *Batch return out, req.Send() } +const opCreateDataCatalog = "CreateDataCatalog" + +// CreateDataCatalogRequest generates a "aws/request.Request" representing the +// client's request for the CreateDataCatalog operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateDataCatalog for more information on using the CreateDataCatalog +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateDataCatalogRequest method. +// req, resp := client.CreateDataCatalogRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateDataCatalog +func (c *Athena) CreateDataCatalogRequest(input *CreateDataCatalogInput) (req *request.Request, output *CreateDataCatalogOutput) { + op := &request.Operation{ + Name: opCreateDataCatalog, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDataCatalogInput{} + } + + output = &CreateDataCatalogOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreateDataCatalog API operation for Amazon Athena. +// +// Creates (registers) a data catalog with the specified name and properties. +// Catalogs created are visible to all users of the same AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Athena's +// API operation CreateDataCatalog for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateDataCatalog +func (c *Athena) CreateDataCatalog(input *CreateDataCatalogInput) (*CreateDataCatalogOutput, error) { + req, out := c.CreateDataCatalogRequest(input) + return out, req.Send() +} + +// CreateDataCatalogWithContext is the same as CreateDataCatalog with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDataCatalog for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Athena) CreateDataCatalogWithContext(ctx aws.Context, input *CreateDataCatalogInput, opts ...request.Option) (*CreateDataCatalogOutput, error) { + req, out := c.CreateDataCatalogRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateNamedQuery = "CreateNamedQuery" // CreateNamedQueryRequest generates a "aws/request.Request" representing the @@ -368,6 +454,91 @@ func (c *Athena) CreateWorkGroupWithContext(ctx aws.Context, input *CreateWorkGr return out, req.Send() } +const opDeleteDataCatalog = "DeleteDataCatalog" + +// DeleteDataCatalogRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDataCatalog operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteDataCatalog for more information on using the DeleteDataCatalog +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteDataCatalogRequest method. +// req, resp := client.DeleteDataCatalogRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteDataCatalog +func (c *Athena) DeleteDataCatalogRequest(input *DeleteDataCatalogInput) (req *request.Request, output *DeleteDataCatalogOutput) { + op := &request.Operation{ + Name: opDeleteDataCatalog, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDataCatalogInput{} + } + + output = &DeleteDataCatalogOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDataCatalog API operation for Amazon Athena. +// +// Deletes a data catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Athena's +// API operation DeleteDataCatalog for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeleteDataCatalog +func (c *Athena) DeleteDataCatalog(input *DeleteDataCatalogInput) (*DeleteDataCatalogOutput, error) { + req, out := c.DeleteDataCatalogRequest(input) + return out, req.Send() +} + +// DeleteDataCatalogWithContext is the same as DeleteDataCatalog with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDataCatalog for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Athena) DeleteDataCatalogWithContext(ctx aws.Context, input *DeleteDataCatalogInput, opts ...request.Option) (*DeleteDataCatalogOutput, error) { + req, out := c.DeleteDataCatalogRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteNamedQuery = "DeleteNamedQuery" // DeleteNamedQueryRequest generates a "aws/request.Request" representing the @@ -544,6 +715,181 @@ func (c *Athena) DeleteWorkGroupWithContext(ctx aws.Context, input *DeleteWorkGr return out, req.Send() } +const opGetDataCatalog = "GetDataCatalog" + +// GetDataCatalogRequest generates a "aws/request.Request" representing the +// client's request for the GetDataCatalog operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDataCatalog for more information on using the GetDataCatalog +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetDataCatalogRequest method. +// req, resp := client.GetDataCatalogRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDataCatalog +func (c *Athena) GetDataCatalogRequest(input *GetDataCatalogInput) (req *request.Request, output *GetDataCatalogOutput) { + op := &request.Operation{ + Name: opGetDataCatalog, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDataCatalogInput{} + } + + output = &GetDataCatalogOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDataCatalog API operation for Amazon Athena. +// +// Returns the specified data catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Athena's +// API operation GetDataCatalog for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDataCatalog +func (c *Athena) GetDataCatalog(input *GetDataCatalogInput) (*GetDataCatalogOutput, error) { + req, out := c.GetDataCatalogRequest(input) + return out, req.Send() +} + +// GetDataCatalogWithContext is the same as GetDataCatalog with the addition of +// the ability to pass a context and additional request options. +// +// See GetDataCatalog for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Athena) GetDataCatalogWithContext(ctx aws.Context, input *GetDataCatalogInput, opts ...request.Option) (*GetDataCatalogOutput, error) { + req, out := c.GetDataCatalogRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDatabase = "GetDatabase" + +// GetDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the GetDatabase operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDatabase for more information on using the GetDatabase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetDatabaseRequest method. +// req, resp := client.GetDatabaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDatabase +func (c *Athena) GetDatabaseRequest(input *GetDatabaseInput) (req *request.Request, output *GetDatabaseOutput) { + op := &request.Operation{ + Name: opGetDatabase, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDatabaseInput{} + } + + output = &GetDatabaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDatabase API operation for Amazon Athena. +// +// Returns a database object for the specfied database and data catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Athena's +// API operation GetDatabase for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// * MetadataException +// An exception that Athena received when it called a custom metastore. Occurs +// if the error is not caused by user input (InvalidRequestException) or from +// the Athena platform (InternalServerException). For example, if a user-created +// Lambda function is missing permissions, the Lambda 4XX exception is returned +// in a MetadataException. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetDatabase +func (c *Athena) GetDatabase(input *GetDatabaseInput) (*GetDatabaseOutput, error) { + req, out := c.GetDatabaseRequest(input) + return out, req.Send() +} + +// GetDatabaseWithContext is the same as GetDatabase with the addition of +// the ability to pass a context and additional request options. +// +// See GetDatabase for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Athena) GetDatabaseWithContext(ctx aws.Context, input *GetDatabaseInput, opts ...request.Option) (*GetDatabaseOutput, error) { + req, out := c.GetDatabaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetNamedQuery = "GetNamedQuery" // GetNamedQueryRequest generates a "aws/request.Request" representing the @@ -871,7 +1217,98 @@ func (c *Athena) GetQueryResultsPagesWithContext(ctx aws.Context, input *GetQuer return p.Err() } -const opGetWorkGroup = "GetWorkGroup" +const opGetTableMetadata = "GetTableMetadata" + +// GetTableMetadataRequest generates a "aws/request.Request" representing the +// client's request for the GetTableMetadata operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetTableMetadata for more information on using the GetTableMetadata +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetTableMetadataRequest method. +// req, resp := client.GetTableMetadataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetTableMetadata +func (c *Athena) GetTableMetadataRequest(input *GetTableMetadataInput) (req *request.Request, output *GetTableMetadataOutput) { + op := &request.Operation{ + Name: opGetTableMetadata, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetTableMetadataInput{} + } + + output = &GetTableMetadataOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTableMetadata API operation for Amazon Athena. +// +// Returns table metadata for the specified catalog, database, and 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 Athena's +// API operation GetTableMetadata for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// * MetadataException +// An exception that Athena received when it called a custom metastore. Occurs +// if the error is not caused by user input (InvalidRequestException) or from +// the Athena platform (InternalServerException). For example, if a user-created +// Lambda function is missing permissions, the Lambda 4XX exception is returned +// in a MetadataException. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetTableMetadata +func (c *Athena) GetTableMetadata(input *GetTableMetadataInput) (*GetTableMetadataOutput, error) { + req, out := c.GetTableMetadataRequest(input) + return out, req.Send() +} + +// GetTableMetadataWithContext is the same as GetTableMetadata with the addition of +// the ability to pass a context and additional request options. +// +// See GetTableMetadata for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Athena) GetTableMetadataWithContext(ctx aws.Context, input *GetTableMetadataInput, opts ...request.Option) (*GetTableMetadataOutput, error) { + req, out := c.GetTableMetadataRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetWorkGroup = "GetWorkGroup" // GetWorkGroupRequest generates a "aws/request.Request" representing the // client's request for the GetWorkGroup operation. The "output" return @@ -955,35 +1392,35 @@ func (c *Athena) GetWorkGroupWithContext(ctx aws.Context, input *GetWorkGroupInp return out, req.Send() } -const opListNamedQueries = "ListNamedQueries" +const opListDataCatalogs = "ListDataCatalogs" -// ListNamedQueriesRequest generates a "aws/request.Request" representing the -// client's request for the ListNamedQueries operation. The "output" return +// ListDataCatalogsRequest generates a "aws/request.Request" representing the +// client's request for the ListDataCatalogs operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListNamedQueries for more information on using the ListNamedQueries +// See ListDataCatalogs for more information on using the ListDataCatalogs // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListNamedQueriesRequest method. -// req, resp := client.ListNamedQueriesRequest(params) +// // Example sending a request using the ListDataCatalogsRequest method. +// req, resp := client.ListDataCatalogsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNamedQueries -func (c *Athena) ListNamedQueriesRequest(input *ListNamedQueriesInput) (req *request.Request, output *ListNamedQueriesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDataCatalogs +func (c *Athena) ListDataCatalogsRequest(input *ListDataCatalogsInput) (req *request.Request, output *ListDataCatalogsOutput) { op := &request.Operation{ - Name: opListNamedQueries, + Name: opListDataCatalogs, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -995,30 +1432,24 @@ func (c *Athena) ListNamedQueriesRequest(input *ListNamedQueriesInput) (req *req } if input == nil { - input = &ListNamedQueriesInput{} + input = &ListDataCatalogsInput{} } - output = &ListNamedQueriesOutput{} + output = &ListDataCatalogsOutput{} req = c.newRequest(op, input, output) return } -// ListNamedQueries API operation for Amazon Athena. -// -// Provides a list of available query IDs only for queries saved in the specified -// workgroup. Requires that you have access to the workgroup. If a workgroup -// is not specified, lists the saved queries for the primary workgroup. +// ListDataCatalogs API operation for Amazon Athena. // -// For code samples using the AWS SDK for Java, see Examples and Code Samples -// (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon -// Athena User Guide. +// Lists the data catalogs in the current AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Athena's -// API operation ListNamedQueries for usage and error information. +// API operation ListDataCatalogs for usage and error information. // // Returned Error Types: // * InternalServerException @@ -1029,65 +1460,65 @@ func (c *Athena) ListNamedQueriesRequest(input *ListNamedQueriesInput) (req *req // Indicates that something is wrong with the input to the request. For example, // a required parameter may be missing or out of range. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNamedQueries -func (c *Athena) ListNamedQueries(input *ListNamedQueriesInput) (*ListNamedQueriesOutput, error) { - req, out := c.ListNamedQueriesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDataCatalogs +func (c *Athena) ListDataCatalogs(input *ListDataCatalogsInput) (*ListDataCatalogsOutput, error) { + req, out := c.ListDataCatalogsRequest(input) return out, req.Send() } -// ListNamedQueriesWithContext is the same as ListNamedQueries with the addition of +// ListDataCatalogsWithContext is the same as ListDataCatalogs with the addition of // the ability to pass a context and additional request options. // -// See ListNamedQueries for details on how to use this API operation. +// See ListDataCatalogs for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Athena) ListNamedQueriesWithContext(ctx aws.Context, input *ListNamedQueriesInput, opts ...request.Option) (*ListNamedQueriesOutput, error) { - req, out := c.ListNamedQueriesRequest(input) +func (c *Athena) ListDataCatalogsWithContext(ctx aws.Context, input *ListDataCatalogsInput, opts ...request.Option) (*ListDataCatalogsOutput, error) { + req, out := c.ListDataCatalogsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListNamedQueriesPages iterates over the pages of a ListNamedQueries operation, +// ListDataCatalogsPages iterates over the pages of a ListDataCatalogs operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListNamedQueries method for more information on how to use this operation. +// See ListDataCatalogs 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 ListNamedQueries operation. +// // Example iterating over at most 3 pages of a ListDataCatalogs operation. // pageNum := 0 -// err := client.ListNamedQueriesPages(params, -// func(page *athena.ListNamedQueriesOutput, lastPage bool) bool { +// err := client.ListDataCatalogsPages(params, +// func(page *athena.ListDataCatalogsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *Athena) ListNamedQueriesPages(input *ListNamedQueriesInput, fn func(*ListNamedQueriesOutput, bool) bool) error { - return c.ListNamedQueriesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Athena) ListDataCatalogsPages(input *ListDataCatalogsInput, fn func(*ListDataCatalogsOutput, bool) bool) error { + return c.ListDataCatalogsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListNamedQueriesPagesWithContext same as ListNamedQueriesPages except +// ListDataCatalogsPagesWithContext same as ListDataCatalogsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Athena) ListNamedQueriesPagesWithContext(ctx aws.Context, input *ListNamedQueriesInput, fn func(*ListNamedQueriesOutput, bool) bool, opts ...request.Option) error { +func (c *Athena) ListDataCatalogsPagesWithContext(ctx aws.Context, input *ListDataCatalogsInput, fn func(*ListDataCatalogsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListNamedQueriesInput + var inCpy *ListDataCatalogsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListNamedQueriesRequest(inCpy) + req, _ := c.ListDataCatalogsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1095,7 +1526,7 @@ func (c *Athena) ListNamedQueriesPagesWithContext(ctx aws.Context, input *ListNa } for p.Next() { - if !fn(p.Page().(*ListNamedQueriesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListDataCatalogsOutput), !p.HasNextPage()) { break } } @@ -1103,35 +1534,35 @@ func (c *Athena) ListNamedQueriesPagesWithContext(ctx aws.Context, input *ListNa return p.Err() } -const opListQueryExecutions = "ListQueryExecutions" +const opListDatabases = "ListDatabases" -// ListQueryExecutionsRequest generates a "aws/request.Request" representing the -// client's request for the ListQueryExecutions operation. The "output" return +// ListDatabasesRequest generates a "aws/request.Request" representing the +// client's request for the ListDatabases operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListQueryExecutions for more information on using the ListQueryExecutions +// See ListDatabases for more information on using the ListDatabases // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListQueryExecutionsRequest method. -// req, resp := client.ListQueryExecutionsRequest(params) +// // Example sending a request using the ListDatabasesRequest method. +// req, resp := client.ListDatabasesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListQueryExecutions -func (c *Athena) ListQueryExecutionsRequest(input *ListQueryExecutionsInput) (req *request.Request, output *ListQueryExecutionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDatabases +func (c *Athena) ListDatabasesRequest(input *ListDatabasesInput) (req *request.Request, output *ListDatabasesOutput) { op := &request.Operation{ - Name: opListQueryExecutions, + Name: opListDatabases, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -1143,31 +1574,24 @@ func (c *Athena) ListQueryExecutionsRequest(input *ListQueryExecutionsInput) (re } if input == nil { - input = &ListQueryExecutionsInput{} + input = &ListDatabasesInput{} } - output = &ListQueryExecutionsOutput{} + output = &ListDatabasesOutput{} req = c.newRequest(op, input, output) return } -// ListQueryExecutions API operation for Amazon Athena. -// -// Provides a list of available query execution IDs for the queries in the specified -// workgroup. If a workgroup is not specified, returns a list of query execution -// IDs for the primary workgroup. Requires you to have access to the workgroup -// in which the queries ran. +// ListDatabases API operation for Amazon Athena. // -// For code samples using the AWS SDK for Java, see Examples and Code Samples -// (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon -// Athena User Guide. +// Lists the databases in the specified data catalog. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Athena's -// API operation ListQueryExecutions for usage and error information. +// API operation ListDatabases for usage and error information. // // Returned Error Types: // * InternalServerException @@ -1178,65 +1602,72 @@ func (c *Athena) ListQueryExecutionsRequest(input *ListQueryExecutionsInput) (re // Indicates that something is wrong with the input to the request. For example, // a required parameter may be missing or out of range. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListQueryExecutions -func (c *Athena) ListQueryExecutions(input *ListQueryExecutionsInput) (*ListQueryExecutionsOutput, error) { - req, out := c.ListQueryExecutionsRequest(input) +// * MetadataException +// An exception that Athena received when it called a custom metastore. Occurs +// if the error is not caused by user input (InvalidRequestException) or from +// the Athena platform (InternalServerException). For example, if a user-created +// Lambda function is missing permissions, the Lambda 4XX exception is returned +// in a MetadataException. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListDatabases +func (c *Athena) ListDatabases(input *ListDatabasesInput) (*ListDatabasesOutput, error) { + req, out := c.ListDatabasesRequest(input) return out, req.Send() } -// ListQueryExecutionsWithContext is the same as ListQueryExecutions with the addition of +// ListDatabasesWithContext is the same as ListDatabases with the addition of // the ability to pass a context and additional request options. // -// See ListQueryExecutions for details on how to use this API operation. +// See ListDatabases for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Athena) ListQueryExecutionsWithContext(ctx aws.Context, input *ListQueryExecutionsInput, opts ...request.Option) (*ListQueryExecutionsOutput, error) { - req, out := c.ListQueryExecutionsRequest(input) +func (c *Athena) ListDatabasesWithContext(ctx aws.Context, input *ListDatabasesInput, opts ...request.Option) (*ListDatabasesOutput, error) { + req, out := c.ListDatabasesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListQueryExecutionsPages iterates over the pages of a ListQueryExecutions operation, +// ListDatabasesPages iterates over the pages of a ListDatabases operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListQueryExecutions method for more information on how to use this operation. +// See ListDatabases 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 ListQueryExecutions operation. +// // Example iterating over at most 3 pages of a ListDatabases operation. // pageNum := 0 -// err := client.ListQueryExecutionsPages(params, -// func(page *athena.ListQueryExecutionsOutput, lastPage bool) bool { +// err := client.ListDatabasesPages(params, +// func(page *athena.ListDatabasesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *Athena) ListQueryExecutionsPages(input *ListQueryExecutionsInput, fn func(*ListQueryExecutionsOutput, bool) bool) error { - return c.ListQueryExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Athena) ListDatabasesPages(input *ListDatabasesInput, fn func(*ListDatabasesOutput, bool) bool) error { + return c.ListDatabasesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListQueryExecutionsPagesWithContext same as ListQueryExecutionsPages except +// ListDatabasesPagesWithContext same as ListDatabasesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Athena) ListQueryExecutionsPagesWithContext(ctx aws.Context, input *ListQueryExecutionsInput, fn func(*ListQueryExecutionsOutput, bool) bool, opts ...request.Option) error { +func (c *Athena) ListDatabasesPagesWithContext(ctx aws.Context, input *ListDatabasesInput, fn func(*ListDatabasesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListQueryExecutionsInput + var inCpy *ListDatabasesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListQueryExecutionsRequest(inCpy) + req, _ := c.ListDatabasesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1244,7 +1675,7 @@ func (c *Athena) ListQueryExecutionsPagesWithContext(ctx aws.Context, input *Lis } for p.Next() { - if !fn(p.Page().(*ListQueryExecutionsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListDatabasesOutput), !p.HasNextPage()) { break } } @@ -1252,58 +1683,70 @@ func (c *Athena) ListQueryExecutionsPagesWithContext(ctx aws.Context, input *Lis return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opListNamedQueries = "ListNamedQueries" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// ListNamedQueriesRequest generates a "aws/request.Request" representing the +// client's request for the ListNamedQueries operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTagsForResource for more information on using the ListTagsForResource +// See ListNamedQueries for more information on using the ListNamedQueries // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the ListNamedQueriesRequest method. +// req, resp := client.ListNamedQueriesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTagsForResource -func (c *Athena) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNamedQueries +func (c *Athena) ListNamedQueriesRequest(input *ListNamedQueriesInput) (req *request.Request, output *ListNamedQueriesOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opListNamedQueries, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListTagsForResourceInput{} + input = &ListNamedQueriesInput{} } - output = &ListTagsForResourceOutput{} + output = &ListNamedQueriesOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for Amazon Athena. +// ListNamedQueries API operation for Amazon Athena. +// +// Provides a list of available query IDs only for queries saved in the specified +// workgroup. Requires that you have access to the specified workgroup. If a +// workgroup is not specified, lists the saved queries for the primary workgroup. // -// Lists the tags associated with this workgroup. +// For code samples using the AWS SDK for Java, see Examples and Code Samples +// (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon +// Athena User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Athena's -// API operation ListTagsForResource for usage and error information. +// API operation ListNamedQueries for usage and error information. // // Returned Error Types: // * InternalServerException @@ -1314,42 +1757,534 @@ func (c *Athena) ListTagsForResourceRequest(input *ListTagsForResourceInput) (re // Indicates that something is wrong with the input to the request. For example, // a required parameter may be missing or out of range. // -// * ResourceNotFoundException -// A resource, such as a workgroup, was not found. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTagsForResource -func (c *Athena) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListNamedQueries +func (c *Athena) ListNamedQueries(input *ListNamedQueriesInput) (*ListNamedQueriesOutput, error) { + req, out := c.ListNamedQueriesRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// ListNamedQueriesWithContext is the same as ListNamedQueries with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See ListNamedQueries for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Athena) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *Athena) ListNamedQueriesWithContext(ctx aws.Context, input *ListNamedQueriesInput, opts ...request.Option) (*ListNamedQueriesOutput, error) { + req, out := c.ListNamedQueriesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListWorkGroups = "ListWorkGroups" +// ListNamedQueriesPages iterates over the pages of a ListNamedQueries operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListNamedQueries 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 ListNamedQueries operation. +// pageNum := 0 +// err := client.ListNamedQueriesPages(params, +// func(page *athena.ListNamedQueriesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Athena) ListNamedQueriesPages(input *ListNamedQueriesInput, fn func(*ListNamedQueriesOutput, bool) bool) error { + return c.ListNamedQueriesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// ListWorkGroupsRequest generates a "aws/request.Request" representing the -// client's request for the ListWorkGroups operation. The "output" return +// ListNamedQueriesPagesWithContext same as ListNamedQueriesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Athena) ListNamedQueriesPagesWithContext(ctx aws.Context, input *ListNamedQueriesInput, fn func(*ListNamedQueriesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListNamedQueriesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListNamedQueriesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListNamedQueriesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListQueryExecutions = "ListQueryExecutions" + +// ListQueryExecutionsRequest generates a "aws/request.Request" representing the +// client's request for the ListQueryExecutions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListWorkGroups for more information on using the ListWorkGroups +// See ListQueryExecutions for more information on using the ListQueryExecutions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListQueryExecutionsRequest method. +// req, resp := client.ListQueryExecutionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListQueryExecutions +func (c *Athena) ListQueryExecutionsRequest(input *ListQueryExecutionsInput) (req *request.Request, output *ListQueryExecutionsOutput) { + op := &request.Operation{ + Name: opListQueryExecutions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListQueryExecutionsInput{} + } + + output = &ListQueryExecutionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListQueryExecutions API operation for Amazon Athena. +// +// Provides a list of available query execution IDs for the queries in the specified +// workgroup. If a workgroup is not specified, returns a list of query execution +// IDs for the primary workgroup. Requires you to have access to the workgroup +// in which the queries ran. +// +// For code samples using the AWS SDK for Java, see Examples and Code Samples +// (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon +// Athena User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Athena's +// API operation ListQueryExecutions for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListQueryExecutions +func (c *Athena) ListQueryExecutions(input *ListQueryExecutionsInput) (*ListQueryExecutionsOutput, error) { + req, out := c.ListQueryExecutionsRequest(input) + return out, req.Send() +} + +// ListQueryExecutionsWithContext is the same as ListQueryExecutions with the addition of +// the ability to pass a context and additional request options. +// +// See ListQueryExecutions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Athena) ListQueryExecutionsWithContext(ctx aws.Context, input *ListQueryExecutionsInput, opts ...request.Option) (*ListQueryExecutionsOutput, error) { + req, out := c.ListQueryExecutionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListQueryExecutionsPages iterates over the pages of a ListQueryExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListQueryExecutions 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 ListQueryExecutions operation. +// pageNum := 0 +// err := client.ListQueryExecutionsPages(params, +// func(page *athena.ListQueryExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Athena) ListQueryExecutionsPages(input *ListQueryExecutionsInput, fn func(*ListQueryExecutionsOutput, bool) bool) error { + return c.ListQueryExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListQueryExecutionsPagesWithContext same as ListQueryExecutionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Athena) ListQueryExecutionsPagesWithContext(ctx aws.Context, input *ListQueryExecutionsInput, fn func(*ListQueryExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListQueryExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListQueryExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListQueryExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTableMetadata = "ListTableMetadata" + +// ListTableMetadataRequest generates a "aws/request.Request" representing the +// client's request for the ListTableMetadata operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTableMetadata for more information on using the ListTableMetadata +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTableMetadataRequest method. +// req, resp := client.ListTableMetadataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTableMetadata +func (c *Athena) ListTableMetadataRequest(input *ListTableMetadataInput) (req *request.Request, output *ListTableMetadataOutput) { + op := &request.Operation{ + Name: opListTableMetadata, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTableMetadataInput{} + } + + output = &ListTableMetadataOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTableMetadata API operation for Amazon Athena. +// +// Lists the metadata for the tables in the specified data catalog database. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Athena's +// API operation ListTableMetadata for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// * MetadataException +// An exception that Athena received when it called a custom metastore. Occurs +// if the error is not caused by user input (InvalidRequestException) or from +// the Athena platform (InternalServerException). For example, if a user-created +// Lambda function is missing permissions, the Lambda 4XX exception is returned +// in a MetadataException. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTableMetadata +func (c *Athena) ListTableMetadata(input *ListTableMetadataInput) (*ListTableMetadataOutput, error) { + req, out := c.ListTableMetadataRequest(input) + return out, req.Send() +} + +// ListTableMetadataWithContext is the same as ListTableMetadata with the addition of +// the ability to pass a context and additional request options. +// +// See ListTableMetadata for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Athena) ListTableMetadataWithContext(ctx aws.Context, input *ListTableMetadataInput, opts ...request.Option) (*ListTableMetadataOutput, error) { + req, out := c.ListTableMetadataRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTableMetadataPages iterates over the pages of a ListTableMetadata operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTableMetadata 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 ListTableMetadata operation. +// pageNum := 0 +// err := client.ListTableMetadataPages(params, +// func(page *athena.ListTableMetadataOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Athena) ListTableMetadataPages(input *ListTableMetadataInput, fn func(*ListTableMetadataOutput, bool) bool) error { + return c.ListTableMetadataPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTableMetadataPagesWithContext same as ListTableMetadataPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Athena) ListTableMetadataPagesWithContext(ctx aws.Context, input *ListTableMetadataInput, fn func(*ListTableMetadataOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTableMetadataInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTableMetadataRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTableMetadataOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTagsForResource +func (c *Athena) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon Athena. +// +// Lists the tags associated with an Athena workgroup or data catalog resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Athena's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// * ResourceNotFoundException +// A resource, such as a workgroup, was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListTagsForResource +func (c *Athena) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Athena) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTagsForResource method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTagsForResource operation. +// pageNum := 0 +// err := client.ListTagsForResourcePages(params, +// func(page *athena.ListTagsForResourceOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Athena) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { + return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Athena) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTagsForResourceInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTagsForResourceRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListWorkGroups = "ListWorkGroups" + +// ListWorkGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkGroups operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListWorkGroups for more information on using the ListWorkGroups // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration @@ -1526,11 +2461,10 @@ func (c *Athena) StartQueryExecutionRequest(input *StartQueryExecutionInput) (re // StartQueryExecution API operation for Amazon Athena. // // Runs the SQL query statements contained in the Query. Requires you to have -// access to the workgroup in which the query ran. -// -// For code samples using the AWS SDK for Java, see Examples and Code Samples -// (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) in the Amazon -// Athena User Guide. +// access to the workgroup in which the query ran. Running queries against an +// external catalog requires GetDataCatalog permission to the catalog. For code +// samples using the AWS SDK for Java, see Examples and Code Samples (http://docs.aws.amazon.com/athena/latest/ug/code-samples.html) +// in the Amazon Athena User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1708,19 +2642,18 @@ func (c *Athena) TagResourceRequest(input *TagResourceInput) (req *request.Reque // TagResource API operation for Amazon Athena. // -// Adds one or more tags to the resource, such as a workgroup. A tag is a label -// that you assign to an AWS Athena resource (a workgroup). Each tag consists -// of a key and an optional value, both of which you define. Tags enable you -// to categorize resources (workgroups) in Athena, for example, by purpose, -// owner, or environment. Use a consistent set of tag keys to make it easier -// to search and filter workgroups in your account. For best practices, see -// AWS Tagging Strategies (https://aws.amazon.com/answers/account-management/aws-tagging-strategies/). -// The key length is from 1 (minimum) to 128 (maximum) Unicode characters in -// UTF-8. The tag value length is from 0 (minimum) to 256 (maximum) Unicode -// characters in UTF-8. You can use letters and numbers representable in UTF-8, -// and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. -// Tag keys must be unique per resource. If you specify more than one, separate -// them by commas. +// Adds one or more tags to an Athena resource. A tag is a label that you assign +// to a resource. In Athena, a resource can be a workgroup or data catalog. +// Each tag consists of a key and an optional value, both of which you define. +// For example, you can use tags to categorize Athena workgroups or data catalogs +// by purpose, owner, or environment. Use a consistent set of tag keys to make +// it easier to search and filter workgroups or data catalogs in your account. +// For best practices, see Tagging Best Practices (https://aws.amazon.com/answers/account-management/aws-tagging-strategies/). +// Tag keys can be from 1 to 128 UTF-8 Unicode characters, and tag values can +// be from 0 to 256 UTF-8 Unicode characters. Tags can use letters and numbers +// representable in UTF-8, and the following characters: + - = . _ : / @. Tag +// keys and values are case-sensitive. Tag keys must be unique per resource. +// If you specify more than one tag, separate them by commas. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1808,9 +2741,7 @@ func (c *Athena) UntagResourceRequest(input *UntagResourceInput) (req *request.R // UntagResource API operation for Amazon Athena. // -// Removes one or more tags from the workgroup resource. Takes as an input a -// list of TagKey Strings separated by commas, and removes their tags at the -// same time. +// Removes one or more tags from a data catalog or workgroup resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1853,6 +2784,91 @@ func (c *Athena) UntagResourceWithContext(ctx aws.Context, input *UntagResourceI return out, req.Send() } +const opUpdateDataCatalog = "UpdateDataCatalog" + +// UpdateDataCatalogRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDataCatalog operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDataCatalog for more information on using the UpdateDataCatalog +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDataCatalogRequest method. +// req, resp := client.UpdateDataCatalogRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateDataCatalog +func (c *Athena) UpdateDataCatalogRequest(input *UpdateDataCatalogInput) (req *request.Request, output *UpdateDataCatalogOutput) { + op := &request.Operation{ + Name: opUpdateDataCatalog, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDataCatalogInput{} + } + + output = &UpdateDataCatalogOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateDataCatalog API operation for Amazon Athena. +// +// Updates the data catalog that has the specified name. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Athena's +// API operation UpdateDataCatalog for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateDataCatalog +func (c *Athena) UpdateDataCatalog(input *UpdateDataCatalogInput) (*UpdateDataCatalogOutput, error) { + req, out := c.UpdateDataCatalogRequest(input) + return out, req.Send() +} + +// UpdateDataCatalogWithContext is the same as UpdateDataCatalog with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDataCatalog for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Athena) UpdateDataCatalogWithContext(ctx aws.Context, input *UpdateDataCatalogInput, opts ...request.Option) (*UpdateDataCatalogOutput, error) { + req, out := c.UpdateDataCatalogRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateWorkGroup = "UpdateWorkGroup" // UpdateWorkGroupRequest generates a "aws/request.Request" representing the @@ -2085,6 +3101,50 @@ func (s *BatchGetQueryExecutionOutput) SetUnprocessedQueryExecutionIds(v []*Unpr return s } +// Contains metadata for a column in a table. +type Column struct { + _ struct{} `type:"structure"` + + // Optional information about the column. + Comment *string `type:"string"` + + // The name of the column. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The data type of the column. + Type *string `type:"string"` +} + +// String returns the string representation +func (s Column) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Column) GoString() string { + return s.String() +} + +// SetComment sets the Comment field's value. +func (s *Column) SetComment(v string) *Column { + s.Comment = &v + return s +} + +// SetName sets the Name field's value. +func (s *Column) SetName(v string) *Column { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *Column) SetType(v string) *Column { + s.Type = &v + return s +} + // Information about the columns in a query execution result. type ColumnInfo struct { _ struct{} `type:"structure"` @@ -2190,10 +3250,136 @@ func (s *ColumnInfo) SetTableName(v string) *ColumnInfo { return s } -// SetType sets the Type field's value. -func (s *ColumnInfo) SetType(v string) *ColumnInfo { - s.Type = &v - return s +// SetType sets the Type field's value. +func (s *ColumnInfo) SetType(v string) *ColumnInfo { + s.Type = &v + return s +} + +type CreateDataCatalogInput struct { + _ struct{} `type:"structure"` + + // A description of the data catalog to be created. + Description *string `min:"1" type:"string"` + + // The name of the data catalog to create. The catalog name must be unique for + // the AWS account and can use a maximum of 128 alphanumeric, underscore, at + // sign, or hyphen characters. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Specifies the Lambda function or functions to use for creating the data catalog. + // This is a mapping whose values depend on the catalog type. + // + // * For the HIVE data catalog type, use the following syntax. The metadata-function + // parameter is required. The sdk-version parameter is optional and defaults + // to the currently supported version. metadata-function=lambda_arn, sdk-version=version_number + // + // * For the LAMBDA data catalog type, use one of the following sets of required + // parameters, but not both. If you have one Lambda function that processes + // metadata and another for reading the actual data, use the following syntax. + // Both parameters are required. metadata-function=lambda_arn, record-function=lambda_arn + // If you have a composite Lambda function that processes both metadata and + // data, use the following syntax to specify your Lambda function. function=lambda_arn + // + // * The GLUE type has no parameters. + Parameters map[string]*string `type:"map"` + + // A list of comma separated tags to add to the data catalog that is created. + Tags []*Tag `type:"list"` + + // The type of data catalog to create: LAMBDA for a federated catalog, GLUE + // for AWS Glue Catalog, or HIVE for an external hive metastore. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"DataCatalogType"` +} + +// String returns the string representation +func (s CreateDataCatalogInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDataCatalogInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDataCatalogInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDataCatalogInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateDataCatalogInput) SetDescription(v string) *CreateDataCatalogInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDataCatalogInput) SetName(v string) *CreateDataCatalogInput { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *CreateDataCatalogInput) SetParameters(v map[string]*string) *CreateDataCatalogInput { + s.Parameters = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDataCatalogInput) SetTags(v []*Tag) *CreateDataCatalogInput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *CreateDataCatalogInput) SetType(v string) *CreateDataCatalogInput { + s.Type = &v + return s +} + +type CreateDataCatalogOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateDataCatalogOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDataCatalogOutput) GoString() string { + return s.String() } type CreateNamedQueryInput struct { @@ -2354,8 +3540,7 @@ type CreateWorkGroupInput struct { // Name is a required field Name *string `type:"string" required:"true"` - // One or more tags, separated by commas, that you want to attach to the workgroup - // as you create it. + // A list of comma separated tags to add to the workgroup that is created. Tags []*Tag `type:"list"` } @@ -2435,6 +3620,156 @@ func (s CreateWorkGroupOutput) GoString() string { return s.String() } +// Contains information about a data catalog in an AWS account. +type DataCatalog struct { + _ struct{} `type:"structure"` + + // An optional description of the data catalog. + Description *string `min:"1" type:"string"` + + // The name of the data catalog. The catalog name must be unique for the AWS + // account and can use a maximum of 128 alphanumeric, underscore, at sign, or + // hyphen characters. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Specifies the Lambda function or functions to use for the data catalog. This + // is a mapping whose values depend on the catalog type. + // + // * For the HIVE data catalog type, use the following syntax. The metadata-function + // parameter is required. The sdk-version parameter is optional and defaults + // to the currently supported version. metadata-function=lambda_arn, sdk-version=version_number + // + // * For the LAMBDA data catalog type, use one of the following sets of required + // parameters, but not both. If you have one Lambda function that processes + // metadata and another for reading the actual data, use the following syntax. + // Both parameters are required. metadata-function=lambda_arn, record-function=lambda_arn + // If you have a composite Lambda function that processes both metadata and + // data, use the following syntax to specify your Lambda function. function=lambda_arn + // + // * The GLUE type has no parameters. + Parameters map[string]*string `type:"map"` + + // The type of data catalog: LAMBDA for a federated catalog, GLUE for AWS Glue + // Catalog, or HIVE for an external hive metastore. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"DataCatalogType"` +} + +// String returns the string representation +func (s DataCatalog) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataCatalog) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *DataCatalog) SetDescription(v string) *DataCatalog { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *DataCatalog) SetName(v string) *DataCatalog { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *DataCatalog) SetParameters(v map[string]*string) *DataCatalog { + s.Parameters = v + return s +} + +// SetType sets the Type field's value. +func (s *DataCatalog) SetType(v string) *DataCatalog { + s.Type = &v + return s +} + +// The summary information for the data catalog, which includes its name and +// type. +type DataCatalogSummary struct { + _ struct{} `type:"structure"` + + // The name of the data catalog. + CatalogName *string `min:"1" type:"string"` + + // The data catalog type. + Type *string `type:"string" enum:"DataCatalogType"` +} + +// String returns the string representation +func (s DataCatalogSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataCatalogSummary) GoString() string { + return s.String() +} + +// SetCatalogName sets the CatalogName field's value. +func (s *DataCatalogSummary) SetCatalogName(v string) *DataCatalogSummary { + s.CatalogName = &v + return s +} + +// SetType sets the Type field's value. +func (s *DataCatalogSummary) SetType(v string) *DataCatalogSummary { + s.Type = &v + return s +} + +// Contains metadata information for a database in a data catalog. +type Database struct { + _ struct{} `type:"structure"` + + // An optional description of the database. + Description *string `min:"1" type:"string"` + + // The name of the database. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A set of custom key/value pairs. + Parameters map[string]*string `type:"map"` +} + +// String returns the string representation +func (s Database) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Database) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *Database) SetDescription(v string) *Database { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *Database) SetName(v string) *Database { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *Database) SetParameters(v map[string]*string) *Database { + s.Parameters = v + return s +} + // A piece of data (a field in the table). type Datum struct { _ struct{} `type:"structure"` @@ -2459,6 +3794,61 @@ func (s *Datum) SetVarCharValue(v string) *Datum { return s } +type DeleteDataCatalogInput struct { + _ struct{} `type:"structure"` + + // The name of the data catalog to delete. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDataCatalogInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDataCatalogInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDataCatalogInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDataCatalogInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteDataCatalogInput) SetName(v string) *DeleteDataCatalogInput { + s.Name = &v + return s +} + +type DeleteDataCatalogOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDataCatalogOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDataCatalogOutput) GoString() string { + return s.String() +} + type DeleteNamedQueryInput struct { _ struct{} `type:"structure"` @@ -2532,67 +3922,189 @@ func (s *DeleteWorkGroupInput) Validate() error { return nil } -// SetRecursiveDeleteOption sets the RecursiveDeleteOption field's value. -func (s *DeleteWorkGroupInput) SetRecursiveDeleteOption(v bool) *DeleteWorkGroupInput { - s.RecursiveDeleteOption = &v - return s -} - -// SetWorkGroup sets the WorkGroup field's value. -func (s *DeleteWorkGroupInput) SetWorkGroup(v string) *DeleteWorkGroupInput { - s.WorkGroup = &v +// SetRecursiveDeleteOption sets the RecursiveDeleteOption field's value. +func (s *DeleteWorkGroupInput) SetRecursiveDeleteOption(v bool) *DeleteWorkGroupInput { + s.RecursiveDeleteOption = &v + return s +} + +// SetWorkGroup sets the WorkGroup field's value. +func (s *DeleteWorkGroupInput) SetWorkGroup(v string) *DeleteWorkGroupInput { + s.WorkGroup = &v + return s +} + +type DeleteWorkGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteWorkGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWorkGroupOutput) GoString() string { + return s.String() +} + +// If query results are encrypted in Amazon S3, indicates the encryption option +// used (for example, SSE-KMS or CSE-KMS) and key information. +type EncryptionConfiguration struct { + _ struct{} `type:"structure"` + + // Indicates whether Amazon S3 server-side encryption with Amazon S3-managed + // keys (SSE-S3), server-side encryption with KMS-managed keys (SSE-KMS), or + // client-side encryption with KMS-managed keys (CSE-KMS) is used. + // + // If a query runs in a workgroup and the workgroup overrides client-side settings, + // then the workgroup's setting for encryption is used. It specifies whether + // query results must be encrypted, for all queries that run in this workgroup. + // + // EncryptionOption is a required field + EncryptionOption *string `type:"string" required:"true" enum:"EncryptionOption"` + + // For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID. + KmsKey *string `type:"string"` +} + +// String returns the string representation +func (s EncryptionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EncryptionConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncryptionConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncryptionConfiguration"} + if s.EncryptionOption == nil { + invalidParams.Add(request.NewErrParamRequired("EncryptionOption")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryptionOption sets the EncryptionOption field's value. +func (s *EncryptionConfiguration) SetEncryptionOption(v string) *EncryptionConfiguration { + s.EncryptionOption = &v + return s +} + +// SetKmsKey sets the KmsKey field's value. +func (s *EncryptionConfiguration) SetKmsKey(v string) *EncryptionConfiguration { + s.KmsKey = &v + return s +} + +type GetDataCatalogInput struct { + _ struct{} `type:"structure"` + + // The name of the data catalog to return. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDataCatalogInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDataCatalogInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDataCatalogInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDataCatalogInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *GetDataCatalogInput) SetName(v string) *GetDataCatalogInput { + s.Name = &v return s } -type DeleteWorkGroupOutput struct { +type GetDataCatalogOutput struct { _ struct{} `type:"structure"` + + // The data catalog returned. + DataCatalog *DataCatalog `type:"structure"` } // String returns the string representation -func (s DeleteWorkGroupOutput) String() string { +func (s GetDataCatalogOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteWorkGroupOutput) GoString() string { +func (s GetDataCatalogOutput) GoString() string { return s.String() } -// If query results are encrypted in Amazon S3, indicates the encryption option -// used (for example, SSE-KMS or CSE-KMS) and key information. -type EncryptionConfiguration struct { +// SetDataCatalog sets the DataCatalog field's value. +func (s *GetDataCatalogOutput) SetDataCatalog(v *DataCatalog) *GetDataCatalogOutput { + s.DataCatalog = v + return s +} + +type GetDatabaseInput struct { _ struct{} `type:"structure"` - // Indicates whether Amazon S3 server-side encryption with Amazon S3-managed - // keys (SSE-S3), server-side encryption with KMS-managed keys (SSE-KMS), or - // client-side encryption with KMS-managed keys (CSE-KMS) is used. - // - // If a query runs in a workgroup and the workgroup overrides client-side settings, - // then the workgroup's setting for encryption is used. It specifies whether - // query results must be encrypted, for all queries that run in this workgroup. + // The name of the data catalog that contains the database to return. // - // EncryptionOption is a required field - EncryptionOption *string `type:"string" required:"true" enum:"EncryptionOption"` + // CatalogName is a required field + CatalogName *string `min:"1" type:"string" required:"true"` - // For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID. - KmsKey *string `type:"string"` + // The name of the database to return. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s EncryptionConfiguration) String() string { +func (s GetDatabaseInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EncryptionConfiguration) GoString() string { +func (s GetDatabaseInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EncryptionConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EncryptionConfiguration"} - if s.EncryptionOption == nil { - invalidParams.Add(request.NewErrParamRequired("EncryptionOption")) +func (s *GetDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDatabaseInput"} + if s.CatalogName == nil { + invalidParams.Add(request.NewErrParamRequired("CatalogName")) + } + if s.CatalogName != nil && len(*s.CatalogName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogName", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } if invalidParams.Len() > 0 { @@ -2601,15 +4113,38 @@ func (s *EncryptionConfiguration) Validate() error { return nil } -// SetEncryptionOption sets the EncryptionOption field's value. -func (s *EncryptionConfiguration) SetEncryptionOption(v string) *EncryptionConfiguration { - s.EncryptionOption = &v +// SetCatalogName sets the CatalogName field's value. +func (s *GetDatabaseInput) SetCatalogName(v string) *GetDatabaseInput { + s.CatalogName = &v return s } -// SetKmsKey sets the KmsKey field's value. -func (s *EncryptionConfiguration) SetKmsKey(v string) *EncryptionConfiguration { - s.KmsKey = &v +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetDatabaseInput) SetDatabaseName(v string) *GetDatabaseInput { + s.DatabaseName = &v + return s +} + +type GetDatabaseOutput struct { + _ struct{} `type:"structure"` + + // The database returned. + Database *Database `type:"structure"` +} + +// String returns the string representation +func (s GetDatabaseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDatabaseOutput) GoString() string { + return s.String() +} + +// SetDatabase sets the Database field's value. +func (s *GetDatabaseOutput) SetDatabase(v *Database) *GetDatabaseOutput { + s.Database = v return s } @@ -2741,8 +4276,10 @@ type GetQueryResultsInput struct { // The maximum number of results (rows) to return in this request. MaxResults *int64 `min:"1" type:"integer"` - // The token that specifies where to start pagination if a previous request - // was truncated. + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. NextToken *string `min:"1" type:"string"` // The unique ID of the query execution. @@ -2801,7 +4338,10 @@ func (s *GetQueryResultsInput) SetQueryExecutionId(v string) *GetQueryResultsInp type GetQueryResultsOutput struct { _ struct{} `type:"structure"` - // A token to be used by the next request if this request is truncated. + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. NextToken *string `min:"1" type:"string"` // The results of the query execution. @@ -2839,6 +4379,105 @@ func (s *GetQueryResultsOutput) SetUpdateCount(v int64) *GetQueryResultsOutput { return s } +type GetTableMetadataInput struct { + _ struct{} `type:"structure"` + + // The name of the data catalog that contains the database and table metadata + // to return. + // + // CatalogName is a required field + CatalogName *string `min:"1" type:"string" required:"true"` + + // The name of the database that contains the table metadata to return. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the table for which metadata is returned. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetTableMetadataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTableMetadataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTableMetadataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTableMetadataInput"} + if s.CatalogName == nil { + invalidParams.Add(request.NewErrParamRequired("CatalogName")) + } + if s.CatalogName != nil && len(*s.CatalogName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogName", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogName sets the CatalogName field's value. +func (s *GetTableMetadataInput) SetCatalogName(v string) *GetTableMetadataInput { + s.CatalogName = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetTableMetadataInput) SetDatabaseName(v string) *GetTableMetadataInput { + s.DatabaseName = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *GetTableMetadataInput) SetTableName(v string) *GetTableMetadataInput { + s.TableName = &v + return s +} + +type GetTableMetadataOutput struct { + _ struct{} `type:"structure"` + + // An object that contains table metadata. + TableMetadata *TableMetadata `type:"structure"` +} + +// String returns the string representation +func (s GetTableMetadataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTableMetadataOutput) GoString() string { + return s.String() +} + +// SetTableMetadata sets the TableMetadata field's value. +func (s *GetTableMetadataOutput) SetTableMetadata(v *TableMetadata) *GetTableMetadataOutput { + s.TableMetadata = v + return s +} + type GetWorkGroupInput struct { _ struct{} `type:"structure"` @@ -3018,19 +4657,210 @@ func (s *InvalidRequestException) RequestID() string { return s.RespMetadata.RequestID } +type ListDataCatalogsInput struct { + _ struct{} `type:"structure"` + + // Specifies the maximum number of data catalogs to return. + MaxResults *int64 `min:"2" type:"integer"` + + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListDataCatalogsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDataCatalogsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDataCatalogsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDataCatalogsInput"} + if s.MaxResults != nil && *s.MaxResults < 2 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 2)) + } + 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 *ListDataCatalogsInput) SetMaxResults(v int64) *ListDataCatalogsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDataCatalogsInput) SetNextToken(v string) *ListDataCatalogsInput { + s.NextToken = &v + return s +} + +type ListDataCatalogsOutput struct { + _ struct{} `type:"structure"` + + // A summary list of data catalogs. + DataCatalogsSummary []*DataCatalogSummary `type:"list"` + + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListDataCatalogsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDataCatalogsOutput) GoString() string { + return s.String() +} + +// SetDataCatalogsSummary sets the DataCatalogsSummary field's value. +func (s *ListDataCatalogsOutput) SetDataCatalogsSummary(v []*DataCatalogSummary) *ListDataCatalogsOutput { + s.DataCatalogsSummary = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDataCatalogsOutput) SetNextToken(v string) *ListDataCatalogsOutput { + s.NextToken = &v + return s +} + +type ListDatabasesInput struct { + _ struct{} `type:"structure"` + + // The name of the data catalog that contains the databases to return. + // + // CatalogName is a required field + CatalogName *string `min:"1" type:"string" required:"true"` + + // Specifies the maximum number of results to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListDatabasesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDatabasesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDatabasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDatabasesInput"} + if s.CatalogName == nil { + invalidParams.Add(request.NewErrParamRequired("CatalogName")) + } + if s.CatalogName != nil && len(*s.CatalogName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogName sets the CatalogName field's value. +func (s *ListDatabasesInput) SetCatalogName(v string) *ListDatabasesInput { + s.CatalogName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDatabasesInput) SetMaxResults(v int64) *ListDatabasesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDatabasesInput) SetNextToken(v string) *ListDatabasesInput { + s.NextToken = &v + return s +} + +type ListDatabasesOutput struct { + _ struct{} `type:"structure"` + + // A list of databases from a data catalog. + DatabaseList []*Database `type:"list"` + + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListDatabasesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListDatabasesOutput) GoString() string { + return s.String() +} + +// SetDatabaseList sets the DatabaseList field's value. +func (s *ListDatabasesOutput) SetDatabaseList(v []*Database) *ListDatabasesOutput { + s.DatabaseList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDatabasesOutput) SetNextToken(v string) *ListDatabasesOutput { + s.NextToken = &v + return s +} + type ListNamedQueriesInput struct { _ struct{} `type:"structure"` // The maximum number of queries to return in this request. MaxResults *int64 `type:"integer"` - // The token that specifies where to start pagination if a previous request - // was truncated. + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. NextToken *string `min:"1" type:"string"` - // The name of the workgroup from which the named queries are returned. If a - // workgroup is not specified, the saved queries for the primary workgroup are - // returned. + // The name of the workgroup from which the named queries are being returned. + // If a workgroup is not specified, the saved queries for the primary workgroup + // are returned. WorkGroup *string `type:"string"` } @@ -3081,7 +4911,10 @@ type ListNamedQueriesOutput struct { // The list of unique query IDs. NamedQueryIds []*string `min:"1" type:"list"` - // A token to be used by the next request if this request is truncated. + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. NextToken *string `min:"1" type:"string"` } @@ -3113,11 +4946,13 @@ type ListQueryExecutionsInput struct { // The maximum number of query executions to return in this request. MaxResults *int64 `type:"integer"` - // The token that specifies where to start pagination if a previous request - // was truncated. + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. NextToken *string `min:"1" type:"string"` - // The name of the workgroup from which queries are returned. If a workgroup + // The name of the workgroup from which queries are being returned. If a workgroup // is not specified, a list of available query execution IDs for the queries // in the primary workgroup is returned. WorkGroup *string `type:"string"` @@ -3196,19 +5031,149 @@ func (s *ListQueryExecutionsOutput) SetQueryExecutionIds(v []*string) *ListQuery return s } +type ListTableMetadataInput struct { + _ struct{} `type:"structure"` + + // The name of the data catalog for which table metadata should be returned. + // + // CatalogName is a required field + CatalogName *string `min:"1" type:"string" required:"true"` + + // The name of the database for which table metadata should be returned. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A regex filter that pattern-matches table names. If no expression is supplied, + // metadata for all tables are listed. + Expression *string `type:"string"` + + // Specifies the maximum number of results to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListTableMetadataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTableMetadataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTableMetadataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTableMetadataInput"} + if s.CatalogName == nil { + invalidParams.Add(request.NewErrParamRequired("CatalogName")) + } + if s.CatalogName != nil && len(*s.CatalogName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogName", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogName sets the CatalogName field's value. +func (s *ListTableMetadataInput) SetCatalogName(v string) *ListTableMetadataInput { + s.CatalogName = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *ListTableMetadataInput) SetDatabaseName(v string) *ListTableMetadataInput { + s.DatabaseName = &v + return s +} + +// SetExpression sets the Expression field's value. +func (s *ListTableMetadataInput) SetExpression(v string) *ListTableMetadataInput { + s.Expression = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTableMetadataInput) SetMaxResults(v int64) *ListTableMetadataInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTableMetadataInput) SetNextToken(v string) *ListTableMetadataInput { + s.NextToken = &v + return s +} + +type ListTableMetadataOutput struct { + _ struct{} `type:"structure"` + + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. + NextToken *string `min:"1" type:"string"` + + // A list of table metadata. + TableMetadataList []*TableMetadata `type:"list"` +} + +// String returns the string representation +func (s ListTableMetadataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTableMetadataOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTableMetadataOutput) SetNextToken(v string) *ListTableMetadataOutput { + s.NextToken = &v + return s +} + +// SetTableMetadataList sets the TableMetadataList field's value. +func (s *ListTableMetadataOutput) SetTableMetadataList(v []*TableMetadata) *ListTableMetadataOutput { + s.TableMetadataList = v + return s +} + type ListTagsForResourceInput struct { _ struct{} `type:"structure"` // The maximum number of results to be returned per request that lists the tags - // for the workgroup resource. + // for the resource. MaxResults *int64 `min:"75" type:"integer"` // The token for the next set of results, or null if there are no additional - // results for this request, where the request lists the tags for the workgroup - // resource with the specified ARN. + // results for this request, where the request lists the tags for the resource + // with the specified ARN. NextToken *string `min:"1" type:"string"` - // Lists the tags for the workgroup resource with the specified ARN. + // Lists the tags for the resource with the specified ARN. // // ResourceARN is a required field ResourceARN *string `min:"1" type:"string" required:"true"` @@ -3270,7 +5235,7 @@ type ListTagsForResourceOutput struct { // A token to be used by the next request if this request is truncated. NextToken *string `min:"1" type:"string"` - // The list of tags associated with this workgroup. + // The list of tags associated with the specified resource. Tags []*Tag `type:"list"` } @@ -3302,7 +5267,10 @@ type ListWorkGroupsInput struct { // The maximum number of workgroups to return in this request. MaxResults *int64 `min:"1" type:"integer"` - // A token to be used by the next request if this request is truncated. + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. NextToken *string `min:"1" type:"string"` } @@ -3347,7 +5315,10 @@ func (s *ListWorkGroupsInput) SetNextToken(v string) *ListWorkGroupsInput { type ListWorkGroupsOutput struct { _ struct{} `type:"structure"` - // A token to be used by the next request if this request is truncated. + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. NextToken *string `min:"1" type:"string"` // The list of workgroups, including their names, descriptions, creation times, @@ -3377,6 +5348,66 @@ func (s *ListWorkGroupsOutput) SetWorkGroups(v []*WorkGroupSummary) *ListWorkGro return s } +// An exception that Athena received when it called a custom metastore. Occurs +// if the error is not caused by user input (InvalidRequestException) or from +// the Athena platform (InternalServerException). For example, if a user-created +// Lambda function is missing permissions, the Lambda 4XX exception is returned +// in a MetadataException. +type MetadataException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s MetadataException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MetadataException) GoString() string { + return s.String() +} + +func newErrorMetadataException(v protocol.ResponseMetadata) error { + return &MetadataException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *MetadataException) Code() string { + return "MetadataException" +} + +// Message returns the exception's message. +func (s *MetadataException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *MetadataException) OrigErr() error { + return nil +} + +func (s *MetadataException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *MetadataException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *MetadataException) RequestID() string { + return s.RespMetadata.RequestID +} + // A query, where QueryString is the list of SQL query statements that comprise // the query. type NamedQuery struct { @@ -3550,11 +5581,14 @@ func (s *QueryExecution) SetWorkGroup(v string) *QueryExecution { return s } -// The database in which the query execution occurs. +// The database and data catalog context in which the query execution occurs. type QueryExecutionContext struct { _ struct{} `type:"structure"` - // The name of the database. + // The name of the data catalog used in the query execution. + Catalog *string `min:"1" type:"string"` + + // The name of the database used in the query execution. Database *string `min:"1" type:"string"` } @@ -3571,6 +5605,9 @@ func (s QueryExecutionContext) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *QueryExecutionContext) Validate() error { invalidParams := request.ErrInvalidParams{Context: "QueryExecutionContext"} + if s.Catalog != nil && len(*s.Catalog) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Catalog", 1)) + } if s.Database != nil && len(*s.Database) < 1 { invalidParams.Add(request.NewErrParamMinLen("Database", 1)) } @@ -3581,6 +5618,12 @@ func (s *QueryExecutionContext) Validate() error { return nil } +// SetCatalog sets the Catalog field's value. +func (s *QueryExecutionContext) SetCatalog(v string) *QueryExecutionContext { + s.Catalog = &v + return s +} + // SetDatabase sets the Database field's value. func (s *QueryExecutionContext) SetDatabase(v string) *QueryExecutionContext { s.Database = &v @@ -3693,6 +5736,10 @@ type QueryExecutionStatus struct { // indicates that the query completed without errors. FAILED indicates that // the query experienced an error and did not complete processing. CANCELLED // indicates that a user input interrupted query execution. + // + // Athena automatically retries your queries in cases of certain transient errors. + // As a result, you may see the query state transition from RUNNING or FAILED + // to QUEUED. State *string `type:"string" enum:"QueryExecutionState"` // Further detail about the status of the query. @@ -3944,7 +5991,7 @@ func (s *ResultConfigurationUpdates) SetRemoveOutputLocation(v bool) *ResultConf } // The metadata and rows that comprise a query result set. The metadata describes -// the column structure and data types. +// the column structure and data types. To return a ResultSet object, use GetQueryResults. type ResultSet struct { _ struct{} `type:"structure"` @@ -3979,7 +6026,7 @@ func (s *ResultSet) SetRows(v []*Row) *ResultSet { } // The metadata that describes the column structure and data types of a table -// of query results. +// of query results. To return a ResultSetMetadata object, use GetQueryResults. type ResultSetMetadata struct { _ struct{} `type:"structure"` @@ -4188,16 +6235,97 @@ func (s StopQueryExecutionOutput) GoString() string { return s.String() } -// A tag that you can add to a resource. A tag is a label that you assign to -// an AWS Athena resource (a workgroup). Each tag consists of a key and an optional -// value, both of which you define. Tags enable you to categorize workgroups -// in Athena, for example, by purpose, owner, or environment. Use a consistent -// set of tag keys to make it easier to search and filter workgroups in your -// account. The maximum tag key length is 128 Unicode characters in UTF-8. The -// maximum tag value length is 256 Unicode characters in UTF-8. You can use -// letters and numbers representable in UTF-8, and the following characters: -// + - = . _ : / @. Tag keys and values are case-sensitive. Tag keys must be -// unique per resource. +// Contains metadata for a table. +type TableMetadata struct { + _ struct{} `type:"structure"` + + // A list of the columns in the table. + Columns []*Column `type:"list"` + + // The time that the table was created. + CreateTime *time.Time `type:"timestamp"` + + // The last time the table was accessed. + LastAccessTime *time.Time `type:"timestamp"` + + // The name of the table. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A set of custom key/value pairs for table properties. + Parameters map[string]*string `type:"map"` + + // A list of the partition keys in the table. + PartitionKeys []*Column `type:"list"` + + // The type of table. In Athena, only EXTERNAL_TABLE is supported. + TableType *string `type:"string"` +} + +// String returns the string representation +func (s TableMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TableMetadata) GoString() string { + return s.String() +} + +// SetColumns sets the Columns field's value. +func (s *TableMetadata) SetColumns(v []*Column) *TableMetadata { + s.Columns = v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *TableMetadata) SetCreateTime(v time.Time) *TableMetadata { + s.CreateTime = &v + return s +} + +// SetLastAccessTime sets the LastAccessTime field's value. +func (s *TableMetadata) SetLastAccessTime(v time.Time) *TableMetadata { + s.LastAccessTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *TableMetadata) SetName(v string) *TableMetadata { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *TableMetadata) SetParameters(v map[string]*string) *TableMetadata { + s.Parameters = v + return s +} + +// SetPartitionKeys sets the PartitionKeys field's value. +func (s *TableMetadata) SetPartitionKeys(v []*Column) *TableMetadata { + s.PartitionKeys = v + return s +} + +// SetTableType sets the TableType field's value. +func (s *TableMetadata) SetTableType(v string) *TableMetadata { + s.TableType = &v + return s +} + +// A label that you assign to a resource. In Athena, a resource can be a workgroup +// or data catalog. Each tag consists of a key and an optional value, both of +// which you define. For example, you can use tags to categorize Athena workgroups +// or data catalogs by purpose, owner, or environment. Use a consistent set +// of tag keys to make it easier to search and filter workgroups or data catalogs +// in your account. For best practices, see Tagging Best Practices (https://aws.amazon.com/answers/account-management/aws-tagging-strategies/). +// Tag keys can be from 1 to 128 UTF-8 Unicode characters, and tag values can +// be from 0 to 256 UTF-8 Unicode characters. Tags can use letters and numbers +// representable in UTF-8, and the following characters: + - = . _ : / @. Tag +// keys and values are case-sensitive. Tag keys must be unique per resource. +// If you specify more than one tag, separate them by commas. type Tag struct { _ struct{} `type:"structure"` @@ -4251,14 +6379,14 @@ func (s *Tag) SetValue(v string) *Tag { type TagResourceInput struct { _ struct{} `type:"structure"` - // Requests that one or more tags are added to the resource (such as a workgroup) - // for the specified ARN. + // Specifies the ARN of the Athena resource (workgroup or data catalog) to which + // tags are to be added. // // ResourceARN is a required field ResourceARN *string `min:"1" type:"string" required:"true"` - // One or more tags, separated by commas, to be added to the resource, such - // as a workgroup. + // A collection of one or more tags, separated by commas, to be added to an + // Athena workgroup or data catalog resource. // // Tags is a required field Tags []*Tag `type:"list" required:"true"` @@ -4479,13 +6607,13 @@ func (s *UnprocessedQueryExecutionId) SetQueryExecutionId(v string) *Unprocessed type UntagResourceInput struct { _ struct{} `type:"structure"` - // Removes one or more tags from the workgroup resource for the specified ARN. + // Specifies the ARN of the resource from which tags are to be removed. // // ResourceARN is a required field ResourceARN *string `min:"1" type:"string" required:"true"` - // Removes the tags associated with one or more tag keys from the workgroup - // resource. + // A comma-separated list of one or more tag keys whose tags are to be removed + // from the specified resource. // // TagKeys is a required field TagKeys []*string `type:"list" required:"true"` @@ -4546,6 +6674,113 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateDataCatalogInput struct { + _ struct{} `type:"structure"` + + // New or modified text that describes the data catalog. + Description *string `min:"1" type:"string"` + + // The name of the data catalog to update. The catalog name must be unique for + // the AWS account and can use a maximum of 128 alphanumeric, underscore, at + // sign, or hyphen characters. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Specifies the Lambda function or functions to use for updating the data catalog. + // This is a mapping whose values depend on the catalog type. + // + // * For the HIVE data catalog type, use the following syntax. The metadata-function + // parameter is required. The sdk-version parameter is optional and defaults + // to the currently supported version. metadata-function=lambda_arn, sdk-version=version_number + // + // * For the LAMBDA data catalog type, use one of the following sets of required + // parameters, but not both. If you have one Lambda function that processes + // metadata and another for reading the actual data, use the following syntax. + // Both parameters are required. metadata-function=lambda_arn, record-function=lambda_arn + // If you have a composite Lambda function that processes both metadata and + // data, use the following syntax to specify your Lambda function. function=lambda_arn + // + // * The GLUE type has no parameters. + Parameters map[string]*string `type:"map"` + + // Specifies the type of data catalog to update. Specify LAMBDA for a federated + // catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"DataCatalogType"` +} + +// String returns the string representation +func (s UpdateDataCatalogInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDataCatalogInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDataCatalogInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDataCatalogInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateDataCatalogInput) SetDescription(v string) *UpdateDataCatalogInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateDataCatalogInput) SetName(v string) *UpdateDataCatalogInput { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *UpdateDataCatalogInput) SetParameters(v map[string]*string) *UpdateDataCatalogInput { + s.Parameters = v + return s +} + +// SetType sets the Type field's value. +func (s *UpdateDataCatalogInput) SetType(v string) *UpdateDataCatalogInput { + s.Type = &v + return s +} + +type UpdateDataCatalogOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateDataCatalogOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDataCatalogOutput) GoString() string { + return s.String() +} + type UpdateWorkGroupInput struct { _ struct{} `type:"structure"` @@ -4971,6 +7206,17 @@ const ( ColumnNullableUnknown = "UNKNOWN" ) +const ( + // DataCatalogTypeLambda is a DataCatalogType enum value + DataCatalogTypeLambda = "LAMBDA" + + // DataCatalogTypeGlue is a DataCatalogType enum value + DataCatalogTypeGlue = "GLUE" + + // DataCatalogTypeHive is a DataCatalogType enum value + DataCatalogTypeHive = "HIVE" +) + const ( // EncryptionOptionSseS3 is a EncryptionOption enum value EncryptionOptionSseS3 = "SSE_S3" diff --git a/vendor/github.com/aws/aws-sdk-go/service/athena/errors.go b/vendor/github.com/aws/aws-sdk-go/service/athena/errors.go index 5da82bf6a0e..a0939ed6d5e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/athena/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/athena/errors.go @@ -22,6 +22,16 @@ const ( // a required parameter may be missing or out of range. ErrCodeInvalidRequestException = "InvalidRequestException" + // ErrCodeMetadataException for service response error code + // "MetadataException". + // + // An exception that Athena received when it called a custom metastore. Occurs + // if the error is not caused by user input (InvalidRequestException) or from + // the Athena platform (InternalServerException). For example, if a user-created + // Lambda function is missing permissions, the Lambda 4XX exception is returned + // in a MetadataException. + ErrCodeMetadataException = "MetadataException" + // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFoundException". // @@ -38,6 +48,7 @@ const ( var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InternalServerException": newErrorInternalServerException, "InvalidRequestException": newErrorInvalidRequestException, + "MetadataException": newErrorMetadataException, "ResourceNotFoundException": newErrorResourceNotFoundException, "TooManyRequestsException": newErrorTooManyRequestsException, } diff --git a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go index d80c2f819d9..2b7b553c960 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/api.go @@ -158,8 +158,9 @@ func (c *AutoScaling) AttachLoadBalancerTargetGroupsRequest(input *AttachLoadBal // // Attaches one or more target groups to the specified Auto Scaling group. // -// To describe the target groups for an Auto Scaling group, use DescribeLoadBalancerTargetGroups. -// To detach the target group from the Auto Scaling group, use DetachLoadBalancerTargetGroups. +// To describe the target groups for an Auto Scaling group, call the DescribeLoadBalancerTargetGroups +// API. To detach the target group from the Auto Scaling group, call the DetachLoadBalancerTargetGroups +// API. // // With Application Load Balancers and Network Load Balancers, instances are // registered as targets with a target group. With Classic Load Balancers, instances @@ -249,14 +250,17 @@ func (c *AutoScaling) AttachLoadBalancersRequest(input *AttachLoadBalancersInput // AttachLoadBalancers API operation for Auto Scaling. // -// Attaches one or more Classic Load Balancers to the specified Auto Scaling -// group. // -// To attach an Application Load Balancer or a Network Load Balancer instead, -// see AttachLoadBalancerTargetGroups. +// To attach an Application Load Balancer or a Network Load Balancer, use the +// AttachLoadBalancerTargetGroups API operation instead. +// +// Attaches one or more Classic Load Balancers to the specified Auto Scaling +// group. Amazon EC2 Auto Scaling registers the running instances with these +// Classic Load Balancers. // -// To describe the load balancers for an Auto Scaling group, use DescribeLoadBalancers. -// To detach the load balancer from the Auto Scaling group, use DetachLoadBalancers. +// To describe the load balancers for an Auto Scaling group, call the DescribeLoadBalancers +// API. To detach the load balancer from the Auto Scaling group, call the DetachLoadBalancers +// API. // // For more information, see Attaching a Load Balancer to Your Auto Scaling // Group (https://docs.aws.amazon.com/autoscaling/ec2/userguide/attach-load-balancer-asg.html) @@ -442,7 +446,8 @@ func (c *AutoScaling) BatchPutScheduledUpdateGroupActionRequest(input *BatchPutS // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -470,6 +475,101 @@ func (c *AutoScaling) BatchPutScheduledUpdateGroupActionWithContext(ctx aws.Cont return out, req.Send() } +const opCancelInstanceRefresh = "CancelInstanceRefresh" + +// CancelInstanceRefreshRequest generates a "aws/request.Request" representing the +// client's request for the CancelInstanceRefresh operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CancelInstanceRefresh for more information on using the CancelInstanceRefresh +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CancelInstanceRefreshRequest method. +// req, resp := client.CancelInstanceRefreshRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CancelInstanceRefresh +func (c *AutoScaling) CancelInstanceRefreshRequest(input *CancelInstanceRefreshInput) (req *request.Request, output *CancelInstanceRefreshOutput) { + op := &request.Operation{ + Name: opCancelInstanceRefresh, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CancelInstanceRefreshInput{} + } + + output = &CancelInstanceRefreshOutput{} + req = c.newRequest(op, input, output) + return +} + +// CancelInstanceRefresh API operation for Auto Scaling. +// +// Cancels an instance refresh operation in progress. Cancellation does not +// roll back any replacements that have already been completed, but it prevents +// new replacements from being started. +// +// For more information, see Replacing Auto Scaling Instances Based on an Instance +// Refresh (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.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 Auto Scaling's +// API operation CancelInstanceRefresh for usage and error information. +// +// Returned Error Codes: +// * ErrCodeLimitExceededFault "LimitExceeded" +// You have already reached a limit for your Amazon EC2 Auto Scaling resources +// (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. +// +// * ErrCodeResourceContentionFault "ResourceContention" +// You already have a pending update to an Amazon EC2 Auto Scaling resource +// (for example, an Auto Scaling group, instance, or load balancer). +// +// * ErrCodeActiveInstanceRefreshNotFoundFault "ActiveInstanceRefreshNotFound" +// The request failed because an active instance refresh for the specified Auto +// Scaling group was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CancelInstanceRefresh +func (c *AutoScaling) CancelInstanceRefresh(input *CancelInstanceRefreshInput) (*CancelInstanceRefreshOutput, error) { + req, out := c.CancelInstanceRefreshRequest(input) + return out, req.Send() +} + +// CancelInstanceRefreshWithContext is the same as CancelInstanceRefresh with the addition of +// the ability to pass a context and additional request options. +// +// See CancelInstanceRefresh for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AutoScaling) CancelInstanceRefreshWithContext(ctx aws.Context, input *CancelInstanceRefreshInput, opts ...request.Option) (*CancelInstanceRefreshOutput, error) { + req, out := c.CancelInstanceRefreshRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCompleteLifecycleAction = "CompleteLifecycleAction" // CompleteLifecycleActionRequest generates a "aws/request.Request" representing the @@ -622,11 +722,23 @@ func (c *AutoScaling) CreateAutoScalingGroupRequest(input *CreateAutoScalingGrou // Creates an Auto Scaling group with the specified name and attributes. // // If you exceed your maximum limit of Auto Scaling groups, the call fails. -// For information about viewing this limit, see DescribeAccountLimits. For -// information about updating this limit, see Amazon EC2 Auto Scaling Service -// Quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) +// To query this limit, call the DescribeAccountLimits API. For information +// about updating this limit, see Amazon EC2 Auto Scaling Service Quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) +// in the Amazon EC2 Auto Scaling User Guide. +// +// For introductory exercises for creating an Auto Scaling group, see Getting +// Started with Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html) +// and Tutorial: Set Up a Scaled and Load-Balanced Application (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-register-lbs-with-asg.html) +// in the Amazon EC2 Auto Scaling User Guide. For more information, see Auto +// Scaling Groups (https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html) // in the Amazon EC2 Auto Scaling User Guide. // +// Every Auto Scaling group has three size parameters (DesiredCapacity, MaxSize, +// and MinSize). Usually, you set these sizes based on a specific number of +// instances. However, if you configure a mixed instances policy that defines +// weights for the instance types, you must specify these sizes with the same +// units that you use for weighting 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. @@ -642,7 +754,8 @@ func (c *AutoScaling) CreateAutoScalingGroupRequest(input *CreateAutoScalingGrou // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -721,9 +834,8 @@ func (c *AutoScaling) CreateLaunchConfigurationRequest(input *CreateLaunchConfig // Creates a launch configuration. // // If you exceed your maximum limit of launch configurations, the call fails. -// For information about viewing this limit, see DescribeAccountLimits. For -// information about updating this limit, see Amazon EC2 Auto Scaling Service -// Quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) +// To query this limit, call the DescribeAccountLimits API. For information +// about updating this limit, see Amazon EC2 Auto Scaling Service Quotas (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html) // in the Amazon EC2 Auto Scaling User Guide. // // For more information, see Launch Configurations (https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchConfiguration.html) @@ -744,7 +856,8 @@ func (c *AutoScaling) CreateLaunchConfigurationRequest(input *CreateLaunchConfig // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -836,7 +949,8 @@ func (c *AutoScaling) CreateOrUpdateTagsRequest(input *CreateOrUpdateTagsInput) // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeAlreadyExistsFault "AlreadyExists" // You already have an Auto Scaling group or launch configuration with this @@ -925,13 +1039,13 @@ func (c *AutoScaling) DeleteAutoScalingGroupRequest(input *DeleteAutoScalingGrou // alarm actions, and any alarm that no longer has an associated action. // // To remove instances from the Auto Scaling group before deleting it, call -// DetachInstances with the list of instances and the option to decrement the -// desired capacity. This ensures that Amazon EC2 Auto Scaling does not launch -// replacement instances. +// the DetachInstances API with the list of instances and the option to decrement +// the desired capacity. This ensures that Amazon EC2 Auto Scaling does not +// launch replacement instances. // -// To terminate all instances before deleting the Auto Scaling group, call UpdateAutoScalingGroup -// and set the minimum size and desired capacity of the Auto Scaling group to -// zero. +// To terminate all instances before deleting the Auto Scaling group, call the +// UpdateAutoScalingGroup API and set the minimum size and desired capacity +// of the Auto Scaling group to zero. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1612,7 +1726,17 @@ func (c *AutoScaling) DescribeAdjustmentTypesRequest(input *DescribeAdjustmentTy // DescribeAdjustmentTypes API operation for Auto Scaling. // -// Describes the policy adjustment types for use with PutScalingPolicy. +// Describes the available adjustment types for Amazon EC2 Auto Scaling scaling +// policies. These settings apply to step scaling policies and simple scaling +// policies; they do not apply to target tracking scaling policies. +// +// The following adjustment types are supported: +// +// * ChangeInCapacity +// +// * ExactCapacity +// +// * PercentChangeInCapacity // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2010,6 +2134,110 @@ func (c *AutoScaling) DescribeAutoScalingNotificationTypesWithContext(ctx aws.Co return out, req.Send() } +const opDescribeInstanceRefreshes = "DescribeInstanceRefreshes" + +// DescribeInstanceRefreshesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInstanceRefreshes operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeInstanceRefreshes for more information on using the DescribeInstanceRefreshes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeInstanceRefreshesRequest method. +// req, resp := client.DescribeInstanceRefreshesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeInstanceRefreshes +func (c *AutoScaling) DescribeInstanceRefreshesRequest(input *DescribeInstanceRefreshesInput) (req *request.Request, output *DescribeInstanceRefreshesOutput) { + op := &request.Operation{ + Name: opDescribeInstanceRefreshes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeInstanceRefreshesInput{} + } + + output = &DescribeInstanceRefreshesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeInstanceRefreshes API operation for Auto Scaling. +// +// Describes one or more instance refreshes. +// +// You can determine the status of a request by looking at the Status parameter. +// The following are the possible statuses: +// +// * Pending - The request was created, but the operation has not started. +// +// * InProgress - The operation is in progress. +// +// * Successful - The operation completed successfully. +// +// * Failed - The operation failed to complete. You can troubleshoot using +// the status reason and the scaling activities. +// +// * Cancelling - An ongoing operation is being cancelled. Cancellation does +// not roll back any replacements that have already been completed, but it +// prevents new replacements from being started. +// +// * Cancelled - The operation is cancelled. +// +// For more information, see Replacing Auto Scaling Instances Based on an Instance +// Refresh (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.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 Auto Scaling's +// API operation DescribeInstanceRefreshes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidNextToken "InvalidNextToken" +// The NextToken value is not valid. +// +// * ErrCodeResourceContentionFault "ResourceContention" +// You already have a pending update to an Amazon EC2 Auto Scaling resource +// (for example, an Auto Scaling group, instance, or load balancer). +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeInstanceRefreshes +func (c *AutoScaling) DescribeInstanceRefreshes(input *DescribeInstanceRefreshesInput) (*DescribeInstanceRefreshesOutput, error) { + req, out := c.DescribeInstanceRefreshesRequest(input) + return out, req.Send() +} + +// DescribeInstanceRefreshesWithContext is the same as DescribeInstanceRefreshes with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeInstanceRefreshes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AutoScaling) DescribeInstanceRefreshesWithContext(ctx aws.Context, input *DescribeInstanceRefreshesInput, opts ...request.Option) (*DescribeInstanceRefreshesOutput, error) { + req, out := c.DescribeInstanceRefreshesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeLaunchConfigurations = "DescribeLaunchConfigurations" // DescribeLaunchConfigurationsRequest generates a "aws/request.Request" representing the @@ -2444,8 +2672,8 @@ func (c *AutoScaling) DescribeLoadBalancersRequest(input *DescribeLoadBalancersI // Describes the load balancers for the specified Auto Scaling group. // // This operation describes only Classic Load Balancers. If you have Application -// Load Balancers or Network Load Balancers, use DescribeLoadBalancerTargetGroups -// instead. +// Load Balancers or Network Load Balancers, use the DescribeLoadBalancerTargetGroups +// API instead. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2528,7 +2756,7 @@ func (c *AutoScaling) DescribeMetricCollectionTypesRequest(input *DescribeMetric // Describes the available CloudWatch metrics for Amazon EC2 Auto Scaling. // // The GroupStandbyInstances metric is not returned by default. You must explicitly -// request this metric when calling EnableMetricsCollection. +// request this metric when calling the EnableMetricsCollection 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 @@ -3035,7 +3263,8 @@ func (c *AutoScaling) DescribeScalingProcessTypesRequest(input *DescribeScalingP // DescribeScalingProcessTypes API operation for Auto Scaling. // -// Describes the scaling process types for use with ResumeProcesses and SuspendProcesses. +// Describes the scaling process types for use with the ResumeProcesses and +// SuspendProcesses APIs. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3123,7 +3352,7 @@ func (c *AutoScaling) DescribeScheduledActionsRequest(input *DescribeScheduledAc // // Describes the actions scheduled for your Auto Scaling group that haven't // run or that have not reached their end time. To describe the actions that -// have already run, use DescribeScalingActivities. +// have already run, call the DescribeScalingActivities 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 @@ -3275,6 +3504,9 @@ func (c *AutoScaling) DescribeTagsRequest(input *DescribeTagsInput) (req *reques // a particular tag only if it matches all the filters. If there's no match, // no special message is returned. // +// For more information, see Tagging Auto Scaling Groups and Instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html) +// in the Amazon EC2 Auto Scaling User Guide. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3673,13 +3905,13 @@ func (c *AutoScaling) DetachLoadBalancersRequest(input *DetachLoadBalancersInput // group. // // This operation detaches only Classic Load Balancers. If you have Application -// Load Balancers or Network Load Balancers, use DetachLoadBalancerTargetGroups -// instead. +// Load Balancers or Network Load Balancers, use the DetachLoadBalancerTargetGroups +// API instead. // // When you detach a load balancer, it enters the Removing state while deregistering // the instances in the group. When all instances are deregistered, then you -// can no longer describe the load balancer using DescribeLoadBalancers. The -// instances remain running. +// can no longer describe the load balancer using the DescribeLoadBalancers +// API call. The instances remain running. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4017,7 +4249,8 @@ func (c *AutoScaling) ExecutePolicyRequest(input *ExecutePolicyInput) (req *requ // ExecutePolicy API operation for Auto Scaling. // -// Executes the specified policy. +// Executes the specified policy. This can be useful for testing the design +// of your scaling policy. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4209,10 +4442,11 @@ func (c *AutoScaling) PutLifecycleHookRequest(input *PutLifecycleHookInput) (req // launch or terminate. // // If you need more time, record the lifecycle action heartbeat to keep the -// instance in a pending state using RecordLifecycleActionHeartbeat. +// instance in a pending state using the RecordLifecycleActionHeartbeat API +// call. // // If you finish before the timeout period ends, complete the lifecycle action -// using CompleteLifecycleAction. +// using the CompleteLifecycleAction API call. // // For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) // in the Amazon EC2 Auto Scaling User Guide. @@ -4220,8 +4454,9 @@ func (c *AutoScaling) PutLifecycleHookRequest(input *PutLifecycleHookInput) (req // If you exceed your maximum limit of lifecycle hooks, which by default is // 50 per Auto Scaling group, the call fails. // -// You can view the lifecycle hooks for an Auto Scaling group using DescribeLifecycleHooks. -// If you are no longer using a lifecycle hook, you can delete it using DeleteLifecycleHook. +// You can view the lifecycle hooks for an Auto Scaling group using the DescribeLifecycleHooks +// API call. If you are no longer using a lifecycle hook, you can delete it +// by calling the DeleteLifecycleHook 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 @@ -4234,7 +4469,8 @@ func (c *AutoScaling) PutLifecycleHookRequest(input *PutLifecycleHookInput) (req // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -4328,7 +4564,8 @@ func (c *AutoScaling) PutNotificationConfigurationRequest(input *PutNotification // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -4406,7 +4643,8 @@ func (c *AutoScaling) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req // Creates or updates a scaling policy for an Auto Scaling group. // // For more information about using scaling policies to scale your Auto Scaling -// group automatically, see Dynamic Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) +// group, see Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html) +// and Step and Simple Scaling Policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html) // in the Amazon EC2 Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4420,7 +4658,8 @@ func (c *AutoScaling) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -4518,7 +4757,8 @@ func (c *AutoScaling) PutScheduledUpdateGroupActionRequest(input *PutScheduledUp // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -4593,7 +4833,7 @@ func (c *AutoScaling) RecordLifecycleActionHeartbeatRequest(input *RecordLifecyc // // Records a heartbeat for the lifecycle action associated with the specified // token or instance. This extends the timeout by the length of time defined -// using PutLifecycleHook. +// using the PutLifecycleHook API call. // // This step is a part of the procedure for adding a lifecycle hook to an Auto // Scaling group: @@ -4786,8 +5026,11 @@ func (c *AutoScaling) SetDesiredCapacityRequest(input *SetDesiredCapacityInput) // // Sets the size of the specified Auto Scaling group. // -// For more information about desired capacity, see What Is Amazon EC2 Auto -// Scaling? (https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) +// If a scale-in activity occurs as a result of a new DesiredCapacity value +// that is lower than the current size of the group, the Auto Scaling group +// uses its termination policy to determine which instances to terminate. +// +// For more information, see Manual Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html) // in the Amazon EC2 Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4974,7 +5217,8 @@ func (c *AutoScaling) SetInstanceProtectionRequest(input *SetInstanceProtectionI // * ErrCodeLimitExceededFault "LimitExceeded" // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). -// For more information, see DescribeAccountLimits. +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. // // * ErrCodeResourceContentionFault "ResourceContention" // You already have a pending update to an Amazon EC2 Auto Scaling resource @@ -5002,6 +5246,107 @@ func (c *AutoScaling) SetInstanceProtectionWithContext(ctx aws.Context, input *S return out, req.Send() } +const opStartInstanceRefresh = "StartInstanceRefresh" + +// StartInstanceRefreshRequest generates a "aws/request.Request" representing the +// client's request for the StartInstanceRefresh operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartInstanceRefresh for more information on using the StartInstanceRefresh +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartInstanceRefreshRequest method. +// req, resp := client.StartInstanceRefreshRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/StartInstanceRefresh +func (c *AutoScaling) StartInstanceRefreshRequest(input *StartInstanceRefreshInput) (req *request.Request, output *StartInstanceRefreshOutput) { + op := &request.Operation{ + Name: opStartInstanceRefresh, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartInstanceRefreshInput{} + } + + output = &StartInstanceRefreshOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartInstanceRefresh API operation for Auto Scaling. +// +// Starts a new instance refresh operation, which triggers a rolling replacement +// of all previously launched instances in the Auto Scaling group with a new +// group of instances. +// +// If successful, this call creates a new instance refresh request with a unique +// ID that you can use to track its progress. To query its status, call the +// DescribeInstanceRefreshes API. To describe the instance refreshes that have +// already run, call the DescribeInstanceRefreshes API. To cancel an instance +// refresh operation in progress, use the CancelInstanceRefresh API. +// +// For more information, see Replacing Auto Scaling Instances Based on an Instance +// Refresh (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.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 Auto Scaling's +// API operation StartInstanceRefresh for usage and error information. +// +// Returned Error Codes: +// * ErrCodeLimitExceededFault "LimitExceeded" +// You have already reached a limit for your Amazon EC2 Auto Scaling resources +// (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). +// For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) +// in the Amazon EC2 Auto Scaling API Reference. +// +// * ErrCodeResourceContentionFault "ResourceContention" +// You already have a pending update to an Amazon EC2 Auto Scaling resource +// (for example, an Auto Scaling group, instance, or load balancer). +// +// * ErrCodeInstanceRefreshInProgressFault "InstanceRefreshInProgress" +// The request failed because an active instance refresh operation already exists +// for the specified Auto Scaling group. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/StartInstanceRefresh +func (c *AutoScaling) StartInstanceRefresh(input *StartInstanceRefreshInput) (*StartInstanceRefreshOutput, error) { + req, out := c.StartInstanceRefreshRequest(input) + return out, req.Send() +} + +// StartInstanceRefreshWithContext is the same as StartInstanceRefresh with the addition of +// the ability to pass a context and additional request options. +// +// See StartInstanceRefresh for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *AutoScaling) StartInstanceRefreshWithContext(ctx aws.Context, input *StartInstanceRefreshInput, opts ...request.Option) (*StartInstanceRefreshOutput, error) { + req, out := c.StartInstanceRefreshRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opSuspendProcesses = "SuspendProcesses" // SuspendProcessesRequest generates a "aws/request.Request" representing the @@ -5051,13 +5396,12 @@ func (c *AutoScaling) SuspendProcessesRequest(input *ScalingProcessQuery) (req * // the specified Auto Scaling group. // // If you suspend either the Launch or Terminate process types, it can prevent -// other process types from functioning properly. -// -// To resume processes that have been suspended, use ResumeProcesses. -// -// For more information, see Suspending and Resuming Scaling Processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html) +// other process types from functioning properly. For more information, see +// Suspending and Resuming Scaling Processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html) // in the Amazon EC2 Auto Scaling User Guide. // +// To resume processes that have been suspended, call the ResumeProcesses 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. @@ -5140,7 +5484,9 @@ func (c *AutoScaling) TerminateInstanceInAutoScalingGroupRequest(input *Terminat // TerminateInstanceInAutoScalingGroup API operation for Auto Scaling. // // Terminates the specified instance and optionally adjusts the desired group -// size. This call simply makes a termination request. The instance is not terminated +// size. +// +// This call simply makes a termination request. The instance is not terminated // immediately. When an instance is terminated, the instance status changes // to terminated. You can't connect to or start an instance after you've terminated // it. @@ -5260,7 +5606,7 @@ func (c *AutoScaling) UpdateAutoScalingGroupRequest(input *UpdateAutoScalingGrou // // Note the following about changing DesiredCapacity, MaxSize, or MinSize: // -// * If a scale-in event occurs as a result of a new DesiredCapacity value +// * If a scale-in activity occurs as a result of a new DesiredCapacity value // that is lower than the current size of the group, the Auto Scaling group // uses its termination policy to determine which instances to terminate. // @@ -5273,9 +5619,10 @@ func (c *AutoScaling) UpdateAutoScalingGroupRequest(input *UpdateAutoScalingGrou // of the group, this sets the group's DesiredCapacity to the new MaxSize // value. // -// To see which parameters have been set, use DescribeAutoScalingGroups. You -// can also view the scaling policies for an Auto Scaling group using DescribePolicies. -// If the group has scaling policies, you can update them using PutScalingPolicy. +// To see which parameters have been set, call the DescribeAutoScalingGroups +// API. To view the scaling policies for an Auto Scaling group, call the DescribePolicies +// API. If the group has scaling policies, you can update them by calling the +// PutScalingPolicy 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 @@ -5876,17 +6223,23 @@ type BlockDeviceMapping struct { // DeviceName is a required field DeviceName *string `min:"1" type:"string" required:"true"` - // The information about the Amazon EBS volume. + // Parameters used to automatically set up EBS volumes when an instance is launched. + // + // You can specify either VirtualName or Ebs, but not both. Ebs *Ebs `type:"structure"` - // Suppresses a device mapping. + // Setting this value to true suppresses the specified device included in the + // block device mapping of the AMI. // - // If this parameter is true for the root device, the instance might fail the - // EC2 health check. In that case, Amazon EC2 Auto Scaling launches a replacement - // instance. + // If NoDevice is true for the root device, instances might fail the EC2 health + // check. In that case, Amazon EC2 Auto Scaling launches replacement instances. + // + // If you specify NoDevice, you cannot specify Ebs. NoDevice *bool `type:"boolean"` // The name of the virtual device (for example, ephemeral0). + // + // You can specify either VirtualName or Ebs, but not both. VirtualName *string `min:"1" type:"string"` } @@ -5948,58 +6301,122 @@ func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping { return s } -type CompleteLifecycleActionInput struct { +type CancelInstanceRefreshInput struct { _ struct{} `type:"structure"` // The name of the Auto Scaling group. // // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` - - // The ID of the instance. - InstanceId *string `min:"1" type:"string"` - - // The action for the group to take. This parameter can be either CONTINUE or - // ABANDON. - // - // LifecycleActionResult is a required field - LifecycleActionResult *string `type:"string" required:"true"` - - // A universally unique identifier (UUID) that identifies a specific lifecycle - // action associated with an instance. Amazon EC2 Auto Scaling sends this token - // to the notification target you specified when you created the lifecycle hook. - LifecycleActionToken *string `min:"36" type:"string"` - - // The name of the lifecycle hook. - // - // LifecycleHookName is a required field - LifecycleHookName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CompleteLifecycleActionInput) String() string { +func (s CancelInstanceRefreshInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CompleteLifecycleActionInput) GoString() string { +func (s CancelInstanceRefreshInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CompleteLifecycleActionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CompleteLifecycleActionInput"} +func (s *CancelInstanceRefreshInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelInstanceRefreshInput"} if s.AutoScalingGroupName == nil { invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) } if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) } - if s.InstanceId != nil && len(*s.InstanceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) - } - if s.LifecycleActionResult == nil { - invalidParams.Add(request.NewErrParamRequired("LifecycleActionResult")) + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoScalingGroupName sets the AutoScalingGroupName field's value. +func (s *CancelInstanceRefreshInput) SetAutoScalingGroupName(v string) *CancelInstanceRefreshInput { + s.AutoScalingGroupName = &v + return s +} + +type CancelInstanceRefreshOutput struct { + _ struct{} `type:"structure"` + + // The instance refresh ID. + InstanceRefreshId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CancelInstanceRefreshOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelInstanceRefreshOutput) GoString() string { + return s.String() +} + +// SetInstanceRefreshId sets the InstanceRefreshId field's value. +func (s *CancelInstanceRefreshOutput) SetInstanceRefreshId(v string) *CancelInstanceRefreshOutput { + s.InstanceRefreshId = &v + return s +} + +type CompleteLifecycleActionInput struct { + _ struct{} `type:"structure"` + + // The name of the Auto Scaling group. + // + // AutoScalingGroupName is a required field + AutoScalingGroupName *string `min:"1" type:"string" required:"true"` + + // The ID of the instance. + InstanceId *string `min:"1" type:"string"` + + // The action for the group to take. This parameter can be either CONTINUE or + // ABANDON. + // + // LifecycleActionResult is a required field + LifecycleActionResult *string `type:"string" required:"true"` + + // A universally unique identifier (UUID) that identifies a specific lifecycle + // action associated with an instance. Amazon EC2 Auto Scaling sends this token + // to the notification target you specified when you created the lifecycle hook. + LifecycleActionToken *string `min:"36" type:"string"` + + // The name of the lifecycle hook. + // + // LifecycleHookName is a required field + LifecycleHookName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CompleteLifecycleActionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CompleteLifecycleActionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CompleteLifecycleActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CompleteLifecycleActionInput"} + if s.AutoScalingGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) + } + if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.LifecycleActionResult == nil { + invalidParams.Add(request.NewErrParamRequired("LifecycleActionResult")) } if s.LifecycleActionToken != nil && len(*s.LifecycleActionToken) < 36 { invalidParams.Add(request.NewErrParamMinLen("LifecycleActionToken", 36)) @@ -6080,15 +6497,19 @@ type CreateAutoScalingGroupInput struct { // The amount of time, in seconds, after a scaling activity completes before // another scaling activity can start. The default value is 300. // - // For more information, see Scaling Cooldowns (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html) + // This setting applies when using simple scaling policies, but not when using + // other scaling policies or scheduled scaling. For more information, see Scaling + // Cooldowns for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html) // in the Amazon EC2 Auto Scaling User Guide. DefaultCooldown *int64 `type:"integer"` - // The number of Amazon EC2 instances that the Auto Scaling group attempts to - // maintain. This number must be greater than or equal to the minimum size of - // the group and less than or equal to the maximum size of the group. If you - // do not specify a desired capacity, the default is the minimum size of the - // group. + // The desired capacity is the initial capacity of the Auto Scaling group at + // the time of its creation and the capacity it attempts to maintain. It can + // scale beyond this capacity if you configure automatic scaling. + // + // This number must be greater than or equal to the minimum size of the group + // and less than or equal to the maximum size of the group. If you do not specify + // a desired capacity, the default is the minimum size of the group. DesiredCapacity *int64 `type:"integer"` // The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before @@ -6099,7 +6520,7 @@ type CreateAutoScalingGroupInput struct { // For more information, see Health Check Grace Period (https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html#health-check-grace-period) // in the Amazon EC2 Auto Scaling User Guide. // - // Conditional: This parameter is required if you are adding an ELB health check. + // Required if you are adding an ELB health check. HealthCheckGracePeriod *int64 `type:"integer"` // The service to use for the health checks. The valid values are EC2 and ELB. @@ -6112,33 +6533,38 @@ type CreateAutoScalingGroupInput struct { HealthCheckType *string `min:"1" type:"string"` // The ID of the instance used to create a launch configuration for the group. + // To get the instance ID, use the Amazon EC2 DescribeInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html) + // API operation. // // When you specify an ID of an instance, Amazon EC2 Auto Scaling creates a // new launch configuration and associates it with the group. This launch configuration // derives its attributes from the specified instance, except for the block // device mapping. // - // For more information, see Create an Auto Scaling Group Using an EC2 Instance - // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-from-instance.html) - // in the Amazon EC2 Auto Scaling User Guide. - // // You must specify one of the following parameters in your request: LaunchConfigurationName, // LaunchTemplate, InstanceId, or MixedInstancesPolicy. InstanceId *string `min:"1" type:"string"` - // The name of the launch configuration. + // The name of the launch configuration to use when an instance is launched. + // To get the launch configuration name, use the DescribeLaunchConfigurations + // API operation. New launch configurations can be created with the CreateLaunchConfiguration + // API. // - // If you do not specify LaunchConfigurationName, you must specify one of the - // following parameters: InstanceId, LaunchTemplate, or MixedInstancesPolicy. + // You must specify one of the following parameters in your request: LaunchConfigurationName, + // LaunchTemplate, InstanceId, or MixedInstancesPolicy. LaunchConfigurationName *string `min:"1" type:"string"` - // The launch template to use to launch instances. + // Parameters used to specify the launch template and version to use when an + // instance is launched. // // For more information, see LaunchTemplateSpecification (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_LaunchTemplateSpecification.html) // in the Amazon EC2 Auto Scaling API Reference. // - // If you do not specify LaunchTemplate, you must specify one of the following - // parameters: InstanceId, LaunchConfigurationName, or MixedInstancesPolicy. + // You can alternatively associate a launch template to the Auto Scaling group + // by using the MixedInstancesPolicy parameter. + // + // You must specify one of the following parameters in your request: LaunchConfigurationName, + // LaunchTemplate, InstanceId, or MixedInstancesPolicy. LaunchTemplate *LaunchTemplateSpecification `type:"structure"` // One or more lifecycle hooks. @@ -6154,16 +6580,27 @@ type CreateAutoScalingGroupInput struct { LoadBalancerNames []*string `type:"list"` // The maximum amount of time, in seconds, that an instance can be in service. + // The default is null. + // + // This parameter is optional, but if you specify a value for it, you must specify + // a value of at least 604,800 seconds (7 days). To clear a previously set value, + // specify a new value of 0. // // For more information, see Replacing Auto Scaling Instances Based on Maximum // Instance Lifetime (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html) // in the Amazon EC2 Auto Scaling User Guide. // - // Valid Range: Minimum value of 604800. + // Valid Range: Minimum value of 0. MaxInstanceLifetime *int64 `type:"integer"` // The maximum size of the group. // + // With a mixed instances policy that uses instance weighting, Amazon EC2 Auto + // Scaling may need to go above MaxSize to meet your capacity requirements. + // In this event, Amazon EC2 Auto Scaling will never go above MaxSize by more + // than your largest instance weight (weights that define how many units each + // instance contributes to the desired capacity of the group). + // // MaxSize is a required field MaxSize *int64 `type:"integer" required:"true"` @@ -6214,7 +6651,14 @@ type CreateAutoScalingGroupInput struct { // in the Amazon EC2 Auto Scaling User Guide. ServiceLinkedRoleARN *string `min:"1" type:"string"` - // One or more tags. + // One or more tags. You can tag your Auto Scaling group and propagate the tags + // to the Amazon EC2 instances it launches. + // + // Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS + // volumes, specify the tags in a launch template but use caution. If the launch + // template specifies an instance tag with a key that is also specified for + // the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that + // instance tag with the value specified by the Auto Scaling group. // // For more information, see Tagging Auto Scaling Groups and Instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html) // in the Amazon EC2 Auto Scaling User Guide. @@ -6597,6 +7041,11 @@ type CreateLaunchConfigurationInput struct { // LaunchConfigurationName is a required field LaunchConfigurationName *string `min:"1" type:"string" required:"true"` + // The metadata options for the instances. For more information, see Instance + // Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) + // in the Amazon EC2 User Guide for Linux Instances. + MetadataOptions *InstanceMetadataOptions `type:"structure"` + // The tenancy of the instance. An instance with dedicated tenancy runs on isolated, // single-tenant hardware and can only be launched into a VPC. // @@ -6704,6 +7153,11 @@ func (s *CreateLaunchConfigurationInput) Validate() error { } } } + if s.MetadataOptions != nil { + if err := s.MetadataOptions.Validate(); err != nil { + invalidParams.AddNested("MetadataOptions", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -6789,6 +7243,12 @@ func (s *CreateLaunchConfigurationInput) SetLaunchConfigurationName(v string) *C return s } +// SetMetadataOptions sets the MetadataOptions field's value. +func (s *CreateLaunchConfigurationInput) SetMetadataOptions(v *InstanceMetadataOptions) *CreateLaunchConfigurationInput { + s.MetadataOptions = v + return s +} + // SetPlacementTenancy sets the PlacementTenancy field's value. func (s *CreateLaunchConfigurationInput) SetPlacementTenancy(v string) *CreateLaunchConfigurationInput { s.PlacementTenancy = &v @@ -7780,6 +8240,111 @@ func (s *DescribeAutoScalingNotificationTypesOutput) SetAutoScalingNotificationT return s } +type DescribeInstanceRefreshesInput struct { + _ struct{} `type:"structure"` + + // The name of the Auto Scaling group. + // + // AutoScalingGroupName is a required field + AutoScalingGroupName *string `min:"1" type:"string" required:"true"` + + // One or more instance refresh IDs. + InstanceRefreshIds []*string `type:"list"` + + // The maximum number of items to return with this call. The default value is + // 50 and the maximum value is 100. + MaxRecords *int64 `type:"integer"` + + // The token for the next set of items to return. (You received this token from + // a previous call.) + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInstanceRefreshesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstanceRefreshesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInstanceRefreshesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceRefreshesInput"} + if s.AutoScalingGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) + } + if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoScalingGroupName sets the AutoScalingGroupName field's value. +func (s *DescribeInstanceRefreshesInput) SetAutoScalingGroupName(v string) *DescribeInstanceRefreshesInput { + s.AutoScalingGroupName = &v + return s +} + +// SetInstanceRefreshIds sets the InstanceRefreshIds field's value. +func (s *DescribeInstanceRefreshesInput) SetInstanceRefreshIds(v []*string) *DescribeInstanceRefreshesInput { + s.InstanceRefreshIds = v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeInstanceRefreshesInput) SetMaxRecords(v int64) *DescribeInstanceRefreshesInput { + s.MaxRecords = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInstanceRefreshesInput) SetNextToken(v string) *DescribeInstanceRefreshesInput { + s.NextToken = &v + return s +} + +type DescribeInstanceRefreshesOutput struct { + _ struct{} `type:"structure"` + + // The instance refreshes for the specified group. + InstanceRefreshes []*InstanceRefresh `type:"list"` + + // A string that indicates that the response contains more items than can be + // returned in a single response. To receive additional items, specify this + // string for the NextToken value when requesting the next set of items. This + // value is null when there are no more items to return. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInstanceRefreshesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInstanceRefreshesOutput) GoString() string { + return s.String() +} + +// SetInstanceRefreshes sets the InstanceRefreshes field's value. +func (s *DescribeInstanceRefreshesOutput) SetInstanceRefreshes(v []*InstanceRefresh) *DescribeInstanceRefreshesOutput { + s.InstanceRefreshes = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInstanceRefreshesOutput) SetNextToken(v string) *DescribeInstanceRefreshesOutput { + s.NextToken = &v + return s +} + type DescribeLaunchConfigurationsInput struct { _ struct{} `type:"structure"` @@ -9022,8 +9587,7 @@ type DisableMetricsCollectionInput struct { // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` - // One or more of the following metrics. If you omit this parameter, all metrics - // are disabled. + // Specifies one or more of the following metrics: // // * GroupMinSize // @@ -9040,6 +9604,18 @@ type DisableMetricsCollectionInput struct { // * GroupTerminatingInstances // // * GroupTotalInstances + // + // * GroupInServiceCapacity + // + // * GroupPendingCapacity + // + // * GroupStandbyCapacity + // + // * GroupTerminatingCapacity + // + // * GroupTotalCapacity + // + // If you omit this parameter, all metrics are disabled. Metrics []*string `type:"list"` } @@ -9095,7 +9671,8 @@ func (s DisableMetricsCollectionOutput) GoString() string { return s.String() } -// Describes an Amazon EBS volume. Used in combination with BlockDeviceMapping. +// Describes information used to set up an Amazon EBS volume specified in a +// block device mapping. type Ebs struct { _ struct{} `type:"structure"` @@ -9133,15 +9710,13 @@ type Ebs struct { // see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) // in the Amazon EC2 User Guide for Linux Instances. // - // Conditional: This parameter is required when the volume type is io1. (Not - // used with standard, gp2, st1, or sc1 volumes.) + // Required when the volume type is io1. (Not used with standard, gp2, st1, + // or sc1 volumes.) Iops *int64 `min:"100" type:"integer"` // The snapshot ID of the volume to use. // - // Conditional: This parameter is optional if you specify a volume size. If - // you specify both SnapshotId and VolumeSize, VolumeSize must be equal or greater - // than the size of the snapshot. + // You must specify either a VolumeSize or a SnapshotId. SnapshotId *string `min:"1" type:"string"` // The volume size, in Gibibytes (GiB). @@ -9153,7 +9728,9 @@ type Ebs struct { // Default: If you create a volume from a snapshot and you don't specify a volume // size, the default is the snapshot size. // - // At least one of VolumeSize or SnapshotId is required. + // You must specify either a VolumeSize or a SnapshotId. If you specify both + // SnapshotId and VolumeSize, the volume size must be equal or greater than + // the size of the snapshot. VolumeSize *int64 `min:"1" type:"integer"` // The volume type, which can be standard for Magnetic, io1 for Provisioned @@ -9247,8 +9824,8 @@ type EnableMetricsCollectionInput struct { // Granularity is a required field Granularity *string `min:"1" type:"string" required:"true"` - // One or more of the following metrics. If you omit this parameter, all metrics - // are enabled. + // Specifies which group-level metrics to start collecting. You can specify + // one or more of the following metrics: // // * GroupMinSize // @@ -9265,6 +9842,20 @@ type EnableMetricsCollectionInput struct { // * GroupTerminatingInstances // // * GroupTotalInstances + // + // The instance weighting feature supports the following additional metrics: + // + // * GroupInServiceCapacity + // + // * GroupPendingCapacity + // + // * GroupStandbyCapacity + // + // * GroupTerminatingCapacity + // + // * GroupTotalCapacity + // + // If you omit this parameter, all metrics are enabled. Metrics []*string `type:"list"` } @@ -9356,6 +9947,16 @@ type EnabledMetric struct { // * GroupTerminatingInstances // // * GroupTotalInstances + // + // * GroupInServiceCapacity + // + // * GroupPendingCapacity + // + // * GroupStandbyCapacity + // + // * GroupTerminatingCapacity + // + // * GroupTotalCapacity Metric *string `min:"1" type:"string"` } @@ -9477,16 +10078,14 @@ type ExecutePolicyInput struct { // The breach threshold for the alarm. // - // Conditional: This parameter is required if the policy type is StepScaling - // and not supported otherwise. + // Required if the policy type is StepScaling and not supported otherwise. BreachThreshold *float64 `type:"double"` // Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to // complete before executing the policy. // - // This parameter is not supported if the policy type is StepScaling or TargetTrackingScaling. - // - // For more information, see Scaling Cooldowns (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html) + // Valid only if the policy type is SimpleScaling. For more information, see + // Scaling Cooldowns for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html) // in the Amazon EC2 Auto Scaling User Guide. HonorCooldown *bool `type:"boolean"` @@ -9499,8 +10098,7 @@ type ExecutePolicyInput struct { // If you specify a metric value that doesn't correspond to a step adjustment // for the policy, the call returns an error. // - // Conditional: This parameter is required if the policy type is StepScaling - // and not supported otherwise. + // Required if the policy type is StepScaling and not supported otherwise. MetricValue *float64 `type:"double"` // The name or ARN of the policy. @@ -9699,15 +10297,19 @@ func (s *FailedScheduledUpdateGroupActionRequest) SetScheduledActionName(v strin return s } -// Describes a filter. +// Describes a filter that is used to return a more specific list of results +// when describing tags. +// +// For more information, see Tagging Auto Scaling Groups and Instances (https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html) +// in the Amazon EC2 Auto Scaling User Guide. type Filter struct { _ struct{} `type:"structure"` - // The name of the filter. The valid values are: "auto-scaling-group", "key", - // "value", and "propagate-at-launch". + // The name of the filter. The valid values are: auto-scaling-group, key, value, + // and propagate-at-launch. Name *string `type:"string"` - // The value of the filter. + // One or more filter values. Filter values are case-sensitive. Values []*string `type:"list"` } @@ -9755,8 +10357,7 @@ type Group struct { // CreatedTime is a required field CreatedTime *time.Time `type:"timestamp" required:"true"` - // The amount of time, in seconds, after a scaling activity completes before - // another scaling activity can start. + // The duration of the default cooldown period, in seconds. // // DefaultCooldown is a required field DefaultCooldown *int64 `type:"integer" required:"true"` @@ -9795,7 +10396,7 @@ type Group struct { // The maximum amount of time, in seconds, that an instance can be in service. // - // Valid Range: Minimum value of 604800. + // Valid Range: Minimum value of 0. MaxInstanceLifetime *int64 `type:"integer"` // The maximum size of the group. @@ -9822,7 +10423,8 @@ type Group struct { // group uses to call other AWS services on your behalf. ServiceLinkedRoleARN *string `min:"1" type:"string"` - // The current state of the group when DeleteAutoScalingGroup is in progress. + // The current state of the group when the DeleteAutoScalingGroup operation + // is in progress. Status *string `min:"1" type:"string"` // The suspended processes associated with the group. @@ -10246,6 +10848,84 @@ func (s *InstanceDetails) SetWeightedCapacity(v string) *InstanceDetails { return s } +// The metadata options for the instances. For more information, see Instance +// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) +// in the Amazon EC2 User Guide for Linux Instances. +type InstanceMetadataOptions struct { + _ struct{} `type:"structure"` + + // This parameter enables or disables the HTTP metadata endpoint on your instances. + // If the parameter is not specified, the default state is enabled. + // + // If you specify a value of disabled, you will not be able to access your instance + // metadata. + HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"` + + // The desired HTTP PUT response hop limit for instance metadata requests. The + // larger the number, the further instance metadata requests can travel. + // + // Default: 1 + // + // Possible values: Integers from 1 to 64 + HttpPutResponseHopLimit *int64 `min:"1" type:"integer"` + + // The state of token usage for your instance metadata requests. If the parameter + // is not specified in the request, the default state is optional. + // + // If the state is optional, you can choose to retrieve instance metadata with + // or without a signed token header on your request. If you retrieve the IAM + // role credentials without a token, the version 1.0 role credentials are returned. + // If you retrieve the IAM role credentials using a valid signed token, the + // version 2.0 role credentials are returned. + // + // If the state is required, you must send a signed token header with any instance + // metadata retrieval requests. In this state, retrieving the IAM role credentials + // always returns the version 2.0 credentials; the version 1.0 credentials are + // not available. + HttpTokens *string `type:"string" enum:"InstanceMetadataHttpTokensState"` +} + +// String returns the string representation +func (s InstanceMetadataOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceMetadataOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InstanceMetadataOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InstanceMetadataOptions"} + if s.HttpPutResponseHopLimit != nil && *s.HttpPutResponseHopLimit < 1 { + invalidParams.Add(request.NewErrParamMinValue("HttpPutResponseHopLimit", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHttpEndpoint sets the HttpEndpoint field's value. +func (s *InstanceMetadataOptions) SetHttpEndpoint(v string) *InstanceMetadataOptions { + s.HttpEndpoint = &v + return s +} + +// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value. +func (s *InstanceMetadataOptions) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptions { + s.HttpPutResponseHopLimit = &v + return s +} + +// SetHttpTokens sets the HttpTokens field's value. +func (s *InstanceMetadataOptions) SetHttpTokens(v string) *InstanceMetadataOptions { + s.HttpTokens = &v + return s +} + // Describes whether detailed monitoring is enabled for the Auto Scaling instances. type InstanceMonitoring struct { _ struct{} `type:"structure"` @@ -10270,7 +10950,114 @@ func (s *InstanceMonitoring) SetEnabled(v bool) *InstanceMonitoring { return s } -// Describes an instances distribution for an Auto Scaling group with MixedInstancesPolicy. +// Describes an instance refresh for an Auto Scaling group. +type InstanceRefresh struct { + _ struct{} `type:"structure"` + + // The name of the Auto Scaling group. + AutoScalingGroupName *string `min:"1" type:"string"` + + // The date and time at which the instance refresh ended. + EndTime *time.Time `type:"timestamp"` + + // The instance refresh ID. + InstanceRefreshId *string `min:"1" type:"string"` + + // The number of instances remaining to update before the instance refresh is + // complete. + InstancesToUpdate *int64 `type:"integer"` + + // The percentage of the instance refresh that is complete. For each instance + // replacement, Amazon EC2 Auto Scaling tracks the instance's health status + // and warm-up time. When the instance's health status changes to healthy and + // the specified warm-up time passes, the instance is considered updated and + // added to the percentage complete. + PercentageComplete *int64 `type:"integer"` + + // The date and time at which the instance refresh began. + StartTime *time.Time `type:"timestamp"` + + // The current status for the instance refresh operation: + // + // * Pending - The request was created, but the operation has not started. + // + // * InProgress - The operation is in progress. + // + // * Successful - The operation completed successfully. + // + // * Failed - The operation failed to complete. You can troubleshoot using + // the status reason and the scaling activities. + // + // * Cancelling - An ongoing operation is being cancelled. Cancellation does + // not roll back any replacements that have already been completed, but it + // prevents new replacements from being started. + // + // * Cancelled - The operation is cancelled. + Status *string `type:"string" enum:"InstanceRefreshStatus"` + + // Provides more details about the current status of the instance refresh. + StatusReason *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s InstanceRefresh) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InstanceRefresh) GoString() string { + return s.String() +} + +// SetAutoScalingGroupName sets the AutoScalingGroupName field's value. +func (s *InstanceRefresh) SetAutoScalingGroupName(v string) *InstanceRefresh { + s.AutoScalingGroupName = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *InstanceRefresh) SetEndTime(v time.Time) *InstanceRefresh { + s.EndTime = &v + return s +} + +// SetInstanceRefreshId sets the InstanceRefreshId field's value. +func (s *InstanceRefresh) SetInstanceRefreshId(v string) *InstanceRefresh { + s.InstanceRefreshId = &v + return s +} + +// SetInstancesToUpdate sets the InstancesToUpdate field's value. +func (s *InstanceRefresh) SetInstancesToUpdate(v int64) *InstanceRefresh { + s.InstancesToUpdate = &v + return s +} + +// SetPercentageComplete sets the PercentageComplete field's value. +func (s *InstanceRefresh) SetPercentageComplete(v int64) *InstanceRefresh { + s.PercentageComplete = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *InstanceRefresh) SetStartTime(v time.Time) *InstanceRefresh { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *InstanceRefresh) SetStatus(v string) *InstanceRefresh { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *InstanceRefresh) SetStatusReason(v string) *InstanceRefresh { + s.StatusReason = &v + return s +} + +// Describes an instances distribution for an Auto Scaling group with a MixedInstancesPolicy. // // The instances distribution specifies the distribution of On-Demand Instances // and Spot Instances, the maximum price to pay for Spot Instances, and how @@ -10501,6 +11288,11 @@ type LaunchConfiguration struct { // LaunchConfigurationName is a required field LaunchConfigurationName *string `min:"1" type:"string" required:"true"` + // The metadata options for the instances. For more information, see Instance + // Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) + // in the Amazon EC2 User Guide for Linux Instances. + MetadataOptions *InstanceMetadataOptions `type:"structure"` + // The tenancy of the instance, either default or dedicated. An instance with // dedicated tenancy runs on isolated, single-tenant hardware and can only be // launched into a VPC. @@ -10629,6 +11421,12 @@ func (s *LaunchConfiguration) SetLaunchConfigurationName(v string) *LaunchConfig return s } +// SetMetadataOptions sets the MetadataOptions field's value. +func (s *LaunchConfiguration) SetMetadataOptions(v *InstanceMetadataOptions) *LaunchConfiguration { + s.MetadataOptions = v + return s +} + // SetPlacementTenancy sets the PlacementTenancy field's value. func (s *LaunchConfiguration) SetPlacementTenancy(v string) *LaunchConfiguration { s.PlacementTenancy = &v @@ -10676,9 +11474,12 @@ type LaunchTemplate struct { // or launch template name in the request. LaunchTemplateSpecification *LaunchTemplateSpecification `type:"structure"` - // An optional setting. Any parameters that you specify override the same parameters - // in the launch template. Currently, the only supported override is instance - // type. You can specify between 1 and 20 instance types. + // Any parameters that you specify override the same parameters in the launch + // template. Currently, the only supported override is instance type. You can + // specify between 1 and 20 instance types. + // + // If not provided, Amazon EC2 Auto Scaling will use the instance type specified + // in the launch template to launch instances. Overrides []*LaunchTemplateOverrides `type:"list"` } @@ -10729,11 +11530,16 @@ func (s *LaunchTemplate) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTempl return s } -// Describes an override for a launch template. +// Describes an override for a launch template. Currently, the only supported +// override is instance type. +// +// The maximum number of instance type overrides that can be associated with +// an Auto Scaling group is 20. type LaunchTemplateOverrides struct { _ struct{} `type:"structure"` - // The instance type. + // The instance type. You must use an instance type that is supported in your + // requested Region and Availability Zones. // // For information about available instance types, see Available Instance Types // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes) @@ -10792,7 +11598,8 @@ func (s *LaunchTemplateOverrides) SetWeightedCapacity(v string) *LaunchTemplateO return s } -// Describes a launch template and the launch template version. +// Describes the Amazon EC2 launch template and the launch template version +// that can be used by an Auto Scaling group to configure Amazon EC2 instances. // // The launch template that is specified must be configured for use with an // Auto Scaling group. For more information, see Creating a Launch Template @@ -10801,19 +11608,34 @@ func (s *LaunchTemplateOverrides) SetWeightedCapacity(v string) *LaunchTemplateO type LaunchTemplateSpecification struct { _ struct{} `type:"structure"` - // The ID of the launch template. You must specify either a template ID or a - // template name. + // The ID of the launch template. To get the template ID, use the Amazon EC2 + // DescribeLaunchTemplates (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplates.html) + // API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) + // API. + // + // You must specify either a template ID or a template name. LaunchTemplateId *string `min:"1" type:"string"` - // The name of the launch template. You must specify either a template name - // or a template ID. + // The name of the launch template. To get the template name, use the Amazon + // EC2 DescribeLaunchTemplates (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplates.html) + // API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) + // API. + // + // You must specify either a template ID or a template name. LaunchTemplateName *string `min:"3" type:"string"` - // The version number, $Latest, or $Default. If the value is $Latest, Amazon - // EC2 Auto Scaling selects the latest version of the launch template when launching - // instances. If the value is $Default, Amazon EC2 Auto Scaling selects the - // default version of the launch template when launching instances. The default - // value is $Default. + // The version number, $Latest, or $Default. To get the version number, use + // the Amazon EC2 DescribeLaunchTemplateVersions (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplateVersions.html) + // API operation. New launch template versions can be created using the Amazon + // EC2 CreateLaunchTemplateVersion (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplateVersion.html) + // API. + // + // If the value is $Latest, Amazon EC2 Auto Scaling selects the latest version + // of the launch template when launching instances. If the value is $Default, + // Amazon EC2 Auto Scaling selects the default version of the launch template + // when launching instances. The default value is $Default. Version *string `min:"1" type:"string"` } @@ -10866,7 +11688,6 @@ func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecif // Describes a lifecycle hook, which tells Amazon EC2 Auto Scaling that you // want to perform an action whenever it launches instances or terminates instances. -// Used in response to DescribeLifecycleHooks. type LifecycleHook struct { _ struct{} `type:"structure"` @@ -10977,7 +11798,8 @@ func (s *LifecycleHook) SetRoleARN(v string) *LifecycleHook { return s } -// Describes a lifecycle hook. Used in combination with CreateAutoScalingGroup. +// Describes information used to specify a lifecycle hook for an Auto Scaling +// group. // // A lifecycle hook tells Amazon EC2 Auto Scaling to perform an action on an // instance when the instance launches (before it is put into service) or as @@ -10998,18 +11820,12 @@ func (s *LifecycleHook) SetRoleARN(v string) *LifecycleHook { // launch or terminate. // // If you need more time, record the lifecycle action heartbeat to keep the -// instance in a pending state using RecordLifecycleActionHeartbeat. +// instance in a pending state. // -// If you finish before the timeout period ends, complete the lifecycle action -// using CompleteLifecycleAction. +// If you finish before the timeout period ends, complete the lifecycle action. // // For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks (https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) // in the Amazon EC2 Auto Scaling User Guide. -// -// You can view the lifecycle hooks for an Auto Scaling group using DescribeLifecycleHooks. -// You can modify an existing lifecycle hook or create new lifecycle hooks using -// PutLifecycleHook. If you are no longer using a lifecycle hook, you can delete -// it using DeleteLifecycleHook. type LifecycleHookSpecification struct { _ struct{} `type:"structure"` @@ -11268,6 +12084,16 @@ type MetricCollectionType struct { // * GroupTerminatingInstances // // * GroupTotalInstances + // + // * GroupInServiceCapacity + // + // * GroupPendingCapacity + // + // * GroupStandbyCapacity + // + // * GroupTerminatingCapacity + // + // * GroupTotalCapacity Metric *string `min:"1" type:"string"` } @@ -11374,7 +12200,8 @@ func (s *MetricGranularityType) SetGranularity(v string) *MetricGranularityType // You can create a mixed instances policy for a new Auto Scaling group, or // you can create it for an existing group by updating the group to specify // MixedInstancesPolicy as the top-level parameter instead of a launch configuration -// or template. For more information, see CreateAutoScalingGroup and UpdateAutoScalingGroup. +// or launch template. For more information, see CreateAutoScalingGroup and +// UpdateAutoScalingGroup. type MixedInstancesPolicy struct { _ struct{} `type:"structure"` @@ -11386,7 +12213,7 @@ type MixedInstancesPolicy struct { // The launch template and instance types (overrides). // - // This parameter must be specified when creating a mixed instances policy. + // Required when creating a mixed instances policy. LaunchTemplate *LaunchTemplate `type:"structure"` } @@ -11506,7 +12333,9 @@ type PredefinedMetricSpecification struct { // a resource label unless the metric type is ALBRequestCountPerTarget and there // is a target group attached to the Auto Scaling group. // - // The format is app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id + // Elastic Load Balancing sends data about your load balancers to Amazon CloudWatch. + // CloudWatch collects the data and specifies the format to use to access the + // data. The format is app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id // , where // // * app/load-balancer-name/load-balancer-id is the final portion of the @@ -11514,6 +12343,12 @@ type PredefinedMetricSpecification struct { // // * targetgroup/target-group-name/target-group-id is the final portion of // the target group ARN. + // + // To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers + // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) + // API operation. To find the ARN for the target group, use the DescribeTargetGroups + // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) + // API operation. ResourceLabel *string `min:"1" type:"string"` } @@ -11576,6 +12411,8 @@ type ProcessType struct { // // * HealthCheck // + // * InstanceRefresh + // // * ReplaceUnhealthy // // * ScheduledActions @@ -11619,7 +12456,7 @@ type PutLifecycleHookInput struct { // // If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action // that you specified in the DefaultResult parameter. You can prevent the lifecycle - // hook from timing out by calling RecordLifecycleActionHeartbeat. + // hook from timing out by calling the RecordLifecycleActionHeartbeat API. HeartbeatTimeout *int64 `type:"integer"` // The name of the lifecycle hook. @@ -11634,8 +12471,7 @@ type PutLifecycleHookInput struct { // // * autoscaling:EC2_INSTANCE_TERMINATING // - // Conditional: This parameter is required for new lifecycle hooks, but optional - // when updating existing hooks. + // Required for new lifecycle hooks, but optional when updating existing hooks. LifecycleTransition *string `type:"string"` // Additional information that you want to include any time Amazon EC2 Auto @@ -11661,8 +12497,7 @@ type PutLifecycleHookInput struct { // the specified notification target, for example, an Amazon SNS topic or an // Amazon SQS queue. // - // Conditional: This parameter is required for new lifecycle hooks, but optional - // when updating existing hooks. + // Required for new lifecycle hooks, but optional when updating existing hooks. RoleARN *string `min:"1" type:"string"` } @@ -11774,8 +12609,9 @@ type PutNotificationConfigurationInput struct { // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` - // The type of event that causes the notification to be sent. For more information - // about notification types supported by Amazon EC2 Auto Scaling, see DescribeAutoScalingNotificationTypes. + // The type of event that causes the notification to be sent. To query the notification + // types supported by Amazon EC2 Auto Scaling, call the DescribeAutoScalingNotificationTypes + // API. // // NotificationTypes is a required field NotificationTypes []*string `type:"list" required:"true"` @@ -11857,11 +12693,11 @@ func (s PutNotificationConfigurationOutput) GoString() string { type PutScalingPolicyInput struct { _ struct{} `type:"structure"` - // Specifies whether the ScalingAdjustment parameter is an absolute number or - // a percentage of the current capacity. The valid values are ChangeInCapacity, - // ExactCapacity, and PercentChangeInCapacity. + // Specifies how the scaling adjustment is interpreted (for example, an absolute + // number or a percentage). The valid values are ChangeInCapacity, ExactCapacity, + // and PercentChangeInCapacity. // - // Valid only if the policy type is StepScaling or SimpleScaling. For more information, + // Required if the policy type is StepScaling or SimpleScaling. For more information, // see Scaling Adjustment Types (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-adjustment) // in the Amazon EC2 Auto Scaling User Guide. AdjustmentType *string `min:"1" type:"string"` @@ -11871,12 +12707,12 @@ type PutScalingPolicyInput struct { // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` - // The amount of time, in seconds, after a scaling activity completes before - // any further dynamic scaling activities can start. If this parameter is not - // specified, the default cooldown period for the group applies. + // The duration of the policy's cooldown period, in seconds. When a cooldown + // period is specified here, it overrides the default cooldown period defined + // for the Auto Scaling group. // // Valid only if the policy type is SimpleScaling. For more information, see - // Scaling Cooldowns (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html) + // Scaling Cooldowns for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html) // in the Amazon EC2 Auto Scaling User Guide. Cooldown *int64 `type:"integer"` @@ -11887,10 +12723,10 @@ type PutScalingPolicyInput struct { Enabled *bool `type:"boolean"` // The estimated time, in seconds, until a newly launched instance can contribute - // to the CloudWatch metrics. The default is to use the value specified for - // the default cooldown period for the group. + // to the CloudWatch metrics. If not provided, the default is to use the value + // from the default cooldown period for the Auto Scaling group. // - // Valid only if the policy type is StepScaling or TargetTrackingScaling. + // Valid only if the policy type is TargetTrackingScaling or StepScaling. EstimatedInstanceWarmup *int64 `type:"integer"` // The aggregation type for the CloudWatch metrics. The valid values are Minimum, @@ -11900,19 +12736,19 @@ type PutScalingPolicyInput struct { // Valid only if the policy type is StepScaling. MetricAggregationType *string `min:"1" type:"string"` - // The minimum number of instances to scale. If the value of AdjustmentType - // is PercentChangeInCapacity, the scaling policy changes the DesiredCapacity - // of the Auto Scaling group by at least this many instances. Otherwise, the - // error is ValidationError. + // The minimum value to scale by when the adjustment type is PercentChangeInCapacity. + // For example, suppose that you create a step scaling policy to scale out an + // Auto Scaling group by 25 percent and you specify a MinAdjustmentMagnitude + // of 2. If the group has 4 instances and the scaling policy is performed, 25 + // percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude + // of 2, Amazon EC2 Auto Scaling scales out the group by 2 instances. // - // This property replaces the MinAdjustmentStep property. For example, suppose - // that you create a step scaling policy to scale out an Auto Scaling group - // by 25 percent and you specify a MinAdjustmentMagnitude of 2. If the group - // has 4 instances and the scaling policy is performed, 25 percent of 4 is 1. - // However, because you specified a MinAdjustmentMagnitude of 2, Amazon EC2 - // Auto Scaling scales out the group by 2 instances. + // Valid only if the policy type is StepScaling or SimpleScaling. For more information, + // see Scaling Adjustment Types (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-adjustment) + // in the Amazon EC2 Auto Scaling User Guide. // - // Valid only if the policy type is SimpleScaling or StepScaling. + // Some Auto Scaling groups use instance weights. In this case, set the MinAdjustmentMagnitude + // to a value that is at least as large as your largest instance weight. MinAdjustmentMagnitude *int64 `type:"integer"` // Available for backward compatibility. Use MinAdjustmentMagnitude instead. @@ -11923,36 +12759,50 @@ type PutScalingPolicyInput struct { // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` - // The policy type. The valid values are SimpleScaling, StepScaling, and TargetTrackingScaling. - // If the policy type is null, the value is treated as SimpleScaling. + // One of the following policy types: + // + // * TargetTrackingScaling + // + // * StepScaling + // + // * SimpleScaling (default) PolicyType *string `min:"1" type:"string"` - // The amount by which a simple scaling policy scales the Auto Scaling group - // in response to an alarm breach. The adjustment is based on the value that - // you specified in the AdjustmentType parameter (either an absolute number - // or a percentage). A positive value adds to the current capacity and a negative - // value subtracts from the current capacity. For exact capacity, you must specify - // a positive value. + // The amount by which to scale, based on the specified adjustment type. A positive + // value adds to the current capacity while a negative number removes from the + // current capacity. For exact capacity, you must specify a positive value. // - // Conditional: If you specify SimpleScaling for the policy type, you must specify - // this parameter. (Not used with any other policy type.) + // Required if the policy type is SimpleScaling. (Not used with any other policy + // type.) ScalingAdjustment *int64 `type:"integer"` // A set of adjustments that enable you to scale based on the size of the alarm // breach. // - // Conditional: If you specify StepScaling for the policy type, you must specify - // this parameter. (Not used with any other policy type.) + // Required if the policy type is StepScaling. (Not used with any other policy + // type.) StepAdjustments []*StepAdjustment `type:"list"` // A target tracking scaling policy. Includes support for predefined or customized // metrics. // + // The following predefined metrics are available: + // + // * ASGAverageCPUUtilization + // + // * ASGAverageNetworkIn + // + // * ASGAverageNetworkOut + // + // * ALBRequestCountPerTarget + // + // If you specify ALBRequestCountPerTarget for the metric, you must specify + // the ResourceLabel parameter with the PredefinedMetricSpecification. + // // For more information, see TargetTrackingConfiguration (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_TargetTrackingConfiguration.html) // in the Amazon EC2 Auto Scaling API Reference. // - // Conditional: If you specify TargetTrackingScaling for the policy type, you - // must specify this parameter. (Not used with any other policy type.) + // Required if the policy type is TargetTrackingScaling. TargetTrackingConfiguration *TargetTrackingConfiguration `type:"structure"` } @@ -12131,17 +12981,19 @@ type PutScheduledUpdateGroupActionInput struct { // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` - // The number of EC2 instances that should be running in the Auto Scaling group. + // The desired capacity is the initial capacity of the Auto Scaling group after + // the scheduled action runs and the capacity it attempts to maintain. It can + // scale beyond this capacity if you add more scaling conditions. DesiredCapacity *int64 `type:"integer"` // The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling // does not perform the action after this time. EndTime *time.Time `type:"timestamp"` - // The maximum number of instances in the Auto Scaling group. + // The maximum size of the Auto Scaling group. MaxSize *int64 `type:"integer"` - // The minimum number of instances in the Auto Scaling group. + // The minimum size of the Auto Scaling group. MinSize *int64 `type:"integer"` // The recurring schedule for this action, in Unix cron syntax format. This @@ -12375,6 +13227,45 @@ func (s RecordLifecycleActionHeartbeatOutput) GoString() string { return s.String() } +// Describes information used to start an instance refresh. +type RefreshPreferences struct { + _ struct{} `type:"structure"` + + // The number of seconds until a newly launched instance is configured and ready + // to use. During this time, Amazon EC2 Auto Scaling does not immediately move + // on to the next replacement. The default is to use the value for the health + // check grace period defined for the group. + InstanceWarmup *int64 `type:"integer"` + + // The amount of capacity in the Auto Scaling group that must remain healthy + // during an instance refresh to allow the operation to continue, as a percentage + // of the desired capacity of the Auto Scaling group (rounded up to the nearest + // integer). The default is 90. + MinHealthyPercentage *int64 `type:"integer"` +} + +// String returns the string representation +func (s RefreshPreferences) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RefreshPreferences) GoString() string { + return s.String() +} + +// SetInstanceWarmup sets the InstanceWarmup field's value. +func (s *RefreshPreferences) SetInstanceWarmup(v int64) *RefreshPreferences { + s.InstanceWarmup = &v + return s +} + +// SetMinHealthyPercentage sets the MinHealthyPercentage field's value. +func (s *RefreshPreferences) SetMinHealthyPercentage(v int64) *RefreshPreferences { + s.MinHealthyPercentage = &v + return s +} + type ResumeProcessesOutput struct { _ struct{} `type:"structure"` } @@ -12393,8 +13284,9 @@ func (s ResumeProcessesOutput) GoString() string { type ScalingPolicy struct { _ struct{} `type:"structure"` - // The adjustment type, which specifies how ScalingAdjustment is interpreted. - // The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity. + // Specifies how the scaling adjustment is interpreted (for example, an absolute + // number or a percentage). The valid values are ChangeInCapacity, ExactCapacity, + // and PercentChangeInCapacity. AdjustmentType *string `min:"1" type:"string"` // The CloudWatch alarms related to the policy. @@ -12403,8 +13295,7 @@ type ScalingPolicy struct { // The name of the Auto Scaling group. AutoScalingGroupName *string `min:"1" type:"string"` - // The amount of time, in seconds, after a scaling activity completes before - // any further dynamic scaling activities can start. + // The duration of the policy's cooldown period, in seconds. Cooldown *int64 `type:"integer"` // Indicates whether the policy is enabled (true) or disabled (false). @@ -12418,10 +13309,7 @@ type ScalingPolicy struct { // Maximum, and Average. MetricAggregationType *string `min:"1" type:"string"` - // The minimum number of instances to scale. If the value of AdjustmentType - // is PercentChangeInCapacity, the scaling policy changes the DesiredCapacity - // of the Auto Scaling group by at least this many instances. Otherwise, the - // error is ValidationError. + // The minimum value to scale by when the adjustment type is PercentChangeInCapacity. MinAdjustmentMagnitude *int64 `type:"integer"` // Available for backward compatibility. Use MinAdjustmentMagnitude instead. @@ -12433,7 +13321,17 @@ type ScalingPolicy struct { // The name of the scaling policy. PolicyName *string `min:"1" type:"string"` - // The policy type. The valid values are SimpleScaling, StepScaling, and TargetTrackingScaling. + // One of the following policy types: + // + // * TargetTrackingScaling + // + // * StepScaling + // + // * SimpleScaling (default) + // + // For more information, see Target Tracking Scaling Policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html) + // and Step and Simple Scaling Policies (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html) + // in the Amazon EC2 Auto Scaling User Guide. PolicyType *string `min:"1" type:"string"` // The amount by which to scale, based on the specified adjustment type. A positive @@ -12557,24 +13455,27 @@ type ScalingProcessQuery struct { // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` - // One or more of the following processes. If you omit this parameter, all processes - // are specified. + // One or more of the following processes: // // * Launch // // * Terminate // - // * HealthCheck + // * AddToLoadBalancer // - // * ReplaceUnhealthy + // * AlarmNotification // // * AZRebalance // - // * AlarmNotification + // * HealthCheck + // + // * InstanceRefresh + // + // * ReplaceUnhealthy // // * ScheduledActions // - // * AddToLoadBalancer + // If you omit this parameter, all processes are specified. ScalingProcesses []*string `type:"list"` } @@ -12616,24 +13517,25 @@ func (s *ScalingProcessQuery) SetScalingProcesses(v []*string) *ScalingProcessQu return s } -// Describes a scheduled scaling action. Used in response to DescribeScheduledActions. +// Describes a scheduled scaling action. type ScheduledUpdateGroupAction struct { _ struct{} `type:"structure"` // The name of the Auto Scaling group. AutoScalingGroupName *string `min:"1" type:"string"` - // The number of instances you prefer to maintain in the group. + // The desired capacity is the initial capacity of the Auto Scaling group after + // the scheduled action runs and the capacity it attempts to maintain. DesiredCapacity *int64 `type:"integer"` // The date and time in UTC for the recurring schedule to end. For example, // "2019-06-01T00:00:00Z". EndTime *time.Time `type:"timestamp"` - // The maximum number of instances in the Auto Scaling group. + // The maximum size of the Auto Scaling group. MaxSize *int64 `type:"integer"` - // The minimum number of instances in the Auto Scaling group. + // The minimum size of the Auto Scaling group. MinSize *int64 `type:"integer"` // The recurring schedule for the action, in Unix cron syntax format. @@ -12725,25 +13627,26 @@ func (s *ScheduledUpdateGroupAction) SetTime(v time.Time) *ScheduledUpdateGroupA return s } -// Describes one or more scheduled scaling action updates for a specified Auto -// Scaling group. Used in combination with BatchPutScheduledUpdateGroupAction. +// Describes information used for one or more scheduled scaling action updates +// in a BatchPutScheduledUpdateGroupAction operation. // // When updating a scheduled scaling action, all optional parameters are left // unchanged if not specified. type ScheduledUpdateGroupActionRequest struct { _ struct{} `type:"structure"` - // The number of EC2 instances that should be running in the group. + // The desired capacity is the initial capacity of the Auto Scaling group after + // the scheduled action runs and the capacity it attempts to maintain. DesiredCapacity *int64 `type:"integer"` // The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling // does not perform the action after this time. EndTime *time.Time `type:"timestamp"` - // The maximum number of instances in the Auto Scaling group. + // The maximum size of the Auto Scaling group. MaxSize *int64 `type:"integer"` - // The minimum number of instances in the Auto Scaling group. + // The minimum size of the Auto Scaling group. MinSize *int64 `type:"integer"` // The recurring schedule for the action, in Unix cron syntax format. This format @@ -12851,7 +13754,8 @@ type SetDesiredCapacityInput struct { // AutoScalingGroupName is a required field AutoScalingGroupName *string `min:"1" type:"string" required:"true"` - // The number of EC2 instances that should be running in the Auto Scaling group. + // The desired capacity is the initial capacity of the Auto Scaling group after + // this operation completes and the capacity it attempts to maintain. // // DesiredCapacity is a required field DesiredCapacity *int64 `type:"integer" required:"true"` @@ -12944,7 +13848,9 @@ type SetInstanceHealthInput struct { // Set this to False, to have the call not respect the grace period associated // with the group. // - // For more information about the health check grace period, see CreateAutoScalingGroup. + // For more information about the health check grace period, see CreateAutoScalingGroup + // (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CreateAutoScalingGroup.html) + // in the Amazon EC2 Auto Scaling API Reference. ShouldRespectGracePeriod *bool `type:"boolean"` } @@ -13096,9 +14002,103 @@ func (s SetInstanceProtectionOutput) GoString() string { return s.String() } -// Describes an adjustment based on the difference between the value of the -// aggregated CloudWatch metric and the breach threshold that you've defined -// for the alarm. Used in combination with PutScalingPolicy. +type StartInstanceRefreshInput struct { + _ struct{} `type:"structure"` + + // The name of the Auto Scaling group. + // + // AutoScalingGroupName is a required field + AutoScalingGroupName *string `min:"1" type:"string" required:"true"` + + // Set of preferences associated with the instance refresh request. + // + // If not provided, the default values are used. For MinHealthyPercentage, the + // default value is 90. For InstanceWarmup, the default is to use the value + // specified for the health check grace period for the Auto Scaling group. + // + // For more information, see RefreshPreferences (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_RefreshPreferences.html) + // in the Amazon EC2 Auto Scaling API Reference. + Preferences *RefreshPreferences `type:"structure"` + + // The strategy to use for the instance refresh. The only valid value is Rolling. + // + // A rolling update is an update that is applied to all instances in an Auto + // Scaling group until all instances have been updated. A rolling update can + // fail due to failed health checks or if instances are on standby or are protected + // from scale in. If the rolling update process fails, any instances that were + // already replaced are not rolled back to their previous configuration. + Strategy *string `type:"string" enum:"RefreshStrategy"` +} + +// String returns the string representation +func (s StartInstanceRefreshInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartInstanceRefreshInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartInstanceRefreshInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartInstanceRefreshInput"} + if s.AutoScalingGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupName")) + } + if s.AutoScalingGroupName != nil && len(*s.AutoScalingGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AutoScalingGroupName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoScalingGroupName sets the AutoScalingGroupName field's value. +func (s *StartInstanceRefreshInput) SetAutoScalingGroupName(v string) *StartInstanceRefreshInput { + s.AutoScalingGroupName = &v + return s +} + +// SetPreferences sets the Preferences field's value. +func (s *StartInstanceRefreshInput) SetPreferences(v *RefreshPreferences) *StartInstanceRefreshInput { + s.Preferences = v + return s +} + +// SetStrategy sets the Strategy field's value. +func (s *StartInstanceRefreshInput) SetStrategy(v string) *StartInstanceRefreshInput { + s.Strategy = &v + return s +} + +type StartInstanceRefreshOutput struct { + _ struct{} `type:"structure"` + + // A unique ID for tracking the progress of the request. + InstanceRefreshId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s StartInstanceRefreshOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartInstanceRefreshOutput) GoString() string { + return s.String() +} + +// SetInstanceRefreshId sets the InstanceRefreshId field's value. +func (s *StartInstanceRefreshOutput) SetInstanceRefreshId(v string) *StartInstanceRefreshOutput { + s.InstanceRefreshId = &v + return s +} + +// Describes information used to create a step adjustment for a step scaling +// policy. // // For the following examples, suppose that you have an alarm with a breach // threshold of 50: @@ -13124,6 +14124,9 @@ func (s SetInstanceProtectionOutput) GoString() string { // with a null upper bound. // // * The upper and lower bound can't be null in the same step adjustment. +// +// For more information, see Step Adjustments (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html#as-scaling-steps) +// in the Amazon EC2 Auto Scaling User Guide. type StepAdjustment struct { _ struct{} `type:"structure"` @@ -13207,8 +14210,10 @@ func (s SuspendProcessesOutput) GoString() string { return s.String() } -// Describes an automatic scaling process that has been suspended. For more -// information, see ProcessType. +// Describes an automatic scaling process that has been suspended. +// +// For more information, see Scaling Processes (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html#process-types) +// in the Amazon EC2 Auto Scaling User Guide. type SuspendedProcess struct { _ struct{} `type:"structure"` @@ -13554,16 +14559,17 @@ type UpdateAutoScalingGroupInput struct { AvailabilityZones []*string `min:"1" type:"list"` // The amount of time, in seconds, after a scaling activity completes before - // another scaling activity can start. The default value is 300. This cooldown - // period is not used when a scaling-specific cooldown is specified. + // another scaling activity can start. The default value is 300. // - // Cooldown periods are not supported for target tracking scaling policies, - // step scaling policies, or scheduled scaling. For more information, see Scaling - // Cooldowns (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html) + // This setting applies when using simple scaling policies, but not when using + // other scaling policies or scheduled scaling. For more information, see Scaling + // Cooldowns for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html) // in the Amazon EC2 Auto Scaling User Guide. DefaultCooldown *int64 `type:"integer"` - // The number of EC2 instances that should be running in the Auto Scaling group. + // The desired capacity is the initial capacity of the Auto Scaling group after + // this operation completes and the capacity it attempts to maintain. + // // This number must be greater than or equal to the minimum size of the group // and less than or equal to the maximum size of the group. DesiredCapacity *int64 `type:"integer"` @@ -13575,7 +14581,7 @@ type UpdateAutoScalingGroupInput struct { // For more information, see Health Check Grace Period (https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html#health-check-grace-period) // in the Amazon EC2 Auto Scaling User Guide. // - // Conditional: This parameter is required if you are adding an ELB health check. + // Required if you are adding an ELB health check. HealthCheckGracePeriod *int64 `type:"integer"` // The service to use for the health checks. The valid values are EC2 and ELB. @@ -13597,15 +14603,26 @@ type UpdateAutoScalingGroupInput struct { LaunchTemplate *LaunchTemplateSpecification `type:"structure"` // The maximum amount of time, in seconds, that an instance can be in service. + // The default is null. + // + // This parameter is optional, but if you specify a value for it, you must specify + // a value of at least 604,800 seconds (7 days). To clear a previously set value, + // specify a new value of 0. // // For more information, see Replacing Auto Scaling Instances Based on Maximum // Instance Lifetime (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html) // in the Amazon EC2 Auto Scaling User Guide. // - // Valid Range: Minimum value of 604800. + // Valid Range: Minimum value of 0. MaxInstanceLifetime *int64 `type:"integer"` // The maximum size of the Auto Scaling group. + // + // With a mixed instances policy that uses instance weighting, Amazon EC2 Auto + // Scaling may need to go above MaxSize to meet your capacity requirements. + // In this event, Amazon EC2 Auto Scaling will never go above MaxSize by more + // than your largest instance weight (weights that define how many units each + // instance contributes to the desired capacity of the group). MaxSize *int64 `type:"integer"` // The minimum size of the Auto Scaling group. @@ -13829,6 +14846,42 @@ func (s UpdateAutoScalingGroupOutput) GoString() string { return s.String() } +const ( + // InstanceMetadataEndpointStateDisabled is a InstanceMetadataEndpointState enum value + InstanceMetadataEndpointStateDisabled = "disabled" + + // InstanceMetadataEndpointStateEnabled is a InstanceMetadataEndpointState enum value + InstanceMetadataEndpointStateEnabled = "enabled" +) + +const ( + // InstanceMetadataHttpTokensStateOptional is a InstanceMetadataHttpTokensState enum value + InstanceMetadataHttpTokensStateOptional = "optional" + + // InstanceMetadataHttpTokensStateRequired is a InstanceMetadataHttpTokensState enum value + InstanceMetadataHttpTokensStateRequired = "required" +) + +const ( + // InstanceRefreshStatusPending is a InstanceRefreshStatus enum value + InstanceRefreshStatusPending = "Pending" + + // InstanceRefreshStatusInProgress is a InstanceRefreshStatus enum value + InstanceRefreshStatusInProgress = "InProgress" + + // InstanceRefreshStatusSuccessful is a InstanceRefreshStatus enum value + InstanceRefreshStatusSuccessful = "Successful" + + // InstanceRefreshStatusFailed is a InstanceRefreshStatus enum value + InstanceRefreshStatusFailed = "Failed" + + // InstanceRefreshStatusCancelling is a InstanceRefreshStatus enum value + InstanceRefreshStatusCancelling = "Cancelling" + + // InstanceRefreshStatusCancelled is a InstanceRefreshStatus enum value + InstanceRefreshStatusCancelled = "Cancelled" +) + const ( // LifecycleStatePending is a LifecycleState enum value LifecycleStatePending = "Pending" @@ -13901,6 +14954,11 @@ const ( MetricTypeAlbrequestCountPerTarget = "ALBRequestCountPerTarget" ) +const ( + // RefreshStrategyRolling is a RefreshStrategy enum value + RefreshStrategyRolling = "Rolling" +) + const ( // ScalingActivityStatusCodePendingSpotBidPlacement is a ScalingActivityStatusCode enum value ScalingActivityStatusCodePendingSpotBidPlacement = "PendingSpotBidPlacement" diff --git a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/errors.go b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/errors.go index 2e65ee3d93f..85e907df74f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/autoscaling/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/autoscaling/errors.go @@ -4,6 +4,13 @@ package autoscaling const ( + // ErrCodeActiveInstanceRefreshNotFoundFault for service response error code + // "ActiveInstanceRefreshNotFound". + // + // The request failed because an active instance refresh for the specified Auto + // Scaling group was not found. + ErrCodeActiveInstanceRefreshNotFoundFault = "ActiveInstanceRefreshNotFound" + // ErrCodeAlreadyExistsFault for service response error code // "AlreadyExists". // @@ -11,6 +18,13 @@ const ( // name. ErrCodeAlreadyExistsFault = "AlreadyExists" + // ErrCodeInstanceRefreshInProgressFault for service response error code + // "InstanceRefreshInProgress". + // + // The request failed because an active instance refresh operation already exists + // for the specified Auto Scaling group. + ErrCodeInstanceRefreshInProgressFault = "InstanceRefreshInProgress" + // ErrCodeInvalidNextToken for service response error code // "InvalidNextToken". // @@ -22,7 +36,8 @@ const ( // // You have already reached a limit for your Amazon EC2 Auto Scaling resources // (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). - // For more information, see DescribeAccountLimits. + // For more information, see DescribeAccountLimits (https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html) + // in the Amazon EC2 Auto Scaling API Reference. ErrCodeLimitExceededFault = "LimitExceeded" // ErrCodeResourceContentionFault for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/backup/api.go b/vendor/github.com/aws/aws-sdk-go/service/backup/api.go index 8804a28f688..914a9d67f27 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/backup/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/backup/api.go @@ -1193,7 +1193,7 @@ func (c *Backup) DescribeProtectedResourceRequest(input *DescribeProtectedResour // DescribeProtectedResource API operation for AWS Backup. // // Returns information about a saved resource, including the last time it was -// backed-up, its Amazon Resource Name (ARN), and the AWS service type of the +// backed up, its Amazon Resource Name (ARN), and the AWS service type of the // saved resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1329,6 +1329,89 @@ func (c *Backup) DescribeRecoveryPointWithContext(ctx aws.Context, input *Descri return out, req.Send() } +const opDescribeRegionSettings = "DescribeRegionSettings" + +// DescribeRegionSettingsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeRegionSettings operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeRegionSettings for more information on using the DescribeRegionSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeRegionSettingsRequest method. +// req, resp := client.DescribeRegionSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRegionSettings +func (c *Backup) DescribeRegionSettingsRequest(input *DescribeRegionSettingsInput) (req *request.Request, output *DescribeRegionSettingsOutput) { + op := &request.Operation{ + Name: opDescribeRegionSettings, + HTTPMethod: "GET", + HTTPPath: "/account-settings", + } + + if input == nil { + input = &DescribeRegionSettingsInput{} + } + + output = &DescribeRegionSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeRegionSettings API operation for AWS Backup. +// +// Returns the current service opt-in settings for the Region. If the service +// has a value set to true, AWS Backup attempts to protect that service's resources +// in this Region, when included in an on-demand backup or scheduled backup +// plan. If the value is set to false for a service, AWS Backup does not attempt +// to protect that service's resources in this 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 AWS Backup's +// API operation DescribeRegionSettings for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request failed due to a temporary failure of the server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRegionSettings +func (c *Backup) DescribeRegionSettings(input *DescribeRegionSettingsInput) (*DescribeRegionSettingsOutput, error) { + req, out := c.DescribeRegionSettingsRequest(input) + return out, req.Send() +} + +// DescribeRegionSettingsWithContext is the same as DescribeRegionSettings with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeRegionSettings for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Backup) DescribeRegionSettingsWithContext(ctx aws.Context, input *DescribeRegionSettingsInput, opts ...request.Option) (*DescribeRegionSettingsOutput, error) { + req, out := c.DescribeRegionSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeRestoreJob = "DescribeRestoreJob" // DescribeRestoreJobRequest generates a "aws/request.Request" representing the @@ -2285,10 +2368,6 @@ func (c *Backup) ListBackupJobsRequest(input *ListBackupJobsInput) (req *request // Indicates that something is wrong with a parameter's value. For example, // the value is out of range. // -// * InvalidRequestException -// Indicates that something is wrong with the input to the request. For example, -// a parameter is of the wrong type. -// // * ServiceUnavailableException // The request failed due to a temporary failure of the server. // @@ -3889,6 +3968,8 @@ func (c *Backup) ListTagsRequest(input *ListTagsInput) (req *request.Request, ou // Returns a list of key-value pairs assigned to a target recovery point, backup // plan, or backup vault. // +// ListTags are currently only supported with Amazon EFS backups. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -4915,6 +4996,97 @@ func (c *Backup) UpdateRecoveryPointLifecycleWithContext(ctx aws.Context, input return out, req.Send() } +const opUpdateRegionSettings = "UpdateRegionSettings" + +// UpdateRegionSettingsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRegionSettings operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateRegionSettings for more information on using the UpdateRegionSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateRegionSettingsRequest method. +// req, resp := client.UpdateRegionSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateRegionSettings +func (c *Backup) UpdateRegionSettingsRequest(input *UpdateRegionSettingsInput) (req *request.Request, output *UpdateRegionSettingsOutput) { + op := &request.Operation{ + Name: opUpdateRegionSettings, + HTTPMethod: "PUT", + HTTPPath: "/account-settings", + } + + if input == nil { + input = &UpdateRegionSettingsInput{} + } + + output = &UpdateRegionSettingsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateRegionSettings API operation for AWS Backup. +// +// Updates the current service opt-in settings for the Region. If the service +// has a value set to true, AWS Backup attempts to protect that service's resources +// in this Region, when included in an on-demand backup or scheduled backup +// plan. If the value is set to false for a service, AWS Backup does not attempt +// to protect that service's resources in this 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 AWS Backup's +// API operation UpdateRegionSettings for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request failed due to a temporary failure of the server. +// +// * MissingParameterValueException +// Indicates that a required parameter is missing. +// +// * InvalidParameterValueException +// Indicates that something is wrong with a parameter's value. For example, +// the value is out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateRegionSettings +func (c *Backup) UpdateRegionSettings(input *UpdateRegionSettingsInput) (*UpdateRegionSettingsOutput, error) { + req, out := c.UpdateRegionSettingsRequest(input) + return out, req.Send() +} + +// UpdateRegionSettingsWithContext is the same as UpdateRegionSettings with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRegionSettings for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Backup) UpdateRegionSettingsWithContext(ctx aws.Context, input *UpdateRegionSettingsInput, opts ...request.Option) (*UpdateRegionSettingsOutput, error) { + req, out := c.UpdateRegionSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + // The required resource already exists. type AlreadyExistsException struct { _ struct{} `type:"structure"` @@ -5157,16 +5329,19 @@ func (s *CopyAction) SetLifecycle(v *Lifecycle) *CopyAction { type CopyJob struct { _ struct{} `type:"structure"` + // The account ID that owns the copy job. + AccountId *string `type:"string"` + // The size, in bytes, of a copy job. BackupSizeInBytes *int64 `type:"long"` - // The date and time a job to create a copy job is completed, in Unix format - // and Coordinated Universal Time (UTC). The value of CompletionDate is accurate - // to milliseconds. For example, the value 1516925490.087 represents Friday, - // January 26, 2018 12:11:30.087 AM. + // The date and time a copy job is completed, in Unix format and Coordinated + // Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. CompletionDate *time.Time `type:"timestamp"` - // Uniquely identifies a request to AWS Backup to copy a resource. + // Uniquely identifies a copy job. CopyJobId *string `type:"string"` // Contains information about the backup plan and rule that AWS Backup used @@ -5191,9 +5366,9 @@ type CopyJob struct { // arn:aws:iam::123456789012:role/S3Access. IamRoleArn *string `type:"string"` - // The type of AWS resource to be copied; for example, an Amazon Elastic Block - // Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon - // RDS) database. + // The AWS resource to be copied; for example, an Amazon Elastic Block Store + // (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) + // database. ResourceArn *string `type:"string"` // The type of AWS resource to be copied; for example, an Amazon Elastic Block @@ -5208,10 +5383,10 @@ type CopyJob struct { // An ARN that uniquely identifies a source recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. SourceRecoveryPointArn *string `type:"string"` - // The current state of a resource recovery point. + // The current state of a copy job. State *string `type:"string" enum:"CopyJobState"` - // A detailed message explaining the status of the job that to copy a resource. + // A detailed message explaining the status of the job to copy a resource. StatusMessage *string `type:"string"` } @@ -5225,6 +5400,12 @@ func (s CopyJob) GoString() string { return s.String() } +// SetAccountId sets the AccountId field's value. +func (s *CopyJob) SetAccountId(v string) *CopyJob { + s.AccountId = &v + return s +} + // SetBackupSizeInBytes sets the BackupSizeInBytes field's value. func (s *CopyJob) SetBackupSizeInBytes(v int64) *CopyJob { s.BackupSizeInBytes = &v @@ -5393,7 +5574,7 @@ type CreateBackupPlanOutput struct { CreationDate *time.Time `type:"timestamp"` // Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most - // 1024 bytes long. They cannot be edited. + // 1,024 bytes long. They cannot be edited. VersionId *string `type:"string"` } @@ -5722,7 +5903,7 @@ type DeleteBackupPlanOutput struct { BackupPlanId *string `type:"string"` // The date and time a backup plan is deleted, in Unix format and Coordinated - // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // Universal Time (UTC). The value of DeletionDate is accurate to milliseconds. // For example, the value 1516925490.087 represents Friday, January 26, 2018 // 12:11:30.087 AM. DeletionDate *time.Time `type:"timestamp"` @@ -5902,7 +6083,7 @@ type DeleteBackupVaultInput struct { // The name of a logical container where backups are stored. Backup vaults are // identified by names that are unique to the account used to create them and - // theAWS Region where they are created. They consist of lowercase letters, + // the AWS Region where they are created. They consist of lowercase letters, // numbers, and hyphens. // // BackupVaultName is a required field @@ -6196,6 +6377,9 @@ func (s *DescribeBackupJobInput) SetBackupJobId(v string) *DescribeBackupJobInpu type DescribeBackupJobOutput struct { _ struct{} `type:"structure"` + // Returns the account ID that owns the backup job. + AccountId *string `type:"string"` + // Uniquely identifies a request to AWS Backup to back up a resource. BackupJobId *string `type:"string"` @@ -6217,8 +6401,8 @@ type DescribeBackupJobOutput struct { BytesTransferred *int64 `type:"long"` // The date and time that a job to create a backup job is completed, in Unix - // format and Coordinated Universal Time (UTC). The value of CreationDate is - // accurate to milliseconds. For example, the value 1516925490.087 represents + // format and Coordinated Universal Time (UTC). The value of CompletionDate + // is accurate to milliseconds. For example, the value 1516925490.087 represents // Friday, January 26, 2018 12:11:30.087 AM. CompletionDate *time.Time `type:"timestamp"` @@ -6254,7 +6438,7 @@ type DescribeBackupJobOutput struct { // on the resource type. ResourceArn *string `type:"string"` - // The type of AWS resource to be backed-up; for example, an Amazon Elastic + // The type of AWS resource to be backed up; for example, an Amazon Elastic // Block Store (Amazon EBS) volume or an Amazon Relational Database Service // (Amazon RDS) database. ResourceType *string `type:"string"` @@ -6285,6 +6469,12 @@ func (s DescribeBackupJobOutput) GoString() string { return s.String() } +// SetAccountId sets the AccountId field's value. +func (s *DescribeBackupJobOutput) SetAccountId(v string) *DescribeBackupJobOutput { + s.AccountId = &v + return s +} + // SetBackupJobId sets the BackupJobId field's value. func (s *DescribeBackupJobOutput) SetBackupJobId(v string) *DescribeBackupJobOutput { s.BackupJobId = &v @@ -6511,7 +6701,7 @@ func (s *DescribeBackupVaultOutput) SetNumberOfRecoveryPoints(v int64) *Describe type DescribeCopyJobInput struct { _ struct{} `type:"structure"` - // Uniquely identifies a request to AWS Backup to copy a resource. + // Uniquely identifies a copy job. // // CopyJobId is a required field CopyJobId *string `location:"uri" locationName:"copyJobId" type:"string" required:"true"` @@ -6922,6 +7112,43 @@ func (s *DescribeRecoveryPointOutput) SetStorageClass(v string) *DescribeRecover return s } +type DescribeRegionSettingsInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DescribeRegionSettingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeRegionSettingsInput) GoString() string { + return s.String() +} + +type DescribeRegionSettingsOutput struct { + _ struct{} `type:"structure"` + + // Returns a list of all services along with the opt-in preferences in the region. + ResourceTypeOptInPreference map[string]*bool `type:"map"` +} + +// String returns the string representation +func (s DescribeRegionSettingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeRegionSettingsOutput) GoString() string { + return s.String() +} + +// SetResourceTypeOptInPreference sets the ResourceTypeOptInPreference field's value. +func (s *DescribeRegionSettingsOutput) SetResourceTypeOptInPreference(v map[string]*bool) *DescribeRegionSettingsOutput { + s.ResourceTypeOptInPreference = v + return s +} + type DescribeRestoreJobInput struct { _ struct{} `type:"structure"` @@ -6966,6 +7193,9 @@ func (s *DescribeRestoreJobInput) SetRestoreJobId(v string) *DescribeRestoreJobI type DescribeRestoreJobOutput struct { _ struct{} `type:"structure"` + // Returns the account ID that owns the restore job. + AccountId *string `type:"string"` + // The size, in bytes, of the restored resource. BackupSizeInBytes *int64 `type:"long"` @@ -7001,6 +7231,9 @@ type DescribeRestoreJobOutput struct { // An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. RecoveryPointArn *string `type:"string"` + // Returns metadata associated with a restore job listed by resource type. + ResourceType *string `type:"string"` + // Uniquely identifies the job that restores a recovery point. RestoreJobId *string `type:"string"` @@ -7008,7 +7241,7 @@ type DescribeRestoreJobOutput struct { // to restore a recovery point. Status *string `type:"string" enum:"RestoreJobStatus"` - // A detailed message explaining the status of a job to restore a recovery point. + // A message showing the status of a job to restore a recovery point. StatusMessage *string `type:"string"` } @@ -7022,6 +7255,12 @@ func (s DescribeRestoreJobOutput) GoString() string { return s.String() } +// SetAccountId sets the AccountId field's value. +func (s *DescribeRestoreJobOutput) SetAccountId(v string) *DescribeRestoreJobOutput { + s.AccountId = &v + return s +} + // SetBackupSizeInBytes sets the BackupSizeInBytes field's value. func (s *DescribeRestoreJobOutput) SetBackupSizeInBytes(v int64) *DescribeRestoreJobOutput { s.BackupSizeInBytes = &v @@ -7070,6 +7309,12 @@ func (s *DescribeRestoreJobOutput) SetRecoveryPointArn(v string) *DescribeRestor return s } +// SetResourceType sets the ResourceType field's value. +func (s *DescribeRestoreJobOutput) SetResourceType(v string) *DescribeRestoreJobOutput { + s.ResourceType = &v + return s +} + // SetRestoreJobId sets the RestoreJobId field's value. func (s *DescribeRestoreJobOutput) SetRestoreJobId(v string) *DescribeRestoreJobOutput { s.RestoreJobId = &v @@ -7358,7 +7603,7 @@ type GetBackupPlanOutput struct { CreatorRequestId *string `type:"string"` // The date and time that a backup plan is deleted, in Unix format and Coordinated - // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. + // Universal Time (UTC). The value of DeletionDate is accurate to milliseconds. // For example, the value 1516925490.087 represents Friday, January 26, 2018 // 12:11:30.087 AM. DeletionDate *time.Time `type:"timestamp"` @@ -7869,15 +8114,17 @@ type GetSupportedResourceTypesOutput struct { // Contains a string with the supported AWS resource types: // + // * DynamoDB for Amazon DynamoDB + // // * EBS for Amazon Elastic Block Store // - // * Storage Gateway for AWS Storage Gateway + // * EC2 for Amazon Elastic Compute Cloud // - // * RDS for Amazon Relational Database Service + // * EFS for Amazon Elastic File System // - // * DDB for Amazon DynamoDB + // * RDS for Amazon Relational Database Service // - // * EFS for Amazon Elastic File System + // * Storage Gateway for AWS Storage Gateway ResourceTypes []*string `type:"list"` } @@ -8027,6 +8274,9 @@ func (s *InvalidRequestException) RequestID() string { type Job struct { _ struct{} `type:"structure"` + // The account ID that owns the backup job. + AccountId *string `type:"string"` + // Uniquely identifies a request to AWS Backup to back up a resource. BackupJobId *string `type:"string"` @@ -8085,7 +8335,7 @@ type Job struct { // on the resource type. ResourceArn *string `type:"string"` - // The type of AWS resource to be backed-up; for example, an Amazon Elastic + // The type of AWS resource to be backed up; for example, an Amazon Elastic // Block Store (Amazon EBS) volume or an Amazon Relational Database Service // (Amazon RDS) database. ResourceType *string `type:"string"` @@ -8116,6 +8366,12 @@ func (s Job) GoString() string { return s.String() } +// SetAccountId sets the AccountId field's value. +func (s *Job) SetAccountId(v string) *Job { + s.AccountId = &v + return s +} + // SetBackupJobId sets the BackupJobId field's value. func (s *Job) SetBackupJobId(v string) *Job { s.BackupJobId = &v @@ -8326,6 +8582,10 @@ func (s *LimitExceededException) RequestID() string { type ListBackupJobsInput struct { _ struct{} `type:"structure"` + // The account ID to list the jobs from. Returns only backup jobs associated + // with the specified account ID. + ByAccountId *string `location:"querystring" locationName:"accountId" type:"string"` + // Returns only backup jobs that will be stored in the specified backup vault. // Backup vaults are identified by names that are unique to the account used // to create them and the AWS Region where they are created. They consist of @@ -8348,6 +8608,8 @@ type ListBackupJobsInput struct { // // * EBS for Amazon Elastic Block Store // + // * EC2 for Amazon Elastic Compute Cloud + // // * EFS for Amazon Elastic File System // // * RDS for Amazon Relational Database Service @@ -8391,6 +8653,12 @@ func (s *ListBackupJobsInput) Validate() error { return nil } +// SetByAccountId sets the ByAccountId field's value. +func (s *ListBackupJobsInput) SetByAccountId(v string) *ListBackupJobsInput { + s.ByAccountId = &v + return s +} + // SetByBackupVaultName sets the ByBackupVaultName field's value. func (s *ListBackupJobsInput) SetByBackupVaultName(v string) *ListBackupJobsInput { s.ByBackupVaultName = &v @@ -8942,6 +9210,10 @@ func (s *ListBackupVaultsOutput) SetNextToken(v string) *ListBackupVaultsOutput type ListCopyJobsInput struct { _ struct{} `type:"structure"` + // The account ID to list the jobs from. Returns only copy jobs associated with + // the specified account ID. + ByAccountId *string `location:"querystring" locationName:"accountId" type:"string"` + // Returns only copy jobs that were created after the specified date. ByCreatedAfter *time.Time `location:"querystring" locationName:"createdAfter" type:"timestamp"` @@ -8962,6 +9234,8 @@ type ListCopyJobsInput struct { // // * EBS for Amazon Elastic Block Store // + // * EC2 for Amazon Elastic Compute Cloud + // // * EFS for Amazon Elastic File System // // * RDS for Amazon Relational Database Service @@ -9005,6 +9279,12 @@ func (s *ListCopyJobsInput) Validate() error { return nil } +// SetByAccountId sets the ByAccountId field's value. +func (s *ListCopyJobsInput) SetByAccountId(v string) *ListCopyJobsInput { + s.ByAccountId = &v + return s +} + // SetByCreatedAfter sets the ByCreatedAfter field's value. func (s *ListCopyJobsInput) SetByCreatedAfter(v time.Time) *ListCopyJobsInput { s.ByCreatedAfter = &v @@ -9429,6 +9709,19 @@ func (s *ListRecoveryPointsByResourceOutput) SetRecoveryPoints(v []*RecoveryPoin type ListRestoreJobsInput struct { _ struct{} `type:"structure"` + // The account ID to list the jobs from. Returns only restore jobs associated + // with the specified account ID. + ByAccountId *string `location:"querystring" locationName:"accountId" type:"string"` + + // Returns only restore jobs that were created after the specified date. + ByCreatedAfter *time.Time `location:"querystring" locationName:"createdAfter" type:"timestamp"` + + // Returns only restore jobs that were created before the specified date. + ByCreatedBefore *time.Time `location:"querystring" locationName:"createdBefore" type:"timestamp"` + + // Returns only restore jobs associated with the specified job status. + ByStatus *string `location:"querystring" locationName:"status" type:"string" enum:"RestoreJobStatus"` + // The maximum number of items to be returned. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` @@ -9462,6 +9755,30 @@ func (s *ListRestoreJobsInput) Validate() error { return nil } +// SetByAccountId sets the ByAccountId field's value. +func (s *ListRestoreJobsInput) SetByAccountId(v string) *ListRestoreJobsInput { + s.ByAccountId = &v + return s +} + +// SetByCreatedAfter sets the ByCreatedAfter field's value. +func (s *ListRestoreJobsInput) SetByCreatedAfter(v time.Time) *ListRestoreJobsInput { + s.ByCreatedAfter = &v + return s +} + +// SetByCreatedBefore sets the ByCreatedBefore field's value. +func (s *ListRestoreJobsInput) SetByCreatedBefore(v time.Time) *ListRestoreJobsInput { + s.ByCreatedBefore = &v + return s +} + +// SetByStatus sets the ByStatus field's value. +func (s *ListRestoreJobsInput) SetByStatus(v string) *ListRestoreJobsInput { + s.ByStatus = &v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListRestoreJobsInput) SetMaxResults(v int64) *ListRestoreJobsInput { s.MaxResults = &v @@ -9723,7 +10040,7 @@ func (s *Plan) SetRules(v []*Rule) *Plan { type PlanInput struct { _ struct{} `type:"structure"` - // The display name of a backup plan. + // The optional display name of a backup plan. // // BackupPlanName is a required field BackupPlanName *string `type:"string" required:"true"` @@ -10505,6 +10822,9 @@ func (s *ResourceNotFoundException) RequestID() string { type RestoreJobsListMember struct { _ struct{} `type:"structure"` + // The account ID that owns the restore job. + AccountId *string `type:"string"` + // The size, in bytes, of the restored resource. BackupSizeInBytes *int64 `type:"long"` @@ -10539,6 +10859,11 @@ type RestoreJobsListMember struct { // An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. RecoveryPointArn *string `type:"string"` + // The resource type of the listed restore jobs; for example, an Amazon Elastic + // Block Store (Amazon EBS) volume or an Amazon Relational Database Service + // (Amazon RDS) database. + ResourceType *string `type:"string"` + // Uniquely identifies the job that restores a recovery point. RestoreJobId *string `type:"string"` @@ -10561,6 +10886,12 @@ func (s RestoreJobsListMember) GoString() string { return s.String() } +// SetAccountId sets the AccountId field's value. +func (s *RestoreJobsListMember) SetAccountId(v string) *RestoreJobsListMember { + s.AccountId = &v + return s +} + // SetBackupSizeInBytes sets the BackupSizeInBytes field's value. func (s *RestoreJobsListMember) SetBackupSizeInBytes(v int64) *RestoreJobsListMember { s.BackupSizeInBytes = &v @@ -10609,6 +10940,12 @@ func (s *RestoreJobsListMember) SetRecoveryPointArn(v string) *RestoreJobsListMe return s } +// SetResourceType sets the ResourceType field's value. +func (s *RestoreJobsListMember) SetResourceType(v string) *RestoreJobsListMember { + s.ResourceType = &v + return s +} + // SetRestoreJobId sets the RestoreJobId field's value. func (s *RestoreJobsListMember) SetRestoreJobId(v string) *RestoreJobsListMember { s.RestoreJobId = &v @@ -10632,7 +10969,7 @@ type Rule struct { _ struct{} `type:"structure"` // A value in minutes after a backup job is successfully started before it must - // be completed or it is canceled by AWS Backup. This value is optional. + // be completed or it will be canceled by AWS Backup. This value is optional. CompletionWindowMinutes *int64 `type:"long"` // An array of CopyAction objects, which contains the details of the copy operation. @@ -10665,8 +11002,8 @@ type Rule struct { // A CRON expression specifying when AWS Backup initiates a backup job. ScheduleExpression *string `type:"string"` - // An optional value that specifies a period of time in minutes after a backup - // is scheduled before a job is canceled if it doesn't start successfully. + // A value in minutes after a backup is scheduled before a job will be canceled + // if it doesn't start successfully. This value is optional. StartWindowMinutes *int64 `type:"long"` // The name of a logical container where backups are stored. Backup vaults are @@ -10746,8 +11083,8 @@ func (s *Rule) SetTargetBackupVaultName(v string) *Rule { type RuleInput struct { _ struct{} `type:"structure"` - // The amount of time AWS Backup attempts a backup before canceling the job - // and returning an error. + // A value in minutes after a backup job is successfully started before it must + // be completed or it will be canceled by AWS Backup. This value is optional. CompletionWindowMinutes *int64 `type:"long"` // An array of CopyAction objects, which contains the details of the copy operation. @@ -10759,16 +11096,16 @@ type RuleInput struct { // // Backups transitioned to cold storage must be stored in cold storage for a // minimum of 90 days. Therefore, the “expire after days” setting must be - // 90 days greater than the “transition to cold after days”. The “transition - // to cold after days” setting cannot be changed after a backup has been transitioned - // to cold. + // 90 days greater than the “transition to cold after days” setting. The + // “transition to cold after days” setting cannot be changed after a backup + // has been transitioned to cold. Lifecycle *Lifecycle `type:"structure"` // To help organize your resources, you can assign your own metadata to the // resources that you create. Each tag is a key-value pair. RecoveryPointTags map[string]*string `type:"map" sensitive:"true"` - // >An optional display name for a backup rule. + // An optional display name for a backup rule. // // RuleName is a required field RuleName *string `type:"string" required:"true"` @@ -10776,7 +11113,8 @@ type RuleInput struct { // A CRON expression specifying when AWS Backup initiates a backup job. ScheduleExpression *string `type:"string"` - // The amount of time in minutes before beginning a backup. + // A value in minutes after a backup is scheduled before a job will be canceled + // if it doesn't start successfully. This value is optional. StartWindowMinutes *int64 `type:"long"` // The name of a logical container where backups are stored. Backup vaults are @@ -11104,8 +11442,8 @@ type StartBackupJobInput struct { // BackupVaultName is a required field BackupVaultName *string `type:"string" required:"true"` - // The amount of time AWS Backup attempts a backup before canceling the job - // and returning an error. + // A value in minutes after a backup job is successfully started before it must + // be completed or it will be canceled by AWS Backup. This value is optional. CompleteWindowMinutes *int64 `type:"long"` // Specifies the IAM role ARN used to create the target recovery point; for @@ -11139,7 +11477,8 @@ type StartBackupJobInput struct { // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` - // The amount of time in minutes before beginning a backup. + // A value in minutes after a backup is scheduled before a job will be canceled + // if it doesn't start successfully. This value is optional. StartWindowMinutes *int64 `type:"long"` } @@ -11302,7 +11641,7 @@ type StartCopyJobInput struct { // The name of a logical source container where backups are stored. Backup vaults // are identified by names that are unique to the account used to create them // and the AWS Region where they are created. They consist of lowercase letters, - // numbers, and hyphens. > + // numbers, and hyphens. // // SourceBackupVaultName is a required field SourceBackupVaultName *string `type:"string" required:"true"` @@ -11379,13 +11718,13 @@ func (s *StartCopyJobInput) SetSourceBackupVaultName(v string) *StartCopyJobInpu type StartCopyJobOutput struct { _ struct{} `type:"structure"` - // Uniquely identifies a request to AWS Backup to copy a resource. + // Uniquely identifies a copy job. CopyJobId *string `type:"string"` - // The date and time that a backup job is started, in Unix format and Coordinated + // The date and time that a copy job is started, in Unix format and Coordinated // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. // For example, the value 1516925490.087 represents Friday, January 26, 2018 - // 12:11:30.087 AM. > + // 12:11:30.087 AM. CreationDate *time.Time `type:"timestamp"` } @@ -11427,11 +11766,11 @@ type StartRestoreJobInput struct { // A set of metadata key-value pairs. Contains information, such as a resource // name, required to restore a recovery point. // - // You can get configuration metadata about a resource at the time it was backed-up - // by calling GetRecoveryPointRestoreMetadata. However, values in addition to - // those provided by GetRecoveryPointRestoreMetadata might be required to restore - // a resource. For example, you might need to provide a new resource name if - // the original already exists. + // You can get configuration metadata about a resource at the time it was backed + // up by calling GetRecoveryPointRestoreMetadata. However, values in addition + // to those provided by GetRecoveryPointRestoreMetadata might be required to + // restore a resource. For example, you might need to provide a new resource + // name if the original already exists. // // You need to specify specific metadata to restore an Amazon Elastic File System // (Amazon EFS) instance: @@ -11463,15 +11802,17 @@ type StartRestoreJobInput struct { // Starts a job to restore a recovery point for one of the following resources: // + // * DynamoDB for Amazon DynamoDB + // // * EBS for Amazon Elastic Block Store // - // * Storage Gateway for AWS Storage Gateway + // * EC2 for Amazon Elastic Compute Cloud // - // * RDS for Amazon Relational Database Service + // * EFS for Amazon Elastic File System // - // * DDB for Amazon DynamoDB + // * RDS for Amazon Relational Database Service // - // * EFS for Amazon Elastic File System + // * Storage Gateway for AWS Storage Gateway ResourceType *string `type:"string"` } @@ -12008,6 +12349,43 @@ func (s *UpdateRecoveryPointLifecycleOutput) SetRecoveryPointArn(v string) *Upda return s } +type UpdateRegionSettingsInput struct { + _ struct{} `type:"structure"` + + // Updates the list of services along with the opt-in preferences for the region. + ResourceTypeOptInPreference map[string]*bool `type:"map"` +} + +// String returns the string representation +func (s UpdateRegionSettingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRegionSettingsInput) GoString() string { + return s.String() +} + +// SetResourceTypeOptInPreference sets the ResourceTypeOptInPreference field's value. +func (s *UpdateRegionSettingsInput) SetResourceTypeOptInPreference(v map[string]*bool) *UpdateRegionSettingsInput { + s.ResourceTypeOptInPreference = v + return s +} + +type UpdateRegionSettingsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateRegionSettingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateRegionSettingsOutput) GoString() string { + return s.String() +} + // Contains metadata about a backup vault. type VaultListMember struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/api.go index d92ee2227bc..ed6994101c3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/api.go @@ -1055,6 +1055,12 @@ func (c *CloudFormation) DescribeAccountLimitsRequest(input *DescribeAccountLimi Name: opDescribeAccountLimits, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { @@ -1101,6 +1107,58 @@ func (c *CloudFormation) DescribeAccountLimitsWithContext(ctx aws.Context, input return out, req.Send() } +// DescribeAccountLimitsPages iterates over the pages of a DescribeAccountLimits operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeAccountLimits 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 DescribeAccountLimits operation. +// pageNum := 0 +// err := client.DescribeAccountLimitsPages(params, +// func(page *cloudformation.DescribeAccountLimitsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CloudFormation) DescribeAccountLimitsPages(input *DescribeAccountLimitsInput, fn func(*DescribeAccountLimitsOutput, bool) bool) error { + return c.DescribeAccountLimitsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeAccountLimitsPagesWithContext same as DescribeAccountLimitsPages 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 *CloudFormation) DescribeAccountLimitsPagesWithContext(ctx aws.Context, input *DescribeAccountLimitsInput, fn func(*DescribeAccountLimitsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeAccountLimitsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeAccountLimitsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeAccountLimitsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeChangeSet = "DescribeChangeSet" // DescribeChangeSetRequest generates a "aws/request.Request" representing the @@ -3038,6 +3096,12 @@ func (c *CloudFormation) ListChangeSetsRequest(input *ListChangeSetsInput) (req Name: opListChangeSets, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { @@ -3083,6 +3147,58 @@ func (c *CloudFormation) ListChangeSetsWithContext(ctx aws.Context, input *ListC return out, req.Send() } +// ListChangeSetsPages iterates over the pages of a ListChangeSets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListChangeSets 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 ListChangeSets operation. +// pageNum := 0 +// err := client.ListChangeSetsPages(params, +// func(page *cloudformation.ListChangeSetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CloudFormation) ListChangeSetsPages(input *ListChangeSetsInput, fn func(*ListChangeSetsOutput, bool) bool) error { + return c.ListChangeSetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListChangeSetsPagesWithContext same as ListChangeSetsPages 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 *CloudFormation) ListChangeSetsPagesWithContext(ctx aws.Context, input *ListChangeSetsInput, fn func(*ListChangeSetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListChangeSetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListChangeSetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListChangeSetsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListExports = "ListExports" // ListExportsRequest generates a "aws/request.Request" representing the @@ -3389,6 +3505,12 @@ func (c *CloudFormation) ListStackInstancesRequest(input *ListStackInstancesInpu Name: opListStackInstances, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3404,7 +3526,7 @@ func (c *CloudFormation) ListStackInstancesRequest(input *ListStackInstancesInpu // // Returns summary information about stack instances that are associated with // the specified stack set. You can filter for stack instances that are associated -// with a specific AWS account name or Region. +// with a specific AWS account name or Region, or that have a specific status. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3439,6 +3561,58 @@ func (c *CloudFormation) ListStackInstancesWithContext(ctx aws.Context, input *L return out, req.Send() } +// ListStackInstancesPages iterates over the pages of a ListStackInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStackInstances 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 ListStackInstances operation. +// pageNum := 0 +// err := client.ListStackInstancesPages(params, +// func(page *cloudformation.ListStackInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CloudFormation) ListStackInstancesPages(input *ListStackInstancesInput, fn func(*ListStackInstancesOutput, bool) bool) error { + return c.ListStackInstancesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListStackInstancesPagesWithContext same as ListStackInstancesPages 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 *CloudFormation) ListStackInstancesPagesWithContext(ctx aws.Context, input *ListStackInstancesInput, fn func(*ListStackInstancesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListStackInstancesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListStackInstancesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListStackInstancesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListStackResources = "ListStackResources" // ListStackResourcesRequest generates a "aws/request.Request" representing the @@ -3605,6 +3779,12 @@ func (c *CloudFormation) ListStackSetOperationResultsRequest(input *ListStackSet Name: opListStackSetOperationResults, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3656,6 +3836,58 @@ func (c *CloudFormation) ListStackSetOperationResultsWithContext(ctx aws.Context return out, req.Send() } +// ListStackSetOperationResultsPages iterates over the pages of a ListStackSetOperationResults operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStackSetOperationResults 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 ListStackSetOperationResults operation. +// pageNum := 0 +// err := client.ListStackSetOperationResultsPages(params, +// func(page *cloudformation.ListStackSetOperationResultsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CloudFormation) ListStackSetOperationResultsPages(input *ListStackSetOperationResultsInput, fn func(*ListStackSetOperationResultsOutput, bool) bool) error { + return c.ListStackSetOperationResultsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListStackSetOperationResultsPagesWithContext same as ListStackSetOperationResultsPages 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 *CloudFormation) ListStackSetOperationResultsPagesWithContext(ctx aws.Context, input *ListStackSetOperationResultsInput, fn func(*ListStackSetOperationResultsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListStackSetOperationResultsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListStackSetOperationResultsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListStackSetOperationResultsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListStackSetOperations = "ListStackSetOperations" // ListStackSetOperationsRequest generates a "aws/request.Request" representing the @@ -3687,6 +3919,12 @@ func (c *CloudFormation) ListStackSetOperationsRequest(input *ListStackSetOperat Name: opListStackSetOperations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3735,6 +3973,58 @@ func (c *CloudFormation) ListStackSetOperationsWithContext(ctx aws.Context, inpu return out, req.Send() } +// ListStackSetOperationsPages iterates over the pages of a ListStackSetOperations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStackSetOperations 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 ListStackSetOperations operation. +// pageNum := 0 +// err := client.ListStackSetOperationsPages(params, +// func(page *cloudformation.ListStackSetOperationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CloudFormation) ListStackSetOperationsPages(input *ListStackSetOperationsInput, fn func(*ListStackSetOperationsOutput, bool) bool) error { + return c.ListStackSetOperationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListStackSetOperationsPagesWithContext same as ListStackSetOperationsPages 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 *CloudFormation) ListStackSetOperationsPagesWithContext(ctx aws.Context, input *ListStackSetOperationsInput, fn func(*ListStackSetOperationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListStackSetOperationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListStackSetOperationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListStackSetOperationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListStackSets = "ListStackSets" // ListStackSetsRequest generates a "aws/request.Request" representing the @@ -3766,6 +4056,12 @@ func (c *CloudFormation) ListStackSetsRequest(input *ListStackSetsInput) (req *r Name: opListStackSets, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3810,6 +4106,58 @@ func (c *CloudFormation) ListStackSetsWithContext(ctx aws.Context, input *ListSt return out, req.Send() } +// ListStackSetsPages iterates over the pages of a ListStackSets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStackSets 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 ListStackSets operation. +// pageNum := 0 +// err := client.ListStackSetsPages(params, +// func(page *cloudformation.ListStackSetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CloudFormation) ListStackSetsPages(input *ListStackSetsInput, fn func(*ListStackSetsOutput, bool) bool) error { + return c.ListStackSetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListStackSetsPagesWithContext same as ListStackSetsPages 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 *CloudFormation) ListStackSetsPagesWithContext(ctx aws.Context, input *ListStackSetsInput, fn func(*ListStackSetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListStackSetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListStackSetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListStackSetsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListStacks = "ListStacks" // ListStacksRequest generates a "aws/request.Request" representing the @@ -8851,6 +9199,9 @@ type DescribeTypeOutput struct { // role to provide your resource type with the appropriate credentials. ExecutionRoleArn *string `min:"1" type:"string"` + // Whether the specified type version is set as the default version. + IsDefaultVersion *bool `type:"boolean"` + // When the specified type version was registered. LastUpdated *time.Time `type:"timestamp"` @@ -8952,6 +9303,12 @@ func (s *DescribeTypeOutput) SetExecutionRoleArn(v string) *DescribeTypeOutput { return s } +// SetIsDefaultVersion sets the IsDefaultVersion field's value. +func (s *DescribeTypeOutput) SetIsDefaultVersion(v bool) *DescribeTypeOutput { + s.IsDefaultVersion = &v + return s +} + // SetLastUpdated sets the LastUpdated field's value. func (s *DescribeTypeOutput) SetLastUpdated(v time.Time) *DescribeTypeOutput { s.LastUpdated = &v @@ -10220,6 +10577,9 @@ func (s *ListImportsOutput) SetNextToken(v string) *ListImportsOutput { type ListStackInstancesInput struct { _ struct{} `type:"structure"` + // The status that stack instances are filtered by. + Filters []*StackInstanceFilter `type:"list"` + // The maximum number of results to be returned with a single call. If the number // of available results exceeds this maximum, the response includes a NextToken // value that you can assign to the NextToken request parameter to get the next @@ -10268,6 +10628,16 @@ func (s *ListStackInstancesInput) Validate() error { if s.StackSetName == nil { invalidParams.Add(request.NewErrParamRequired("StackSetName")) } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -10275,6 +10645,12 @@ func (s *ListStackInstancesInput) Validate() error { return nil } +// SetFilters sets the Filters field's value. +func (s *ListStackInstancesInput) SetFilters(v []*StackInstanceFilter) *ListStackInstancesInput { + s.Filters = v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListStackInstancesInput) SetMaxResults(v int64) *ListStackInstancesInput { s.MaxResults = &v @@ -11798,12 +12174,15 @@ type RegisterTypeInput struct { // if the request is submitted multiple times. ClientRequestToken *string `min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the IAM execution role to use to register - // the type. If your resource type calls AWS APIs in any of its handlers, you - // must create an IAM execution role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) + // The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume + // when invoking the resource provider. If your resource type calls AWS APIs + // in any of its handlers, you must create an IAM execution role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) // that includes the necessary permissions to call those AWS APIs, and provision - // that execution role in your account. CloudFormation then assumes that execution - // role to provide your resource type with the appropriate credentials. + // that execution role in your account. When CloudFormation needs to invoke + // the resource provider handler, CloudFormation assumes this execution role + // to create a temporary session token, which it then passes to the resource + // provider handler, thereby supplying your resource provider with the appropriate + // credentials. ExecutionRoleArn *string `min:"1" type:"string"` // Specifies logging configuration information for a type. @@ -12259,6 +12638,9 @@ type ResourceToImport struct { ResourceIdentifier map[string]*string `min:"1" type:"map" required:"true"` // The type of resource to import into your stack, such as AWS::S3::Bucket. + // For a list of supported resource types, see Resources that support import + // operations (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import-supported-resources.html) + // in the AWS CloudFormation User Guide. // // ResourceType is a required field ResourceType *string `min:"1" type:"string" required:"true"` @@ -13276,7 +13658,8 @@ type StackInstance struct { // which drift detection has not yet been performed. LastDriftCheckTimestamp *time.Time `type:"timestamp"` - // Reserved for internal use. No data returned. + // [Service-managed permissions] The organization root ID or organizational + // unit (OU) IDs that you specified for DeploymentTargets (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeploymentTargets.html). OrganizationalUnitId *string `type:"string"` // A list of parameters from the stack set template whose values have been overridden @@ -13289,6 +13672,9 @@ type StackInstance struct { // The ID of the stack instance. StackId *string `type:"string"` + // The detailed status of the stack instance. + StackInstanceStatus *StackInstanceComprehensiveStatus `type:"structure"` + // The name or unique ID of the stack set that the stack instance is associated // with. StackSetId *string `type:"string"` @@ -13367,6 +13753,12 @@ func (s *StackInstance) SetStackId(v string) *StackInstance { return s } +// SetStackInstanceStatus sets the StackInstanceStatus field's value. +func (s *StackInstance) SetStackInstanceStatus(v *StackInstanceComprehensiveStatus) *StackInstance { + s.StackInstanceStatus = v + return s +} + // SetStackSetId sets the StackSetId field's value. func (s *StackInstance) SetStackSetId(v string) *StackInstance { s.StackSetId = &v @@ -13385,6 +13777,97 @@ func (s *StackInstance) SetStatusReason(v string) *StackInstance { return s } +// The detailed status of the stack instance. +type StackInstanceComprehensiveStatus struct { + _ struct{} `type:"structure"` + + // * CANCELLED: The operation in the specified account and Region has been + // cancelled. This is either because a user has stopped the stack set operation, + // or because the failure tolerance of the stack set operation has been exceeded. + // + // * FAILED: The operation in the specified account and Region failed. If + // the stack set operation fails in enough accounts within a Region, the + // failure tolerance for the stack set operation as a whole might be exceeded. + // + // * INOPERABLE: A DeleteStackInstances operation has failed and left the + // stack in an unstable state. Stacks in this state are excluded from further + // UpdateStackSet operations. You might need to perform a DeleteStackInstances + // operation, with RetainStacks set to true, to delete the stack instance, + // and then delete the stack manually. + // + // * PENDING: The operation in the specified account and Region has yet to + // start. + // + // * RUNNING: The operation in the specified account and Region is currently + // in progress. + // + // * SUCCEEDED: The operation in the specified account and Region completed + // successfully. + DetailedStatus *string `type:"string" enum:"StackInstanceDetailedStatus"` +} + +// String returns the string representation +func (s StackInstanceComprehensiveStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StackInstanceComprehensiveStatus) GoString() string { + return s.String() +} + +// SetDetailedStatus sets the DetailedStatus field's value. +func (s *StackInstanceComprehensiveStatus) SetDetailedStatus(v string) *StackInstanceComprehensiveStatus { + s.DetailedStatus = &v + return s +} + +// The status that stack instances are filtered by. +type StackInstanceFilter struct { + _ struct{} `type:"structure"` + + // The type of filter to apply. + Name *string `type:"string" enum:"StackInstanceFilterName"` + + // The status to filter by. + Values *string `min:"6" type:"string"` +} + +// String returns the string representation +func (s StackInstanceFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StackInstanceFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StackInstanceFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StackInstanceFilter"} + if s.Values != nil && len(*s.Values) < 6 { + invalidParams.Add(request.NewErrParamMinLen("Values", 6)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *StackInstanceFilter) SetName(v string) *StackInstanceFilter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *StackInstanceFilter) SetValues(v string) *StackInstanceFilter { + s.Values = &v + return s +} + // The structure that contains summary information about a stack instance. type StackInstanceSummary struct { _ struct{} `type:"structure"` @@ -13415,7 +13898,8 @@ type StackInstanceSummary struct { // which drift detection has not yet been performed. LastDriftCheckTimestamp *time.Time `type:"timestamp"` - // Reserved for internal use. No data returned. + // [Service-managed permissions] The organization root ID or organizational + // unit (OU) IDs that you specified for DeploymentTargets (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeploymentTargets.html). OrganizationalUnitId *string `type:"string"` // The name of the AWS Region that the stack instance is associated with. @@ -13424,6 +13908,9 @@ type StackInstanceSummary struct { // The ID of the stack instance. StackId *string `type:"string"` + // The detailed status of the stack instance. + StackInstanceStatus *StackInstanceComprehensiveStatus `type:"structure"` + // The name or unique ID of the stack set that the stack instance is associated // with. StackSetId *string `type:"string"` @@ -13495,6 +13982,12 @@ func (s *StackInstanceSummary) SetStackId(v string) *StackInstanceSummary { return s } +// SetStackInstanceStatus sets the StackInstanceStatus field's value. +func (s *StackInstanceSummary) SetStackInstanceStatus(v *StackInstanceComprehensiveStatus) *StackInstanceSummary { + s.StackInstanceStatus = v + return s +} + // SetStackSetId sets the StackSetId field's value. func (s *StackInstanceSummary) SetStackSetId(v string) *StackInstanceSummary { s.StackSetId = &v @@ -14148,7 +14641,8 @@ type StackSet struct { // groups can include in their stack sets. ExecutionRoleName *string `min:"1" type:"string"` - // Reserved for internal use. No data returned. + // [Service-managed permissions] The organization root ID or organizational + // unit (OU) IDs that you specified for DeploymentTargets (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeploymentTargets.html). OrganizationalUnitIds []*string `type:"list"` // A list of input parameters for a stack set. @@ -14638,8 +15132,8 @@ type StackSetOperationPreferences struct { FailureTolerancePercentage *int64 `type:"integer"` // The maximum number of accounts in which to perform this operation at one - // time. This is dependent on the value of FailureToleranceCount—MaxConcurrentCount - // is at most one more than the FailureToleranceCount . + // time. This is dependent on the value of FailureToleranceCount. MaxConcurrentCount + // is at most one more than the FailureToleranceCount. // // Note that this setting lets you specify the maximum for operations. For large // deployments, under certain circumstances the actual number of accounts acted @@ -14738,7 +15232,8 @@ type StackSetOperationResultSummary struct { // before proceeding with stack set operations in an account AccountGateResult *AccountGateResult `type:"structure"` - // Reserved for internal use. No data returned. + // [Service-managed permissions] The organization root ID or organizational + // unit (OU) IDs that you specified for DeploymentTargets (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeploymentTargets.html). OrganizationalUnitId *string `type:"string"` // The name of the AWS Region for this operation result. @@ -15424,6 +15919,9 @@ type TypeVersionSummary struct { // The description of the type version. Description *string `min:"1" type:"string"` + // Whether the specified type version is set as the default version. + IsDefaultVersion *bool `type:"boolean"` + // When the version was registered. TimeCreated *time.Time `type:"timestamp"` @@ -15461,6 +15959,12 @@ func (s *TypeVersionSummary) SetDescription(v string) *TypeVersionSummary { return s } +// SetIsDefaultVersion sets the IsDefaultVersion field's value. +func (s *TypeVersionSummary) SetIsDefaultVersion(v bool) *TypeVersionSummary { + s.IsDefaultVersion = &v + return s +} + // SetTimeCreated sets the TimeCreated field's value. func (s *TypeVersionSummary) SetTimeCreated(v time.Time) *TypeVersionSummary { s.TimeCreated = &v @@ -17001,6 +17505,31 @@ const ( StackDriftStatusNotChecked = "NOT_CHECKED" ) +const ( + // StackInstanceDetailedStatusPending is a StackInstanceDetailedStatus enum value + StackInstanceDetailedStatusPending = "PENDING" + + // StackInstanceDetailedStatusRunning is a StackInstanceDetailedStatus enum value + StackInstanceDetailedStatusRunning = "RUNNING" + + // StackInstanceDetailedStatusSucceeded is a StackInstanceDetailedStatus enum value + StackInstanceDetailedStatusSucceeded = "SUCCEEDED" + + // StackInstanceDetailedStatusFailed is a StackInstanceDetailedStatus enum value + StackInstanceDetailedStatusFailed = "FAILED" + + // StackInstanceDetailedStatusCancelled is a StackInstanceDetailedStatus enum value + StackInstanceDetailedStatusCancelled = "CANCELLED" + + // StackInstanceDetailedStatusInoperable is a StackInstanceDetailedStatus enum value + StackInstanceDetailedStatusInoperable = "INOPERABLE" +) + +const ( + // StackInstanceFilterNameDetailedStatus is a StackInstanceFilterName enum value + StackInstanceFilterNameDetailedStatus = "DETAILED_STATUS" +) + const ( // StackInstanceStatusCurrent is a StackInstanceStatus enum value StackInstanceStatusCurrent = "CURRENT" diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/waiters.go index 0dbdc6c2353..183720d485a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudformation/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudformation/waiters.go @@ -349,6 +349,72 @@ func (c *CloudFormation) WaitUntilStackImportCompleteWithContext(ctx aws.Context return w.WaitWithContext(ctx) } +// WaitUntilStackRollbackComplete uses the AWS CloudFormation API operation +// DescribeStacks 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 *CloudFormation) WaitUntilStackRollbackComplete(input *DescribeStacksInput) error { + return c.WaitUntilStackRollbackCompleteWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilStackRollbackCompleteWithContext is an extended version of WaitUntilStackRollbackComplete. +// 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 *CloudFormation) WaitUntilStackRollbackCompleteWithContext(ctx aws.Context, input *DescribeStacksInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilStackRollbackComplete", + MaxAttempts: 120, + Delay: request.ConstantWaiterDelay(30 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "Stacks[].StackStatus", + Expected: "UPDATE_ROLLBACK_COMPLETE", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", + Expected: "UPDATE_FAILED", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", + Expected: "UPDATE_ROLLBACK_FAILED", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", + Expected: "DELETE_FAILED", + }, + { + State: request.FailureWaiterState, + Matcher: request.ErrorWaiterMatch, + Expected: "ValidationError", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeStacksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeStacksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + // WaitUntilStackUpdateComplete uses the AWS CloudFormation API operation // DescribeStacks to wait for a condition to be met before returning. // If the condition is not met within the max attempt window, an error will diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go index 316965c88ba..58e63221183 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/api.go @@ -13,7 +13,138 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restxml" ) -const opCreateCloudFrontOriginAccessIdentity = "CreateCloudFrontOriginAccessIdentity2019_03_26" +const opCreateCachePolicy = "CreateCachePolicy2020_05_31" + +// CreateCachePolicyRequest generates a "aws/request.Request" representing the +// client's request for the CreateCachePolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateCachePolicy for more information on using the CreateCachePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateCachePolicyRequest method. +// req, resp := client.CreateCachePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateCachePolicy +func (c *CloudFront) CreateCachePolicyRequest(input *CreateCachePolicyInput) (req *request.Request, output *CreateCachePolicyOutput) { + op := &request.Operation{ + Name: opCreateCachePolicy, + HTTPMethod: "POST", + HTTPPath: "/2020-05-31/cache-policy", + } + + if input == nil { + input = &CreateCachePolicyInput{} + } + + output = &CreateCachePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCachePolicy API operation for Amazon CloudFront. +// +// Creates a cache policy. +// +// After you create a cache policy, you can attach it to one or more cache behaviors. +// When it’s attached to a cache behavior, the cache policy determines the +// following: +// +// * The values that CloudFront includes in the cache key. These values can +// include HTTP headers, cookies, and URL query strings. CloudFront uses +// the cache key to find an object in its cache that it can return to the +// viewer. +// +// * The default, minimum, and maximum time to live (TTL) values that you +// want objects to stay in the CloudFront cache. +// +// The headers, cookies, and query strings that are included in the cache key +// are automatically included in requests that CloudFront sends to the origin. +// CloudFront sends a request when it can’t find an object in its cache that +// matches the request’s cache key. If you want to send values to the origin +// but not include them in the cache key, use CreateOriginRequestPolicy. +// +// For more information about cache policies, see Controlling the cache key +// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html) +// in the Amazon CloudFront Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation CreateCachePolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeInconsistentQuantities "InconsistentQuantities" +// The value of Quantity and the size of Items don't match. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// * ErrCodeCachePolicyAlreadyExists "CachePolicyAlreadyExists" +// A cache policy with this name already exists. You must provide a unique name. +// To modify an existing cache policy, use UpdateCachePolicy. +// +// * ErrCodeTooManyCachePolicies "TooManyCachePolicies" +// You have reached the maximum number of cache policies for this AWS account. +// For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyHeadersInCachePolicy "TooManyHeadersInCachePolicy" +// The number of headers in the cache policy exceeds the maximum. For more information, +// see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyCookiesInCachePolicy "TooManyCookiesInCachePolicy" +// The number of cookies in the cache policy exceeds the maximum. For more information, +// see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyQueryStringsInCachePolicy "TooManyQueryStringsInCachePolicy" +// The number of query strings in the cache policy exceeds the maximum. For +// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateCachePolicy +func (c *CloudFront) CreateCachePolicy(input *CreateCachePolicyInput) (*CreateCachePolicyOutput, error) { + req, out := c.CreateCachePolicyRequest(input) + return out, req.Send() +} + +// CreateCachePolicyWithContext is the same as CreateCachePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCachePolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) CreateCachePolicyWithContext(ctx aws.Context, input *CreateCachePolicyInput, opts ...request.Option) (*CreateCachePolicyOutput, error) { + req, out := c.CreateCachePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateCloudFrontOriginAccessIdentity = "CreateCloudFrontOriginAccessIdentity2020_05_31" // CreateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the // client's request for the CreateCloudFrontOriginAccessIdentity operation. The "output" return @@ -38,12 +169,12 @@ const opCreateCloudFrontOriginAccessIdentity = "CreateCloudFrontOriginAccessIden // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateCloudFrontOriginAccessIdentity +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateCloudFrontOriginAccessIdentity func (c *CloudFront) CreateCloudFrontOriginAccessIdentityRequest(input *CreateCloudFrontOriginAccessIdentityInput) (req *request.Request, output *CreateCloudFrontOriginAccessIdentityOutput) { op := &request.Operation{ Name: opCreateCloudFrontOriginAccessIdentity, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/origin-access-identity/cloudfront", + HTTPPath: "/2020-05-31/origin-access-identity/cloudfront", } if input == nil { @@ -87,12 +218,12 @@ func (c *CloudFront) CreateCloudFrontOriginAccessIdentityRequest(input *CreateCl // access identities allowed. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateCloudFrontOriginAccessIdentity +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateCloudFrontOriginAccessIdentity func (c *CloudFront) CreateCloudFrontOriginAccessIdentity(input *CreateCloudFrontOriginAccessIdentityInput) (*CreateCloudFrontOriginAccessIdentityOutput, error) { req, out := c.CreateCloudFrontOriginAccessIdentityRequest(input) return out, req.Send() @@ -114,7 +245,7 @@ func (c *CloudFront) CreateCloudFrontOriginAccessIdentityWithContext(ctx aws.Con return out, req.Send() } -const opCreateDistribution = "CreateDistribution2019_03_26" +const opCreateDistribution = "CreateDistribution2020_05_31" // CreateDistributionRequest generates a "aws/request.Request" representing the // client's request for the CreateDistribution operation. The "output" return @@ -139,12 +270,12 @@ const opCreateDistribution = "CreateDistribution2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistribution func (c *CloudFront) CreateDistributionRequest(input *CreateDistributionInput) (req *request.Request, output *CreateDistributionOutput) { op := &request.Operation{ Name: opCreateDistribution, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/distribution", + HTTPPath: "/2020-05-31/distribution", } if input == nil { @@ -234,7 +365,7 @@ func (c *CloudFront) CreateDistributionRequest(input *CreateDistributionInput) ( // A response code is not valid. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidRequiredProtocol "InvalidRequiredProtocol" // This operation requires the HTTPS protocol. Ensure that you specify the HTTPS @@ -308,6 +439,10 @@ func (c *CloudFront) CreateDistributionRequest(input *CreateDistributionInput) ( // Processing your request would cause the maximum number of distributions with // Lambda function associations per owner to be exceeded. // +// * ErrCodeTooManyDistributionsWithSingleFunctionARN "TooManyDistributionsWithSingleFunctionARN" +// The maximum number of distributions have been associated with the specified +// Lambda function. +// // * ErrCodeTooManyLambdaFunctionAssociations "TooManyLambdaFunctionAssociations" // Your request contains more Lambda function associations than are allowed // per distribution. @@ -332,7 +467,23 @@ func (c *CloudFront) CreateDistributionRequest(input *CreateDistributionInput) ( // The maximum number of distributions have been associated with the specified // configuration for field-level encryption. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateDistribution +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// +// * ErrCodeTooManyDistributionsAssociatedToCachePolicy "TooManyDistributionsAssociatedToCachePolicy" +// The maximum number of distributions have been associated with the specified +// cache policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. +// +// * ErrCodeTooManyDistributionsAssociatedToOriginRequestPolicy "TooManyDistributionsAssociatedToOriginRequestPolicy" +// The maximum number of distributions have been associated with the specified +// origin request policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistribution func (c *CloudFront) CreateDistribution(input *CreateDistributionInput) (*CreateDistributionOutput, error) { req, out := c.CreateDistributionRequest(input) return out, req.Send() @@ -354,7 +505,7 @@ func (c *CloudFront) CreateDistributionWithContext(ctx aws.Context, input *Creat return out, req.Send() } -const opCreateDistributionWithTags = "CreateDistributionWithTags2019_03_26" +const opCreateDistributionWithTags = "CreateDistributionWithTags2020_05_31" // CreateDistributionWithTagsRequest generates a "aws/request.Request" representing the // client's request for the CreateDistributionWithTags operation. The "output" return @@ -379,12 +530,12 @@ const opCreateDistributionWithTags = "CreateDistributionWithTags2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateDistributionWithTags +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistributionWithTags func (c *CloudFront) CreateDistributionWithTagsRequest(input *CreateDistributionWithTagsInput) (req *request.Request, output *CreateDistributionWithTagsOutput) { op := &request.Operation{ Name: opCreateDistributionWithTags, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/distribution?WithTags", + HTTPPath: "/2020-05-31/distribution?WithTags", } if input == nil { @@ -462,7 +613,7 @@ func (c *CloudFront) CreateDistributionWithTagsRequest(input *CreateDistribution // A response code is not valid. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidRequiredProtocol "InvalidRequiredProtocol" // This operation requires the HTTPS protocol. Ensure that you specify the HTTPS @@ -539,6 +690,10 @@ func (c *CloudFront) CreateDistributionWithTagsRequest(input *CreateDistribution // Processing your request would cause the maximum number of distributions with // Lambda function associations per owner to be exceeded. // +// * ErrCodeTooManyDistributionsWithSingleFunctionARN "TooManyDistributionsWithSingleFunctionARN" +// The maximum number of distributions have been associated with the specified +// Lambda function. +// // * ErrCodeTooManyLambdaFunctionAssociations "TooManyLambdaFunctionAssociations" // Your request contains more Lambda function associations than are allowed // per distribution. @@ -563,7 +718,23 @@ func (c *CloudFront) CreateDistributionWithTagsRequest(input *CreateDistribution // The maximum number of distributions have been associated with the specified // configuration for field-level encryption. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateDistributionWithTags +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// +// * ErrCodeTooManyDistributionsAssociatedToCachePolicy "TooManyDistributionsAssociatedToCachePolicy" +// The maximum number of distributions have been associated with the specified +// cache policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. +// +// * ErrCodeTooManyDistributionsAssociatedToOriginRequestPolicy "TooManyDistributionsAssociatedToOriginRequestPolicy" +// The maximum number of distributions have been associated with the specified +// origin request policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistributionWithTags func (c *CloudFront) CreateDistributionWithTags(input *CreateDistributionWithTagsInput) (*CreateDistributionWithTagsOutput, error) { req, out := c.CreateDistributionWithTagsRequest(input) return out, req.Send() @@ -585,7 +756,7 @@ func (c *CloudFront) CreateDistributionWithTagsWithContext(ctx aws.Context, inpu return out, req.Send() } -const opCreateFieldLevelEncryptionConfig = "CreateFieldLevelEncryptionConfig2019_03_26" +const opCreateFieldLevelEncryptionConfig = "CreateFieldLevelEncryptionConfig2020_05_31" // CreateFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the // client's request for the CreateFieldLevelEncryptionConfig operation. The "output" return @@ -610,12 +781,12 @@ const opCreateFieldLevelEncryptionConfig = "CreateFieldLevelEncryptionConfig2019 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFieldLevelEncryptionConfig func (c *CloudFront) CreateFieldLevelEncryptionConfigRequest(input *CreateFieldLevelEncryptionConfigInput) (req *request.Request, output *CreateFieldLevelEncryptionConfigOutput) { op := &request.Operation{ Name: opCreateFieldLevelEncryptionConfig, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/field-level-encryption", + HTTPPath: "/2020-05-31/field-level-encryption", } if input == nil { @@ -643,7 +814,7 @@ func (c *CloudFront) CreateFieldLevelEncryptionConfigRequest(input *CreateFieldL // The value of Quantity and the size of Items don't match. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" // The specified profile for field-level encryption doesn't exist. @@ -666,7 +837,7 @@ func (c *CloudFront) CreateFieldLevelEncryptionConfigRequest(input *CreateFieldL // * ErrCodeQueryArgProfileEmpty "QueryArgProfileEmpty" // No profile specified for the field-level encryption query argument. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFieldLevelEncryptionConfig func (c *CloudFront) CreateFieldLevelEncryptionConfig(input *CreateFieldLevelEncryptionConfigInput) (*CreateFieldLevelEncryptionConfigOutput, error) { req, out := c.CreateFieldLevelEncryptionConfigRequest(input) return out, req.Send() @@ -688,7 +859,7 @@ func (c *CloudFront) CreateFieldLevelEncryptionConfigWithContext(ctx aws.Context return out, req.Send() } -const opCreateFieldLevelEncryptionProfile = "CreateFieldLevelEncryptionProfile2019_03_26" +const opCreateFieldLevelEncryptionProfile = "CreateFieldLevelEncryptionProfile2020_05_31" // CreateFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the // client's request for the CreateFieldLevelEncryptionProfile operation. The "output" return @@ -713,12 +884,12 @@ const opCreateFieldLevelEncryptionProfile = "CreateFieldLevelEncryptionProfile20 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFieldLevelEncryptionProfile func (c *CloudFront) CreateFieldLevelEncryptionProfileRequest(input *CreateFieldLevelEncryptionProfileInput) (req *request.Request, output *CreateFieldLevelEncryptionProfileOutput) { op := &request.Operation{ Name: opCreateFieldLevelEncryptionProfile, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/field-level-encryption-profile", + HTTPPath: "/2020-05-31/field-level-encryption-profile", } if input == nil { @@ -746,7 +917,7 @@ func (c *CloudFront) CreateFieldLevelEncryptionProfileRequest(input *CreateField // The value of Quantity and the size of Items don't match. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeNoSuchPublicKey "NoSuchPublicKey" // The specified public key doesn't exist. @@ -768,7 +939,7 @@ func (c *CloudFront) CreateFieldLevelEncryptionProfileRequest(input *CreateField // The maximum number of field patterns for field-level encryption have been // created. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFieldLevelEncryptionProfile func (c *CloudFront) CreateFieldLevelEncryptionProfile(input *CreateFieldLevelEncryptionProfileInput) (*CreateFieldLevelEncryptionProfileOutput, error) { req, out := c.CreateFieldLevelEncryptionProfileRequest(input) return out, req.Send() @@ -790,7 +961,7 @@ func (c *CloudFront) CreateFieldLevelEncryptionProfileWithContext(ctx aws.Contex return out, req.Send() } -const opCreateInvalidation = "CreateInvalidation2019_03_26" +const opCreateInvalidation = "CreateInvalidation2020_05_31" // CreateInvalidationRequest generates a "aws/request.Request" representing the // client's request for the CreateInvalidation operation. The "output" return @@ -815,12 +986,12 @@ const opCreateInvalidation = "CreateInvalidation2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateInvalidation +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateInvalidation func (c *CloudFront) CreateInvalidationRequest(input *CreateInvalidationInput) (req *request.Request, output *CreateInvalidationOutput) { op := &request.Operation{ Name: opCreateInvalidation, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/distribution/{DistributionId}/invalidation", + HTTPPath: "/2020-05-31/distribution/{DistributionId}/invalidation", } if input == nil { @@ -852,7 +1023,7 @@ func (c *CloudFront) CreateInvalidationRequest(input *CreateInvalidationInput) ( // header is set. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeNoSuchDistribution "NoSuchDistribution" // The specified distribution does not exist. @@ -867,7 +1038,7 @@ func (c *CloudFront) CreateInvalidationRequest(input *CreateInvalidationInput) ( // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateInvalidation +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateInvalidation func (c *CloudFront) CreateInvalidation(input *CreateInvalidationInput) (*CreateInvalidationOutput, error) { req, out := c.CreateInvalidationRequest(input) return out, req.Send() @@ -889,7 +1060,141 @@ func (c *CloudFront) CreateInvalidationWithContext(ctx aws.Context, input *Creat return out, req.Send() } -const opCreatePublicKey = "CreatePublicKey2019_03_26" +const opCreateOriginRequestPolicy = "CreateOriginRequestPolicy2020_05_31" + +// CreateOriginRequestPolicyRequest generates a "aws/request.Request" representing the +// client's request for the CreateOriginRequestPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateOriginRequestPolicy for more information on using the CreateOriginRequestPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateOriginRequestPolicyRequest method. +// req, resp := client.CreateOriginRequestPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateOriginRequestPolicy +func (c *CloudFront) CreateOriginRequestPolicyRequest(input *CreateOriginRequestPolicyInput) (req *request.Request, output *CreateOriginRequestPolicyOutput) { + op := &request.Operation{ + Name: opCreateOriginRequestPolicy, + HTTPMethod: "POST", + HTTPPath: "/2020-05-31/origin-request-policy", + } + + if input == nil { + input = &CreateOriginRequestPolicyInput{} + } + + output = &CreateOriginRequestPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateOriginRequestPolicy API operation for Amazon CloudFront. +// +// Creates an origin request policy. +// +// After you create an origin request policy, you can attach it to one or more +// cache behaviors. When it’s attached to a cache behavior, the origin request +// policy determines the values that CloudFront includes in requests that it +// sends to the origin. Each request that CloudFront sends to the origin includes +// the following: +// +// * The request body and the URL path (without the domain name) from the +// viewer request. +// +// * The headers that CloudFront automatically includes in every origin request, +// including Host, User-Agent, and X-Amz-Cf-Id. +// +// * All HTTP headers, cookies, and URL query strings that are specified +// in the cache policy or the origin request policy. These can include items +// from the viewer request and, in the case of headers, additional ones that +// are added by CloudFront. +// +// CloudFront sends a request when it can’t find a valid object in its cache +// that matches the request. If you want to send values to the origin and also +// include them in the cache key, use CreateCachePolicy. +// +// For more information about origin request policies, see Controlling origin +// requests (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html) +// in the Amazon CloudFront Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation CreateOriginRequestPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeInconsistentQuantities "InconsistentQuantities" +// The value of Quantity and the size of Items don't match. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// * ErrCodeOriginRequestPolicyAlreadyExists "OriginRequestPolicyAlreadyExists" +// An origin request policy with this name already exists. You must provide +// a unique name. To modify an existing origin request policy, use UpdateOriginRequestPolicy. +// +// * ErrCodeTooManyOriginRequestPolicies "TooManyOriginRequestPolicies" +// You have reached the maximum number of origin request policies for this AWS +// account. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyHeadersInOriginRequestPolicy "TooManyHeadersInOriginRequestPolicy" +// The number of headers in the origin request policy exceeds the maximum. For +// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyCookiesInOriginRequestPolicy "TooManyCookiesInOriginRequestPolicy" +// The number of cookies in the origin request policy exceeds the maximum. For +// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyQueryStringsInOriginRequestPolicy "TooManyQueryStringsInOriginRequestPolicy" +// The number of query strings in the origin request policy exceeds the maximum. +// For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateOriginRequestPolicy +func (c *CloudFront) CreateOriginRequestPolicy(input *CreateOriginRequestPolicyInput) (*CreateOriginRequestPolicyOutput, error) { + req, out := c.CreateOriginRequestPolicyRequest(input) + return out, req.Send() +} + +// CreateOriginRequestPolicyWithContext is the same as CreateOriginRequestPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See CreateOriginRequestPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) CreateOriginRequestPolicyWithContext(ctx aws.Context, input *CreateOriginRequestPolicyInput, opts ...request.Option) (*CreateOriginRequestPolicyOutput, error) { + req, out := c.CreateOriginRequestPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreatePublicKey = "CreatePublicKey2020_05_31" // CreatePublicKeyRequest generates a "aws/request.Request" representing the // client's request for the CreatePublicKey operation. The "output" return @@ -914,12 +1219,12 @@ const opCreatePublicKey = "CreatePublicKey2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreatePublicKey +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreatePublicKey func (c *CloudFront) CreatePublicKeyRequest(input *CreatePublicKeyInput) (req *request.Request, output *CreatePublicKeyOutput) { op := &request.Operation{ Name: opCreatePublicKey, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/public-key", + HTTPPath: "/2020-05-31/public-key", } if input == nil { @@ -948,13 +1253,13 @@ func (c *CloudFront) CreatePublicKeyRequest(input *CreatePublicKeyInput) (req *r // The specified public key already exists. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeTooManyPublicKeys "TooManyPublicKeys" // The maximum number of public keys for field-level encryption have been created. // To create a new public key, delete one of the existing keys. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreatePublicKey +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreatePublicKey func (c *CloudFront) CreatePublicKey(input *CreatePublicKeyInput) (*CreatePublicKeyOutput, error) { req, out := c.CreatePublicKeyRequest(input) return out, req.Send() @@ -976,7 +1281,7 @@ func (c *CloudFront) CreatePublicKeyWithContext(ctx aws.Context, input *CreatePu return out, req.Send() } -const opCreateStreamingDistribution = "CreateStreamingDistribution2019_03_26" +const opCreateStreamingDistribution = "CreateStreamingDistribution2020_05_31" // CreateStreamingDistributionRequest generates a "aws/request.Request" representing the // client's request for the CreateStreamingDistribution operation. The "output" return @@ -1001,12 +1306,12 @@ const opCreateStreamingDistribution = "CreateStreamingDistribution2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateStreamingDistribution func (c *CloudFront) CreateStreamingDistributionRequest(input *CreateStreamingDistributionInput) (req *request.Request, output *CreateStreamingDistributionOutput) { op := &request.Operation{ Name: opCreateStreamingDistribution, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/streaming-distribution", + HTTPPath: "/2020-05-31/streaming-distribution", } if input == nil { @@ -1092,12 +1397,12 @@ func (c *CloudFront) CreateStreamingDistributionRequest(input *CreateStreamingDi // distributions allowed. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateStreamingDistribution func (c *CloudFront) CreateStreamingDistribution(input *CreateStreamingDistributionInput) (*CreateStreamingDistributionOutput, error) { req, out := c.CreateStreamingDistributionRequest(input) return out, req.Send() @@ -1119,7 +1424,7 @@ func (c *CloudFront) CreateStreamingDistributionWithContext(ctx aws.Context, inp return out, req.Send() } -const opCreateStreamingDistributionWithTags = "CreateStreamingDistributionWithTags2019_03_26" +const opCreateStreamingDistributionWithTags = "CreateStreamingDistributionWithTags2020_05_31" // CreateStreamingDistributionWithTagsRequest generates a "aws/request.Request" representing the // client's request for the CreateStreamingDistributionWithTags operation. The "output" return @@ -1144,12 +1449,12 @@ const opCreateStreamingDistributionWithTags = "CreateStreamingDistributionWithTa // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateStreamingDistributionWithTags +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateStreamingDistributionWithTags func (c *CloudFront) CreateStreamingDistributionWithTagsRequest(input *CreateStreamingDistributionWithTagsInput) (req *request.Request, output *CreateStreamingDistributionWithTagsOutput) { op := &request.Operation{ Name: opCreateStreamingDistributionWithTags, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/streaming-distribution?WithTags", + HTTPPath: "/2020-05-31/streaming-distribution?WithTags", } if input == nil { @@ -1208,7 +1513,7 @@ func (c *CloudFront) CreateStreamingDistributionWithTagsRequest(input *CreateStr // distributions allowed. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. @@ -1216,7 +1521,7 @@ func (c *CloudFront) CreateStreamingDistributionWithTagsRequest(input *CreateStr // * ErrCodeInvalidTagging "InvalidTagging" // The tagging specified is not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateStreamingDistributionWithTags +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateStreamingDistributionWithTags func (c *CloudFront) CreateStreamingDistributionWithTags(input *CreateStreamingDistributionWithTagsInput) (*CreateStreamingDistributionWithTagsOutput, error) { req, out := c.CreateStreamingDistributionWithTagsRequest(input) return out, req.Send() @@ -1238,7 +1543,111 @@ func (c *CloudFront) CreateStreamingDistributionWithTagsWithContext(ctx aws.Cont return out, req.Send() } -const opDeleteCloudFrontOriginAccessIdentity = "DeleteCloudFrontOriginAccessIdentity2019_03_26" +const opDeleteCachePolicy = "DeleteCachePolicy2020_05_31" + +// DeleteCachePolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCachePolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteCachePolicy for more information on using the DeleteCachePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteCachePolicyRequest method. +// req, resp := client.DeleteCachePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteCachePolicy +func (c *CloudFront) DeleteCachePolicyRequest(input *DeleteCachePolicyInput) (req *request.Request, output *DeleteCachePolicyOutput) { + op := &request.Operation{ + Name: opDeleteCachePolicy, + HTTPMethod: "DELETE", + HTTPPath: "/2020-05-31/cache-policy/{Id}", + } + + if input == nil { + input = &DeleteCachePolicyInput{} + } + + output = &DeleteCachePolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteCachePolicy API operation for Amazon CloudFront. +// +// Deletes a cache policy. +// +// You cannot delete a cache policy if it’s attached to a cache behavior. +// First update your distributions to remove the cache policy from all cache +// behaviors, then delete the cache policy. +// +// To delete a cache policy, you must provide the policy’s identifier and +// version. To get these values, you can use ListCachePolicies or GetCachePolicy. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation DeleteCachePolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. +// +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// +// * ErrCodePreconditionFailed "PreconditionFailed" +// The precondition given in one or more of the request header fields evaluated +// to false. +// +// * ErrCodeIllegalDelete "IllegalDelete" +// You cannot delete a managed policy. +// +// * ErrCodeCachePolicyInUse "CachePolicyInUse" +// Cannot delete the cache policy because it is attached to one or more cache +// behaviors. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteCachePolicy +func (c *CloudFront) DeleteCachePolicy(input *DeleteCachePolicyInput) (*DeleteCachePolicyOutput, error) { + req, out := c.DeleteCachePolicyRequest(input) + return out, req.Send() +} + +// DeleteCachePolicyWithContext is the same as DeleteCachePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCachePolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) DeleteCachePolicyWithContext(ctx aws.Context, input *DeleteCachePolicyInput, opts ...request.Option) (*DeleteCachePolicyOutput, error) { + req, out := c.DeleteCachePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteCloudFrontOriginAccessIdentity = "DeleteCloudFrontOriginAccessIdentity2020_05_31" // DeleteCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the // client's request for the DeleteCloudFrontOriginAccessIdentity operation. The "output" return @@ -1263,12 +1672,12 @@ const opDeleteCloudFrontOriginAccessIdentity = "DeleteCloudFrontOriginAccessIden // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteCloudFrontOriginAccessIdentity +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteCloudFrontOriginAccessIdentity func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityRequest(input *DeleteCloudFrontOriginAccessIdentityInput) (req *request.Request, output *DeleteCloudFrontOriginAccessIdentityOutput) { op := &request.Operation{ Name: opDeleteCloudFrontOriginAccessIdentity, HTTPMethod: "DELETE", - HTTPPath: "/2019-03-26/origin-access-identity/cloudfront/{Id}", + HTTPPath: "/2020-05-31/origin-access-identity/cloudfront/{Id}", } if input == nil { @@ -1297,19 +1706,19 @@ func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityRequest(input *DeleteCl // Access denied. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeNoSuchCloudFrontOriginAccessIdentity "NoSuchCloudFrontOriginAccessIdentity" // The specified origin access identity does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // * ErrCodeOriginAccessIdentityInUse "CloudFrontOriginAccessIdentityInUse" // The Origin Access Identity specified is already in use. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteCloudFrontOriginAccessIdentity +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteCloudFrontOriginAccessIdentity func (c *CloudFront) DeleteCloudFrontOriginAccessIdentity(input *DeleteCloudFrontOriginAccessIdentityInput) (*DeleteCloudFrontOriginAccessIdentityOutput, error) { req, out := c.DeleteCloudFrontOriginAccessIdentityRequest(input) return out, req.Send() @@ -1331,7 +1740,7 @@ func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityWithContext(ctx aws.Con return out, req.Send() } -const opDeleteDistribution = "DeleteDistribution2019_03_26" +const opDeleteDistribution = "DeleteDistribution2020_05_31" // DeleteDistributionRequest generates a "aws/request.Request" representing the // client's request for the DeleteDistribution operation. The "output" return @@ -1356,12 +1765,12 @@ const opDeleteDistribution = "DeleteDistribution2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteDistribution func (c *CloudFront) DeleteDistributionRequest(input *DeleteDistributionInput) (req *request.Request, output *DeleteDistributionOutput) { op := &request.Operation{ Name: opDeleteDistribution, HTTPMethod: "DELETE", - HTTPPath: "/2019-03-26/distribution/{Id}", + HTTPPath: "/2020-05-31/distribution/{Id}", } if input == nil { @@ -1394,16 +1803,16 @@ func (c *CloudFront) DeleteDistributionRequest(input *DeleteDistributionInput) ( // distribution before you can delete it. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeNoSuchDistribution "NoSuchDistribution" // The specified distribution does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteDistribution func (c *CloudFront) DeleteDistribution(input *DeleteDistributionInput) (*DeleteDistributionOutput, error) { req, out := c.DeleteDistributionRequest(input) return out, req.Send() @@ -1425,7 +1834,7 @@ func (c *CloudFront) DeleteDistributionWithContext(ctx aws.Context, input *Delet return out, req.Send() } -const opDeleteFieldLevelEncryptionConfig = "DeleteFieldLevelEncryptionConfig2019_03_26" +const opDeleteFieldLevelEncryptionConfig = "DeleteFieldLevelEncryptionConfig2020_05_31" // DeleteFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the // client's request for the DeleteFieldLevelEncryptionConfig operation. The "output" return @@ -1450,12 +1859,12 @@ const opDeleteFieldLevelEncryptionConfig = "DeleteFieldLevelEncryptionConfig2019 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFieldLevelEncryptionConfig func (c *CloudFront) DeleteFieldLevelEncryptionConfigRequest(input *DeleteFieldLevelEncryptionConfigInput) (req *request.Request, output *DeleteFieldLevelEncryptionConfigOutput) { op := &request.Operation{ Name: opDeleteFieldLevelEncryptionConfig, HTTPMethod: "DELETE", - HTTPPath: "/2019-03-26/field-level-encryption/{Id}", + HTTPPath: "/2020-05-31/field-level-encryption/{Id}", } if input == nil { @@ -1484,19 +1893,19 @@ func (c *CloudFront) DeleteFieldLevelEncryptionConfigRequest(input *DeleteFieldL // Access denied. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" // The specified configuration for field-level encryption doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // * ErrCodeFieldLevelEncryptionConfigInUse "FieldLevelEncryptionConfigInUse" // The specified configuration for field-level encryption is in use. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFieldLevelEncryptionConfig func (c *CloudFront) DeleteFieldLevelEncryptionConfig(input *DeleteFieldLevelEncryptionConfigInput) (*DeleteFieldLevelEncryptionConfigOutput, error) { req, out := c.DeleteFieldLevelEncryptionConfigRequest(input) return out, req.Send() @@ -1518,7 +1927,7 @@ func (c *CloudFront) DeleteFieldLevelEncryptionConfigWithContext(ctx aws.Context return out, req.Send() } -const opDeleteFieldLevelEncryptionProfile = "DeleteFieldLevelEncryptionProfile2019_03_26" +const opDeleteFieldLevelEncryptionProfile = "DeleteFieldLevelEncryptionProfile2020_05_31" // DeleteFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the // client's request for the DeleteFieldLevelEncryptionProfile operation. The "output" return @@ -1543,12 +1952,12 @@ const opDeleteFieldLevelEncryptionProfile = "DeleteFieldLevelEncryptionProfile20 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFieldLevelEncryptionProfile func (c *CloudFront) DeleteFieldLevelEncryptionProfileRequest(input *DeleteFieldLevelEncryptionProfileInput) (req *request.Request, output *DeleteFieldLevelEncryptionProfileOutput) { op := &request.Operation{ Name: opDeleteFieldLevelEncryptionProfile, HTTPMethod: "DELETE", - HTTPPath: "/2019-03-26/field-level-encryption-profile/{Id}", + HTTPPath: "/2020-05-31/field-level-encryption-profile/{Id}", } if input == nil { @@ -1577,19 +1986,19 @@ func (c *CloudFront) DeleteFieldLevelEncryptionProfileRequest(input *DeleteField // Access denied. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" // The specified profile for field-level encryption doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // * ErrCodeFieldLevelEncryptionProfileInUse "FieldLevelEncryptionProfileInUse" // The specified profile for field-level encryption is in use. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFieldLevelEncryptionProfile func (c *CloudFront) DeleteFieldLevelEncryptionProfile(input *DeleteFieldLevelEncryptionProfileInput) (*DeleteFieldLevelEncryptionProfileOutput, error) { req, out := c.DeleteFieldLevelEncryptionProfileRequest(input) return out, req.Send() @@ -1611,130 +2020,235 @@ func (c *CloudFront) DeleteFieldLevelEncryptionProfileWithContext(ctx aws.Contex return out, req.Send() } -const opDeletePublicKey = "DeletePublicKey2019_03_26" +const opDeleteOriginRequestPolicy = "DeleteOriginRequestPolicy2020_05_31" -// DeletePublicKeyRequest generates a "aws/request.Request" representing the -// client's request for the DeletePublicKey operation. The "output" return +// DeleteOriginRequestPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteOriginRequestPolicy operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeletePublicKey for more information on using the DeletePublicKey +// See DeleteOriginRequestPolicy for more information on using the DeleteOriginRequestPolicy // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeletePublicKeyRequest method. -// req, resp := client.DeletePublicKeyRequest(params) +// // Example sending a request using the DeleteOriginRequestPolicyRequest method. +// req, resp := client.DeleteOriginRequestPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeletePublicKey -func (c *CloudFront) DeletePublicKeyRequest(input *DeletePublicKeyInput) (req *request.Request, output *DeletePublicKeyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteOriginRequestPolicy +func (c *CloudFront) DeleteOriginRequestPolicyRequest(input *DeleteOriginRequestPolicyInput) (req *request.Request, output *DeleteOriginRequestPolicyOutput) { op := &request.Operation{ - Name: opDeletePublicKey, + Name: opDeleteOriginRequestPolicy, HTTPMethod: "DELETE", - HTTPPath: "/2019-03-26/public-key/{Id}", + HTTPPath: "/2020-05-31/origin-request-policy/{Id}", } if input == nil { - input = &DeletePublicKeyInput{} + input = &DeleteOriginRequestPolicyInput{} } - output = &DeletePublicKeyOutput{} + output = &DeleteOriginRequestPolicyOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeletePublicKey API operation for Amazon CloudFront. +// DeleteOriginRequestPolicy API operation for Amazon CloudFront. // -// Remove a public key you previously added to CloudFront. +// Deletes an origin request policy. +// +// You cannot delete an origin request policy if it’s attached to any cache +// behaviors. First update your distributions to remove the origin request policy +// from all cache behaviors, then delete the origin request policy. +// +// To delete an origin request policy, you must provide the policy’s identifier +// and version. To get the identifier, you can use ListOriginRequestPolicies +// or GetOriginRequestPolicy. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon CloudFront's -// API operation DeletePublicKey for usage and error information. +// API operation DeleteOriginRequestPolicy for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// * ErrCodePublicKeyInUse "PublicKeyInUse" -// The specified public key is in use. -// // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // -// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" -// The specified public key doesn't exist. +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeletePublicKey -func (c *CloudFront) DeletePublicKey(input *DeletePublicKeyInput) (*DeletePublicKeyOutput, error) { - req, out := c.DeletePublicKeyRequest(input) +// * ErrCodeIllegalDelete "IllegalDelete" +// You cannot delete a managed policy. +// +// * ErrCodeOriginRequestPolicyInUse "OriginRequestPolicyInUse" +// Cannot delete the origin request policy because it is attached to one or +// more cache behaviors. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteOriginRequestPolicy +func (c *CloudFront) DeleteOriginRequestPolicy(input *DeleteOriginRequestPolicyInput) (*DeleteOriginRequestPolicyOutput, error) { + req, out := c.DeleteOriginRequestPolicyRequest(input) return out, req.Send() } -// DeletePublicKeyWithContext is the same as DeletePublicKey with the addition of +// DeleteOriginRequestPolicyWithContext is the same as DeleteOriginRequestPolicy with the addition of // the ability to pass a context and additional request options. // -// See DeletePublicKey for details on how to use this API operation. +// See DeleteOriginRequestPolicy for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFront) DeletePublicKeyWithContext(ctx aws.Context, input *DeletePublicKeyInput, opts ...request.Option) (*DeletePublicKeyOutput, error) { - req, out := c.DeletePublicKeyRequest(input) +func (c *CloudFront) DeleteOriginRequestPolicyWithContext(ctx aws.Context, input *DeleteOriginRequestPolicyInput, opts ...request.Option) (*DeleteOriginRequestPolicyOutput, error) { + req, out := c.DeleteOriginRequestPolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteStreamingDistribution = "DeleteStreamingDistribution2019_03_26" +const opDeletePublicKey = "DeletePublicKey2020_05_31" -// DeleteStreamingDistributionRequest generates a "aws/request.Request" representing the -// client's request for the DeleteStreamingDistribution operation. The "output" return +// DeletePublicKeyRequest generates a "aws/request.Request" representing the +// client's request for the DeletePublicKey operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteStreamingDistribution for more information on using the DeleteStreamingDistribution +// See DeletePublicKey for more information on using the DeletePublicKey // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteStreamingDistributionRequest method. -// req, resp := client.DeleteStreamingDistributionRequest(params) +// // Example sending a request using the DeletePublicKeyRequest method. +// req, resp := client.DeletePublicKeyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeletePublicKey +func (c *CloudFront) DeletePublicKeyRequest(input *DeletePublicKeyInput) (req *request.Request, output *DeletePublicKeyOutput) { + op := &request.Operation{ + Name: opDeletePublicKey, + HTTPMethod: "DELETE", + HTTPPath: "/2020-05-31/public-key/{Id}", + } + + if input == nil { + input = &DeletePublicKeyInput{} + } + + output = &DeletePublicKeyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePublicKey API operation for Amazon CloudFront. +// +// Remove a public key you previously added to CloudFront. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation DeletePublicKey for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodePublicKeyInUse "PublicKeyInUse" +// The specified public key is in use. +// +// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. +// +// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" +// The specified public key doesn't exist. +// +// * ErrCodePreconditionFailed "PreconditionFailed" +// The precondition given in one or more of the request header fields evaluated +// to false. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeletePublicKey +func (c *CloudFront) DeletePublicKey(input *DeletePublicKeyInput) (*DeletePublicKeyOutput, error) { + req, out := c.DeletePublicKeyRequest(input) + return out, req.Send() +} + +// DeletePublicKeyWithContext is the same as DeletePublicKey with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePublicKey for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) DeletePublicKeyWithContext(ctx aws.Context, input *DeletePublicKeyInput, opts ...request.Option) (*DeletePublicKeyOutput, error) { + req, out := c.DeletePublicKeyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteStreamingDistribution = "DeleteStreamingDistribution2020_05_31" + +// DeleteStreamingDistributionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStreamingDistribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteStreamingDistribution for more information on using the DeleteStreamingDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteStreamingDistributionRequest method. +// req, resp := client.DeleteStreamingDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteStreamingDistribution func (c *CloudFront) DeleteStreamingDistributionRequest(input *DeleteStreamingDistributionInput) (req *request.Request, output *DeleteStreamingDistributionOutput) { op := &request.Operation{ Name: opDeleteStreamingDistribution, HTTPMethod: "DELETE", - HTTPPath: "/2019-03-26/streaming-distribution/{Id}", + HTTPPath: "/2020-05-31/streaming-distribution/{Id}", } if input == nil { @@ -1802,16 +2316,16 @@ func (c *CloudFront) DeleteStreamingDistributionRequest(input *DeleteStreamingDi // distribution before you can delete it. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeNoSuchStreamingDistribution "NoSuchStreamingDistribution" // The specified streaming distribution does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteStreamingDistribution func (c *CloudFront) DeleteStreamingDistribution(input *DeleteStreamingDistributionInput) (*DeleteStreamingDistributionOutput, error) { req, out := c.DeleteStreamingDistributionRequest(input) return out, req.Send() @@ -1833,7 +2347,187 @@ func (c *CloudFront) DeleteStreamingDistributionWithContext(ctx aws.Context, inp return out, req.Send() } -const opGetCloudFrontOriginAccessIdentity = "GetCloudFrontOriginAccessIdentity2019_03_26" +const opGetCachePolicy = "GetCachePolicy2020_05_31" + +// GetCachePolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetCachePolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCachePolicy for more information on using the GetCachePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetCachePolicyRequest method. +// req, resp := client.GetCachePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCachePolicy +func (c *CloudFront) GetCachePolicyRequest(input *GetCachePolicyInput) (req *request.Request, output *GetCachePolicyOutput) { + op := &request.Operation{ + Name: opGetCachePolicy, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/cache-policy/{Id}", + } + + if input == nil { + input = &GetCachePolicyInput{} + } + + output = &GetCachePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCachePolicy API operation for Amazon CloudFront. +// +// Gets a cache policy, including the following metadata: +// +// * The policy’s identifier. +// +// * The date and time when the policy was last modified. +// +// To get a cache policy, you must provide the policy’s identifier. If the +// cache policy is attached to a distribution’s cache behavior, you can get +// the policy’s identifier using ListDistributions or GetDistribution. If +// the cache policy is not attached to a cache behavior, you can get the identifier +// using ListCachePolicies. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation GetCachePolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCachePolicy +func (c *CloudFront) GetCachePolicy(input *GetCachePolicyInput) (*GetCachePolicyOutput, error) { + req, out := c.GetCachePolicyRequest(input) + return out, req.Send() +} + +// GetCachePolicyWithContext is the same as GetCachePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetCachePolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) GetCachePolicyWithContext(ctx aws.Context, input *GetCachePolicyInput, opts ...request.Option) (*GetCachePolicyOutput, error) { + req, out := c.GetCachePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCachePolicyConfig = "GetCachePolicyConfig2020_05_31" + +// GetCachePolicyConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetCachePolicyConfig operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCachePolicyConfig for more information on using the GetCachePolicyConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetCachePolicyConfigRequest method. +// req, resp := client.GetCachePolicyConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCachePolicyConfig +func (c *CloudFront) GetCachePolicyConfigRequest(input *GetCachePolicyConfigInput) (req *request.Request, output *GetCachePolicyConfigOutput) { + op := &request.Operation{ + Name: opGetCachePolicyConfig, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/cache-policy/{Id}/config", + } + + if input == nil { + input = &GetCachePolicyConfigInput{} + } + + output = &GetCachePolicyConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCachePolicyConfig API operation for Amazon CloudFront. +// +// Gets a cache policy configuration. +// +// To get a cache policy configuration, you must provide the policy’s identifier. +// If the cache policy is attached to a distribution’s cache behavior, you +// can get the policy’s identifier using ListDistributions or GetDistribution. +// If the cache policy is not attached to a cache behavior, you can get the +// identifier using ListCachePolicies. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation GetCachePolicyConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCachePolicyConfig +func (c *CloudFront) GetCachePolicyConfig(input *GetCachePolicyConfigInput) (*GetCachePolicyConfigOutput, error) { + req, out := c.GetCachePolicyConfigRequest(input) + return out, req.Send() +} + +// GetCachePolicyConfigWithContext is the same as GetCachePolicyConfig with the addition of +// the ability to pass a context and additional request options. +// +// See GetCachePolicyConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) GetCachePolicyConfigWithContext(ctx aws.Context, input *GetCachePolicyConfigInput, opts ...request.Option) (*GetCachePolicyConfigOutput, error) { + req, out := c.GetCachePolicyConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCloudFrontOriginAccessIdentity = "GetCloudFrontOriginAccessIdentity2020_05_31" // GetCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the // client's request for the GetCloudFrontOriginAccessIdentity operation. The "output" return @@ -1858,12 +2552,12 @@ const opGetCloudFrontOriginAccessIdentity = "GetCloudFrontOriginAccessIdentity20 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetCloudFrontOriginAccessIdentity +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCloudFrontOriginAccessIdentity func (c *CloudFront) GetCloudFrontOriginAccessIdentityRequest(input *GetCloudFrontOriginAccessIdentityInput) (req *request.Request, output *GetCloudFrontOriginAccessIdentityOutput) { op := &request.Operation{ Name: opGetCloudFrontOriginAccessIdentity, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/origin-access-identity/cloudfront/{Id}", + HTTPPath: "/2020-05-31/origin-access-identity/cloudfront/{Id}", } if input == nil { @@ -1893,7 +2587,7 @@ func (c *CloudFront) GetCloudFrontOriginAccessIdentityRequest(input *GetCloudFro // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetCloudFrontOriginAccessIdentity +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCloudFrontOriginAccessIdentity func (c *CloudFront) GetCloudFrontOriginAccessIdentity(input *GetCloudFrontOriginAccessIdentityInput) (*GetCloudFrontOriginAccessIdentityOutput, error) { req, out := c.GetCloudFrontOriginAccessIdentityRequest(input) return out, req.Send() @@ -1915,7 +2609,7 @@ func (c *CloudFront) GetCloudFrontOriginAccessIdentityWithContext(ctx aws.Contex return out, req.Send() } -const opGetCloudFrontOriginAccessIdentityConfig = "GetCloudFrontOriginAccessIdentityConfig2019_03_26" +const opGetCloudFrontOriginAccessIdentityConfig = "GetCloudFrontOriginAccessIdentityConfig2020_05_31" // GetCloudFrontOriginAccessIdentityConfigRequest generates a "aws/request.Request" representing the // client's request for the GetCloudFrontOriginAccessIdentityConfig operation. The "output" return @@ -1940,12 +2634,12 @@ const opGetCloudFrontOriginAccessIdentityConfig = "GetCloudFrontOriginAccessIden // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetCloudFrontOriginAccessIdentityConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCloudFrontOriginAccessIdentityConfig func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfigRequest(input *GetCloudFrontOriginAccessIdentityConfigInput) (req *request.Request, output *GetCloudFrontOriginAccessIdentityConfigOutput) { op := &request.Operation{ Name: opGetCloudFrontOriginAccessIdentityConfig, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/origin-access-identity/cloudfront/{Id}/config", + HTTPPath: "/2020-05-31/origin-access-identity/cloudfront/{Id}/config", } if input == nil { @@ -1975,7 +2669,7 @@ func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfigRequest(input *GetCl // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetCloudFrontOriginAccessIdentityConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCloudFrontOriginAccessIdentityConfig func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfig(input *GetCloudFrontOriginAccessIdentityConfigInput) (*GetCloudFrontOriginAccessIdentityConfigOutput, error) { req, out := c.GetCloudFrontOriginAccessIdentityConfigRequest(input) return out, req.Send() @@ -1997,7 +2691,7 @@ func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfigWithContext(ctx aws. return out, req.Send() } -const opGetDistribution = "GetDistribution2019_03_26" +const opGetDistribution = "GetDistribution2020_05_31" // GetDistributionRequest generates a "aws/request.Request" representing the // client's request for the GetDistribution operation. The "output" return @@ -2022,12 +2716,12 @@ const opGetDistribution = "GetDistribution2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistribution func (c *CloudFront) GetDistributionRequest(input *GetDistributionInput) (req *request.Request, output *GetDistributionOutput) { op := &request.Operation{ Name: opGetDistribution, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/distribution/{Id}", + HTTPPath: "/2020-05-31/distribution/{Id}", } if input == nil { @@ -2057,7 +2751,7 @@ func (c *CloudFront) GetDistributionRequest(input *GetDistributionInput) (req *r // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistribution func (c *CloudFront) GetDistribution(input *GetDistributionInput) (*GetDistributionOutput, error) { req, out := c.GetDistributionRequest(input) return out, req.Send() @@ -2079,7 +2773,7 @@ func (c *CloudFront) GetDistributionWithContext(ctx aws.Context, input *GetDistr return out, req.Send() } -const opGetDistributionConfig = "GetDistributionConfig2019_03_26" +const opGetDistributionConfig = "GetDistributionConfig2020_05_31" // GetDistributionConfigRequest generates a "aws/request.Request" representing the // client's request for the GetDistributionConfig operation. The "output" return @@ -2104,12 +2798,12 @@ const opGetDistributionConfig = "GetDistributionConfig2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetDistributionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistributionConfig func (c *CloudFront) GetDistributionConfigRequest(input *GetDistributionConfigInput) (req *request.Request, output *GetDistributionConfigOutput) { op := &request.Operation{ Name: opGetDistributionConfig, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/distribution/{Id}/config", + HTTPPath: "/2020-05-31/distribution/{Id}/config", } if input == nil { @@ -2139,7 +2833,7 @@ func (c *CloudFront) GetDistributionConfigRequest(input *GetDistributionConfigIn // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetDistributionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistributionConfig func (c *CloudFront) GetDistributionConfig(input *GetDistributionConfigInput) (*GetDistributionConfigOutput, error) { req, out := c.GetDistributionConfigRequest(input) return out, req.Send() @@ -2161,7 +2855,7 @@ func (c *CloudFront) GetDistributionConfigWithContext(ctx aws.Context, input *Ge return out, req.Send() } -const opGetFieldLevelEncryption = "GetFieldLevelEncryption2019_03_26" +const opGetFieldLevelEncryption = "GetFieldLevelEncryption2020_05_31" // GetFieldLevelEncryptionRequest generates a "aws/request.Request" representing the // client's request for the GetFieldLevelEncryption operation. The "output" return @@ -2186,12 +2880,12 @@ const opGetFieldLevelEncryption = "GetFieldLevelEncryption2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryption +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryption func (c *CloudFront) GetFieldLevelEncryptionRequest(input *GetFieldLevelEncryptionInput) (req *request.Request, output *GetFieldLevelEncryptionOutput) { op := &request.Operation{ Name: opGetFieldLevelEncryption, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/field-level-encryption/{Id}", + HTTPPath: "/2020-05-31/field-level-encryption/{Id}", } if input == nil { @@ -2221,7 +2915,7 @@ func (c *CloudFront) GetFieldLevelEncryptionRequest(input *GetFieldLevelEncrypti // * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" // The specified configuration for field-level encryption doesn't exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryption +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryption func (c *CloudFront) GetFieldLevelEncryption(input *GetFieldLevelEncryptionInput) (*GetFieldLevelEncryptionOutput, error) { req, out := c.GetFieldLevelEncryptionRequest(input) return out, req.Send() @@ -2243,7 +2937,7 @@ func (c *CloudFront) GetFieldLevelEncryptionWithContext(ctx aws.Context, input * return out, req.Send() } -const opGetFieldLevelEncryptionConfig = "GetFieldLevelEncryptionConfig2019_03_26" +const opGetFieldLevelEncryptionConfig = "GetFieldLevelEncryptionConfig2020_05_31" // GetFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the // client's request for the GetFieldLevelEncryptionConfig operation. The "output" return @@ -2268,12 +2962,12 @@ const opGetFieldLevelEncryptionConfig = "GetFieldLevelEncryptionConfig2019_03_26 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionConfig func (c *CloudFront) GetFieldLevelEncryptionConfigRequest(input *GetFieldLevelEncryptionConfigInput) (req *request.Request, output *GetFieldLevelEncryptionConfigOutput) { op := &request.Operation{ Name: opGetFieldLevelEncryptionConfig, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/field-level-encryption/{Id}/config", + HTTPPath: "/2020-05-31/field-level-encryption/{Id}/config", } if input == nil { @@ -2303,7 +2997,7 @@ func (c *CloudFront) GetFieldLevelEncryptionConfigRequest(input *GetFieldLevelEn // * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" // The specified configuration for field-level encryption doesn't exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionConfig func (c *CloudFront) GetFieldLevelEncryptionConfig(input *GetFieldLevelEncryptionConfigInput) (*GetFieldLevelEncryptionConfigOutput, error) { req, out := c.GetFieldLevelEncryptionConfigRequest(input) return out, req.Send() @@ -2325,7 +3019,7 @@ func (c *CloudFront) GetFieldLevelEncryptionConfigWithContext(ctx aws.Context, i return out, req.Send() } -const opGetFieldLevelEncryptionProfile = "GetFieldLevelEncryptionProfile2019_03_26" +const opGetFieldLevelEncryptionProfile = "GetFieldLevelEncryptionProfile2020_05_31" // GetFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the // client's request for the GetFieldLevelEncryptionProfile operation. The "output" return @@ -2350,12 +3044,12 @@ const opGetFieldLevelEncryptionProfile = "GetFieldLevelEncryptionProfile2019_03_ // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionProfile func (c *CloudFront) GetFieldLevelEncryptionProfileRequest(input *GetFieldLevelEncryptionProfileInput) (req *request.Request, output *GetFieldLevelEncryptionProfileOutput) { op := &request.Operation{ Name: opGetFieldLevelEncryptionProfile, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/field-level-encryption-profile/{Id}", + HTTPPath: "/2020-05-31/field-level-encryption-profile/{Id}", } if input == nil { @@ -2385,7 +3079,7 @@ func (c *CloudFront) GetFieldLevelEncryptionProfileRequest(input *GetFieldLevelE // * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" // The specified profile for field-level encryption doesn't exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionProfile func (c *CloudFront) GetFieldLevelEncryptionProfile(input *GetFieldLevelEncryptionProfileInput) (*GetFieldLevelEncryptionProfileOutput, error) { req, out := c.GetFieldLevelEncryptionProfileRequest(input) return out, req.Send() @@ -2407,7 +3101,7 @@ func (c *CloudFront) GetFieldLevelEncryptionProfileWithContext(ctx aws.Context, return out, req.Send() } -const opGetFieldLevelEncryptionProfileConfig = "GetFieldLevelEncryptionProfileConfig2019_03_26" +const opGetFieldLevelEncryptionProfileConfig = "GetFieldLevelEncryptionProfileConfig2020_05_31" // GetFieldLevelEncryptionProfileConfigRequest generates a "aws/request.Request" representing the // client's request for the GetFieldLevelEncryptionProfileConfig operation. The "output" return @@ -2432,12 +3126,12 @@ const opGetFieldLevelEncryptionProfileConfig = "GetFieldLevelEncryptionProfileCo // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionProfileConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionProfileConfig func (c *CloudFront) GetFieldLevelEncryptionProfileConfigRequest(input *GetFieldLevelEncryptionProfileConfigInput) (req *request.Request, output *GetFieldLevelEncryptionProfileConfigOutput) { op := &request.Operation{ Name: opGetFieldLevelEncryptionProfileConfig, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/field-level-encryption-profile/{Id}/config", + HTTPPath: "/2020-05-31/field-level-encryption-profile/{Id}/config", } if input == nil { @@ -2467,7 +3161,7 @@ func (c *CloudFront) GetFieldLevelEncryptionProfileConfigRequest(input *GetField // * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" // The specified profile for field-level encryption doesn't exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionProfileConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionProfileConfig func (c *CloudFront) GetFieldLevelEncryptionProfileConfig(input *GetFieldLevelEncryptionProfileConfigInput) (*GetFieldLevelEncryptionProfileConfigOutput, error) { req, out := c.GetFieldLevelEncryptionProfileConfigRequest(input) return out, req.Send() @@ -2489,7 +3183,7 @@ func (c *CloudFront) GetFieldLevelEncryptionProfileConfigWithContext(ctx aws.Con return out, req.Send() } -const opGetInvalidation = "GetInvalidation2019_03_26" +const opGetInvalidation = "GetInvalidation2020_05_31" // GetInvalidationRequest generates a "aws/request.Request" representing the // client's request for the GetInvalidation operation. The "output" return @@ -2514,12 +3208,12 @@ const opGetInvalidation = "GetInvalidation2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetInvalidation +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetInvalidation func (c *CloudFront) GetInvalidationRequest(input *GetInvalidationInput) (req *request.Request, output *GetInvalidationOutput) { op := &request.Operation{ Name: opGetInvalidation, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/distribution/{DistributionId}/invalidation/{Id}", + HTTPPath: "/2020-05-31/distribution/{DistributionId}/invalidation/{Id}", } if input == nil { @@ -2552,7 +3246,7 @@ func (c *CloudFront) GetInvalidationRequest(input *GetInvalidationInput) (req *r // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetInvalidation +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetInvalidation func (c *CloudFront) GetInvalidation(input *GetInvalidationInput) (*GetInvalidationOutput, error) { req, out := c.GetInvalidationRequest(input) return out, req.Send() @@ -2574,181 +3268,361 @@ func (c *CloudFront) GetInvalidationWithContext(ctx aws.Context, input *GetInval return out, req.Send() } -const opGetPublicKey = "GetPublicKey2019_03_26" +const opGetOriginRequestPolicy = "GetOriginRequestPolicy2020_05_31" -// GetPublicKeyRequest generates a "aws/request.Request" representing the -// client's request for the GetPublicKey operation. The "output" return +// GetOriginRequestPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetOriginRequestPolicy operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetPublicKey for more information on using the GetPublicKey +// See GetOriginRequestPolicy for more information on using the GetOriginRequestPolicy // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetPublicKeyRequest method. -// req, resp := client.GetPublicKeyRequest(params) +// // Example sending a request using the GetOriginRequestPolicyRequest method. +// req, resp := client.GetOriginRequestPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetPublicKey -func (c *CloudFront) GetPublicKeyRequest(input *GetPublicKeyInput) (req *request.Request, output *GetPublicKeyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginRequestPolicy +func (c *CloudFront) GetOriginRequestPolicyRequest(input *GetOriginRequestPolicyInput) (req *request.Request, output *GetOriginRequestPolicyOutput) { op := &request.Operation{ - Name: opGetPublicKey, + Name: opGetOriginRequestPolicy, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/public-key/{Id}", + HTTPPath: "/2020-05-31/origin-request-policy/{Id}", } if input == nil { - input = &GetPublicKeyInput{} + input = &GetOriginRequestPolicyInput{} } - output = &GetPublicKeyOutput{} + output = &GetOriginRequestPolicyOutput{} req = c.newRequest(op, input, output) return } -// GetPublicKey API operation for Amazon CloudFront. +// GetOriginRequestPolicy API operation for Amazon CloudFront. // -// Get the public key information. +// Gets an origin request policy, including the following metadata: +// +// * The policy’s identifier. +// +// * The date and time when the policy was last modified. +// +// To get an origin request policy, you must provide the policy’s identifier. +// If the origin request policy is attached to a distribution’s cache behavior, +// you can get the policy’s identifier using ListDistributions or GetDistribution. +// If the origin request policy is not attached to a cache behavior, you can +// get the identifier using ListOriginRequestPolicies. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon CloudFront's -// API operation GetPublicKey for usage and error information. +// API operation GetOriginRequestPolicy for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" -// The specified public key doesn't exist. +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetPublicKey -func (c *CloudFront) GetPublicKey(input *GetPublicKeyInput) (*GetPublicKeyOutput, error) { - req, out := c.GetPublicKeyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginRequestPolicy +func (c *CloudFront) GetOriginRequestPolicy(input *GetOriginRequestPolicyInput) (*GetOriginRequestPolicyOutput, error) { + req, out := c.GetOriginRequestPolicyRequest(input) return out, req.Send() } -// GetPublicKeyWithContext is the same as GetPublicKey with the addition of +// GetOriginRequestPolicyWithContext is the same as GetOriginRequestPolicy with the addition of // the ability to pass a context and additional request options. // -// See GetPublicKey for details on how to use this API operation. +// See GetOriginRequestPolicy for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFront) GetPublicKeyWithContext(ctx aws.Context, input *GetPublicKeyInput, opts ...request.Option) (*GetPublicKeyOutput, error) { - req, out := c.GetPublicKeyRequest(input) +func (c *CloudFront) GetOriginRequestPolicyWithContext(ctx aws.Context, input *GetOriginRequestPolicyInput, opts ...request.Option) (*GetOriginRequestPolicyOutput, error) { + req, out := c.GetOriginRequestPolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetPublicKeyConfig = "GetPublicKeyConfig2019_03_26" +const opGetOriginRequestPolicyConfig = "GetOriginRequestPolicyConfig2020_05_31" -// GetPublicKeyConfigRequest generates a "aws/request.Request" representing the -// client's request for the GetPublicKeyConfig operation. The "output" return +// GetOriginRequestPolicyConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetOriginRequestPolicyConfig operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetPublicKeyConfig for more information on using the GetPublicKeyConfig +// See GetOriginRequestPolicyConfig for more information on using the GetOriginRequestPolicyConfig // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetPublicKeyConfigRequest method. -// req, resp := client.GetPublicKeyConfigRequest(params) +// // Example sending a request using the GetOriginRequestPolicyConfigRequest method. +// req, resp := client.GetOriginRequestPolicyConfigRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetPublicKeyConfig -func (c *CloudFront) GetPublicKeyConfigRequest(input *GetPublicKeyConfigInput) (req *request.Request, output *GetPublicKeyConfigOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginRequestPolicyConfig +func (c *CloudFront) GetOriginRequestPolicyConfigRequest(input *GetOriginRequestPolicyConfigInput) (req *request.Request, output *GetOriginRequestPolicyConfigOutput) { op := &request.Operation{ - Name: opGetPublicKeyConfig, + Name: opGetOriginRequestPolicyConfig, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/public-key/{Id}/config", + HTTPPath: "/2020-05-31/origin-request-policy/{Id}/config", } if input == nil { - input = &GetPublicKeyConfigInput{} + input = &GetOriginRequestPolicyConfigInput{} } - output = &GetPublicKeyConfigOutput{} + output = &GetOriginRequestPolicyConfigOutput{} req = c.newRequest(op, input, output) return } -// GetPublicKeyConfig API operation for Amazon CloudFront. +// GetOriginRequestPolicyConfig API operation for Amazon CloudFront. // -// Return public key configuration informaation +// Gets an origin request policy configuration. +// +// To get an origin request policy configuration, you must provide the policy’s +// identifier. If the origin request policy is attached to a distribution’s +// cache behavior, you can get the policy’s identifier using ListDistributions +// or GetDistribution. If the origin request policy is not attached to a cache +// behavior, you can get the identifier using ListOriginRequestPolicies. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon CloudFront's -// API operation GetPublicKeyConfig for usage and error information. +// API operation GetOriginRequestPolicyConfig for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" -// The specified public key doesn't exist. +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetPublicKeyConfig -func (c *CloudFront) GetPublicKeyConfig(input *GetPublicKeyConfigInput) (*GetPublicKeyConfigOutput, error) { - req, out := c.GetPublicKeyConfigRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginRequestPolicyConfig +func (c *CloudFront) GetOriginRequestPolicyConfig(input *GetOriginRequestPolicyConfigInput) (*GetOriginRequestPolicyConfigOutput, error) { + req, out := c.GetOriginRequestPolicyConfigRequest(input) return out, req.Send() } -// GetPublicKeyConfigWithContext is the same as GetPublicKeyConfig with the addition of +// GetOriginRequestPolicyConfigWithContext is the same as GetOriginRequestPolicyConfig with the addition of // the ability to pass a context and additional request options. // -// See GetPublicKeyConfig for details on how to use this API operation. +// See GetOriginRequestPolicyConfig for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFront) GetPublicKeyConfigWithContext(ctx aws.Context, input *GetPublicKeyConfigInput, opts ...request.Option) (*GetPublicKeyConfigOutput, error) { - req, out := c.GetPublicKeyConfigRequest(input) +func (c *CloudFront) GetOriginRequestPolicyConfigWithContext(ctx aws.Context, input *GetOriginRequestPolicyConfigInput, opts ...request.Option) (*GetOriginRequestPolicyConfigOutput, error) { + req, out := c.GetOriginRequestPolicyConfigRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetStreamingDistribution = "GetStreamingDistribution2019_03_26" +const opGetPublicKey = "GetPublicKey2020_05_31" -// GetStreamingDistributionRequest generates a "aws/request.Request" representing the -// client's request for the GetStreamingDistribution operation. The "output" return +// GetPublicKeyRequest generates a "aws/request.Request" representing the +// client's request for the GetPublicKey operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetStreamingDistribution for more information on using the GetStreamingDistribution +// See GetPublicKey for more information on using the GetPublicKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetPublicKeyRequest method. +// req, resp := client.GetPublicKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetPublicKey +func (c *CloudFront) GetPublicKeyRequest(input *GetPublicKeyInput) (req *request.Request, output *GetPublicKeyOutput) { + op := &request.Operation{ + Name: opGetPublicKey, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/public-key/{Id}", + } + + if input == nil { + input = &GetPublicKeyInput{} + } + + output = &GetPublicKeyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPublicKey API operation for Amazon CloudFront. +// +// Get the public key information. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation GetPublicKey for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" +// The specified public key doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetPublicKey +func (c *CloudFront) GetPublicKey(input *GetPublicKeyInput) (*GetPublicKeyOutput, error) { + req, out := c.GetPublicKeyRequest(input) + return out, req.Send() +} + +// GetPublicKeyWithContext is the same as GetPublicKey with the addition of +// the ability to pass a context and additional request options. +// +// See GetPublicKey for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) GetPublicKeyWithContext(ctx aws.Context, input *GetPublicKeyInput, opts ...request.Option) (*GetPublicKeyOutput, error) { + req, out := c.GetPublicKeyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPublicKeyConfig = "GetPublicKeyConfig2020_05_31" + +// GetPublicKeyConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetPublicKeyConfig operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetPublicKeyConfig for more information on using the GetPublicKeyConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetPublicKeyConfigRequest method. +// req, resp := client.GetPublicKeyConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetPublicKeyConfig +func (c *CloudFront) GetPublicKeyConfigRequest(input *GetPublicKeyConfigInput) (req *request.Request, output *GetPublicKeyConfigOutput) { + op := &request.Operation{ + Name: opGetPublicKeyConfig, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/public-key/{Id}/config", + } + + if input == nil { + input = &GetPublicKeyConfigInput{} + } + + output = &GetPublicKeyConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPublicKeyConfig API operation for Amazon CloudFront. +// +// Return public key configuration informaation +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation GetPublicKeyConfig for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" +// The specified public key doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetPublicKeyConfig +func (c *CloudFront) GetPublicKeyConfig(input *GetPublicKeyConfigInput) (*GetPublicKeyConfigOutput, error) { + req, out := c.GetPublicKeyConfigRequest(input) + return out, req.Send() +} + +// GetPublicKeyConfigWithContext is the same as GetPublicKeyConfig with the addition of +// the ability to pass a context and additional request options. +// +// See GetPublicKeyConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) GetPublicKeyConfigWithContext(ctx aws.Context, input *GetPublicKeyConfigInput, opts ...request.Option) (*GetPublicKeyConfigOutput, error) { + req, out := c.GetPublicKeyConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetStreamingDistribution = "GetStreamingDistribution2020_05_31" + +// GetStreamingDistributionRequest generates a "aws/request.Request" representing the +// client's request for the GetStreamingDistribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetStreamingDistribution for more information on using the GetStreamingDistribution // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration @@ -2763,12 +3637,12 @@ const opGetStreamingDistribution = "GetStreamingDistribution2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetStreamingDistribution func (c *CloudFront) GetStreamingDistributionRequest(input *GetStreamingDistributionInput) (req *request.Request, output *GetStreamingDistributionOutput) { op := &request.Operation{ Name: opGetStreamingDistribution, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/streaming-distribution/{Id}", + HTTPPath: "/2020-05-31/streaming-distribution/{Id}", } if input == nil { @@ -2799,7 +3673,7 @@ func (c *CloudFront) GetStreamingDistributionRequest(input *GetStreamingDistribu // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetStreamingDistribution func (c *CloudFront) GetStreamingDistribution(input *GetStreamingDistributionInput) (*GetStreamingDistributionOutput, error) { req, out := c.GetStreamingDistributionRequest(input) return out, req.Send() @@ -2821,7 +3695,7 @@ func (c *CloudFront) GetStreamingDistributionWithContext(ctx aws.Context, input return out, req.Send() } -const opGetStreamingDistributionConfig = "GetStreamingDistributionConfig2019_03_26" +const opGetStreamingDistributionConfig = "GetStreamingDistributionConfig2020_05_31" // GetStreamingDistributionConfigRequest generates a "aws/request.Request" representing the // client's request for the GetStreamingDistributionConfig operation. The "output" return @@ -2846,12 +3720,12 @@ const opGetStreamingDistributionConfig = "GetStreamingDistributionConfig2019_03_ // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetStreamingDistributionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetStreamingDistributionConfig func (c *CloudFront) GetStreamingDistributionConfigRequest(input *GetStreamingDistributionConfigInput) (req *request.Request, output *GetStreamingDistributionConfigOutput) { op := &request.Operation{ Name: opGetStreamingDistributionConfig, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/streaming-distribution/{Id}/config", + HTTPPath: "/2020-05-31/streaming-distribution/{Id}/config", } if input == nil { @@ -2881,7 +3755,7 @@ func (c *CloudFront) GetStreamingDistributionConfigRequest(input *GetStreamingDi // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetStreamingDistributionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetStreamingDistributionConfig func (c *CloudFront) GetStreamingDistributionConfig(input *GetStreamingDistributionConfigInput) (*GetStreamingDistributionConfigOutput, error) { req, out := c.GetStreamingDistributionConfigRequest(input) return out, req.Send() @@ -2903,7 +3777,101 @@ func (c *CloudFront) GetStreamingDistributionConfigWithContext(ctx aws.Context, return out, req.Send() } -const opListCloudFrontOriginAccessIdentities = "ListCloudFrontOriginAccessIdentities2019_03_26" +const opListCachePolicies = "ListCachePolicies2020_05_31" + +// ListCachePoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListCachePolicies operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListCachePolicies for more information on using the ListCachePolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListCachePoliciesRequest method. +// req, resp := client.ListCachePoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListCachePolicies +func (c *CloudFront) ListCachePoliciesRequest(input *ListCachePoliciesInput) (req *request.Request, output *ListCachePoliciesOutput) { + op := &request.Operation{ + Name: opListCachePolicies, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/cache-policy", + } + + if input == nil { + input = &ListCachePoliciesInput{} + } + + output = &ListCachePoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListCachePolicies API operation for Amazon CloudFront. +// +// Gets a list of cache policies. +// +// You can optionally apply a filter to return only the managed policies created +// by AWS, or only the custom policies created in your AWS account. +// +// You can optionally specify the maximum number of items to receive in the +// response. If the total number of items in the list exceeds the maximum that +// you specify, or the default maximum, the response is paginated. To get the +// next page of items, send a subsequent request that specifies the NextMarker +// value from the current response as the Marker value in the subsequent 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 CloudFront's +// API operation ListCachePolicies for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListCachePolicies +func (c *CloudFront) ListCachePolicies(input *ListCachePoliciesInput) (*ListCachePoliciesOutput, error) { + req, out := c.ListCachePoliciesRequest(input) + return out, req.Send() +} + +// ListCachePoliciesWithContext is the same as ListCachePolicies with the addition of +// the ability to pass a context and additional request options. +// +// See ListCachePolicies for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) ListCachePoliciesWithContext(ctx aws.Context, input *ListCachePoliciesInput, opts ...request.Option) (*ListCachePoliciesOutput, error) { + req, out := c.ListCachePoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListCloudFrontOriginAccessIdentities = "ListCloudFrontOriginAccessIdentities2020_05_31" // ListCloudFrontOriginAccessIdentitiesRequest generates a "aws/request.Request" representing the // client's request for the ListCloudFrontOriginAccessIdentities operation. The "output" return @@ -2928,12 +3896,12 @@ const opListCloudFrontOriginAccessIdentities = "ListCloudFrontOriginAccessIdenti // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListCloudFrontOriginAccessIdentities +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListCloudFrontOriginAccessIdentities func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesRequest(input *ListCloudFrontOriginAccessIdentitiesInput) (req *request.Request, output *ListCloudFrontOriginAccessIdentitiesOutput) { op := &request.Operation{ Name: opListCloudFrontOriginAccessIdentities, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/origin-access-identity/cloudfront", + HTTPPath: "/2020-05-31/origin-access-identity/cloudfront", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"CloudFrontOriginAccessIdentityList.NextMarker"}, @@ -2964,9 +3932,9 @@ func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesRequest(input *ListClou // // Returned Error Codes: // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListCloudFrontOriginAccessIdentities +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListCloudFrontOriginAccessIdentities func (c *CloudFront) ListCloudFrontOriginAccessIdentities(input *ListCloudFrontOriginAccessIdentitiesInput) (*ListCloudFrontOriginAccessIdentitiesOutput, error) { req, out := c.ListCloudFrontOriginAccessIdentitiesRequest(input) return out, req.Send() @@ -3040,7 +4008,7 @@ func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesPagesWithContext(ctx aw return p.Err() } -const opListDistributions = "ListDistributions2019_03_26" +const opListDistributions = "ListDistributions2020_05_31" // ListDistributionsRequest generates a "aws/request.Request" representing the // client's request for the ListDistributions operation. The "output" return @@ -3065,12 +4033,12 @@ const opListDistributions = "ListDistributions2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListDistributions +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributions func (c *CloudFront) ListDistributionsRequest(input *ListDistributionsInput) (req *request.Request, output *ListDistributionsOutput) { op := &request.Operation{ Name: opListDistributions, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/distribution", + HTTPPath: "/2020-05-31/distribution", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"DistributionList.NextMarker"}, @@ -3101,9 +4069,9 @@ func (c *CloudFront) ListDistributionsRequest(input *ListDistributionsInput) (re // // Returned Error Codes: // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListDistributions +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributions func (c *CloudFront) ListDistributions(input *ListDistributionsInput) (*ListDistributionsOutput, error) { req, out := c.ListDistributionsRequest(input) return out, req.Send() @@ -3177,134 +4145,318 @@ func (c *CloudFront) ListDistributionsPagesWithContext(ctx aws.Context, input *L return p.Err() } -const opListDistributionsByWebACLId = "ListDistributionsByWebACLId2019_03_26" +const opListDistributionsByCachePolicyId = "ListDistributionsByCachePolicyId2020_05_31" -// ListDistributionsByWebACLIdRequest generates a "aws/request.Request" representing the -// client's request for the ListDistributionsByWebACLId operation. The "output" return +// ListDistributionsByCachePolicyIdRequest generates a "aws/request.Request" representing the +// client's request for the ListDistributionsByCachePolicyId operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListDistributionsByWebACLId for more information on using the ListDistributionsByWebACLId +// See ListDistributionsByCachePolicyId for more information on using the ListDistributionsByCachePolicyId // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListDistributionsByWebACLIdRequest method. -// req, resp := client.ListDistributionsByWebACLIdRequest(params) +// // Example sending a request using the ListDistributionsByCachePolicyIdRequest method. +// req, resp := client.ListDistributionsByCachePolicyIdRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListDistributionsByWebACLId -func (c *CloudFront) ListDistributionsByWebACLIdRequest(input *ListDistributionsByWebACLIdInput) (req *request.Request, output *ListDistributionsByWebACLIdOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByCachePolicyId +func (c *CloudFront) ListDistributionsByCachePolicyIdRequest(input *ListDistributionsByCachePolicyIdInput) (req *request.Request, output *ListDistributionsByCachePolicyIdOutput) { op := &request.Operation{ - Name: opListDistributionsByWebACLId, + Name: opListDistributionsByCachePolicyId, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/distributionsByWebACLId/{WebACLId}", + HTTPPath: "/2020-05-31/distributionsByCachePolicyId/{CachePolicyId}", } if input == nil { - input = &ListDistributionsByWebACLIdInput{} + input = &ListDistributionsByCachePolicyIdInput{} } - output = &ListDistributionsByWebACLIdOutput{} + output = &ListDistributionsByCachePolicyIdOutput{} req = c.newRequest(op, input, output) return } -// ListDistributionsByWebACLId API operation for Amazon CloudFront. +// ListDistributionsByCachePolicyId API operation for Amazon CloudFront. // -// List the distributions that are associated with a specified AWS WAF web ACL. +// Gets a list of distribution IDs for distributions that have a cache behavior +// that’s associated with the specified cache policy. +// +// You can optionally specify the maximum number of items to receive in the +// response. If the total number of items in the list exceeds the maximum that +// you specify, or the default maximum, the response is paginated. To get the +// next page of items, send a subsequent request that specifies the NextMarker +// value from the current response as the Marker value in the subsequent 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 CloudFront's -// API operation ListDistributionsByWebACLId for usage and error information. +// API operation ListDistributionsByCachePolicyId for usage and error information. // // Returned Error Codes: +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // -// * ErrCodeInvalidWebACLId "InvalidWebACLId" -// A web ACL ID specified is not valid. To specify a web ACL created using the -// latest version of AWS WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. -// To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example -// 473e64fd-f30b-4765-81a0-62ad96dd167a. +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListDistributionsByWebACLId -func (c *CloudFront) ListDistributionsByWebACLId(input *ListDistributionsByWebACLIdInput) (*ListDistributionsByWebACLIdOutput, error) { - req, out := c.ListDistributionsByWebACLIdRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByCachePolicyId +func (c *CloudFront) ListDistributionsByCachePolicyId(input *ListDistributionsByCachePolicyIdInput) (*ListDistributionsByCachePolicyIdOutput, error) { + req, out := c.ListDistributionsByCachePolicyIdRequest(input) return out, req.Send() } -// ListDistributionsByWebACLIdWithContext is the same as ListDistributionsByWebACLId with the addition of +// ListDistributionsByCachePolicyIdWithContext is the same as ListDistributionsByCachePolicyId with the addition of // the ability to pass a context and additional request options. // -// See ListDistributionsByWebACLId for details on how to use this API operation. +// See ListDistributionsByCachePolicyId for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFront) ListDistributionsByWebACLIdWithContext(ctx aws.Context, input *ListDistributionsByWebACLIdInput, opts ...request.Option) (*ListDistributionsByWebACLIdOutput, error) { - req, out := c.ListDistributionsByWebACLIdRequest(input) +func (c *CloudFront) ListDistributionsByCachePolicyIdWithContext(ctx aws.Context, input *ListDistributionsByCachePolicyIdInput, opts ...request.Option) (*ListDistributionsByCachePolicyIdOutput, error) { + req, out := c.ListDistributionsByCachePolicyIdRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListFieldLevelEncryptionConfigs = "ListFieldLevelEncryptionConfigs2019_03_26" +const opListDistributionsByOriginRequestPolicyId = "ListDistributionsByOriginRequestPolicyId2020_05_31" -// ListFieldLevelEncryptionConfigsRequest generates a "aws/request.Request" representing the -// client's request for the ListFieldLevelEncryptionConfigs operation. The "output" return +// ListDistributionsByOriginRequestPolicyIdRequest generates a "aws/request.Request" representing the +// client's request for the ListDistributionsByOriginRequestPolicyId operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListFieldLevelEncryptionConfigs for more information on using the ListFieldLevelEncryptionConfigs +// See ListDistributionsByOriginRequestPolicyId for more information on using the ListDistributionsByOriginRequestPolicyId // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListFieldLevelEncryptionConfigsRequest method. -// req, resp := client.ListFieldLevelEncryptionConfigsRequest(params) +// // Example sending a request using the ListDistributionsByOriginRequestPolicyIdRequest method. +// req, resp := client.ListDistributionsByOriginRequestPolicyIdRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListFieldLevelEncryptionConfigs -func (c *CloudFront) ListFieldLevelEncryptionConfigsRequest(input *ListFieldLevelEncryptionConfigsInput) (req *request.Request, output *ListFieldLevelEncryptionConfigsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByOriginRequestPolicyId +func (c *CloudFront) ListDistributionsByOriginRequestPolicyIdRequest(input *ListDistributionsByOriginRequestPolicyIdInput) (req *request.Request, output *ListDistributionsByOriginRequestPolicyIdOutput) { op := &request.Operation{ - Name: opListFieldLevelEncryptionConfigs, + Name: opListDistributionsByOriginRequestPolicyId, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/field-level-encryption", + HTTPPath: "/2020-05-31/distributionsByOriginRequestPolicyId/{OriginRequestPolicyId}", } if input == nil { - input = &ListFieldLevelEncryptionConfigsInput{} + input = &ListDistributionsByOriginRequestPolicyIdInput{} } - output = &ListFieldLevelEncryptionConfigsOutput{} + output = &ListDistributionsByOriginRequestPolicyIdOutput{} req = c.newRequest(op, input, output) return } -// ListFieldLevelEncryptionConfigs API operation for Amazon CloudFront. +// ListDistributionsByOriginRequestPolicyId API operation for Amazon CloudFront. +// +// Gets a list of distribution IDs for distributions that have a cache behavior +// that’s associated with the specified origin request policy. +// +// You can optionally specify the maximum number of items to receive in the +// response. If the total number of items in the list exceeds the maximum that +// you specify, or the default maximum, the response is paginated. To get the +// next page of items, send a subsequent request that specifies the NextMarker +// value from the current response as the Marker value in the subsequent 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 CloudFront's +// API operation ListDistributionsByOriginRequestPolicyId for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByOriginRequestPolicyId +func (c *CloudFront) ListDistributionsByOriginRequestPolicyId(input *ListDistributionsByOriginRequestPolicyIdInput) (*ListDistributionsByOriginRequestPolicyIdOutput, error) { + req, out := c.ListDistributionsByOriginRequestPolicyIdRequest(input) + return out, req.Send() +} + +// ListDistributionsByOriginRequestPolicyIdWithContext is the same as ListDistributionsByOriginRequestPolicyId with the addition of +// the ability to pass a context and additional request options. +// +// See ListDistributionsByOriginRequestPolicyId for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) ListDistributionsByOriginRequestPolicyIdWithContext(ctx aws.Context, input *ListDistributionsByOriginRequestPolicyIdInput, opts ...request.Option) (*ListDistributionsByOriginRequestPolicyIdOutput, error) { + req, out := c.ListDistributionsByOriginRequestPolicyIdRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListDistributionsByWebACLId = "ListDistributionsByWebACLId2020_05_31" + +// ListDistributionsByWebACLIdRequest generates a "aws/request.Request" representing the +// client's request for the ListDistributionsByWebACLId operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDistributionsByWebACLId for more information on using the ListDistributionsByWebACLId +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDistributionsByWebACLIdRequest method. +// req, resp := client.ListDistributionsByWebACLIdRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByWebACLId +func (c *CloudFront) ListDistributionsByWebACLIdRequest(input *ListDistributionsByWebACLIdInput) (req *request.Request, output *ListDistributionsByWebACLIdOutput) { + op := &request.Operation{ + Name: opListDistributionsByWebACLId, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/distributionsByWebACLId/{WebACLId}", + } + + if input == nil { + input = &ListDistributionsByWebACLIdInput{} + } + + output = &ListDistributionsByWebACLIdOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDistributionsByWebACLId API operation for Amazon CloudFront. +// +// List the distributions that are associated with a specified AWS WAF web 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 CloudFront's +// API operation ListDistributionsByWebACLId for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// * ErrCodeInvalidWebACLId "InvalidWebACLId" +// A web ACL ID specified is not valid. To specify a web ACL created using the +// latest version of AWS WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. +// To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example +// 473e64fd-f30b-4765-81a0-62ad96dd167a. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByWebACLId +func (c *CloudFront) ListDistributionsByWebACLId(input *ListDistributionsByWebACLIdInput) (*ListDistributionsByWebACLIdOutput, error) { + req, out := c.ListDistributionsByWebACLIdRequest(input) + return out, req.Send() +} + +// ListDistributionsByWebACLIdWithContext is the same as ListDistributionsByWebACLId with the addition of +// the ability to pass a context and additional request options. +// +// See ListDistributionsByWebACLId for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) ListDistributionsByWebACLIdWithContext(ctx aws.Context, input *ListDistributionsByWebACLIdInput, opts ...request.Option) (*ListDistributionsByWebACLIdOutput, error) { + req, out := c.ListDistributionsByWebACLIdRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListFieldLevelEncryptionConfigs = "ListFieldLevelEncryptionConfigs2020_05_31" + +// ListFieldLevelEncryptionConfigsRequest generates a "aws/request.Request" representing the +// client's request for the ListFieldLevelEncryptionConfigs operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListFieldLevelEncryptionConfigs for more information on using the ListFieldLevelEncryptionConfigs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListFieldLevelEncryptionConfigsRequest method. +// req, resp := client.ListFieldLevelEncryptionConfigsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFieldLevelEncryptionConfigs +func (c *CloudFront) ListFieldLevelEncryptionConfigsRequest(input *ListFieldLevelEncryptionConfigsInput) (req *request.Request, output *ListFieldLevelEncryptionConfigsOutput) { + op := &request.Operation{ + Name: opListFieldLevelEncryptionConfigs, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/field-level-encryption", + } + + if input == nil { + input = &ListFieldLevelEncryptionConfigsInput{} + } + + output = &ListFieldLevelEncryptionConfigsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFieldLevelEncryptionConfigs API operation for Amazon CloudFront. // // List all field-level encryption configurations that have been created in // CloudFront for this account. @@ -3318,9 +4470,9 @@ func (c *CloudFront) ListFieldLevelEncryptionConfigsRequest(input *ListFieldLeve // // Returned Error Codes: // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListFieldLevelEncryptionConfigs +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFieldLevelEncryptionConfigs func (c *CloudFront) ListFieldLevelEncryptionConfigs(input *ListFieldLevelEncryptionConfigsInput) (*ListFieldLevelEncryptionConfigsOutput, error) { req, out := c.ListFieldLevelEncryptionConfigsRequest(input) return out, req.Send() @@ -3342,7 +4494,7 @@ func (c *CloudFront) ListFieldLevelEncryptionConfigsWithContext(ctx aws.Context, return out, req.Send() } -const opListFieldLevelEncryptionProfiles = "ListFieldLevelEncryptionProfiles2019_03_26" +const opListFieldLevelEncryptionProfiles = "ListFieldLevelEncryptionProfiles2020_05_31" // ListFieldLevelEncryptionProfilesRequest generates a "aws/request.Request" representing the // client's request for the ListFieldLevelEncryptionProfiles operation. The "output" return @@ -3367,12 +4519,12 @@ const opListFieldLevelEncryptionProfiles = "ListFieldLevelEncryptionProfiles2019 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListFieldLevelEncryptionProfiles +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFieldLevelEncryptionProfiles func (c *CloudFront) ListFieldLevelEncryptionProfilesRequest(input *ListFieldLevelEncryptionProfilesInput) (req *request.Request, output *ListFieldLevelEncryptionProfilesOutput) { op := &request.Operation{ Name: opListFieldLevelEncryptionProfiles, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/field-level-encryption-profile", + HTTPPath: "/2020-05-31/field-level-encryption-profile", } if input == nil { @@ -3398,9 +4550,9 @@ func (c *CloudFront) ListFieldLevelEncryptionProfilesRequest(input *ListFieldLev // // Returned Error Codes: // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListFieldLevelEncryptionProfiles +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFieldLevelEncryptionProfiles func (c *CloudFront) ListFieldLevelEncryptionProfiles(input *ListFieldLevelEncryptionProfilesInput) (*ListFieldLevelEncryptionProfilesOutput, error) { req, out := c.ListFieldLevelEncryptionProfilesRequest(input) return out, req.Send() @@ -3422,7 +4574,7 @@ func (c *CloudFront) ListFieldLevelEncryptionProfilesWithContext(ctx aws.Context return out, req.Send() } -const opListInvalidations = "ListInvalidations2019_03_26" +const opListInvalidations = "ListInvalidations2020_05_31" // ListInvalidationsRequest generates a "aws/request.Request" representing the // client's request for the ListInvalidations operation. The "output" return @@ -3447,12 +4599,12 @@ const opListInvalidations = "ListInvalidations2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListInvalidations +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListInvalidations func (c *CloudFront) ListInvalidationsRequest(input *ListInvalidationsInput) (req *request.Request, output *ListInvalidationsOutput) { op := &request.Operation{ Name: opListInvalidations, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/distribution/{DistributionId}/invalidation", + HTTPPath: "/2020-05-31/distribution/{DistributionId}/invalidation", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"InvalidationList.NextMarker"}, @@ -3483,7 +4635,7 @@ func (c *CloudFront) ListInvalidationsRequest(input *ListInvalidationsInput) (re // // Returned Error Codes: // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeNoSuchDistribution "NoSuchDistribution" // The specified distribution does not exist. @@ -3491,7 +4643,7 @@ func (c *CloudFront) ListInvalidationsRequest(input *ListInvalidationsInput) (re // * ErrCodeAccessDenied "AccessDenied" // Access denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListInvalidations +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListInvalidations func (c *CloudFront) ListInvalidations(input *ListInvalidationsInput) (*ListInvalidationsOutput, error) { req, out := c.ListInvalidationsRequest(input) return out, req.Send() @@ -3565,7 +4717,101 @@ func (c *CloudFront) ListInvalidationsPagesWithContext(ctx aws.Context, input *L return p.Err() } -const opListPublicKeys = "ListPublicKeys2019_03_26" +const opListOriginRequestPolicies = "ListOriginRequestPolicies2020_05_31" + +// ListOriginRequestPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListOriginRequestPolicies operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListOriginRequestPolicies for more information on using the ListOriginRequestPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListOriginRequestPoliciesRequest method. +// req, resp := client.ListOriginRequestPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListOriginRequestPolicies +func (c *CloudFront) ListOriginRequestPoliciesRequest(input *ListOriginRequestPoliciesInput) (req *request.Request, output *ListOriginRequestPoliciesOutput) { + op := &request.Operation{ + Name: opListOriginRequestPolicies, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/origin-request-policy", + } + + if input == nil { + input = &ListOriginRequestPoliciesInput{} + } + + output = &ListOriginRequestPoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListOriginRequestPolicies API operation for Amazon CloudFront. +// +// Gets a list of origin request policies. +// +// You can optionally apply a filter to return only the managed policies created +// by AWS, or only the custom policies created in your AWS account. +// +// You can optionally specify the maximum number of items to receive in the +// response. If the total number of items in the list exceeds the maximum that +// you specify, or the default maximum, the response is paginated. To get the +// next page of items, send a subsequent request that specifies the NextMarker +// value from the current response as the Marker value in the subsequent 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 CloudFront's +// API operation ListOriginRequestPolicies for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListOriginRequestPolicies +func (c *CloudFront) ListOriginRequestPolicies(input *ListOriginRequestPoliciesInput) (*ListOriginRequestPoliciesOutput, error) { + req, out := c.ListOriginRequestPoliciesRequest(input) + return out, req.Send() +} + +// ListOriginRequestPoliciesWithContext is the same as ListOriginRequestPolicies with the addition of +// the ability to pass a context and additional request options. +// +// See ListOriginRequestPolicies for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) ListOriginRequestPoliciesWithContext(ctx aws.Context, input *ListOriginRequestPoliciesInput, opts ...request.Option) (*ListOriginRequestPoliciesOutput, error) { + req, out := c.ListOriginRequestPoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListPublicKeys = "ListPublicKeys2020_05_31" // ListPublicKeysRequest generates a "aws/request.Request" representing the // client's request for the ListPublicKeys operation. The "output" return @@ -3590,12 +4836,12 @@ const opListPublicKeys = "ListPublicKeys2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListPublicKeys +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListPublicKeys func (c *CloudFront) ListPublicKeysRequest(input *ListPublicKeysInput) (req *request.Request, output *ListPublicKeysOutput) { op := &request.Operation{ Name: opListPublicKeys, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/public-key", + HTTPPath: "/2020-05-31/public-key", } if input == nil { @@ -3620,9 +4866,9 @@ func (c *CloudFront) ListPublicKeysRequest(input *ListPublicKeysInput) (req *req // // Returned Error Codes: // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListPublicKeys +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListPublicKeys func (c *CloudFront) ListPublicKeys(input *ListPublicKeysInput) (*ListPublicKeysOutput, error) { req, out := c.ListPublicKeysRequest(input) return out, req.Send() @@ -3644,7 +4890,7 @@ func (c *CloudFront) ListPublicKeysWithContext(ctx aws.Context, input *ListPubli return out, req.Send() } -const opListStreamingDistributions = "ListStreamingDistributions2019_03_26" +const opListStreamingDistributions = "ListStreamingDistributions2020_05_31" // ListStreamingDistributionsRequest generates a "aws/request.Request" representing the // client's request for the ListStreamingDistributions operation. The "output" return @@ -3669,12 +4915,12 @@ const opListStreamingDistributions = "ListStreamingDistributions2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListStreamingDistributions +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListStreamingDistributions func (c *CloudFront) ListStreamingDistributionsRequest(input *ListStreamingDistributionsInput) (req *request.Request, output *ListStreamingDistributionsOutput) { op := &request.Operation{ Name: opListStreamingDistributions, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/streaming-distribution", + HTTPPath: "/2020-05-31/streaming-distribution", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"StreamingDistributionList.NextMarker"}, @@ -3705,9 +4951,9 @@ func (c *CloudFront) ListStreamingDistributionsRequest(input *ListStreamingDistr // // Returned Error Codes: // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListStreamingDistributions +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListStreamingDistributions func (c *CloudFront) ListStreamingDistributions(input *ListStreamingDistributionsInput) (*ListStreamingDistributionsOutput, error) { req, out := c.ListStreamingDistributionsRequest(input) return out, req.Send() @@ -3781,7 +5027,7 @@ func (c *CloudFront) ListStreamingDistributionsPagesWithContext(ctx aws.Context, return p.Err() } -const opListTagsForResource = "ListTagsForResource2019_03_26" +const opListTagsForResource = "ListTagsForResource2020_05_31" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource operation. The "output" return @@ -3806,12 +5052,12 @@ const opListTagsForResource = "ListTagsForResource2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListTagsForResource +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListTagsForResource func (c *CloudFront) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ Name: opListTagsForResource, HTTPMethod: "GET", - HTTPPath: "/2019-03-26/tagging", + HTTPPath: "/2020-05-31/tagging", } if input == nil { @@ -3839,7 +5085,7 @@ func (c *CloudFront) ListTagsForResourceRequest(input *ListTagsForResourceInput) // Access denied. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidTagging "InvalidTagging" // The tagging specified is not valid. @@ -3847,7 +5093,7 @@ func (c *CloudFront) ListTagsForResourceRequest(input *ListTagsForResourceInput) // * ErrCodeNoSuchResource "NoSuchResource" // A resource that was specified is not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListTagsForResource +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListTagsForResource func (c *CloudFront) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) return out, req.Send() @@ -3869,7 +5115,7 @@ func (c *CloudFront) ListTagsForResourceWithContext(ctx aws.Context, input *List return out, req.Send() } -const opTagResource = "TagResource2019_03_26" +const opTagResource = "TagResource2020_05_31" // TagResourceRequest generates a "aws/request.Request" representing the // client's request for the TagResource operation. The "output" return @@ -3894,12 +5140,12 @@ const opTagResource = "TagResource2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/TagResource +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TagResource func (c *CloudFront) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ Name: opTagResource, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/tagging?Operation=Tag", + HTTPPath: "/2020-05-31/tagging?Operation=Tag", } if input == nil { @@ -3928,7 +5174,7 @@ func (c *CloudFront) TagResourceRequest(input *TagResourceInput) (req *request.R // Access denied. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidTagging "InvalidTagging" // The tagging specified is not valid. @@ -3936,7 +5182,7 @@ func (c *CloudFront) TagResourceRequest(input *TagResourceInput) (req *request.R // * ErrCodeNoSuchResource "NoSuchResource" // A resource that was specified is not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/TagResource +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TagResource func (c *CloudFront) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { req, out := c.TagResourceRequest(input) return out, req.Send() @@ -3958,7 +5204,7 @@ func (c *CloudFront) TagResourceWithContext(ctx aws.Context, input *TagResourceI return out, req.Send() } -const opUntagResource = "UntagResource2019_03_26" +const opUntagResource = "UntagResource2020_05_31" // UntagResourceRequest generates a "aws/request.Request" representing the // client's request for the UntagResource operation. The "output" return @@ -3983,12 +5229,12 @@ const opUntagResource = "UntagResource2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UntagResource +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UntagResource func (c *CloudFront) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ Name: opUntagResource, HTTPMethod: "POST", - HTTPPath: "/2019-03-26/tagging?Operation=Untag", + HTTPPath: "/2020-05-31/tagging?Operation=Untag", } if input == nil { @@ -4017,7 +5263,7 @@ func (c *CloudFront) UntagResourceRequest(input *UntagResourceInput) (req *reque // Access denied. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidTagging "InvalidTagging" // The tagging specified is not valid. @@ -4025,7 +5271,7 @@ func (c *CloudFront) UntagResourceRequest(input *UntagResourceInput) (req *reque // * ErrCodeNoSuchResource "NoSuchResource" // A resource that was specified is not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UntagResource +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UntagResource func (c *CloudFront) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) return out, req.Send() @@ -4047,119 +5293,248 @@ func (c *CloudFront) UntagResourceWithContext(ctx aws.Context, input *UntagResou return out, req.Send() } -const opUpdateCloudFrontOriginAccessIdentity = "UpdateCloudFrontOriginAccessIdentity2019_03_26" +const opUpdateCachePolicy = "UpdateCachePolicy2020_05_31" -// UpdateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the -// client's request for the UpdateCloudFrontOriginAccessIdentity operation. The "output" return +// UpdateCachePolicyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCachePolicy operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateCloudFrontOriginAccessIdentity for more information on using the UpdateCloudFrontOriginAccessIdentity +// See UpdateCachePolicy for more information on using the UpdateCachePolicy // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateCloudFrontOriginAccessIdentityRequest method. -// req, resp := client.UpdateCloudFrontOriginAccessIdentityRequest(params) +// // Example sending a request using the UpdateCachePolicyRequest method. +// req, resp := client.UpdateCachePolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateCloudFrontOriginAccessIdentity -func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityRequest(input *UpdateCloudFrontOriginAccessIdentityInput) (req *request.Request, output *UpdateCloudFrontOriginAccessIdentityOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCachePolicy +func (c *CloudFront) UpdateCachePolicyRequest(input *UpdateCachePolicyInput) (req *request.Request, output *UpdateCachePolicyOutput) { op := &request.Operation{ - Name: opUpdateCloudFrontOriginAccessIdentity, + Name: opUpdateCachePolicy, HTTPMethod: "PUT", - HTTPPath: "/2019-03-26/origin-access-identity/cloudfront/{Id}/config", + HTTPPath: "/2020-05-31/cache-policy/{Id}", } if input == nil { - input = &UpdateCloudFrontOriginAccessIdentityInput{} + input = &UpdateCachePolicyInput{} } - output = &UpdateCloudFrontOriginAccessIdentityOutput{} + output = &UpdateCachePolicyOutput{} req = c.newRequest(op, input, output) return } -// UpdateCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. +// UpdateCachePolicy API operation for Amazon CloudFront. // -// Update an origin access identity. +// Updates a cache policy configuration. +// +// When you update a cache policy configuration, all the fields are updated +// with the values provided in the request. You cannot update some fields independent +// of others. To update a cache policy configuration: +// +// Use GetCachePolicyConfig to get the current configuration. +// +// Locally modify the fields in the cache policy configuration that you want +// to update. +// +// Call UpdateCachePolicy by providing the entire cache policy configuration, +// including the fields that you modified and those that you didn’t. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon CloudFront's -// API operation UpdateCloudFrontOriginAccessIdentity for usage and error information. +// API operation UpdateCachePolicy for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDenied "AccessDenied" // Access denied. // // * ErrCodeIllegalUpdate "IllegalUpdate" -// Origin and CallerReference cannot be updated. +// The update contains modifications that are not allowed. // -// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// * ErrCodeInconsistentQuantities "InconsistentQuantities" +// The value of Quantity and the size of Items don't match. // -// * ErrCodeMissingBody "MissingBody" -// This operation requires a body. Ensure that the body is present and the Content-Type -// header is set. +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. // -// * ErrCodeNoSuchCloudFrontOriginAccessIdentity "NoSuchCloudFrontOriginAccessIdentity" -// The specified origin access identity does not exist. +// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. +// +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // -// * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// * ErrCodeCachePolicyAlreadyExists "CachePolicyAlreadyExists" +// A cache policy with this name already exists. You must provide a unique name. +// To modify an existing cache policy, use UpdateCachePolicy. // -// * ErrCodeInconsistentQuantities "InconsistentQuantities" -// The value of Quantity and the size of Items don't match. +// * ErrCodeTooManyHeadersInCachePolicy "TooManyHeadersInCachePolicy" +// The number of headers in the cache policy exceeds the maximum. For more information, +// see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateCloudFrontOriginAccessIdentity -func (c *CloudFront) UpdateCloudFrontOriginAccessIdentity(input *UpdateCloudFrontOriginAccessIdentityInput) (*UpdateCloudFrontOriginAccessIdentityOutput, error) { - req, out := c.UpdateCloudFrontOriginAccessIdentityRequest(input) +// * ErrCodeTooManyCookiesInCachePolicy "TooManyCookiesInCachePolicy" +// The number of cookies in the cache policy exceeds the maximum. For more information, +// see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyQueryStringsInCachePolicy "TooManyQueryStringsInCachePolicy" +// The number of query strings in the cache policy exceeds the maximum. For +// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCachePolicy +func (c *CloudFront) UpdateCachePolicy(input *UpdateCachePolicyInput) (*UpdateCachePolicyOutput, error) { + req, out := c.UpdateCachePolicyRequest(input) return out, req.Send() } -// UpdateCloudFrontOriginAccessIdentityWithContext is the same as UpdateCloudFrontOriginAccessIdentity with the addition of +// UpdateCachePolicyWithContext is the same as UpdateCachePolicy with the addition of // the ability to pass a context and additional request options. // -// See UpdateCloudFrontOriginAccessIdentity for details on how to use this API operation. +// See UpdateCachePolicy for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityWithContext(ctx aws.Context, input *UpdateCloudFrontOriginAccessIdentityInput, opts ...request.Option) (*UpdateCloudFrontOriginAccessIdentityOutput, error) { - req, out := c.UpdateCloudFrontOriginAccessIdentityRequest(input) +func (c *CloudFront) UpdateCachePolicyWithContext(ctx aws.Context, input *UpdateCachePolicyInput, opts ...request.Option) (*UpdateCachePolicyOutput, error) { + req, out := c.UpdateCachePolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDistribution = "UpdateDistribution2019_03_26" +const opUpdateCloudFrontOriginAccessIdentity = "UpdateCloudFrontOriginAccessIdentity2020_05_31" -// UpdateDistributionRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDistribution operation. The "output" return +// UpdateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCloudFrontOriginAccessIdentity operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateDistribution for more information on using the UpdateDistribution +// See UpdateCloudFrontOriginAccessIdentity for more information on using the UpdateCloudFrontOriginAccessIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateCloudFrontOriginAccessIdentityRequest method. +// req, resp := client.UpdateCloudFrontOriginAccessIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCloudFrontOriginAccessIdentity +func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityRequest(input *UpdateCloudFrontOriginAccessIdentityInput) (req *request.Request, output *UpdateCloudFrontOriginAccessIdentityOutput) { + op := &request.Operation{ + Name: opUpdateCloudFrontOriginAccessIdentity, + HTTPMethod: "PUT", + HTTPPath: "/2020-05-31/origin-access-identity/cloudfront/{Id}/config", + } + + if input == nil { + input = &UpdateCloudFrontOriginAccessIdentityInput{} + } + + output = &UpdateCloudFrontOriginAccessIdentityOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. +// +// Update an origin access identity. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation UpdateCloudFrontOriginAccessIdentity for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeIllegalUpdate "IllegalUpdate" +// The update contains modifications that are not allowed. +// +// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. +// +// * ErrCodeMissingBody "MissingBody" +// This operation requires a body. Ensure that the body is present and the Content-Type +// header is set. +// +// * ErrCodeNoSuchCloudFrontOriginAccessIdentity "NoSuchCloudFrontOriginAccessIdentity" +// The specified origin access identity does not exist. +// +// * ErrCodePreconditionFailed "PreconditionFailed" +// The precondition given in one or more of the request header fields evaluated +// to false. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// * ErrCodeInconsistentQuantities "InconsistentQuantities" +// The value of Quantity and the size of Items don't match. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCloudFrontOriginAccessIdentity +func (c *CloudFront) UpdateCloudFrontOriginAccessIdentity(input *UpdateCloudFrontOriginAccessIdentityInput) (*UpdateCloudFrontOriginAccessIdentityOutput, error) { + req, out := c.UpdateCloudFrontOriginAccessIdentityRequest(input) + return out, req.Send() +} + +// UpdateCloudFrontOriginAccessIdentityWithContext is the same as UpdateCloudFrontOriginAccessIdentity with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCloudFrontOriginAccessIdentity for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityWithContext(ctx aws.Context, input *UpdateCloudFrontOriginAccessIdentityInput, opts ...request.Option) (*UpdateCloudFrontOriginAccessIdentityOutput, error) { + req, out := c.UpdateCloudFrontOriginAccessIdentityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDistribution = "UpdateDistribution2020_05_31" + +// UpdateDistributionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDistribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDistribution for more information on using the UpdateDistribution // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration @@ -4174,12 +5549,12 @@ const opUpdateDistribution = "UpdateDistribution2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateDistribution func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) (req *request.Request, output *UpdateDistributionOutput) { op := &request.Operation{ Name: opUpdateDistribution, HTTPMethod: "PUT", - HTTPPath: "/2019-03-26/distribution/{Id}/config", + HTTPPath: "/2020-05-31/distribution/{Id}/config", } if input == nil { @@ -4273,10 +5648,10 @@ func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) ( // The CNAME specified is already defined for CloudFront. // // * ErrCodeIllegalUpdate "IllegalUpdate" -// Origin and CallerReference cannot be updated. +// The update contains modifications that are not allowed. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeMissingBody "MissingBody" // This operation requires a body. Ensure that the body is present and the Content-Type @@ -4286,7 +5661,7 @@ func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) ( // The specified distribution does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // * ErrCodeTooManyDistributionCNAMEs "TooManyDistributionCNAMEs" @@ -4306,7 +5681,7 @@ func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) ( // A response code is not valid. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" // The origin access identity is not valid or doesn't exist. @@ -4391,6 +5766,10 @@ func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) ( // Processing your request would cause the maximum number of distributions with // Lambda function associations per owner to be exceeded. // +// * ErrCodeTooManyDistributionsWithSingleFunctionARN "TooManyDistributionsWithSingleFunctionARN" +// The maximum number of distributions have been associated with the specified +// Lambda function. +// // * ErrCodeTooManyLambdaFunctionAssociations "TooManyLambdaFunctionAssociations" // Your request contains more Lambda function associations than are allowed // per distribution. @@ -4415,7 +5794,23 @@ func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) ( // The maximum number of distributions have been associated with the specified // configuration for field-level encryption. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateDistribution +// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" +// The cache policy does not exist. +// +// * ErrCodeTooManyDistributionsAssociatedToCachePolicy "TooManyDistributionsAssociatedToCachePolicy" +// The maximum number of distributions have been associated with the specified +// cache policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. +// +// * ErrCodeTooManyDistributionsAssociatedToOriginRequestPolicy "TooManyDistributionsAssociatedToOriginRequestPolicy" +// The maximum number of distributions have been associated with the specified +// origin request policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateDistribution func (c *CloudFront) UpdateDistribution(input *UpdateDistributionInput) (*UpdateDistributionOutput, error) { req, out := c.UpdateDistributionRequest(input) return out, req.Send() @@ -4437,7 +5832,7 @@ func (c *CloudFront) UpdateDistributionWithContext(ctx aws.Context, input *Updat return out, req.Send() } -const opUpdateFieldLevelEncryptionConfig = "UpdateFieldLevelEncryptionConfig2019_03_26" +const opUpdateFieldLevelEncryptionConfig = "UpdateFieldLevelEncryptionConfig2020_05_31" // UpdateFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the // client's request for the UpdateFieldLevelEncryptionConfig operation. The "output" return @@ -4462,12 +5857,12 @@ const opUpdateFieldLevelEncryptionConfig = "UpdateFieldLevelEncryptionConfig2019 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFieldLevelEncryptionConfig func (c *CloudFront) UpdateFieldLevelEncryptionConfigRequest(input *UpdateFieldLevelEncryptionConfigInput) (req *request.Request, output *UpdateFieldLevelEncryptionConfigOutput) { op := &request.Operation{ Name: opUpdateFieldLevelEncryptionConfig, HTTPMethod: "PUT", - HTTPPath: "/2019-03-26/field-level-encryption/{Id}/config", + HTTPPath: "/2020-05-31/field-level-encryption/{Id}/config", } if input == nil { @@ -4495,16 +5890,16 @@ func (c *CloudFront) UpdateFieldLevelEncryptionConfigRequest(input *UpdateFieldL // Access denied. // // * ErrCodeIllegalUpdate "IllegalUpdate" -// Origin and CallerReference cannot be updated. +// The update contains modifications that are not allowed. // // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" // The specified profile for field-level encryption doesn't exist. @@ -4513,7 +5908,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionConfigRequest(input *UpdateFieldL // The specified configuration for field-level encryption doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // * ErrCodeTooManyFieldLevelEncryptionQueryArgProfiles "TooManyFieldLevelEncryptionQueryArgProfiles" @@ -4527,7 +5922,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionConfigRequest(input *UpdateFieldL // * ErrCodeQueryArgProfileEmpty "QueryArgProfileEmpty" // No profile specified for the field-level encryption query argument. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateFieldLevelEncryptionConfig +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFieldLevelEncryptionConfig func (c *CloudFront) UpdateFieldLevelEncryptionConfig(input *UpdateFieldLevelEncryptionConfigInput) (*UpdateFieldLevelEncryptionConfigOutput, error) { req, out := c.UpdateFieldLevelEncryptionConfigRequest(input) return out, req.Send() @@ -4549,7 +5944,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionConfigWithContext(ctx aws.Context return out, req.Send() } -const opUpdateFieldLevelEncryptionProfile = "UpdateFieldLevelEncryptionProfile2019_03_26" +const opUpdateFieldLevelEncryptionProfile = "UpdateFieldLevelEncryptionProfile2020_05_31" // UpdateFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the // client's request for the UpdateFieldLevelEncryptionProfile operation. The "output" return @@ -4574,12 +5969,12 @@ const opUpdateFieldLevelEncryptionProfile = "UpdateFieldLevelEncryptionProfile20 // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFieldLevelEncryptionProfile func (c *CloudFront) UpdateFieldLevelEncryptionProfileRequest(input *UpdateFieldLevelEncryptionProfileInput) (req *request.Request, output *UpdateFieldLevelEncryptionProfileOutput) { op := &request.Operation{ Name: opUpdateFieldLevelEncryptionProfile, HTTPMethod: "PUT", - HTTPPath: "/2019-03-26/field-level-encryption-profile/{Id}/config", + HTTPPath: "/2020-05-31/field-level-encryption-profile/{Id}/config", } if input == nil { @@ -4610,16 +6005,16 @@ func (c *CloudFront) UpdateFieldLevelEncryptionProfileRequest(input *UpdateField // The specified profile for field-level encryption already exists. // // * ErrCodeIllegalUpdate "IllegalUpdate" -// Origin and CallerReference cannot be updated. +// The update contains modifications that are not allowed. // // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeNoSuchPublicKey "NoSuchPublicKey" // The specified public key doesn't exist. @@ -4628,7 +6023,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionProfileRequest(input *UpdateField // The specified profile for field-level encryption doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // * ErrCodeFieldLevelEncryptionProfileSizeExceeded "FieldLevelEncryptionProfileSizeExceeded" @@ -4642,7 +6037,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionProfileRequest(input *UpdateField // The maximum number of field patterns for field-level encryption have been // created. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateFieldLevelEncryptionProfile +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFieldLevelEncryptionProfile func (c *CloudFront) UpdateFieldLevelEncryptionProfile(input *UpdateFieldLevelEncryptionProfileInput) (*UpdateFieldLevelEncryptionProfileOutput, error) { req, out := c.UpdateFieldLevelEncryptionProfileRequest(input) return out, req.Send() @@ -4664,7 +6059,137 @@ func (c *CloudFront) UpdateFieldLevelEncryptionProfileWithContext(ctx aws.Contex return out, req.Send() } -const opUpdatePublicKey = "UpdatePublicKey2019_03_26" +const opUpdateOriginRequestPolicy = "UpdateOriginRequestPolicy2020_05_31" + +// UpdateOriginRequestPolicyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateOriginRequestPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateOriginRequestPolicy for more information on using the UpdateOriginRequestPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateOriginRequestPolicyRequest method. +// req, resp := client.UpdateOriginRequestPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateOriginRequestPolicy +func (c *CloudFront) UpdateOriginRequestPolicyRequest(input *UpdateOriginRequestPolicyInput) (req *request.Request, output *UpdateOriginRequestPolicyOutput) { + op := &request.Operation{ + Name: opUpdateOriginRequestPolicy, + HTTPMethod: "PUT", + HTTPPath: "/2020-05-31/origin-request-policy/{Id}", + } + + if input == nil { + input = &UpdateOriginRequestPolicyInput{} + } + + output = &UpdateOriginRequestPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateOriginRequestPolicy API operation for Amazon CloudFront. +// +// Updates an origin request policy configuration. +// +// When you update an origin request policy configuration, all the fields are +// updated with the values provided in the request. You cannot update some fields +// independent of others. To update an origin request policy configuration: +// +// Use GetOriginRequestPolicyConfig to get the current configuration. +// +// Locally modify the fields in the origin request policy configuration that +// you want to update. +// +// Call UpdateOriginRequestPolicy by providing the entire origin request policy +// configuration, including the fields that you modified and those that you +// didn’t. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudFront's +// API operation UpdateOriginRequestPolicy for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeIllegalUpdate "IllegalUpdate" +// The update contains modifications that are not allowed. +// +// * ErrCodeInconsistentQuantities "InconsistentQuantities" +// The value of Quantity and the size of Items don't match. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. +// +// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" +// The origin request policy does not exist. +// +// * ErrCodePreconditionFailed "PreconditionFailed" +// The precondition given in one or more of the request header fields evaluated +// to false. +// +// * ErrCodeOriginRequestPolicyAlreadyExists "OriginRequestPolicyAlreadyExists" +// An origin request policy with this name already exists. You must provide +// a unique name. To modify an existing origin request policy, use UpdateOriginRequestPolicy. +// +// * ErrCodeTooManyHeadersInOriginRequestPolicy "TooManyHeadersInOriginRequestPolicy" +// The number of headers in the origin request policy exceeds the maximum. For +// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyCookiesInOriginRequestPolicy "TooManyCookiesInOriginRequestPolicy" +// The number of cookies in the origin request policy exceeds the maximum. For +// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyQueryStringsInOriginRequestPolicy "TooManyQueryStringsInOriginRequestPolicy" +// The number of query strings in the origin request policy exceeds the maximum. +// For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateOriginRequestPolicy +func (c *CloudFront) UpdateOriginRequestPolicy(input *UpdateOriginRequestPolicyInput) (*UpdateOriginRequestPolicyOutput, error) { + req, out := c.UpdateOriginRequestPolicyRequest(input) + return out, req.Send() +} + +// UpdateOriginRequestPolicyWithContext is the same as UpdateOriginRequestPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateOriginRequestPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFront) UpdateOriginRequestPolicyWithContext(ctx aws.Context, input *UpdateOriginRequestPolicyInput, opts ...request.Option) (*UpdateOriginRequestPolicyOutput, error) { + req, out := c.UpdateOriginRequestPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePublicKey = "UpdatePublicKey2020_05_31" // UpdatePublicKeyRequest generates a "aws/request.Request" representing the // client's request for the UpdatePublicKey operation. The "output" return @@ -4689,12 +6214,12 @@ const opUpdatePublicKey = "UpdatePublicKey2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdatePublicKey +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdatePublicKey func (c *CloudFront) UpdatePublicKeyRequest(input *UpdatePublicKeyInput) (req *request.Request, output *UpdatePublicKeyOutput) { op := &request.Operation{ Name: opUpdatePublicKey, HTTPMethod: "PUT", - HTTPPath: "/2019-03-26/public-key/{Id}/config", + HTTPPath: "/2020-05-31/public-key/{Id}/config", } if input == nil { @@ -4726,22 +6251,22 @@ func (c *CloudFront) UpdatePublicKeyRequest(input *UpdatePublicKeyInput) (req *r // You can't change the value of a public key. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeIllegalUpdate "IllegalUpdate" -// Origin and CallerReference cannot be updated. +// The update contains modifications that are not allowed. // // * ErrCodeNoSuchPublicKey "NoSuchPublicKey" // The specified public key doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdatePublicKey +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdatePublicKey func (c *CloudFront) UpdatePublicKey(input *UpdatePublicKeyInput) (*UpdatePublicKeyOutput, error) { req, out := c.UpdatePublicKeyRequest(input) return out, req.Send() @@ -4763,7 +6288,7 @@ func (c *CloudFront) UpdatePublicKeyWithContext(ctx aws.Context, input *UpdatePu return out, req.Send() } -const opUpdateStreamingDistribution = "UpdateStreamingDistribution2019_03_26" +const opUpdateStreamingDistribution = "UpdateStreamingDistribution2020_05_31" // UpdateStreamingDistributionRequest generates a "aws/request.Request" representing the // client's request for the UpdateStreamingDistribution operation. The "output" return @@ -4788,12 +6313,12 @@ const opUpdateStreamingDistribution = "UpdateStreamingDistribution2019_03_26" // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateStreamingDistribution func (c *CloudFront) UpdateStreamingDistributionRequest(input *UpdateStreamingDistributionInput) (req *request.Request, output *UpdateStreamingDistributionOutput) { op := &request.Operation{ Name: opUpdateStreamingDistribution, HTTPMethod: "PUT", - HTTPPath: "/2019-03-26/streaming-distribution/{Id}/config", + HTTPPath: "/2020-05-31/streaming-distribution/{Id}/config", } if input == nil { @@ -4824,10 +6349,10 @@ func (c *CloudFront) UpdateStreamingDistributionRequest(input *UpdateStreamingDi // The CNAME specified is already defined for CloudFront. // // * ErrCodeIllegalUpdate "IllegalUpdate" -// Origin and CallerReference cannot be updated. +// The update contains modifications that are not allowed. // // * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" -// The If-Match version is missing or not valid for the distribution. +// The If-Match version is missing or not valid. // // * ErrCodeMissingBody "MissingBody" // This operation requires a body. Ensure that the body is present and the Content-Type @@ -4837,14 +6362,14 @@ func (c *CloudFront) UpdateStreamingDistributionRequest(input *UpdateStreamingDi // The specified streaming distribution does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request-header fields evaluated +// The precondition given in one or more of the request header fields evaluated // to false. // // * ErrCodeTooManyStreamingDistributionCNAMEs "TooManyStreamingDistributionCNAMEs" // Your request contains more CNAMEs than are allowed per distribution. // // * ErrCodeInvalidArgument "InvalidArgument" -// The argument is invalid. +// An argument is invalid. // // * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" // The origin access identity is not valid or doesn't exist. @@ -4858,7 +6383,7 @@ func (c *CloudFront) UpdateStreamingDistributionRequest(input *UpdateStreamingDi // * ErrCodeInconsistentQuantities "InconsistentQuantities" // The value of Quantity and the size of Items don't match. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateStreamingDistribution +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateStreamingDistribution func (c *CloudFront) UpdateStreamingDistribution(input *UpdateStreamingDistributionInput) (*UpdateStreamingDistributionOutput, error) { req, out := c.UpdateStreamingDistributionRequest(input) return out, req.Send() @@ -5147,19 +6672,19 @@ func (s *AllowedMethods) SetQuantity(v int64) *AllowedMethods { // A complex type that describes how CloudFront processes requests. // // You must create at least as many cache behaviors (including the default cache -// behavior) as you have origins if you want CloudFront to distribute objects -// from all of the origins. Each cache behavior specifies the one origin from -// which you want CloudFront to get objects. If you have two origins and only -// the default cache behavior, the default cache behavior will cause CloudFront +// behavior) as you have origins if you want CloudFront to serve objects from +// all of the origins. Each cache behavior specifies the one origin from which +// you want CloudFront to get objects. If you have two origins and only the +// default cache behavior, the default cache behavior will cause CloudFront // to get objects from one of the origins, but the other origin is never used. // -// For the current limit on the number of cache behaviors that you can add to -// a distribution, see Amazon CloudFront Limits (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_cloudfront) -// in the AWS General Reference. +// For the current quota (formerly known as limit) on the number of cache behaviors +// that you can add to a distribution, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// in the Amazon CloudFront Developer Guide. // -// If you don't want to specify any cache behaviors, include only an empty CacheBehaviors -// element. Don't include an empty CacheBehavior element, or CloudFront returns -// a MalformedXML error. +// If you don’t want to specify any cache behaviors, include only an empty +// CacheBehaviors element. Don’t include an empty CacheBehavior element because +// this is invalid. // // To delete all cache behaviors in an existing distribution, update the distribution // configuration and include only an empty CacheBehaviors element. @@ -5168,7 +6693,7 @@ func (s *AllowedMethods) SetQuantity(v int64) *AllowedMethods { // configuration and specify all of the cache behaviors that you want to include // in the updated distribution. // -// For more information about cache behaviors, see Cache Behaviors (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) +// For more information about cache behaviors, see Cache Behavior Settings (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) // in the Amazon CloudFront Developer Guide. type CacheBehavior struct { _ struct{} `type:"structure"` @@ -5190,12 +6715,24 @@ type CacheBehavior struct { // to delete objects from your origin. AllowedMethods *AllowedMethods `type:"structure"` + // The unique identifier of the cache policy that is attached to this cache + // behavior. For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + CachePolicyId *string `type:"string"` + // Whether you want CloudFront to automatically compress certain files for this // cache behavior. If so, specify true; if not, specify false. For more information, // see Serving Compressed Files (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) // in the Amazon CloudFront Developer Guide. Compress *bool `type:"boolean"` + // This field is deprecated. We recommend that you use the DefaultTTL field + // in a cache policy instead of this field. For more information, see Creating + // cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + // // The default amount of time that you want objects to stay in CloudFront caches // before CloudFront forwards another request to your origin to determine whether // the object has been updated. The value that you specify applies only when @@ -5203,23 +6740,46 @@ type CacheBehavior struct { // s-maxage, and Expires to objects. For more information, see Managing How // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) // in the Amazon CloudFront Developer Guide. - DefaultTTL *int64 `type:"long"` + // + // Deprecated: DefaultTTL has been deprecated + DefaultTTL *int64 `deprecated:"true" type:"long"` // The value of ID for the field-level encryption configuration that you want - // CloudFront to use for encrypting specific fields of data for a cache behavior - // or for the default cache behavior in your distribution. + // CloudFront to use for encrypting specific fields of data for this cache behavior. FieldLevelEncryptionId *string `type:"string"` + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. For more information, see Working + // with policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html) + // in the Amazon CloudFront Developer Guide. + // + // If you want to include values in the cache key, use a cache policy. For more + // information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + // + // If you want to send values to the origin but not include them in the cache + // key, use an origin request policy. For more information, see Creating origin + // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // or Using the managed origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) + // in the Amazon CloudFront Developer Guide. + // // A complex type that specifies how CloudFront handles query strings, cookies, // and HTTP headers. // - // ForwardedValues is a required field - ForwardedValues *ForwardedValues `type:"structure" required:"true"` + // Deprecated: ForwardedValues has been deprecated + ForwardedValues *ForwardedValues `deprecated:"true" type:"structure"` // A complex type that contains zero or more Lambda function associations for // a cache behavior. LambdaFunctionAssociations *LambdaFunctionAssociations `type:"structure"` + // This field is deprecated. We recommend that you use the MaxTTL field in a + // cache policy instead of this field. For more information, see Creating cache + // policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + // // The maximum amount of time that you want objects to stay in CloudFront caches // before CloudFront forwards another request to your origin to determine whether // the object has been updated. The value that you specify applies only when @@ -5227,8 +6787,16 @@ type CacheBehavior struct { // s-maxage, and Expires to objects. For more information, see Managing How // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) // in the Amazon CloudFront Developer Guide. - MaxTTL *int64 `type:"long"` + // + // Deprecated: MaxTTL has been deprecated + MaxTTL *int64 `deprecated:"true" type:"long"` + // This field is deprecated. We recommend that you use the MinTTL field in a + // cache policy instead of this field. For more information, see Creating cache + // policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + // // The minimum amount of time that you want objects to stay in CloudFront caches // before CloudFront forwards another request to your origin to determine whether // the object has been updated. For more information, see Managing How Long @@ -5239,8 +6807,15 @@ type CacheBehavior struct { // headers to your origin (under Headers, if you specify 1 for Quantity and // * for Name). // - // MinTTL is a required field - MinTTL *int64 `type:"long" required:"true"` + // Deprecated: MinTTL has been deprecated + MinTTL *int64 `deprecated:"true" type:"long"` + + // The unique identifier of the origin request policy that is attached to this + // cache behavior. For more information, see Creating origin request policies + // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // or Using the managed origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) + // in the Amazon CloudFront Developer Guide. + OriginRequestPolicyId *string `type:"string"` // The pattern (for example, images/*.jpg) that specifies which requests to // apply the behavior to. When CloudFront receives a viewer request, the requested @@ -5269,8 +6844,7 @@ type CacheBehavior struct { SmoothStreaming *bool `type:"boolean"` // The value of ID for the origin that you want CloudFront to route requests - // to when a request matches the path pattern either for a cache behavior or - // for the default cache behavior in your distribution. + // to when they match this cache behavior. // // TargetOriginId is a required field TargetOriginId *string `type:"string" required:"true"` @@ -5281,14 +6855,15 @@ type CacheBehavior struct { // If you want to require signed URLs in requests for objects in the target // origin that match the PathPattern for this cache behavior, specify true for // Enabled, and specify the applicable values for Quantity and Items. For more - // information, see Serving Private Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) + // information, see Serving Private Content with Signed URLs and Signed Cookies + // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) // in the Amazon CloudFront Developer Guide. // - // If you don't want to require signed URLs in requests for objects that match + // If you don’t want to require signed URLs in requests for objects that match // PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. // // To add, change, or remove one or more trusted signers, change Enabled to - // true (if it's currently false), change Quantity as applicable, and specify + // true (if it’s currently false), change Quantity as applicable, and specify // all of the trusted signers that you want to include in the updated distribution. // // TrustedSigners is a required field @@ -5307,18 +6882,17 @@ type CacheBehavior struct { // * https-only: If a viewer sends an HTTP request, CloudFront returns an // HTTP status code of 403 (Forbidden). // - // For more information about requiring the HTTPS protocol, see Using an HTTPS - // Connection to Access Your Objects (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html) + // For more information about requiring the HTTPS protocol, see Requiring HTTPS + // Between Viewers and CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) // in the Amazon CloudFront Developer Guide. // // The only way to guarantee that viewers retrieve an object that was fetched // from the origin using HTTPS is never to use any other protocol to fetch the // object. If you have recently changed from HTTP to HTTPS, we recommend that - // you clear your objects' cache because cached objects are protocol agnostic. + // you clear your objects’ cache because cached objects are protocol agnostic. // That means that an edge location will return an object from the cache regardless // of whether the current request protocol matches the protocol used previously. - // For more information, see Managing How Long Content Stays in an Edge Cache - // (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // For more information, see Managing Cache Expiration (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) // in the Amazon CloudFront Developer Guide. // // ViewerProtocolPolicy is a required field @@ -5338,12 +6912,6 @@ func (s CacheBehavior) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CacheBehavior) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CacheBehavior"} - if s.ForwardedValues == nil { - invalidParams.Add(request.NewErrParamRequired("ForwardedValues")) - } - if s.MinTTL == nil { - invalidParams.Add(request.NewErrParamRequired("MinTTL")) - } if s.PathPattern == nil { invalidParams.Add(request.NewErrParamRequired("PathPattern")) } @@ -5389,6 +6957,12 @@ func (s *CacheBehavior) SetAllowedMethods(v *AllowedMethods) *CacheBehavior { return s } +// SetCachePolicyId sets the CachePolicyId field's value. +func (s *CacheBehavior) SetCachePolicyId(v string) *CacheBehavior { + s.CachePolicyId = &v + return s +} + // SetCompress sets the Compress field's value. func (s *CacheBehavior) SetCompress(v bool) *CacheBehavior { s.Compress = &v @@ -5431,6 +7005,12 @@ func (s *CacheBehavior) SetMinTTL(v int64) *CacheBehavior { return s } +// SetOriginRequestPolicyId sets the OriginRequestPolicyId field's value. +func (s *CacheBehavior) SetOriginRequestPolicyId(v string) *CacheBehavior { + s.OriginRequestPolicyId = &v + return s +} + // SetPathPattern sets the PathPattern field's value. func (s *CacheBehavior) SetPathPattern(v string) *CacheBehavior { s.PathPattern = &v @@ -5520,107 +7100,162 @@ func (s *CacheBehaviors) SetQuantity(v int64) *CacheBehaviors { return s } -// A complex type that controls whether CloudFront caches the response to requests -// using the specified HTTP methods. There are two choices: +// A cache policy. // -// * CloudFront caches responses to GET and HEAD requests. +// When it’s attached to a cache behavior, the cache policy determines the +// following: // -// * CloudFront caches responses to GET, HEAD, and OPTIONS requests. +// * The values that CloudFront includes in the cache key. These values can +// include HTTP headers, cookies, and URL query strings. CloudFront uses +// the cache key to find an object in its cache that it can return to the +// viewer. // -// If you pick the second choice for your Amazon S3 Origin, you may need to -// forward Access-Control-Request-Method, Access-Control-Request-Headers, and -// Origin headers for the responses to be cached correctly. -type CachedMethods struct { +// * The default, minimum, and maximum time to live (TTL) values that you +// want objects to stay in the CloudFront cache. +// +// The headers, cookies, and query strings that are included in the cache key +// are automatically included in requests that CloudFront sends to the origin. +// CloudFront sends a request when it can’t find a valid object in its cache +// that matches the request’s cache key. If you want to send values to the +// origin but not include them in the cache key, use OriginRequestPolicy. +type CachePolicy struct { _ struct{} `type:"structure"` - // A complex type that contains the HTTP methods that you want CloudFront to - // cache responses to. + // The cache policy configuration. // - // Items is a required field - Items []*string `locationNameList:"Method" type:"list" required:"true"` + // CachePolicyConfig is a required field + CachePolicyConfig *CachePolicyConfig `type:"structure" required:"true"` - // The number of HTTP methods for which you want CloudFront to cache responses. - // Valid values are 2 (for caching responses to GET and HEAD requests) and 3 - // (for caching responses to GET, HEAD, and OPTIONS requests). + // The unique identifier for the cache policy. // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // Id is a required field + Id *string `type:"string" required:"true"` + + // The date and time when the cache policy was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` } // String returns the string representation -func (s CachedMethods) String() string { +func (s CachePolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CachedMethods) GoString() string { +func (s CachePolicy) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CachedMethods) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CachedMethods"} - if s.Items == nil { - invalidParams.Add(request.NewErrParamRequired("Items")) - } - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCachePolicyConfig sets the CachePolicyConfig field's value. +func (s *CachePolicy) SetCachePolicyConfig(v *CachePolicyConfig) *CachePolicy { + s.CachePolicyConfig = v + return s } -// SetItems sets the Items field's value. -func (s *CachedMethods) SetItems(v []*string) *CachedMethods { - s.Items = v +// SetId sets the Id field's value. +func (s *CachePolicy) SetId(v string) *CachePolicy { + s.Id = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *CachedMethods) SetQuantity(v int64) *CachedMethods { - s.Quantity = &v +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *CachePolicy) SetLastModifiedTime(v time.Time) *CachePolicy { + s.LastModifiedTime = &v return s } -// A field-level encryption content type profile. -type ContentTypeProfile struct { +// A cache policy configuration. +// +// This configuration determines the following: +// +// * The values that CloudFront includes in the cache key. These values can +// include HTTP headers, cookies, and URL query strings. CloudFront uses +// the cache key to find an object in its cache that it can return to the +// viewer. +// +// * The default, minimum, and maximum time to live (TTL) values that you +// want objects to stay in the CloudFront cache. +// +// The headers, cookies, and query strings that are included in the cache key +// are automatically included in requests that CloudFront sends to the origin. +// CloudFront sends a request when it can’t find a valid object in its cache +// that matches the request’s cache key. If you want to send values to the +// origin but not include them in the cache key, use OriginRequestPolicy. +type CachePolicyConfig struct { _ struct{} `type:"structure"` - // The content type for a field-level encryption content type-profile mapping. + // A comment to describe the cache policy. + Comment *string `type:"string"` + + // The default amount of time, in seconds, that you want objects to stay in + // the CloudFront cache before CloudFront sends another request to the origin + // to see if the object has been updated. CloudFront uses this value as the + // object’s time to live (TTL) only when the origin does not send Cache-Control + // or Expires headers with the object. For more information, see Managing How + // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // in the Amazon CloudFront Developer Guide. // - // ContentType is a required field - ContentType *string `type:"string" required:"true"` + // The default value for this field is 86400 seconds (one day). If the value + // of MinTTL is more than 86400 seconds, then the default value for this field + // is the same as the value of MinTTL. + DefaultTTL *int64 `type:"long"` - // The format for a field-level encryption content type-profile mapping. + // The maximum amount of time, in seconds, that objects stay in the CloudFront + // cache before CloudFront sends another request to the origin to see if the + // object has been updated. CloudFront uses this value only when the origin + // sends Cache-Control or Expires headers with the object. For more information, + // see Managing How Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // in the Amazon CloudFront Developer Guide. // - // Format is a required field - Format *string `type:"string" required:"true" enum:"Format"` + // The default value for this field is 31536000 seconds (one year). If the value + // of MinTTL or DefaultTTL is more than 31536000 seconds, then the default value + // for this field is the same as the value of DefaultTTL. + MaxTTL *int64 `type:"long"` - // The profile ID for a field-level encryption content type-profile mapping. - ProfileId *string `type:"string"` + // The minimum amount of time, in seconds, that you want objects to stay in + // the CloudFront cache before CloudFront sends another request to the origin + // to see if the object has been updated. For more information, see Managing + // How Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // in the Amazon CloudFront Developer Guide. + // + // MinTTL is a required field + MinTTL *int64 `type:"long" required:"true"` + + // A unique name to identify the cache policy. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The HTTP headers, cookies, and URL query strings to include in the cache + // key. The values included in the cache key are automatically included in requests + // that CloudFront sends to the origin. + ParametersInCacheKeyAndForwardedToOrigin *ParametersInCacheKeyAndForwardedToOrigin `type:"structure"` } // String returns the string representation -func (s ContentTypeProfile) String() string { +func (s CachePolicyConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ContentTypeProfile) GoString() string { +func (s CachePolicyConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ContentTypeProfile) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfile"} - if s.ContentType == nil { - invalidParams.Add(request.NewErrParamRequired("ContentType")) +func (s *CachePolicyConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CachePolicyConfig"} + if s.MinTTL == nil { + invalidParams.Add(request.NewErrParamRequired("MinTTL")) } - if s.Format == nil { - invalidParams.Add(request.NewErrParamRequired("Format")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.ParametersInCacheKeyAndForwardedToOrigin != nil { + if err := s.ParametersInCacheKeyAndForwardedToOrigin.Validate(); err != nil { + invalidParams.AddNested("ParametersInCacheKeyAndForwardedToOrigin", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -5629,60 +7264,95 @@ func (s *ContentTypeProfile) Validate() error { return nil } -// SetContentType sets the ContentType field's value. -func (s *ContentTypeProfile) SetContentType(v string) *ContentTypeProfile { - s.ContentType = &v +// SetComment sets the Comment field's value. +func (s *CachePolicyConfig) SetComment(v string) *CachePolicyConfig { + s.Comment = &v return s } -// SetFormat sets the Format field's value. -func (s *ContentTypeProfile) SetFormat(v string) *ContentTypeProfile { - s.Format = &v +// SetDefaultTTL sets the DefaultTTL field's value. +func (s *CachePolicyConfig) SetDefaultTTL(v int64) *CachePolicyConfig { + s.DefaultTTL = &v return s } -// SetProfileId sets the ProfileId field's value. -func (s *ContentTypeProfile) SetProfileId(v string) *ContentTypeProfile { - s.ProfileId = &v +// SetMaxTTL sets the MaxTTL field's value. +func (s *CachePolicyConfig) SetMaxTTL(v int64) *CachePolicyConfig { + s.MaxTTL = &v return s } -// The configuration for a field-level encryption content type-profile mapping. -type ContentTypeProfileConfig struct { - _ struct{} `type:"structure"` +// SetMinTTL sets the MinTTL field's value. +func (s *CachePolicyConfig) SetMinTTL(v int64) *CachePolicyConfig { + s.MinTTL = &v + return s +} - // The configuration for a field-level encryption content type-profile. - ContentTypeProfiles *ContentTypeProfiles `type:"structure"` +// SetName sets the Name field's value. +func (s *CachePolicyConfig) SetName(v string) *CachePolicyConfig { + s.Name = &v + return s +} - // The setting in a field-level encryption content type-profile mapping that - // specifies what to do when an unknown content type is provided for the profile. - // If true, content is forwarded without being encrypted when the content type - // is unknown. If false (the default), an error is returned when the content - // type is unknown. +// SetParametersInCacheKeyAndForwardedToOrigin sets the ParametersInCacheKeyAndForwardedToOrigin field's value. +func (s *CachePolicyConfig) SetParametersInCacheKeyAndForwardedToOrigin(v *ParametersInCacheKeyAndForwardedToOrigin) *CachePolicyConfig { + s.ParametersInCacheKeyAndForwardedToOrigin = v + return s +} + +// An object that determines whether any cookies in viewer requests (and if +// so, which cookies) are included in the cache key and automatically included +// in requests that CloudFront sends to the origin. +type CachePolicyCookiesConfig struct { + _ struct{} `type:"structure"` + + // Determines whether any cookies in viewer requests are included in the cache + // key and automatically included in requests that CloudFront sends to the origin. + // Valid values are: // - // ForwardWhenContentTypeIsUnknown is a required field - ForwardWhenContentTypeIsUnknown *bool `type:"boolean" required:"true"` + // * none – Cookies in viewer requests are not included in the cache key + // and are not automatically included in requests that CloudFront sends to + // the origin. Even when this field is set to none, any cookies that are + // listed in an OriginRequestPolicy are included in origin requests. + // + // * whitelist – The cookies in viewer requests that are listed in the + // CookieNames type are included in the cache key and automatically included + // in requests that CloudFront sends to the origin. + // + // * allExcept – All cookies in viewer requests that are not listed in + // the CookieNames type are included in the cache key and automatically included + // in requests that CloudFront sends to the origin. + // + // * all – All cookies in viewer requests are included in the cache key + // and are automatically included in requests that CloudFront sends to the + // origin. + // + // CookieBehavior is a required field + CookieBehavior *string `type:"string" required:"true" enum:"CachePolicyCookieBehavior"` + + // Contains a list of cookie names. + Cookies *CookieNames `type:"structure"` } // String returns the string representation -func (s ContentTypeProfileConfig) String() string { +func (s CachePolicyCookiesConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ContentTypeProfileConfig) GoString() string { +func (s CachePolicyCookiesConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ContentTypeProfileConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfileConfig"} - if s.ForwardWhenContentTypeIsUnknown == nil { - invalidParams.Add(request.NewErrParamRequired("ForwardWhenContentTypeIsUnknown")) +func (s *CachePolicyCookiesConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CachePolicyCookiesConfig"} + if s.CookieBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("CookieBehavior")) } - if s.ContentTypeProfiles != nil { - if err := s.ContentTypeProfiles.Validate(); err != nil { - invalidParams.AddNested("ContentTypeProfiles", err.(request.ErrInvalidParams)) + if s.Cookies != nil { + if err := s.Cookies.Validate(); err != nil { + invalidParams.AddNested("Cookies", err.(request.ErrInvalidParams)) } } @@ -5692,55 +7362,62 @@ func (s *ContentTypeProfileConfig) Validate() error { return nil } -// SetContentTypeProfiles sets the ContentTypeProfiles field's value. -func (s *ContentTypeProfileConfig) SetContentTypeProfiles(v *ContentTypeProfiles) *ContentTypeProfileConfig { - s.ContentTypeProfiles = v +// SetCookieBehavior sets the CookieBehavior field's value. +func (s *CachePolicyCookiesConfig) SetCookieBehavior(v string) *CachePolicyCookiesConfig { + s.CookieBehavior = &v return s } -// SetForwardWhenContentTypeIsUnknown sets the ForwardWhenContentTypeIsUnknown field's value. -func (s *ContentTypeProfileConfig) SetForwardWhenContentTypeIsUnknown(v bool) *ContentTypeProfileConfig { - s.ForwardWhenContentTypeIsUnknown = &v +// SetCookies sets the Cookies field's value. +func (s *CachePolicyCookiesConfig) SetCookies(v *CookieNames) *CachePolicyCookiesConfig { + s.Cookies = v return s } -// Field-level encryption content type-profile. -type ContentTypeProfiles struct { +// An object that determines whether any HTTP headers (and if so, which headers) +// are included in the cache key and automatically included in requests that +// CloudFront sends to the origin. +type CachePolicyHeadersConfig struct { _ struct{} `type:"structure"` - // Items in a field-level encryption content type-profile mapping. - Items []*ContentTypeProfile `locationNameList:"ContentTypeProfile" type:"list"` - - // The number of field-level encryption content type-profile mappings. + // Determines whether any HTTP headers are included in the cache key and automatically + // included in requests that CloudFront sends to the origin. Valid values are: // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // * none – HTTP headers are not included in the cache key and are not + // automatically included in requests that CloudFront sends to the origin. + // Even when this field is set to none, any headers that are listed in an + // OriginRequestPolicy are included in origin requests. + // + // * whitelist – The HTTP headers that are listed in the Headers type are + // included in the cache key and are automatically included in requests that + // CloudFront sends to the origin. + // + // HeaderBehavior is a required field + HeaderBehavior *string `type:"string" required:"true" enum:"CachePolicyHeaderBehavior"` + + // Contains a list of HTTP header names. + Headers *Headers `type:"structure"` } // String returns the string representation -func (s ContentTypeProfiles) String() string { +func (s CachePolicyHeadersConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ContentTypeProfiles) GoString() string { +func (s CachePolicyHeadersConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ContentTypeProfiles) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfiles"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) +func (s *CachePolicyHeadersConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CachePolicyHeadersConfig"} + if s.HeaderBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderBehavior")) } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } + if s.Headers != nil { + if err := s.Headers.Validate(); err != nil { + invalidParams.AddNested("Headers", err.(request.ErrInvalidParams)) } } @@ -5750,131 +7427,134 @@ func (s *ContentTypeProfiles) Validate() error { return nil } -// SetItems sets the Items field's value. -func (s *ContentTypeProfiles) SetItems(v []*ContentTypeProfile) *ContentTypeProfiles { - s.Items = v +// SetHeaderBehavior sets the HeaderBehavior field's value. +func (s *CachePolicyHeadersConfig) SetHeaderBehavior(v string) *CachePolicyHeadersConfig { + s.HeaderBehavior = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *ContentTypeProfiles) SetQuantity(v int64) *ContentTypeProfiles { - s.Quantity = &v +// SetHeaders sets the Headers field's value. +func (s *CachePolicyHeadersConfig) SetHeaders(v *Headers) *CachePolicyHeadersConfig { + s.Headers = v return s } -// A complex type that specifies whether you want CloudFront to forward cookies -// to the origin and, if so, which ones. For more information about forwarding -// cookies to the origin, see Caching Content Based on Request Headers (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) -// in the Amazon CloudFront Developer Guide. -type CookieNames struct { +// A list of cache policies. +type CachePolicyList struct { _ struct{} `type:"structure"` - // A complex type that contains one Name element for each cookie that you want - // CloudFront to forward to the origin for this cache behavior. It must contain - // the same number of items that is specified in the Quantity field. - // - // When you set Forward = whitelist (in the CookiePreferences object), this - // field must contain at least one item. - Items []*string `locationNameList:"Name" type:"list"` + // Contains the cache policies in the list. + Items []*CachePolicySummary `locationNameList:"CachePolicySummary" type:"list"` - // The number of different cookies that you want CloudFront to forward to the - // origin for this cache behavior. The value must equal the number of items - // that are in the Items field. + // The maximum number of cache policies requested. // - // When you set Forward = whitelist (in the CookiePreferences object), this - // value must be 1 or higher. + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` + + // If there are more items in the list than are in this response, this element + // is present. It contains the value that you should use in the Marker field + // of a subsequent request to continue listing cache policies where you left + // off. + NextMarker *string `type:"string"` + + // The total number of cache policies returned in the response. // // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s CookieNames) String() string { +func (s CachePolicyList) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CookieNames) GoString() string { +func (s CachePolicyList) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CookieNames) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CookieNames"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) - } +// SetItems sets the Items field's value. +func (s *CachePolicyList) SetItems(v []*CachePolicySummary) *CachePolicyList { + s.Items = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetMaxItems sets the MaxItems field's value. +func (s *CachePolicyList) SetMaxItems(v int64) *CachePolicyList { + s.MaxItems = &v + return s } -// SetItems sets the Items field's value. -func (s *CookieNames) SetItems(v []*string) *CookieNames { - s.Items = v +// SetNextMarker sets the NextMarker field's value. +func (s *CachePolicyList) SetNextMarker(v string) *CachePolicyList { + s.NextMarker = &v return s } // SetQuantity sets the Quantity field's value. -func (s *CookieNames) SetQuantity(v int64) *CookieNames { +func (s *CachePolicyList) SetQuantity(v int64) *CachePolicyList { s.Quantity = &v return s } -// A complex type that specifies whether you want CloudFront to forward cookies -// to the origin and, if so, which ones. For more information about forwarding -// cookies to the origin, see Caching Content Based on Cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) -// in the Amazon CloudFront Developer Guide. -type CookiePreference struct { +// An object that determines whether any URL query strings in viewer requests +// (and if so, which query strings) are included in the cache key and automatically +// included in requests that CloudFront sends to the origin. +type CachePolicyQueryStringsConfig struct { _ struct{} `type:"structure"` - // Specifies which cookies to forward to the origin for this cache behavior: - // all, none, or the list of cookies specified in the WhitelistedNames complex - // type. + // Determines whether any URL query strings in viewer requests are included + // in the cache key and automatically included in requests that CloudFront sends + // to the origin. Valid values are: // - // Amazon S3 doesn't process cookies. When the cache behavior is forwarding - // requests to an Amazon S3 origin, specify none for the Forward element. + // * none – Query strings in viewer requests are not included in the cache + // key and are not automatically included in requests that CloudFront sends + // to the origin. Even when this field is set to none, any query strings + // that are listed in an OriginRequestPolicy are included in origin requests. // - // Forward is a required field - Forward *string `type:"string" required:"true" enum:"ItemSelection"` - - // Required if you specify whitelist for the value of Forward. A complex type - // that specifies how many different cookies you want CloudFront to forward - // to the origin for this cache behavior and, if you want to forward selected - // cookies, the names of those cookies. + // * whitelist – The query strings in viewer requests that are listed in + // the QueryStringNames type are included in the cache key and automatically + // included in requests that CloudFront sends to the origin. // - // If you specify all or none for the value of Forward, omit WhitelistedNames. - // If you change the value of Forward from whitelist to all or none and you - // don't delete the WhitelistedNames element and its child elements, CloudFront - // deletes them automatically. + // * allExcept – All query strings in viewer requests that are not listed + // in the QueryStringNames type are included in the cache key and automatically + // included in requests that CloudFront sends to the origin. // - // For the current limit on the number of cookie names that you can whitelist - // for each cache behavior, see CloudFront Limits (https://docs.aws.amazon.com/general/latest/gr/xrefaws_service_limits.html#limits_cloudfront) - // in the AWS General Reference. - WhitelistedNames *CookieNames `type:"structure"` + // * all – All query strings in viewer requests are included in the cache + // key and are automatically included in requests that CloudFront sends to + // the origin. + // + // QueryStringBehavior is a required field + QueryStringBehavior *string `type:"string" required:"true" enum:"CachePolicyQueryStringBehavior"` + + // Contains the specific query strings in viewer requests that either are or + // are not included in the cache key and automatically included in requests + // that CloudFront sends to the origin. The behavior depends on whether the + // QueryStringBehavior field in the CachePolicyQueryStringsConfig type is set + // to whitelist (the listed query strings are included) or allExcept (the listed + // query strings are not included, but all other query strings are). + QueryStrings *QueryStringNames `type:"structure"` } // String returns the string representation -func (s CookiePreference) String() string { +func (s CachePolicyQueryStringsConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CookiePreference) GoString() string { +func (s CachePolicyQueryStringsConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CookiePreference) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CookiePreference"} - if s.Forward == nil { - invalidParams.Add(request.NewErrParamRequired("Forward")) - } - if s.WhitelistedNames != nil { - if err := s.WhitelistedNames.Validate(); err != nil { - invalidParams.AddNested("WhitelistedNames", err.(request.ErrInvalidParams)) +func (s *CachePolicyQueryStringsConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CachePolicyQueryStringsConfig"} + if s.QueryStringBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("QueryStringBehavior")) + } + if s.QueryStrings != nil { + if err := s.QueryStrings.Validate(); err != nil { + invalidParams.AddNested("QueryStrings", err.(request.ErrInvalidParams)) } } @@ -5884,140 +7564,157 @@ func (s *CookiePreference) Validate() error { return nil } -// SetForward sets the Forward field's value. -func (s *CookiePreference) SetForward(v string) *CookiePreference { - s.Forward = &v +// SetQueryStringBehavior sets the QueryStringBehavior field's value. +func (s *CachePolicyQueryStringsConfig) SetQueryStringBehavior(v string) *CachePolicyQueryStringsConfig { + s.QueryStringBehavior = &v return s } -// SetWhitelistedNames sets the WhitelistedNames field's value. -func (s *CookiePreference) SetWhitelistedNames(v *CookieNames) *CookiePreference { - s.WhitelistedNames = v +// SetQueryStrings sets the QueryStrings field's value. +func (s *CachePolicyQueryStringsConfig) SetQueryStrings(v *QueryStringNames) *CachePolicyQueryStringsConfig { + s.QueryStrings = v return s } -// The request to create a new origin access identity (OAI). An origin access -// identity is a special CloudFront user that you can associate with Amazon -// S3 origins, so that you can secure all or just some of your Amazon S3 content. -// For more information, see Restricting Access to Amazon S3 Content by Using -// an Origin Access Identity (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) -// in the Amazon CloudFront Developer Guide. -type CreateCloudFrontOriginAccessIdentityInput struct { - _ struct{} `locationName:"CreateCloudFrontOriginAccessIdentityRequest" type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` +// Contains a cache policy. +type CachePolicySummary struct { + _ struct{} `type:"structure"` - // The current configuration information for the identity. + // The cache policy. // - // CloudFrontOriginAccessIdentityConfig is a required field - CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // CachePolicy is a required field + CachePolicy *CachePolicy `type:"structure" required:"true"` + + // The type of cache policy, either managed (created by AWS) or custom (created + // in this AWS account). + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"CachePolicyType"` } // String returns the string representation -func (s CreateCloudFrontOriginAccessIdentityInput) String() string { +func (s CachePolicySummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateCloudFrontOriginAccessIdentityInput) GoString() string { +func (s CachePolicySummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateCloudFrontOriginAccessIdentityInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateCloudFrontOriginAccessIdentityInput"} - if s.CloudFrontOriginAccessIdentityConfig == nil { - invalidParams.Add(request.NewErrParamRequired("CloudFrontOriginAccessIdentityConfig")) - } - if s.CloudFrontOriginAccessIdentityConfig != nil { - if err := s.CloudFrontOriginAccessIdentityConfig.Validate(); err != nil { - invalidParams.AddNested("CloudFrontOriginAccessIdentityConfig", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCachePolicy sets the CachePolicy field's value. +func (s *CachePolicySummary) SetCachePolicy(v *CachePolicy) *CachePolicySummary { + s.CachePolicy = v + return s } -// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. -func (s *CreateCloudFrontOriginAccessIdentityInput) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *CreateCloudFrontOriginAccessIdentityInput { - s.CloudFrontOriginAccessIdentityConfig = v +// SetType sets the Type field's value. +func (s *CachePolicySummary) SetType(v string) *CachePolicySummary { + s.Type = &v return s } -// The returned result of the corresponding request. -type CreateCloudFrontOriginAccessIdentityOutput struct { - _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"` - - // The origin access identity's information. - CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"` +// A complex type that controls whether CloudFront caches the response to requests +// using the specified HTTP methods. There are two choices: +// +// * CloudFront caches responses to GET and HEAD requests. +// +// * CloudFront caches responses to GET, HEAD, and OPTIONS requests. +// +// If you pick the second choice for your Amazon S3 Origin, you may need to +// forward Access-Control-Request-Method, Access-Control-Request-Headers, and +// Origin headers for the responses to be cached correctly. +type CachedMethods struct { + _ struct{} `type:"structure"` - // The current version of the origin access identity created. - ETag *string `location:"header" locationName:"ETag" type:"string"` + // A complex type that contains the HTTP methods that you want CloudFront to + // cache responses to. + // + // Items is a required field + Items []*string `locationNameList:"Method" type:"list" required:"true"` - // The fully qualified URI of the new origin access identity just created. For - // example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A. - Location *string `location:"header" locationName:"Location" type:"string"` + // The number of HTTP methods for which you want CloudFront to cache responses. + // Valid values are 2 (for caching responses to GET and HEAD requests) and 3 + // (for caching responses to GET, HEAD, and OPTIONS requests). + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s CreateCloudFrontOriginAccessIdentityOutput) String() string { +func (s CachedMethods) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateCloudFrontOriginAccessIdentityOutput) GoString() string { +func (s CachedMethods) GoString() string { return s.String() } -// SetCloudFrontOriginAccessIdentity sets the CloudFrontOriginAccessIdentity field's value. -func (s *CreateCloudFrontOriginAccessIdentityOutput) SetCloudFrontOriginAccessIdentity(v *OriginAccessIdentity) *CreateCloudFrontOriginAccessIdentityOutput { - s.CloudFrontOriginAccessIdentity = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CachedMethods) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CachedMethods"} + if s.Items == nil { + invalidParams.Add(request.NewErrParamRequired("Items")) + } + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetETag sets the ETag field's value. -func (s *CreateCloudFrontOriginAccessIdentityOutput) SetETag(v string) *CreateCloudFrontOriginAccessIdentityOutput { - s.ETag = &v +// SetItems sets the Items field's value. +func (s *CachedMethods) SetItems(v []*string) *CachedMethods { + s.Items = v return s } -// SetLocation sets the Location field's value. -func (s *CreateCloudFrontOriginAccessIdentityOutput) SetLocation(v string) *CreateCloudFrontOriginAccessIdentityOutput { - s.Location = &v +// SetQuantity sets the Quantity field's value. +func (s *CachedMethods) SetQuantity(v int64) *CachedMethods { + s.Quantity = &v return s } -// The request to create a new distribution. -type CreateDistributionInput struct { - _ struct{} `locationName:"CreateDistributionRequest" type:"structure" payload:"DistributionConfig"` +// A field-level encryption content type profile. +type ContentTypeProfile struct { + _ struct{} `type:"structure"` - // The distribution's configuration information. + // The content type for a field-level encryption content type-profile mapping. // - // DistributionConfig is a required field - DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // ContentType is a required field + ContentType *string `type:"string" required:"true"` + + // The format for a field-level encryption content type-profile mapping. + // + // Format is a required field + Format *string `type:"string" required:"true" enum:"Format"` + + // The profile ID for a field-level encryption content type-profile mapping. + ProfileId *string `type:"string"` } // String returns the string representation -func (s CreateDistributionInput) String() string { +func (s ContentTypeProfile) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDistributionInput) GoString() string { +func (s ContentTypeProfile) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDistributionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDistributionInput"} - if s.DistributionConfig == nil { - invalidParams.Add(request.NewErrParamRequired("DistributionConfig")) +func (s *ContentTypeProfile) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfile"} + if s.ContentType == nil { + invalidParams.Add(request.NewErrParamRequired("ContentType")) } - if s.DistributionConfig != nil { - if err := s.DistributionConfig.Validate(); err != nil { - invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams)) - } + if s.Format == nil { + invalidParams.Add(request.NewErrParamRequired("Format")) } if invalidParams.Len() > 0 { @@ -6026,84 +7723,118 @@ func (s *CreateDistributionInput) Validate() error { return nil } -// SetDistributionConfig sets the DistributionConfig field's value. -func (s *CreateDistributionInput) SetDistributionConfig(v *DistributionConfig) *CreateDistributionInput { - s.DistributionConfig = v +// SetContentType sets the ContentType field's value. +func (s *ContentTypeProfile) SetContentType(v string) *ContentTypeProfile { + s.ContentType = &v return s } -// The returned result of the corresponding request. -type CreateDistributionOutput struct { - _ struct{} `type:"structure" payload:"Distribution"` +// SetFormat sets the Format field's value. +func (s *ContentTypeProfile) SetFormat(v string) *ContentTypeProfile { + s.Format = &v + return s +} - // The distribution's information. - Distribution *Distribution `type:"structure"` +// SetProfileId sets the ProfileId field's value. +func (s *ContentTypeProfile) SetProfileId(v string) *ContentTypeProfile { + s.ProfileId = &v + return s +} - // The current version of the distribution created. - ETag *string `location:"header" locationName:"ETag" type:"string"` +// The configuration for a field-level encryption content type-profile mapping. +type ContentTypeProfileConfig struct { + _ struct{} `type:"structure"` - // The fully qualified URI of the new distribution resource just created. For - // example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5. - Location *string `location:"header" locationName:"Location" type:"string"` + // The configuration for a field-level encryption content type-profile. + ContentTypeProfiles *ContentTypeProfiles `type:"structure"` + + // The setting in a field-level encryption content type-profile mapping that + // specifies what to do when an unknown content type is provided for the profile. + // If true, content is forwarded without being encrypted when the content type + // is unknown. If false (the default), an error is returned when the content + // type is unknown. + // + // ForwardWhenContentTypeIsUnknown is a required field + ForwardWhenContentTypeIsUnknown *bool `type:"boolean" required:"true"` } // String returns the string representation -func (s CreateDistributionOutput) String() string { +func (s ContentTypeProfileConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDistributionOutput) GoString() string { +func (s ContentTypeProfileConfig) GoString() string { return s.String() } -// SetDistribution sets the Distribution field's value. -func (s *CreateDistributionOutput) SetDistribution(v *Distribution) *CreateDistributionOutput { - s.Distribution = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContentTypeProfileConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfileConfig"} + if s.ForwardWhenContentTypeIsUnknown == nil { + invalidParams.Add(request.NewErrParamRequired("ForwardWhenContentTypeIsUnknown")) + } + if s.ContentTypeProfiles != nil { + if err := s.ContentTypeProfiles.Validate(); err != nil { + invalidParams.AddNested("ContentTypeProfiles", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetETag sets the ETag field's value. -func (s *CreateDistributionOutput) SetETag(v string) *CreateDistributionOutput { - s.ETag = &v +// SetContentTypeProfiles sets the ContentTypeProfiles field's value. +func (s *ContentTypeProfileConfig) SetContentTypeProfiles(v *ContentTypeProfiles) *ContentTypeProfileConfig { + s.ContentTypeProfiles = v return s } -// SetLocation sets the Location field's value. -func (s *CreateDistributionOutput) SetLocation(v string) *CreateDistributionOutput { - s.Location = &v +// SetForwardWhenContentTypeIsUnknown sets the ForwardWhenContentTypeIsUnknown field's value. +func (s *ContentTypeProfileConfig) SetForwardWhenContentTypeIsUnknown(v bool) *ContentTypeProfileConfig { + s.ForwardWhenContentTypeIsUnknown = &v return s } -// The request to create a new distribution with tags. -type CreateDistributionWithTagsInput struct { - _ struct{} `locationName:"CreateDistributionWithTagsRequest" type:"structure" payload:"DistributionConfigWithTags"` +// Field-level encryption content type-profile. +type ContentTypeProfiles struct { + _ struct{} `type:"structure"` - // The distribution's configuration information. + // Items in a field-level encryption content type-profile mapping. + Items []*ContentTypeProfile `locationNameList:"ContentTypeProfile" type:"list"` + + // The number of field-level encryption content type-profile mappings. // - // DistributionConfigWithTags is a required field - DistributionConfigWithTags *DistributionConfigWithTags `locationName:"DistributionConfigWithTags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s CreateDistributionWithTagsInput) String() string { +func (s ContentTypeProfiles) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDistributionWithTagsInput) GoString() string { +func (s ContentTypeProfiles) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDistributionWithTagsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDistributionWithTagsInput"} - if s.DistributionConfigWithTags == nil { - invalidParams.Add(request.NewErrParamRequired("DistributionConfigWithTags")) +func (s *ContentTypeProfiles) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfiles"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) } - if s.DistributionConfigWithTags != nil { - if err := s.DistributionConfigWithTags.Validate(); err != nil { - invalidParams.AddNested("DistributionConfigWithTags", err.(request.ErrInvalidParams)) + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } } } @@ -6113,83 +7844,151 @@ func (s *CreateDistributionWithTagsInput) Validate() error { return nil } -// SetDistributionConfigWithTags sets the DistributionConfigWithTags field's value. -func (s *CreateDistributionWithTagsInput) SetDistributionConfigWithTags(v *DistributionConfigWithTags) *CreateDistributionWithTagsInput { - s.DistributionConfigWithTags = v +// SetItems sets the Items field's value. +func (s *ContentTypeProfiles) SetItems(v []*ContentTypeProfile) *ContentTypeProfiles { + s.Items = v return s } -// The returned result of the corresponding request. -type CreateDistributionWithTagsOutput struct { - _ struct{} `type:"structure" payload:"Distribution"` +// SetQuantity sets the Quantity field's value. +func (s *ContentTypeProfiles) SetQuantity(v int64) *ContentTypeProfiles { + s.Quantity = &v + return s +} - // The distribution's information. - Distribution *Distribution `type:"structure"` +// Contains a list of cookie names. +type CookieNames struct { + _ struct{} `type:"structure"` - // The current version of the distribution created. - ETag *string `location:"header" locationName:"ETag" type:"string"` + // A list of cookie names. + Items []*string `locationNameList:"Name" type:"list"` - // The fully qualified URI of the new distribution resource just created. For - // example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5. - Location *string `location:"header" locationName:"Location" type:"string"` + // The number of cookie names in the Items list. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s CreateDistributionWithTagsOutput) String() string { +func (s CookieNames) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDistributionWithTagsOutput) GoString() string { +func (s CookieNames) GoString() string { return s.String() } -// SetDistribution sets the Distribution field's value. -func (s *CreateDistributionWithTagsOutput) SetDistribution(v *Distribution) *CreateDistributionWithTagsOutput { - s.Distribution = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CookieNames) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CookieNames"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetETag sets the ETag field's value. -func (s *CreateDistributionWithTagsOutput) SetETag(v string) *CreateDistributionWithTagsOutput { - s.ETag = &v +// SetItems sets the Items field's value. +func (s *CookieNames) SetItems(v []*string) *CookieNames { + s.Items = v return s } -// SetLocation sets the Location field's value. -func (s *CreateDistributionWithTagsOutput) SetLocation(v string) *CreateDistributionWithTagsOutput { - s.Location = &v +// SetQuantity sets the Quantity field's value. +func (s *CookieNames) SetQuantity(v int64) *CookieNames { + s.Quantity = &v return s } -type CreateFieldLevelEncryptionConfigInput struct { - _ struct{} `locationName:"CreateFieldLevelEncryptionConfigRequest" type:"structure" payload:"FieldLevelEncryptionConfig"` +// This field is deprecated. We recommend that you use a cache policy or an +// origin request policy instead of this field. +// +// If you want to include cookies in the cache key, use CookiesConfig in a cache +// policy. See CreateCachePolicy. +// +// If you want to send cookies to the origin but not include them in the cache +// key, use CookiesConfig in an origin request policy. See CreateOriginRequestPolicy. +// +// A complex type that specifies whether you want CloudFront to forward cookies +// to the origin and, if so, which ones. For more information about forwarding +// cookies to the origin, see Caching Content Based on Cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) +// in the Amazon CloudFront Developer Guide. +type CookiePreference struct { + _ struct{} `type:"structure"` - // The request to create a new field-level encryption configuration. + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. // - // FieldLevelEncryptionConfig is a required field - FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `locationName:"FieldLevelEncryptionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // If you want to include cookies in the cache key, use a cache policy. For + // more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // in the Amazon CloudFront Developer Guide. + // + // If you want to send cookies to the origin but not include them in the cache + // key, use origin request policy. For more information, see Creating origin + // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // in the Amazon CloudFront Developer Guide. + // + // Specifies which cookies to forward to the origin for this cache behavior: + // all, none, or the list of cookies specified in the WhitelistedNames complex + // type. + // + // Amazon S3 doesn't process cookies. When the cache behavior is forwarding + // requests to an Amazon S3 origin, specify none for the Forward element. + // + // Forward is a required field + Forward *string `type:"string" required:"true" enum:"ItemSelection"` + + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. + // + // If you want to include cookies in the cache key, use a cache policy. For + // more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // in the Amazon CloudFront Developer Guide. + // + // If you want to send cookies to the origin but not include them in the cache + // key, use an origin request policy. For more information, see Creating origin + // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // in the Amazon CloudFront Developer Guide. + // + // Required if you specify whitelist for the value of Forward. A complex type + // that specifies how many different cookies you want CloudFront to forward + // to the origin for this cache behavior and, if you want to forward selected + // cookies, the names of those cookies. + // + // If you specify all or none for the value of Forward, omit WhitelistedNames. + // If you change the value of Forward from whitelist to all or none and you + // don't delete the WhitelistedNames element and its child elements, CloudFront + // deletes them automatically. + // + // For the current limit on the number of cookie names that you can whitelist + // for each cache behavior, see CloudFront Limits (https://docs.aws.amazon.com/general/latest/gr/xrefaws_service_limits.html#limits_cloudfront) + // in the AWS General Reference. + WhitelistedNames *CookieNames `type:"structure"` } // String returns the string representation -func (s CreateFieldLevelEncryptionConfigInput) String() string { +func (s CookiePreference) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateFieldLevelEncryptionConfigInput) GoString() string { +func (s CookiePreference) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFieldLevelEncryptionConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFieldLevelEncryptionConfigInput"} - if s.FieldLevelEncryptionConfig == nil { - invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionConfig")) +func (s *CookiePreference) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CookiePreference"} + if s.Forward == nil { + invalidParams.Add(request.NewErrParamRequired("Forward")) } - if s.FieldLevelEncryptionConfig != nil { - if err := s.FieldLevelEncryptionConfig.Validate(); err != nil { - invalidParams.AddNested("FieldLevelEncryptionConfig", err.(request.ErrInvalidParams)) + if s.WhitelistedNames != nil { + if err := s.WhitelistedNames.Validate(); err != nil { + invalidParams.AddNested("WhitelistedNames", err.(request.ErrInvalidParams)) } } @@ -6199,83 +7998,136 @@ func (s *CreateFieldLevelEncryptionConfigInput) Validate() error { return nil } -// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. -func (s *CreateFieldLevelEncryptionConfigInput) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *CreateFieldLevelEncryptionConfigInput { - s.FieldLevelEncryptionConfig = v +// SetForward sets the Forward field's value. +func (s *CookiePreference) SetForward(v string) *CookiePreference { + s.Forward = &v return s } -type CreateFieldLevelEncryptionConfigOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryption"` +// SetWhitelistedNames sets the WhitelistedNames field's value. +func (s *CookiePreference) SetWhitelistedNames(v *CookieNames) *CookiePreference { + s.WhitelistedNames = v + return s +} - // The current version of the field level encryption configuration. For example: - // E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` +type CreateCachePolicyInput struct { + _ struct{} `locationName:"CreateCachePolicyRequest" type:"structure" payload:"CachePolicyConfig"` - // Returned when you create a new field-level encryption configuration. - FieldLevelEncryption *FieldLevelEncryption `type:"structure"` + // A cache policy configuration. + // + // CachePolicyConfig is a required field + CachePolicyConfig *CachePolicyConfig `locationName:"CachePolicyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` +} + +// String returns the string representation +func (s CreateCachePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCachePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCachePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCachePolicyInput"} + if s.CachePolicyConfig == nil { + invalidParams.Add(request.NewErrParamRequired("CachePolicyConfig")) + } + if s.CachePolicyConfig != nil { + if err := s.CachePolicyConfig.Validate(); err != nil { + invalidParams.AddNested("CachePolicyConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCachePolicyConfig sets the CachePolicyConfig field's value. +func (s *CreateCachePolicyInput) SetCachePolicyConfig(v *CachePolicyConfig) *CreateCachePolicyInput { + s.CachePolicyConfig = v + return s +} + +type CreateCachePolicyOutput struct { + _ struct{} `type:"structure" payload:"CachePolicy"` + + // A cache policy. + CachePolicy *CachePolicy `type:"structure"` + + // The current version of the cache policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` - // The fully qualified URI of the new configuration resource just created. For - // example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-config/EDFDVBD632BHDS5. + // The fully qualified URI of the cache policy just created. Location *string `location:"header" locationName:"Location" type:"string"` } // String returns the string representation -func (s CreateFieldLevelEncryptionConfigOutput) String() string { +func (s CreateCachePolicyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateFieldLevelEncryptionConfigOutput) GoString() string { +func (s CreateCachePolicyOutput) GoString() string { return s.String() } -// SetETag sets the ETag field's value. -func (s *CreateFieldLevelEncryptionConfigOutput) SetETag(v string) *CreateFieldLevelEncryptionConfigOutput { - s.ETag = &v +// SetCachePolicy sets the CachePolicy field's value. +func (s *CreateCachePolicyOutput) SetCachePolicy(v *CachePolicy) *CreateCachePolicyOutput { + s.CachePolicy = v return s } -// SetFieldLevelEncryption sets the FieldLevelEncryption field's value. -func (s *CreateFieldLevelEncryptionConfigOutput) SetFieldLevelEncryption(v *FieldLevelEncryption) *CreateFieldLevelEncryptionConfigOutput { - s.FieldLevelEncryption = v +// SetETag sets the ETag field's value. +func (s *CreateCachePolicyOutput) SetETag(v string) *CreateCachePolicyOutput { + s.ETag = &v return s } // SetLocation sets the Location field's value. -func (s *CreateFieldLevelEncryptionConfigOutput) SetLocation(v string) *CreateFieldLevelEncryptionConfigOutput { +func (s *CreateCachePolicyOutput) SetLocation(v string) *CreateCachePolicyOutput { s.Location = &v return s } -type CreateFieldLevelEncryptionProfileInput struct { - _ struct{} `locationName:"CreateFieldLevelEncryptionProfileRequest" type:"structure" payload:"FieldLevelEncryptionProfileConfig"` +// The request to create a new origin access identity (OAI). An origin access +// identity is a special CloudFront user that you can associate with Amazon +// S3 origins, so that you can secure all or just some of your Amazon S3 content. +// For more information, see Restricting Access to Amazon S3 Content by Using +// an Origin Access Identity (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) +// in the Amazon CloudFront Developer Guide. +type CreateCloudFrontOriginAccessIdentityInput struct { + _ struct{} `locationName:"CreateCloudFrontOriginAccessIdentityRequest" type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` - // The request to create a field-level encryption profile. + // The current configuration information for the identity. // - // FieldLevelEncryptionProfileConfig is a required field - FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `locationName:"FieldLevelEncryptionProfileConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // CloudFrontOriginAccessIdentityConfig is a required field + CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CreateFieldLevelEncryptionProfileInput) String() string { +func (s CreateCloudFrontOriginAccessIdentityInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateFieldLevelEncryptionProfileInput) GoString() string { +func (s CreateCloudFrontOriginAccessIdentityInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFieldLevelEncryptionProfileInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFieldLevelEncryptionProfileInput"} - if s.FieldLevelEncryptionProfileConfig == nil { - invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionProfileConfig")) +func (s *CreateCloudFrontOriginAccessIdentityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCloudFrontOriginAccessIdentityInput"} + if s.CloudFrontOriginAccessIdentityConfig == nil { + invalidParams.Add(request.NewErrParamRequired("CloudFrontOriginAccessIdentityConfig")) } - if s.FieldLevelEncryptionProfileConfig != nil { - if err := s.FieldLevelEncryptionProfileConfig.Validate(); err != nil { - invalidParams.AddNested("FieldLevelEncryptionProfileConfig", err.(request.ErrInvalidParams)) + if s.CloudFrontOriginAccessIdentityConfig != nil { + if err := s.CloudFrontOriginAccessIdentityConfig.Validate(); err != nil { + invalidParams.AddNested("CloudFrontOriginAccessIdentityConfig", err.(request.ErrInvalidParams)) } } @@ -6285,94 +8137,83 @@ func (s *CreateFieldLevelEncryptionProfileInput) Validate() error { return nil } -// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. -func (s *CreateFieldLevelEncryptionProfileInput) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *CreateFieldLevelEncryptionProfileInput { - s.FieldLevelEncryptionProfileConfig = v +// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. +func (s *CreateCloudFrontOriginAccessIdentityInput) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *CreateCloudFrontOriginAccessIdentityInput { + s.CloudFrontOriginAccessIdentityConfig = v return s } -type CreateFieldLevelEncryptionProfileOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfile"` +// The returned result of the corresponding request. +type CreateCloudFrontOriginAccessIdentityOutput struct { + _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"` - // The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` + // The origin access identity's information. + CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"` - // Returned when you create a new field-level encryption profile. - FieldLevelEncryptionProfile *FieldLevelEncryptionProfile `type:"structure"` + // The current version of the origin access identity created. + ETag *string `location:"header" locationName:"ETag" type:"string"` - // The fully qualified URI of the new profile resource just created. For example: - // https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-profile/EDFDVBD632BHDS5. + // The fully qualified URI of the new origin access identity just created. Location *string `location:"header" locationName:"Location" type:"string"` } // String returns the string representation -func (s CreateFieldLevelEncryptionProfileOutput) String() string { +func (s CreateCloudFrontOriginAccessIdentityOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateFieldLevelEncryptionProfileOutput) GoString() string { +func (s CreateCloudFrontOriginAccessIdentityOutput) GoString() string { return s.String() } -// SetETag sets the ETag field's value. -func (s *CreateFieldLevelEncryptionProfileOutput) SetETag(v string) *CreateFieldLevelEncryptionProfileOutput { - s.ETag = &v +// SetCloudFrontOriginAccessIdentity sets the CloudFrontOriginAccessIdentity field's value. +func (s *CreateCloudFrontOriginAccessIdentityOutput) SetCloudFrontOriginAccessIdentity(v *OriginAccessIdentity) *CreateCloudFrontOriginAccessIdentityOutput { + s.CloudFrontOriginAccessIdentity = v return s } -// SetFieldLevelEncryptionProfile sets the FieldLevelEncryptionProfile field's value. -func (s *CreateFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile(v *FieldLevelEncryptionProfile) *CreateFieldLevelEncryptionProfileOutput { - s.FieldLevelEncryptionProfile = v +// SetETag sets the ETag field's value. +func (s *CreateCloudFrontOriginAccessIdentityOutput) SetETag(v string) *CreateCloudFrontOriginAccessIdentityOutput { + s.ETag = &v return s } // SetLocation sets the Location field's value. -func (s *CreateFieldLevelEncryptionProfileOutput) SetLocation(v string) *CreateFieldLevelEncryptionProfileOutput { +func (s *CreateCloudFrontOriginAccessIdentityOutput) SetLocation(v string) *CreateCloudFrontOriginAccessIdentityOutput { s.Location = &v return s } -// The request to create an invalidation. -type CreateInvalidationInput struct { - _ struct{} `locationName:"CreateInvalidationRequest" type:"structure" payload:"InvalidationBatch"` - - // The distribution's id. - // - // DistributionId is a required field - DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` +// The request to create a new distribution. +type CreateDistributionInput struct { + _ struct{} `locationName:"CreateDistributionRequest" type:"structure" payload:"DistributionConfig"` - // The batch information for the invalidation. + // The distribution's configuration information. // - // InvalidationBatch is a required field - InvalidationBatch *InvalidationBatch `locationName:"InvalidationBatch" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // DistributionConfig is a required field + DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CreateInvalidationInput) String() string { +func (s CreateDistributionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInvalidationInput) GoString() string { +func (s CreateDistributionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateInvalidationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateInvalidationInput"} - if s.DistributionId == nil { - invalidParams.Add(request.NewErrParamRequired("DistributionId")) - } - if s.DistributionId != nil && len(*s.DistributionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) - } - if s.InvalidationBatch == nil { - invalidParams.Add(request.NewErrParamRequired("InvalidationBatch")) +func (s *CreateDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDistributionInput"} + if s.DistributionConfig == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionConfig")) } - if s.InvalidationBatch != nil { - if err := s.InvalidationBatch.Validate(); err != nil { - invalidParams.AddNested("InvalidationBatch", err.(request.ErrInvalidParams)) + if s.DistributionConfig != nil { + if err := s.DistributionConfig.Validate(); err != nil { + invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams)) } } @@ -6382,80 +8223,83 @@ func (s *CreateInvalidationInput) Validate() error { return nil } -// SetDistributionId sets the DistributionId field's value. -func (s *CreateInvalidationInput) SetDistributionId(v string) *CreateInvalidationInput { - s.DistributionId = &v - return s -} - -// SetInvalidationBatch sets the InvalidationBatch field's value. -func (s *CreateInvalidationInput) SetInvalidationBatch(v *InvalidationBatch) *CreateInvalidationInput { - s.InvalidationBatch = v +// SetDistributionConfig sets the DistributionConfig field's value. +func (s *CreateDistributionInput) SetDistributionConfig(v *DistributionConfig) *CreateDistributionInput { + s.DistributionConfig = v return s } // The returned result of the corresponding request. -type CreateInvalidationOutput struct { - _ struct{} `type:"structure" payload:"Invalidation"` +type CreateDistributionOutput struct { + _ struct{} `type:"structure" payload:"Distribution"` - // The invalidation's information. - Invalidation *Invalidation `type:"structure"` + // The distribution's information. + Distribution *Distribution `type:"structure"` - // The fully qualified URI of the distribution and invalidation batch request, - // including the Invalidation ID. + // The current version of the distribution created. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The fully qualified URI of the new distribution resource just created. Location *string `location:"header" locationName:"Location" type:"string"` } // String returns the string representation -func (s CreateInvalidationOutput) String() string { +func (s CreateDistributionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInvalidationOutput) GoString() string { +func (s CreateDistributionOutput) GoString() string { return s.String() } -// SetInvalidation sets the Invalidation field's value. -func (s *CreateInvalidationOutput) SetInvalidation(v *Invalidation) *CreateInvalidationOutput { - s.Invalidation = v +// SetDistribution sets the Distribution field's value. +func (s *CreateDistributionOutput) SetDistribution(v *Distribution) *CreateDistributionOutput { + s.Distribution = v + return s +} + +// SetETag sets the ETag field's value. +func (s *CreateDistributionOutput) SetETag(v string) *CreateDistributionOutput { + s.ETag = &v return s } // SetLocation sets the Location field's value. -func (s *CreateInvalidationOutput) SetLocation(v string) *CreateInvalidationOutput { +func (s *CreateDistributionOutput) SetLocation(v string) *CreateDistributionOutput { s.Location = &v return s } -type CreatePublicKeyInput struct { - _ struct{} `locationName:"CreatePublicKeyRequest" type:"structure" payload:"PublicKeyConfig"` +// The request to create a new distribution with tags. +type CreateDistributionWithTagsInput struct { + _ struct{} `locationName:"CreateDistributionWithTagsRequest" type:"structure" payload:"DistributionConfigWithTags"` - // The request to add a public key to CloudFront. + // The distribution's configuration information. // - // PublicKeyConfig is a required field - PublicKeyConfig *PublicKeyConfig `locationName:"PublicKeyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // DistributionConfigWithTags is a required field + DistributionConfigWithTags *DistributionConfigWithTags `locationName:"DistributionConfigWithTags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CreatePublicKeyInput) String() string { +func (s CreateDistributionWithTagsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreatePublicKeyInput) GoString() string { +func (s CreateDistributionWithTagsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreatePublicKeyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreatePublicKeyInput"} - if s.PublicKeyConfig == nil { - invalidParams.Add(request.NewErrParamRequired("PublicKeyConfig")) +func (s *CreateDistributionWithTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDistributionWithTagsInput"} + if s.DistributionConfigWithTags == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionConfigWithTags")) } - if s.PublicKeyConfig != nil { - if err := s.PublicKeyConfig.Validate(); err != nil { - invalidParams.AddNested("PublicKeyConfig", err.(request.ErrInvalidParams)) + if s.DistributionConfigWithTags != nil { + if err := s.DistributionConfigWithTags.Validate(); err != nil { + invalidParams.AddNested("DistributionConfigWithTags", err.(request.ErrInvalidParams)) } } @@ -6465,83 +8309,82 @@ func (s *CreatePublicKeyInput) Validate() error { return nil } -// SetPublicKeyConfig sets the PublicKeyConfig field's value. -func (s *CreatePublicKeyInput) SetPublicKeyConfig(v *PublicKeyConfig) *CreatePublicKeyInput { - s.PublicKeyConfig = v +// SetDistributionConfigWithTags sets the DistributionConfigWithTags field's value. +func (s *CreateDistributionWithTagsInput) SetDistributionConfigWithTags(v *DistributionConfigWithTags) *CreateDistributionWithTagsInput { + s.DistributionConfigWithTags = v return s } -type CreatePublicKeyOutput struct { - _ struct{} `type:"structure" payload:"PublicKey"` +// The returned result of the corresponding request. +type CreateDistributionWithTagsOutput struct { + _ struct{} `type:"structure" payload:"Distribution"` - // The current version of the public key. For example: E2QWRUHAPOMQZL. + // The distribution's information. + Distribution *Distribution `type:"structure"` + + // The current version of the distribution created. ETag *string `location:"header" locationName:"ETag" type:"string"` - // The fully qualified URI of the new public key resource just created. For - // example: https://cloudfront.amazonaws.com/2010-11-01/cloudfront-public-key/EDFDVBD632BHDS5. + // The fully qualified URI of the new distribution resource just created. Location *string `location:"header" locationName:"Location" type:"string"` - - // Returned when you add a public key. - PublicKey *PublicKey `type:"structure"` } // String returns the string representation -func (s CreatePublicKeyOutput) String() string { +func (s CreateDistributionWithTagsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreatePublicKeyOutput) GoString() string { +func (s CreateDistributionWithTagsOutput) GoString() string { return s.String() } +// SetDistribution sets the Distribution field's value. +func (s *CreateDistributionWithTagsOutput) SetDistribution(v *Distribution) *CreateDistributionWithTagsOutput { + s.Distribution = v + return s +} + // SetETag sets the ETag field's value. -func (s *CreatePublicKeyOutput) SetETag(v string) *CreatePublicKeyOutput { +func (s *CreateDistributionWithTagsOutput) SetETag(v string) *CreateDistributionWithTagsOutput { s.ETag = &v return s } // SetLocation sets the Location field's value. -func (s *CreatePublicKeyOutput) SetLocation(v string) *CreatePublicKeyOutput { +func (s *CreateDistributionWithTagsOutput) SetLocation(v string) *CreateDistributionWithTagsOutput { s.Location = &v return s } -// SetPublicKey sets the PublicKey field's value. -func (s *CreatePublicKeyOutput) SetPublicKey(v *PublicKey) *CreatePublicKeyOutput { - s.PublicKey = v - return s -} - -// The request to create a new streaming distribution. -type CreateStreamingDistributionInput struct { - _ struct{} `locationName:"CreateStreamingDistributionRequest" type:"structure" payload:"StreamingDistributionConfig"` +type CreateFieldLevelEncryptionConfigInput struct { + _ struct{} `locationName:"CreateFieldLevelEncryptionConfigRequest" type:"structure" payload:"FieldLevelEncryptionConfig"` - // The streaming distribution's configuration information. + // The request to create a new field-level encryption configuration. // - // StreamingDistributionConfig is a required field - StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // FieldLevelEncryptionConfig is a required field + FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `locationName:"FieldLevelEncryptionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CreateStreamingDistributionInput) String() string { +func (s CreateFieldLevelEncryptionConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateStreamingDistributionInput) GoString() string { +func (s CreateFieldLevelEncryptionConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateStreamingDistributionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateStreamingDistributionInput"} - if s.StreamingDistributionConfig == nil { - invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfig")) +func (s *CreateFieldLevelEncryptionConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFieldLevelEncryptionConfigInput"} + if s.FieldLevelEncryptionConfig == nil { + invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionConfig")) } - if s.StreamingDistributionConfig != nil { - if err := s.StreamingDistributionConfig.Validate(); err != nil { - invalidParams.AddNested("StreamingDistributionConfig", err.(request.ErrInvalidParams)) + if s.FieldLevelEncryptionConfig != nil { + if err := s.FieldLevelEncryptionConfig.Validate(); err != nil { + invalidParams.AddNested("FieldLevelEncryptionConfig", err.(request.ErrInvalidParams)) } } @@ -6551,84 +8394,82 @@ func (s *CreateStreamingDistributionInput) Validate() error { return nil } -// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. -func (s *CreateStreamingDistributionInput) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *CreateStreamingDistributionInput { - s.StreamingDistributionConfig = v +// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. +func (s *CreateFieldLevelEncryptionConfigInput) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *CreateFieldLevelEncryptionConfigInput { + s.FieldLevelEncryptionConfig = v return s } -// The returned result of the corresponding request. -type CreateStreamingDistributionOutput struct { - _ struct{} `type:"structure" payload:"StreamingDistribution"` +type CreateFieldLevelEncryptionConfigOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryption"` - // The current version of the streaming distribution created. + // The current version of the field level encryption configuration. For example: + // E2QWRUHAPOMQZL. ETag *string `location:"header" locationName:"ETag" type:"string"` - // The fully qualified URI of the new streaming distribution resource just created. - // For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8. - Location *string `location:"header" locationName:"Location" type:"string"` + // Returned when you create a new field-level encryption configuration. + FieldLevelEncryption *FieldLevelEncryption `type:"structure"` - // The streaming distribution's information. - StreamingDistribution *StreamingDistribution `type:"structure"` + // The fully qualified URI of the new configuration resource just created. + Location *string `location:"header" locationName:"Location" type:"string"` } // String returns the string representation -func (s CreateStreamingDistributionOutput) String() string { +func (s CreateFieldLevelEncryptionConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateStreamingDistributionOutput) GoString() string { +func (s CreateFieldLevelEncryptionConfigOutput) GoString() string { return s.String() } // SetETag sets the ETag field's value. -func (s *CreateStreamingDistributionOutput) SetETag(v string) *CreateStreamingDistributionOutput { +func (s *CreateFieldLevelEncryptionConfigOutput) SetETag(v string) *CreateFieldLevelEncryptionConfigOutput { s.ETag = &v return s } -// SetLocation sets the Location field's value. -func (s *CreateStreamingDistributionOutput) SetLocation(v string) *CreateStreamingDistributionOutput { - s.Location = &v +// SetFieldLevelEncryption sets the FieldLevelEncryption field's value. +func (s *CreateFieldLevelEncryptionConfigOutput) SetFieldLevelEncryption(v *FieldLevelEncryption) *CreateFieldLevelEncryptionConfigOutput { + s.FieldLevelEncryption = v return s } -// SetStreamingDistribution sets the StreamingDistribution field's value. -func (s *CreateStreamingDistributionOutput) SetStreamingDistribution(v *StreamingDistribution) *CreateStreamingDistributionOutput { - s.StreamingDistribution = v +// SetLocation sets the Location field's value. +func (s *CreateFieldLevelEncryptionConfigOutput) SetLocation(v string) *CreateFieldLevelEncryptionConfigOutput { + s.Location = &v return s } -// The request to create a new streaming distribution with tags. -type CreateStreamingDistributionWithTagsInput struct { - _ struct{} `locationName:"CreateStreamingDistributionWithTagsRequest" type:"structure" payload:"StreamingDistributionConfigWithTags"` +type CreateFieldLevelEncryptionProfileInput struct { + _ struct{} `locationName:"CreateFieldLevelEncryptionProfileRequest" type:"structure" payload:"FieldLevelEncryptionProfileConfig"` - // The streaming distribution's configuration information. + // The request to create a field-level encryption profile. // - // StreamingDistributionConfigWithTags is a required field - StreamingDistributionConfigWithTags *StreamingDistributionConfigWithTags `locationName:"StreamingDistributionConfigWithTags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + // FieldLevelEncryptionProfileConfig is a required field + FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `locationName:"FieldLevelEncryptionProfileConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CreateStreamingDistributionWithTagsInput) String() string { +func (s CreateFieldLevelEncryptionProfileInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateStreamingDistributionWithTagsInput) GoString() string { +func (s CreateFieldLevelEncryptionProfileInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateStreamingDistributionWithTagsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateStreamingDistributionWithTagsInput"} - if s.StreamingDistributionConfigWithTags == nil { - invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfigWithTags")) +func (s *CreateFieldLevelEncryptionProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFieldLevelEncryptionProfileInput"} + if s.FieldLevelEncryptionProfileConfig == nil { + invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionProfileConfig")) } - if s.StreamingDistributionConfigWithTags != nil { - if err := s.StreamingDistributionConfigWithTags.Validate(); err != nil { - invalidParams.AddNested("StreamingDistributionConfigWithTags", err.(request.ErrInvalidParams)) + if s.FieldLevelEncryptionProfileConfig != nil { + if err := s.FieldLevelEncryptionProfileConfig.Validate(); err != nil { + invalidParams.AddNested("FieldLevelEncryptionProfileConfig", err.(request.ErrInvalidParams)) } } @@ -6638,144 +8479,94 @@ func (s *CreateStreamingDistributionWithTagsInput) Validate() error { return nil } -// SetStreamingDistributionConfigWithTags sets the StreamingDistributionConfigWithTags field's value. -func (s *CreateStreamingDistributionWithTagsInput) SetStreamingDistributionConfigWithTags(v *StreamingDistributionConfigWithTags) *CreateStreamingDistributionWithTagsInput { - s.StreamingDistributionConfigWithTags = v +// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. +func (s *CreateFieldLevelEncryptionProfileInput) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *CreateFieldLevelEncryptionProfileInput { + s.FieldLevelEncryptionProfileConfig = v return s } -// The returned result of the corresponding request. -type CreateStreamingDistributionWithTagsOutput struct { - _ struct{} `type:"structure" payload:"StreamingDistribution"` +type CreateFieldLevelEncryptionProfileOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfile"` - // The current version of the distribution created. + // The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL. ETag *string `location:"header" locationName:"ETag" type:"string"` - // The fully qualified URI of the new streaming distribution resource just created. - // For example:https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8. - Location *string `location:"header" locationName:"Location" type:"string"` + // Returned when you create a new field-level encryption profile. + FieldLevelEncryptionProfile *FieldLevelEncryptionProfile `type:"structure"` - // The streaming distribution's information. - StreamingDistribution *StreamingDistribution `type:"structure"` + // The fully qualified URI of the new profile resource just created. + Location *string `location:"header" locationName:"Location" type:"string"` } // String returns the string representation -func (s CreateStreamingDistributionWithTagsOutput) String() string { +func (s CreateFieldLevelEncryptionProfileOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateStreamingDistributionWithTagsOutput) GoString() string { +func (s CreateFieldLevelEncryptionProfileOutput) GoString() string { return s.String() } // SetETag sets the ETag field's value. -func (s *CreateStreamingDistributionWithTagsOutput) SetETag(v string) *CreateStreamingDistributionWithTagsOutput { +func (s *CreateFieldLevelEncryptionProfileOutput) SetETag(v string) *CreateFieldLevelEncryptionProfileOutput { s.ETag = &v return s } -// SetLocation sets the Location field's value. -func (s *CreateStreamingDistributionWithTagsOutput) SetLocation(v string) *CreateStreamingDistributionWithTagsOutput { - s.Location = &v +// SetFieldLevelEncryptionProfile sets the FieldLevelEncryptionProfile field's value. +func (s *CreateFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile(v *FieldLevelEncryptionProfile) *CreateFieldLevelEncryptionProfileOutput { + s.FieldLevelEncryptionProfile = v return s } -// SetStreamingDistribution sets the StreamingDistribution field's value. -func (s *CreateStreamingDistributionWithTagsOutput) SetStreamingDistribution(v *StreamingDistribution) *CreateStreamingDistributionWithTagsOutput { - s.StreamingDistribution = v +// SetLocation sets the Location field's value. +func (s *CreateFieldLevelEncryptionProfileOutput) SetLocation(v string) *CreateFieldLevelEncryptionProfileOutput { + s.Location = &v return s } -// A complex type that controls: -// -// * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range -// with custom error messages before returning the response to the viewer. -// -// * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. -// -// For more information about custom error pages, see Customizing Error Responses -// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) -// in the Amazon CloudFront Developer Guide. -type CustomErrorResponse struct { - _ struct{} `type:"structure"` +// The request to create an invalidation. +type CreateInvalidationInput struct { + _ struct{} `locationName:"CreateInvalidationRequest" type:"structure" payload:"InvalidationBatch"` - // The minimum amount of time, in seconds, that you want CloudFront to cache - // the HTTP status code specified in ErrorCode. When this time period has elapsed, - // CloudFront queries your origin to see whether the problem that caused the - // error has been resolved and the requested object is now available. - // - // For more information, see Customizing Error Responses (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) - // in the Amazon CloudFront Developer Guide. - ErrorCachingMinTTL *int64 `type:"long"` - - // The HTTP status code for which you want to specify a custom error page and/or - // a caching duration. - // - // ErrorCode is a required field - ErrorCode *int64 `type:"integer" required:"true"` - - // The HTTP status code that you want CloudFront to return to the viewer along - // with the custom error page. There are a variety of reasons that you might - // want CloudFront to return a status code different from the status code that - // your origin returned to CloudFront, for example: - // - // * Some Internet devices (some firewalls and corporate proxies, for example) - // intercept HTTP 4xx and 5xx and prevent the response from being returned - // to the viewer. If you substitute 200, the response typically won't be - // intercepted. - // - // * If you don't care about distinguishing among different client errors - // or server errors, you can specify 400 or 500 as the ResponseCode for all - // 4xx or 5xx errors. - // - // * You might want to return a 200 status code (OK) and static website so - // your customers don't know that your website is down. + // The distribution's id. // - // If you specify a value for ResponseCode, you must also specify a value for - // ResponsePagePath. - ResponseCode *string `type:"string"` + // DistributionId is a required field + DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` - // The path to the custom error page that you want CloudFront to return to a - // viewer when your origin returns the HTTP status code specified by ErrorCode, - // for example, /4xx-errors/403-forbidden.html. If you want to store your objects - // and your custom error pages in different locations, your distribution must - // include a cache behavior for which the following is true: - // - // * The value of PathPattern matches the path to your custom error messages. - // For example, suppose you saved custom error pages for 4xx errors in an - // Amazon S3 bucket in a directory named /4xx-errors. Your distribution must - // include a cache behavior for which the path pattern routes requests for - // your custom error pages to that location, for example, /4xx-errors/*. - // - // * The value of TargetOriginId specifies the value of the ID element for - // the origin that contains your custom error pages. - // - // If you specify a value for ResponsePagePath, you must also specify a value - // for ResponseCode. + // The batch information for the invalidation. // - // We recommend that you store custom error pages in an Amazon S3 bucket. If - // you store custom error pages on an HTTP server and the server starts to return - // 5xx errors, CloudFront can't get the files that you want to return to viewers - // because the origin server is unavailable. - ResponsePagePath *string `type:"string"` + // InvalidationBatch is a required field + InvalidationBatch *InvalidationBatch `locationName:"InvalidationBatch" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CustomErrorResponse) String() string { +func (s CreateInvalidationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CustomErrorResponse) GoString() string { +func (s CreateInvalidationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CustomErrorResponse) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CustomErrorResponse"} - if s.ErrorCode == nil { - invalidParams.Add(request.NewErrParamRequired("ErrorCode")) +func (s *CreateInvalidationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateInvalidationInput"} + if s.DistributionId == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionId")) + } + if s.DistributionId != nil && len(*s.DistributionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) + } + if s.InvalidationBatch == nil { + invalidParams.Add(request.NewErrParamRequired("InvalidationBatch")) + } + if s.InvalidationBatch != nil { + if err := s.InvalidationBatch.Validate(); err != nil { + invalidParams.AddNested("InvalidationBatch", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -6784,79 +8575,80 @@ func (s *CustomErrorResponse) Validate() error { return nil } -// SetErrorCachingMinTTL sets the ErrorCachingMinTTL field's value. -func (s *CustomErrorResponse) SetErrorCachingMinTTL(v int64) *CustomErrorResponse { - s.ErrorCachingMinTTL = &v +// SetDistributionId sets the DistributionId field's value. +func (s *CreateInvalidationInput) SetDistributionId(v string) *CreateInvalidationInput { + s.DistributionId = &v return s } -// SetErrorCode sets the ErrorCode field's value. -func (s *CustomErrorResponse) SetErrorCode(v int64) *CustomErrorResponse { - s.ErrorCode = &v +// SetInvalidationBatch sets the InvalidationBatch field's value. +func (s *CreateInvalidationInput) SetInvalidationBatch(v *InvalidationBatch) *CreateInvalidationInput { + s.InvalidationBatch = v return s } -// SetResponseCode sets the ResponseCode field's value. -func (s *CustomErrorResponse) SetResponseCode(v string) *CustomErrorResponse { - s.ResponseCode = &v - return s +// The returned result of the corresponding request. +type CreateInvalidationOutput struct { + _ struct{} `type:"structure" payload:"Invalidation"` + + // The invalidation's information. + Invalidation *Invalidation `type:"structure"` + + // The fully qualified URI of the distribution and invalidation batch request, + // including the Invalidation ID. + Location *string `location:"header" locationName:"Location" type:"string"` } -// SetResponsePagePath sets the ResponsePagePath field's value. -func (s *CustomErrorResponse) SetResponsePagePath(v string) *CustomErrorResponse { - s.ResponsePagePath = &v +// String returns the string representation +func (s CreateInvalidationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateInvalidationOutput) GoString() string { + return s.String() +} + +// SetInvalidation sets the Invalidation field's value. +func (s *CreateInvalidationOutput) SetInvalidation(v *Invalidation) *CreateInvalidationOutput { + s.Invalidation = v return s } -// A complex type that controls: -// -// * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range -// with custom error messages before returning the response to the viewer. -// -// * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. -// -// For more information about custom error pages, see Customizing Error Responses -// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) -// in the Amazon CloudFront Developer Guide. -type CustomErrorResponses struct { - _ struct{} `type:"structure"` +// SetLocation sets the Location field's value. +func (s *CreateInvalidationOutput) SetLocation(v string) *CreateInvalidationOutput { + s.Location = &v + return s +} - // A complex type that contains a CustomErrorResponse element for each HTTP - // status code for which you want to specify a custom error page and/or a caching - // duration. - Items []*CustomErrorResponse `locationNameList:"CustomErrorResponse" type:"list"` +type CreateOriginRequestPolicyInput struct { + _ struct{} `locationName:"CreateOriginRequestPolicyRequest" type:"structure" payload:"OriginRequestPolicyConfig"` - // The number of HTTP status codes for which you want to specify a custom error - // page and/or a caching duration. If Quantity is 0, you can omit Items. + // An origin request policy configuration. // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // OriginRequestPolicyConfig is a required field + OriginRequestPolicyConfig *OriginRequestPolicyConfig `locationName:"OriginRequestPolicyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CustomErrorResponses) String() string { +func (s CreateOriginRequestPolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CustomErrorResponses) GoString() string { +func (s CreateOriginRequestPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CustomErrorResponses) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CustomErrorResponses"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) - } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } +func (s *CreateOriginRequestPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateOriginRequestPolicyInput"} + if s.OriginRequestPolicyConfig == nil { + invalidParams.Add(request.NewErrParamRequired("OriginRequestPolicyConfig")) + } + if s.OriginRequestPolicyConfig != nil { + if err := s.OriginRequestPolicyConfig.Validate(); err != nil { + invalidParams.AddNested("OriginRequestPolicyConfig", err.(request.ErrInvalidParams)) } } @@ -6866,145 +8658,81 @@ func (s *CustomErrorResponses) Validate() error { return nil } -// SetItems sets the Items field's value. -func (s *CustomErrorResponses) SetItems(v []*CustomErrorResponse) *CustomErrorResponses { - s.Items = v +// SetOriginRequestPolicyConfig sets the OriginRequestPolicyConfig field's value. +func (s *CreateOriginRequestPolicyInput) SetOriginRequestPolicyConfig(v *OriginRequestPolicyConfig) *CreateOriginRequestPolicyInput { + s.OriginRequestPolicyConfig = v return s } -// SetQuantity sets the Quantity field's value. -func (s *CustomErrorResponses) SetQuantity(v int64) *CustomErrorResponses { - s.Quantity = &v - return s -} +type CreateOriginRequestPolicyOutput struct { + _ struct{} `type:"structure" payload:"OriginRequestPolicy"` -// A complex type that contains the list of Custom Headers for each origin. -type CustomHeaders struct { - _ struct{} `type:"structure"` + // The current version of the origin request policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` - // Optional: A list that contains one OriginCustomHeader element for each custom - // header that you want CloudFront to forward to the origin. If Quantity is - // 0, omit Items. - Items []*OriginCustomHeader `locationNameList:"OriginCustomHeader" type:"list"` + // The fully qualified URI of the origin request policy just created. + Location *string `location:"header" locationName:"Location" type:"string"` - // The number of custom headers, if any, for this distribution. - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // An origin request policy. + OriginRequestPolicy *OriginRequestPolicy `type:"structure"` } // String returns the string representation -func (s CustomHeaders) String() string { +func (s CreateOriginRequestPolicyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CustomHeaders) GoString() string { +func (s CreateOriginRequestPolicyOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CustomHeaders) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CustomHeaders"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) - } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetETag sets the ETag field's value. +func (s *CreateOriginRequestPolicyOutput) SetETag(v string) *CreateOriginRequestPolicyOutput { + s.ETag = &v + return s } -// SetItems sets the Items field's value. -func (s *CustomHeaders) SetItems(v []*OriginCustomHeader) *CustomHeaders { - s.Items = v +// SetLocation sets the Location field's value. +func (s *CreateOriginRequestPolicyOutput) SetLocation(v string) *CreateOriginRequestPolicyOutput { + s.Location = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *CustomHeaders) SetQuantity(v int64) *CustomHeaders { - s.Quantity = &v +// SetOriginRequestPolicy sets the OriginRequestPolicy field's value. +func (s *CreateOriginRequestPolicyOutput) SetOriginRequestPolicy(v *OriginRequestPolicy) *CreateOriginRequestPolicyOutput { + s.OriginRequestPolicy = v return s } -// A custom origin or an Amazon S3 bucket configured as a website endpoint. -type CustomOriginConfig struct { - _ struct{} `type:"structure"` - - // The HTTP port the custom origin listens on. - // - // HTTPPort is a required field - HTTPPort *int64 `type:"integer" required:"true"` - - // The HTTPS port the custom origin listens on. - // - // HTTPSPort is a required field - HTTPSPort *int64 `type:"integer" required:"true"` - - // You can create a custom keep-alive timeout. All timeout units are in seconds. - // The default keep-alive timeout is 5 seconds, but you can configure custom - // timeout lengths using the CloudFront API. The minimum timeout length is 1 - // second; the maximum is 60 seconds. - // - // If you need to increase the maximum time limit, contact the AWS Support Center - // (https://console.aws.amazon.com/support/home#/). - OriginKeepaliveTimeout *int64 `type:"integer"` - - // The origin protocol policy to apply to your origin. - // - // OriginProtocolPolicy is a required field - OriginProtocolPolicy *string `type:"string" required:"true" enum:"OriginProtocolPolicy"` +type CreatePublicKeyInput struct { + _ struct{} `locationName:"CreatePublicKeyRequest" type:"structure" payload:"PublicKeyConfig"` - // You can create a custom origin read timeout. All timeout units are in seconds. - // The default origin read timeout is 30 seconds, but you can configure custom - // timeout lengths using the CloudFront API. The minimum timeout length is 4 - // seconds; the maximum is 60 seconds. + // The request to add a public key to CloudFront. // - // If you need to increase the maximum time limit, contact the AWS Support Center - // (https://console.aws.amazon.com/support/home#/). - OriginReadTimeout *int64 `type:"integer"` - - // The SSL/TLS protocols that you want CloudFront to use when communicating - // with your origin over HTTPS. - OriginSslProtocols *OriginSslProtocols `type:"structure"` + // PublicKeyConfig is a required field + PublicKeyConfig *PublicKeyConfig `locationName:"PublicKeyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s CustomOriginConfig) String() string { +func (s CreatePublicKeyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CustomOriginConfig) GoString() string { +func (s CreatePublicKeyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CustomOriginConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CustomOriginConfig"} - if s.HTTPPort == nil { - invalidParams.Add(request.NewErrParamRequired("HTTPPort")) +func (s *CreatePublicKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePublicKeyInput"} + if s.PublicKeyConfig == nil { + invalidParams.Add(request.NewErrParamRequired("PublicKeyConfig")) } - if s.HTTPSPort == nil { - invalidParams.Add(request.NewErrParamRequired("HTTPSPort")) - } - if s.OriginProtocolPolicy == nil { - invalidParams.Add(request.NewErrParamRequired("OriginProtocolPolicy")) - } - if s.OriginSslProtocols != nil { - if err := s.OriginSslProtocols.Validate(); err != nil { - invalidParams.AddNested("OriginSslProtocols", err.(request.ErrInvalidParams)) + if s.PublicKeyConfig != nil { + if err := s.PublicKeyConfig.Validate(); err != nil { + invalidParams.AddNested("PublicKeyConfig", err.(request.ErrInvalidParams)) } } @@ -7014,227 +8742,82 @@ func (s *CustomOriginConfig) Validate() error { return nil } -// SetHTTPPort sets the HTTPPort field's value. -func (s *CustomOriginConfig) SetHTTPPort(v int64) *CustomOriginConfig { - s.HTTPPort = &v +// SetPublicKeyConfig sets the PublicKeyConfig field's value. +func (s *CreatePublicKeyInput) SetPublicKeyConfig(v *PublicKeyConfig) *CreatePublicKeyInput { + s.PublicKeyConfig = v return s } -// SetHTTPSPort sets the HTTPSPort field's value. -func (s *CustomOriginConfig) SetHTTPSPort(v int64) *CustomOriginConfig { - s.HTTPSPort = &v - return s +type CreatePublicKeyOutput struct { + _ struct{} `type:"structure" payload:"PublicKey"` + + // The current version of the public key. For example: E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The fully qualified URI of the new public key resource just created. + Location *string `location:"header" locationName:"Location" type:"string"` + + // Returned when you add a public key. + PublicKey *PublicKey `type:"structure"` } -// SetOriginKeepaliveTimeout sets the OriginKeepaliveTimeout field's value. -func (s *CustomOriginConfig) SetOriginKeepaliveTimeout(v int64) *CustomOriginConfig { - s.OriginKeepaliveTimeout = &v - return s +// String returns the string representation +func (s CreatePublicKeyOutput) String() string { + return awsutil.Prettify(s) } -// SetOriginProtocolPolicy sets the OriginProtocolPolicy field's value. -func (s *CustomOriginConfig) SetOriginProtocolPolicy(v string) *CustomOriginConfig { - s.OriginProtocolPolicy = &v - return s +// GoString returns the string representation +func (s CreatePublicKeyOutput) GoString() string { + return s.String() } -// SetOriginReadTimeout sets the OriginReadTimeout field's value. -func (s *CustomOriginConfig) SetOriginReadTimeout(v int64) *CustomOriginConfig { - s.OriginReadTimeout = &v +// SetETag sets the ETag field's value. +func (s *CreatePublicKeyOutput) SetETag(v string) *CreatePublicKeyOutput { + s.ETag = &v return s } -// SetOriginSslProtocols sets the OriginSslProtocols field's value. -func (s *CustomOriginConfig) SetOriginSslProtocols(v *OriginSslProtocols) *CustomOriginConfig { - s.OriginSslProtocols = v +// SetLocation sets the Location field's value. +func (s *CreatePublicKeyOutput) SetLocation(v string) *CreatePublicKeyOutput { + s.Location = &v return s } -// A complex type that describes the default cache behavior if you don't specify -// a CacheBehavior element or if files don't match any of the values of PathPattern -// in CacheBehavior elements. You must create exactly one default cache behavior. -type DefaultCacheBehavior struct { - _ struct{} `type:"structure"` - - // A complex type that controls which HTTP methods CloudFront processes and - // forwards to your Amazon S3 bucket or your custom origin. There are three - // choices: - // - // * CloudFront forwards only GET and HEAD requests. - // - // * CloudFront forwards only GET, HEAD, and OPTIONS requests. - // - // * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE - // requests. - // - // If you pick the third choice, you may need to restrict access to your Amazon - // S3 bucket or to your custom origin so users can't perform operations that - // you don't want them to. For example, you might not want users to have permissions - // to delete objects from your origin. - AllowedMethods *AllowedMethods `type:"structure"` - - // Whether you want CloudFront to automatically compress certain files for this - // cache behavior. If so, specify true; if not, specify false. For more information, - // see Serving Compressed Files (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) - // in the Amazon CloudFront Developer Guide. - Compress *bool `type:"boolean"` - - // The default amount of time that you want objects to stay in CloudFront caches - // before CloudFront forwards another request to your origin to determine whether - // the object has been updated. The value that you specify applies only when - // your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control - // s-maxage, and Expires to objects. For more information, see Managing How - // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) - // in the Amazon CloudFront Developer Guide. - DefaultTTL *int64 `type:"long"` - - // The value of ID for the field-level encryption configuration that you want - // CloudFront to use for encrypting specific fields of data for a cache behavior - // or for the default cache behavior in your distribution. - FieldLevelEncryptionId *string `type:"string"` - - // A complex type that specifies how CloudFront handles query strings, cookies, - // and HTTP headers. - // - // ForwardedValues is a required field - ForwardedValues *ForwardedValues `type:"structure" required:"true"` - - // A complex type that contains zero or more Lambda function associations for - // a cache behavior. - LambdaFunctionAssociations *LambdaFunctionAssociations `type:"structure"` - - // The maximum amount of time that you want objects to stay in CloudFront caches - // before CloudFront forwards another request to your origin to determine whether - // the object has been updated. The value that you specify applies only when - // your origin adds HTTP headers such as Cache-Control max-age, Cache-Control - // s-maxage, and Expires to objects. For more information, see Managing How - // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) - // in the Amazon CloudFront Developer Guide. - MaxTTL *int64 `type:"long"` - - // The minimum amount of time that you want objects to stay in CloudFront caches - // before CloudFront forwards another request to your origin to determine whether - // the object has been updated. For more information, see Managing How Long - // Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) - // in the Amazon CloudFront Developer Guide. - // - // You must specify 0 for MinTTL if you configure CloudFront to forward all - // headers to your origin (under Headers, if you specify 1 for Quantity and - // * for Name). - // - // MinTTL is a required field - MinTTL *int64 `type:"long" required:"true"` - - // Indicates whether you want to distribute media files in the Microsoft Smooth - // Streaming format using the origin that is associated with this cache behavior. - // If so, specify true; if not, specify false. If you specify true for SmoothStreaming, - // you can still distribute other content using this cache behavior if the content - // matches the value of PathPattern. - SmoothStreaming *bool `type:"boolean"` - - // The value of ID for the origin that you want CloudFront to route requests - // to when a request matches the path pattern either for a cache behavior or - // for the default cache behavior in your distribution. - // - // TargetOriginId is a required field - TargetOriginId *string `type:"string" required:"true"` +// SetPublicKey sets the PublicKey field's value. +func (s *CreatePublicKeyOutput) SetPublicKey(v *PublicKey) *CreatePublicKeyOutput { + s.PublicKey = v + return s +} - // A complex type that specifies the AWS accounts, if any, that you want to - // allow to create signed URLs for private content. - // - // If you want to require signed URLs in requests for objects in the target - // origin that match the PathPattern for this cache behavior, specify true for - // Enabled, and specify the applicable values for Quantity and Items. For more - // information, see Serving Private Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) - // in the Amazon CloudFront Developer Guide. - // - // If you don't want to require signed URLs in requests for objects that match - // PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. - // - // To add, change, or remove one or more trusted signers, change Enabled to - // true (if it's currently false), change Quantity as applicable, and specify - // all of the trusted signers that you want to include in the updated distribution. - // - // TrustedSigners is a required field - TrustedSigners *TrustedSigners `type:"structure" required:"true"` +// The request to create a new streaming distribution. +type CreateStreamingDistributionInput struct { + _ struct{} `locationName:"CreateStreamingDistributionRequest" type:"structure" payload:"StreamingDistributionConfig"` - // The protocol that viewers can use to access the files in the origin specified - // by TargetOriginId when a request matches the path pattern in PathPattern. - // You can specify the following options: - // - // * allow-all: Viewers can use HTTP or HTTPS. - // - // * redirect-to-https: If a viewer submits an HTTP request, CloudFront returns - // an HTTP status code of 301 (Moved Permanently) to the viewer along with - // the HTTPS URL. The viewer then resubmits the request using the new URL. - // - // * https-only: If a viewer sends an HTTP request, CloudFront returns an - // HTTP status code of 403 (Forbidden). - // - // For more information about requiring the HTTPS protocol, see Using an HTTPS - // Connection to Access Your Objects (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html) - // in the Amazon CloudFront Developer Guide. - // - // The only way to guarantee that viewers retrieve an object that was fetched - // from the origin using HTTPS is never to use any other protocol to fetch the - // object. If you have recently changed from HTTP to HTTPS, we recommend that - // you clear your objects' cache because cached objects are protocol agnostic. - // That means that an edge location will return an object from the cache regardless - // of whether the current request protocol matches the protocol used previously. - // For more information, see Managing How Long Content Stays in an Edge Cache - // (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) - // in the Amazon CloudFront Developer Guide. + // The streaming distribution's configuration information. // - // ViewerProtocolPolicy is a required field - ViewerProtocolPolicy *string `type:"string" required:"true" enum:"ViewerProtocolPolicy"` + // StreamingDistributionConfig is a required field + StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s DefaultCacheBehavior) String() string { +func (s CreateStreamingDistributionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DefaultCacheBehavior) GoString() string { +func (s CreateStreamingDistributionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DefaultCacheBehavior) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DefaultCacheBehavior"} - if s.ForwardedValues == nil { - invalidParams.Add(request.NewErrParamRequired("ForwardedValues")) - } - if s.MinTTL == nil { - invalidParams.Add(request.NewErrParamRequired("MinTTL")) - } - if s.TargetOriginId == nil { - invalidParams.Add(request.NewErrParamRequired("TargetOriginId")) - } - if s.TrustedSigners == nil { - invalidParams.Add(request.NewErrParamRequired("TrustedSigners")) - } - if s.ViewerProtocolPolicy == nil { - invalidParams.Add(request.NewErrParamRequired("ViewerProtocolPolicy")) - } - if s.AllowedMethods != nil { - if err := s.AllowedMethods.Validate(); err != nil { - invalidParams.AddNested("AllowedMethods", err.(request.ErrInvalidParams)) - } - } - if s.ForwardedValues != nil { - if err := s.ForwardedValues.Validate(); err != nil { - invalidParams.AddNested("ForwardedValues", err.(request.ErrInvalidParams)) - } - } - if s.LambdaFunctionAssociations != nil { - if err := s.LambdaFunctionAssociations.Validate(); err != nil { - invalidParams.AddNested("LambdaFunctionAssociations", err.(request.ErrInvalidParams)) - } +func (s *CreateStreamingDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStreamingDistributionInput"} + if s.StreamingDistributionConfig == nil { + invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfig")) } - if s.TrustedSigners != nil { - if err := s.TrustedSigners.Validate(); err != nil { - invalidParams.AddNested("TrustedSigners", err.(request.ErrInvalidParams)) + if s.StreamingDistributionConfig != nil { + if err := s.StreamingDistributionConfig.Validate(); err != nil { + invalidParams.AddNested("StreamingDistributionConfig", err.(request.ErrInvalidParams)) } } @@ -7244,110 +8827,84 @@ func (s *DefaultCacheBehavior) Validate() error { return nil } -// SetAllowedMethods sets the AllowedMethods field's value. -func (s *DefaultCacheBehavior) SetAllowedMethods(v *AllowedMethods) *DefaultCacheBehavior { - s.AllowedMethods = v +// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. +func (s *CreateStreamingDistributionInput) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *CreateStreamingDistributionInput { + s.StreamingDistributionConfig = v return s } -// SetCompress sets the Compress field's value. -func (s *DefaultCacheBehavior) SetCompress(v bool) *DefaultCacheBehavior { - s.Compress = &v - return s +// The returned result of the corresponding request. +type CreateStreamingDistributionOutput struct { + _ struct{} `type:"structure" payload:"StreamingDistribution"` + + // The current version of the streaming distribution created. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The fully qualified URI of the new streaming distribution resource just created. + Location *string `location:"header" locationName:"Location" type:"string"` + + // The streaming distribution's information. + StreamingDistribution *StreamingDistribution `type:"structure"` } -// SetDefaultTTL sets the DefaultTTL field's value. -func (s *DefaultCacheBehavior) SetDefaultTTL(v int64) *DefaultCacheBehavior { - s.DefaultTTL = &v - return s +// String returns the string representation +func (s CreateStreamingDistributionOutput) String() string { + return awsutil.Prettify(s) } -// SetFieldLevelEncryptionId sets the FieldLevelEncryptionId field's value. -func (s *DefaultCacheBehavior) SetFieldLevelEncryptionId(v string) *DefaultCacheBehavior { - s.FieldLevelEncryptionId = &v - return s -} - -// SetForwardedValues sets the ForwardedValues field's value. -func (s *DefaultCacheBehavior) SetForwardedValues(v *ForwardedValues) *DefaultCacheBehavior { - s.ForwardedValues = v - return s -} - -// SetLambdaFunctionAssociations sets the LambdaFunctionAssociations field's value. -func (s *DefaultCacheBehavior) SetLambdaFunctionAssociations(v *LambdaFunctionAssociations) *DefaultCacheBehavior { - s.LambdaFunctionAssociations = v - return s -} - -// SetMaxTTL sets the MaxTTL field's value. -func (s *DefaultCacheBehavior) SetMaxTTL(v int64) *DefaultCacheBehavior { - s.MaxTTL = &v - return s -} - -// SetMinTTL sets the MinTTL field's value. -func (s *DefaultCacheBehavior) SetMinTTL(v int64) *DefaultCacheBehavior { - s.MinTTL = &v - return s -} - -// SetSmoothStreaming sets the SmoothStreaming field's value. -func (s *DefaultCacheBehavior) SetSmoothStreaming(v bool) *DefaultCacheBehavior { - s.SmoothStreaming = &v - return s +// GoString returns the string representation +func (s CreateStreamingDistributionOutput) GoString() string { + return s.String() } -// SetTargetOriginId sets the TargetOriginId field's value. -func (s *DefaultCacheBehavior) SetTargetOriginId(v string) *DefaultCacheBehavior { - s.TargetOriginId = &v +// SetETag sets the ETag field's value. +func (s *CreateStreamingDistributionOutput) SetETag(v string) *CreateStreamingDistributionOutput { + s.ETag = &v return s } -// SetTrustedSigners sets the TrustedSigners field's value. -func (s *DefaultCacheBehavior) SetTrustedSigners(v *TrustedSigners) *DefaultCacheBehavior { - s.TrustedSigners = v +// SetLocation sets the Location field's value. +func (s *CreateStreamingDistributionOutput) SetLocation(v string) *CreateStreamingDistributionOutput { + s.Location = &v return s } -// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value. -func (s *DefaultCacheBehavior) SetViewerProtocolPolicy(v string) *DefaultCacheBehavior { - s.ViewerProtocolPolicy = &v +// SetStreamingDistribution sets the StreamingDistribution field's value. +func (s *CreateStreamingDistributionOutput) SetStreamingDistribution(v *StreamingDistribution) *CreateStreamingDistributionOutput { + s.StreamingDistribution = v return s } -// Deletes a origin access identity. -type DeleteCloudFrontOriginAccessIdentityInput struct { - _ struct{} `locationName:"DeleteCloudFrontOriginAccessIdentityRequest" type:"structure"` +// The request to create a new streaming distribution with tags. +type CreateStreamingDistributionWithTagsInput struct { + _ struct{} `locationName:"CreateStreamingDistributionWithTagsRequest" type:"structure" payload:"StreamingDistributionConfigWithTags"` - // The origin access identity's ID. + // The streaming distribution's configuration information. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` - - // The value of the ETag header you received from a previous GET or PUT request. - // For example: E2QWRUHAPOMQZL. - IfMatch *string `location:"header" locationName:"If-Match" type:"string"` + // StreamingDistributionConfigWithTags is a required field + StreamingDistributionConfigWithTags *StreamingDistributionConfigWithTags `locationName:"StreamingDistributionConfigWithTags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation -func (s DeleteCloudFrontOriginAccessIdentityInput) String() string { +func (s CreateStreamingDistributionWithTagsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteCloudFrontOriginAccessIdentityInput) GoString() string { +func (s CreateStreamingDistributionWithTagsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteCloudFrontOriginAccessIdentityInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteCloudFrontOriginAccessIdentityInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *CreateStreamingDistributionWithTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStreamingDistributionWithTagsInput"} + if s.StreamingDistributionConfigWithTags == nil { + invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfigWithTags")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.StreamingDistributionConfigWithTags != nil { + if err := s.StreamingDistributionConfigWithTags.Validate(); err != nil { + invalidParams.AddNested("StreamingDistributionConfigWithTags", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -7356,98 +8913,143 @@ func (s *DeleteCloudFrontOriginAccessIdentityInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *DeleteCloudFrontOriginAccessIdentityInput) SetId(v string) *DeleteCloudFrontOriginAccessIdentityInput { - s.Id = &v +// SetStreamingDistributionConfigWithTags sets the StreamingDistributionConfigWithTags field's value. +func (s *CreateStreamingDistributionWithTagsInput) SetStreamingDistributionConfigWithTags(v *StreamingDistributionConfigWithTags) *CreateStreamingDistributionWithTagsInput { + s.StreamingDistributionConfigWithTags = v return s } -// SetIfMatch sets the IfMatch field's value. -func (s *DeleteCloudFrontOriginAccessIdentityInput) SetIfMatch(v string) *DeleteCloudFrontOriginAccessIdentityInput { - s.IfMatch = &v - return s -} +// The returned result of the corresponding request. +type CreateStreamingDistributionWithTagsOutput struct { + _ struct{} `type:"structure" payload:"StreamingDistribution"` -type DeleteCloudFrontOriginAccessIdentityOutput struct { - _ struct{} `type:"structure"` + // The current version of the distribution created. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The fully qualified URI of the new streaming distribution resource just created. + Location *string `location:"header" locationName:"Location" type:"string"` + + // The streaming distribution's information. + StreamingDistribution *StreamingDistribution `type:"structure"` } // String returns the string representation -func (s DeleteCloudFrontOriginAccessIdentityOutput) String() string { +func (s CreateStreamingDistributionWithTagsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteCloudFrontOriginAccessIdentityOutput) GoString() string { +func (s CreateStreamingDistributionWithTagsOutput) GoString() string { return s.String() } -// This action deletes a web distribution. To delete a web distribution using -// the CloudFront API, perform the following steps. -// -// To delete a web distribution using the CloudFront API: -// -// Disable the web distribution -// -// Submit a GET Distribution Config request to get the current configuration -// and the Etag header for the distribution. -// -// Update the XML document that was returned in the response to your GET Distribution -// Config request to change the value of Enabled to false. -// -// Submit a PUT Distribution Config request to update the configuration for -// your distribution. In the request body, include the XML document that you -// updated in Step 3. Set the value of the HTTP If-Match header to the value -// of the ETag header that CloudFront returned when you submitted the GET Distribution -// Config request in Step 2. -// -// Review the response to the PUT Distribution Config request to confirm that -// the distribution was successfully disabled. -// -// Submit a GET Distribution request to confirm that your changes have propagated. -// When propagation is complete, the value of Status is Deployed. +// SetETag sets the ETag field's value. +func (s *CreateStreamingDistributionWithTagsOutput) SetETag(v string) *CreateStreamingDistributionWithTagsOutput { + s.ETag = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *CreateStreamingDistributionWithTagsOutput) SetLocation(v string) *CreateStreamingDistributionWithTagsOutput { + s.Location = &v + return s +} + +// SetStreamingDistribution sets the StreamingDistribution field's value. +func (s *CreateStreamingDistributionWithTagsOutput) SetStreamingDistribution(v *StreamingDistribution) *CreateStreamingDistributionWithTagsOutput { + s.StreamingDistribution = v + return s +} + +// A complex type that controls: // -// Submit a DELETE Distribution request. Set the value of the HTTP If-Match -// header to the value of the ETag header that CloudFront returned when you -// submitted the GET Distribution Config request in Step 6. +// * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range +// with custom error messages before returning the response to the viewer. // -// Review the response to your DELETE Distribution request to confirm that the -// distribution was successfully deleted. +// * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. // -// For information about deleting a distribution using the CloudFront console, -// see Deleting a Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowToDeleteDistribution.html) +// For more information about custom error pages, see Customizing Error Responses +// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) // in the Amazon CloudFront Developer Guide. -type DeleteDistributionInput struct { - _ struct{} `locationName:"DeleteDistributionRequest" type:"structure"` +type CustomErrorResponse struct { + _ struct{} `type:"structure"` - // The distribution ID. + // The minimum amount of time, in seconds, that you want CloudFront to cache + // the HTTP status code specified in ErrorCode. When this time period has elapsed, + // CloudFront queries your origin to see whether the problem that caused the + // error has been resolved and the requested object is now available. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // For more information, see Customizing Error Responses (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) + // in the Amazon CloudFront Developer Guide. + ErrorCachingMinTTL *int64 `type:"long"` - // The value of the ETag header that you received when you disabled the distribution. - // For example: E2QWRUHAPOMQZL. - IfMatch *string `location:"header" locationName:"If-Match" type:"string"` + // The HTTP status code for which you want to specify a custom error page and/or + // a caching duration. + // + // ErrorCode is a required field + ErrorCode *int64 `type:"integer" required:"true"` + + // The HTTP status code that you want CloudFront to return to the viewer along + // with the custom error page. There are a variety of reasons that you might + // want CloudFront to return a status code different from the status code that + // your origin returned to CloudFront, for example: + // + // * Some Internet devices (some firewalls and corporate proxies, for example) + // intercept HTTP 4xx and 5xx and prevent the response from being returned + // to the viewer. If you substitute 200, the response typically won't be + // intercepted. + // + // * If you don't care about distinguishing among different client errors + // or server errors, you can specify 400 or 500 as the ResponseCode for all + // 4xx or 5xx errors. + // + // * You might want to return a 200 status code (OK) and static website so + // your customers don't know that your website is down. + // + // If you specify a value for ResponseCode, you must also specify a value for + // ResponsePagePath. + ResponseCode *string `type:"string"` + + // The path to the custom error page that you want CloudFront to return to a + // viewer when your origin returns the HTTP status code specified by ErrorCode, + // for example, /4xx-errors/403-forbidden.html. If you want to store your objects + // and your custom error pages in different locations, your distribution must + // include a cache behavior for which the following is true: + // + // * The value of PathPattern matches the path to your custom error messages. + // For example, suppose you saved custom error pages for 4xx errors in an + // Amazon S3 bucket in a directory named /4xx-errors. Your distribution must + // include a cache behavior for which the path pattern routes requests for + // your custom error pages to that location, for example, /4xx-errors/*. + // + // * The value of TargetOriginId specifies the value of the ID element for + // the origin that contains your custom error pages. + // + // If you specify a value for ResponsePagePath, you must also specify a value + // for ResponseCode. + // + // We recommend that you store custom error pages in an Amazon S3 bucket. If + // you store custom error pages on an HTTP server and the server starts to return + // 5xx errors, CloudFront can't get the files that you want to return to viewers + // because the origin server is unavailable. + ResponsePagePath *string `type:"string"` } // String returns the string representation -func (s DeleteDistributionInput) String() string { +func (s CustomErrorResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDistributionInput) GoString() string { +func (s CustomErrorResponse) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDistributionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDistributionInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) +func (s *CustomErrorResponse) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomErrorResponse"} + if s.ErrorCode == nil { + invalidParams.Add(request.NewErrParamRequired("ErrorCode")) } if invalidParams.Len() > 0 { @@ -7456,63 +9058,80 @@ func (s *DeleteDistributionInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *DeleteDistributionInput) SetId(v string) *DeleteDistributionInput { - s.Id = &v +// SetErrorCachingMinTTL sets the ErrorCachingMinTTL field's value. +func (s *CustomErrorResponse) SetErrorCachingMinTTL(v int64) *CustomErrorResponse { + s.ErrorCachingMinTTL = &v return s } -// SetIfMatch sets the IfMatch field's value. -func (s *DeleteDistributionInput) SetIfMatch(v string) *DeleteDistributionInput { - s.IfMatch = &v +// SetErrorCode sets the ErrorCode field's value. +func (s *CustomErrorResponse) SetErrorCode(v int64) *CustomErrorResponse { + s.ErrorCode = &v return s } -type DeleteDistributionOutput struct { - _ struct{} `type:"structure"` +// SetResponseCode sets the ResponseCode field's value. +func (s *CustomErrorResponse) SetResponseCode(v string) *CustomErrorResponse { + s.ResponseCode = &v + return s } -// String returns the string representation -func (s DeleteDistributionOutput) String() string { - return awsutil.Prettify(s) +// SetResponsePagePath sets the ResponsePagePath field's value. +func (s *CustomErrorResponse) SetResponsePagePath(v string) *CustomErrorResponse { + s.ResponsePagePath = &v + return s } -// GoString returns the string representation -func (s DeleteDistributionOutput) GoString() string { - return s.String() -} +// A complex type that controls: +// +// * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range +// with custom error messages before returning the response to the viewer. +// +// * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. +// +// For more information about custom error pages, see Customizing Error Responses +// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) +// in the Amazon CloudFront Developer Guide. +type CustomErrorResponses struct { + _ struct{} `type:"structure"` -type DeleteFieldLevelEncryptionConfigInput struct { - _ struct{} `locationName:"DeleteFieldLevelEncryptionConfigRequest" type:"structure"` + // A complex type that contains a CustomErrorResponse element for each HTTP + // status code for which you want to specify a custom error page and/or a caching + // duration. + Items []*CustomErrorResponse `locationNameList:"CustomErrorResponse" type:"list"` - // The ID of the configuration you want to delete from CloudFront. + // The number of HTTP status codes for which you want to specify a custom error + // page and/or a caching duration. If Quantity is 0, you can omit Items. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` - - // The value of the ETag header that you received when retrieving the configuration - // identity to delete. For example: E2QWRUHAPOMQZL. - IfMatch *string `location:"header" locationName:"If-Match" type:"string"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s DeleteFieldLevelEncryptionConfigInput) String() string { +func (s CustomErrorResponses) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteFieldLevelEncryptionConfigInput) GoString() string { +func (s CustomErrorResponses) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteFieldLevelEncryptionConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteFieldLevelEncryptionConfigInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *CustomErrorResponses) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomErrorResponses"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -7521,63 +9140,58 @@ func (s *DeleteFieldLevelEncryptionConfigInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *DeleteFieldLevelEncryptionConfigInput) SetId(v string) *DeleteFieldLevelEncryptionConfigInput { - s.Id = &v +// SetItems sets the Items field's value. +func (s *CustomErrorResponses) SetItems(v []*CustomErrorResponse) *CustomErrorResponses { + s.Items = v return s } -// SetIfMatch sets the IfMatch field's value. -func (s *DeleteFieldLevelEncryptionConfigInput) SetIfMatch(v string) *DeleteFieldLevelEncryptionConfigInput { - s.IfMatch = &v +// SetQuantity sets the Quantity field's value. +func (s *CustomErrorResponses) SetQuantity(v int64) *CustomErrorResponses { + s.Quantity = &v return s } -type DeleteFieldLevelEncryptionConfigOutput struct { +// A complex type that contains the list of Custom Headers for each origin. +type CustomHeaders struct { _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s DeleteFieldLevelEncryptionConfigOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteFieldLevelEncryptionConfigOutput) GoString() string { - return s.String() -} -type DeleteFieldLevelEncryptionProfileInput struct { - _ struct{} `locationName:"DeleteFieldLevelEncryptionProfileRequest" type:"structure"` + // Optional: A list that contains one OriginCustomHeader element for each custom + // header that you want CloudFront to forward to the origin. If Quantity is + // 0, omit Items. + Items []*OriginCustomHeader `locationNameList:"OriginCustomHeader" type:"list"` - // Request the ID of the profile you want to delete from CloudFront. + // The number of custom headers, if any, for this distribution. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` - - // The value of the ETag header that you received when retrieving the profile - // to delete. For example: E2QWRUHAPOMQZL. - IfMatch *string `location:"header" locationName:"If-Match" type:"string"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s DeleteFieldLevelEncryptionProfileInput) String() string { +func (s CustomHeaders) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteFieldLevelEncryptionProfileInput) GoString() string { +func (s CustomHeaders) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteFieldLevelEncryptionProfileInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteFieldLevelEncryptionProfileInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *CustomHeaders) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomHeaders"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -7586,63 +9200,102 @@ func (s *DeleteFieldLevelEncryptionProfileInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *DeleteFieldLevelEncryptionProfileInput) SetId(v string) *DeleteFieldLevelEncryptionProfileInput { - s.Id = &v +// SetItems sets the Items field's value. +func (s *CustomHeaders) SetItems(v []*OriginCustomHeader) *CustomHeaders { + s.Items = v return s } -// SetIfMatch sets the IfMatch field's value. -func (s *DeleteFieldLevelEncryptionProfileInput) SetIfMatch(v string) *DeleteFieldLevelEncryptionProfileInput { - s.IfMatch = &v +// SetQuantity sets the Quantity field's value. +func (s *CustomHeaders) SetQuantity(v int64) *CustomHeaders { + s.Quantity = &v return s } -type DeleteFieldLevelEncryptionProfileOutput struct { +// A custom origin. A custom origin is any origin that is not an Amazon S3 bucket, +// with one exception. An Amazon S3 bucket that is configured with static website +// hosting (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) +// is a custom origin. +type CustomOriginConfig struct { _ struct{} `type:"structure"` -} -// String returns the string representation -func (s DeleteFieldLevelEncryptionProfileOutput) String() string { - return awsutil.Prettify(s) -} + // The HTTP port that CloudFront uses to connect to the origin. Specify the + // HTTP port that the origin listens on. + // + // HTTPPort is a required field + HTTPPort *int64 `type:"integer" required:"true"` -// GoString returns the string representation -func (s DeleteFieldLevelEncryptionProfileOutput) GoString() string { - return s.String() -} + // The HTTPS port that CloudFront uses to connect to the origin. Specify the + // HTTPS port that the origin listens on. + // + // HTTPSPort is a required field + HTTPSPort *int64 `type:"integer" required:"true"` -type DeletePublicKeyInput struct { - _ struct{} `locationName:"DeletePublicKeyRequest" type:"structure"` + // Specifies how long, in seconds, CloudFront persists its connection to the + // origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the + // default (if you don’t specify otherwise) is 5 seconds. + // + // For more information, see Origin Keep-alive Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout) + // in the Amazon CloudFront Developer Guide. + OriginKeepaliveTimeout *int64 `type:"integer"` - // The ID of the public key you want to remove from CloudFront. + // Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to + // the origin. Valid values are: // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // * http-only – CloudFront always uses HTTP to connect to the origin. + // + // * match-viewer – CloudFront connects to the origin using the same protocol + // that the viewer used to connect to CloudFront. + // + // * https-only – CloudFront always uses HTTPS to connect to the origin. + // + // OriginProtocolPolicy is a required field + OriginProtocolPolicy *string `type:"string" required:"true" enum:"OriginProtocolPolicy"` - // The value of the ETag header that you received when retrieving the public - // key identity to delete. For example: E2QWRUHAPOMQZL. - IfMatch *string `location:"header" locationName:"If-Match" type:"string"` + // Specifies how long, in seconds, CloudFront waits for a response from the + // origin. This is also known as the origin response timeout. The minimum timeout + // is 1 second, the maximum is 60 seconds, and the default (if you don’t specify + // otherwise) is 30 seconds. + // + // For more information, see Origin Response Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) + // in the Amazon CloudFront Developer Guide. + OriginReadTimeout *int64 `type:"integer"` + + // Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting + // to your origin over HTTPS. Valid values include SSLv3, TLSv1, TLSv1.1, and + // TLSv1.2. + // + // For more information, see Minimum Origin SSL Protocol (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) + // in the Amazon CloudFront Developer Guide. + OriginSslProtocols *OriginSslProtocols `type:"structure"` } // String returns the string representation -func (s DeletePublicKeyInput) String() string { +func (s CustomOriginConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeletePublicKeyInput) GoString() string { +func (s CustomOriginConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeletePublicKeyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeletePublicKeyInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *CustomOriginConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomOriginConfig"} + if s.HTTPPort == nil { + invalidParams.Add(request.NewErrParamRequired("HTTPPort")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.HTTPSPort == nil { + invalidParams.Add(request.NewErrParamRequired("HTTPSPort")) + } + if s.OriginProtocolPolicy == nil { + invalidParams.Add(request.NewErrParamRequired("OriginProtocolPolicy")) + } + if s.OriginSslProtocols != nil { + if err := s.OriginSslProtocols.Validate(); err != nil { + invalidParams.AddNested("OriginSslProtocols", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -7651,64 +9304,2330 @@ func (s *DeletePublicKeyInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *DeletePublicKeyInput) SetId(v string) *DeletePublicKeyInput { - s.Id = &v +// SetHTTPPort sets the HTTPPort field's value. +func (s *CustomOriginConfig) SetHTTPPort(v int64) *CustomOriginConfig { + s.HTTPPort = &v return s } -// SetIfMatch sets the IfMatch field's value. -func (s *DeletePublicKeyInput) SetIfMatch(v string) *DeletePublicKeyInput { - s.IfMatch = &v +// SetHTTPSPort sets the HTTPSPort field's value. +func (s *CustomOriginConfig) SetHTTPSPort(v int64) *CustomOriginConfig { + s.HTTPSPort = &v return s } -type DeletePublicKeyOutput struct { - _ struct{} `type:"structure"` +// SetOriginKeepaliveTimeout sets the OriginKeepaliveTimeout field's value. +func (s *CustomOriginConfig) SetOriginKeepaliveTimeout(v int64) *CustomOriginConfig { + s.OriginKeepaliveTimeout = &v + return s } -// String returns the string representation -func (s DeletePublicKeyOutput) String() string { - return awsutil.Prettify(s) +// SetOriginProtocolPolicy sets the OriginProtocolPolicy field's value. +func (s *CustomOriginConfig) SetOriginProtocolPolicy(v string) *CustomOriginConfig { + s.OriginProtocolPolicy = &v + return s } -// GoString returns the string representation -func (s DeletePublicKeyOutput) GoString() string { - return s.String() +// SetOriginReadTimeout sets the OriginReadTimeout field's value. +func (s *CustomOriginConfig) SetOriginReadTimeout(v int64) *CustomOriginConfig { + s.OriginReadTimeout = &v + return s } -// The request to delete a streaming distribution. -type DeleteStreamingDistributionInput struct { - _ struct{} `locationName:"DeleteStreamingDistributionRequest" type:"structure"` - - // The distribution ID. +// SetOriginSslProtocols sets the OriginSslProtocols field's value. +func (s *CustomOriginConfig) SetOriginSslProtocols(v *OriginSslProtocols) *CustomOriginConfig { + s.OriginSslProtocols = v + return s +} + +// A complex type that describes the default cache behavior if you don’t specify +// a CacheBehavior element or if request URLs don’t match any of the values +// of PathPattern in CacheBehavior elements. You must create exactly one default +// cache behavior. +type DefaultCacheBehavior struct { + _ struct{} `type:"structure"` + + // A complex type that controls which HTTP methods CloudFront processes and + // forwards to your Amazon S3 bucket or your custom origin. There are three + // choices: + // + // * CloudFront forwards only GET and HEAD requests. + // + // * CloudFront forwards only GET, HEAD, and OPTIONS requests. + // + // * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE + // requests. + // + // If you pick the third choice, you may need to restrict access to your Amazon + // S3 bucket or to your custom origin so users can't perform operations that + // you don't want them to. For example, you might not want users to have permissions + // to delete objects from your origin. + AllowedMethods *AllowedMethods `type:"structure"` + + // The unique identifier of the cache policy that is attached to the default + // cache behavior. For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + CachePolicyId *string `type:"string"` + + // Whether you want CloudFront to automatically compress certain files for this + // cache behavior. If so, specify true; if not, specify false. For more information, + // see Serving Compressed Files (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) + // in the Amazon CloudFront Developer Guide. + Compress *bool `type:"boolean"` + + // This field is deprecated. We recommend that you use the DefaultTTL field + // in a cache policy instead of this field. For more information, see Creating + // cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + // + // The default amount of time that you want objects to stay in CloudFront caches + // before CloudFront forwards another request to your origin to determine whether + // the object has been updated. The value that you specify applies only when + // your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control + // s-maxage, and Expires to objects. For more information, see Managing How + // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // in the Amazon CloudFront Developer Guide. + // + // Deprecated: DefaultTTL has been deprecated + DefaultTTL *int64 `deprecated:"true" type:"long"` + + // The value of ID for the field-level encryption configuration that you want + // CloudFront to use for encrypting specific fields of data for the default + // cache behavior. + FieldLevelEncryptionId *string `type:"string"` + + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. For more information, see Working + // with policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html) + // in the Amazon CloudFront Developer Guide. + // + // If you want to include values in the cache key, use a cache policy. For more + // information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + // + // If you want to send values to the origin but not include them in the cache + // key, use an origin request policy. For more information, see Creating origin + // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // or Using the managed origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) + // in the Amazon CloudFront Developer Guide. + // + // A complex type that specifies how CloudFront handles query strings, cookies, + // and HTTP headers. + // + // Deprecated: ForwardedValues has been deprecated + ForwardedValues *ForwardedValues `deprecated:"true" type:"structure"` + + // A complex type that contains zero or more Lambda function associations for + // a cache behavior. + LambdaFunctionAssociations *LambdaFunctionAssociations `type:"structure"` + + // This field is deprecated. We recommend that you use the MaxTTL field in a + // cache policy instead of this field. For more information, see Creating cache + // policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + // + // The maximum amount of time that you want objects to stay in CloudFront caches + // before CloudFront forwards another request to your origin to determine whether + // the object has been updated. The value that you specify applies only when + // your origin adds HTTP headers such as Cache-Control max-age, Cache-Control + // s-maxage, and Expires to objects. For more information, see Managing How + // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // in the Amazon CloudFront Developer Guide. + // + // Deprecated: MaxTTL has been deprecated + MaxTTL *int64 `deprecated:"true" type:"long"` + + // This field is deprecated. We recommend that you use the MinTTL field in a + // cache policy instead of this field. For more information, see Creating cache + // policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) + // in the Amazon CloudFront Developer Guide. + // + // The minimum amount of time that you want objects to stay in CloudFront caches + // before CloudFront forwards another request to your origin to determine whether + // the object has been updated. For more information, see Managing How Long + // Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // in the Amazon CloudFront Developer Guide. + // + // You must specify 0 for MinTTL if you configure CloudFront to forward all + // headers to your origin (under Headers, if you specify 1 for Quantity and + // * for Name). + // + // Deprecated: MinTTL has been deprecated + MinTTL *int64 `deprecated:"true" type:"long"` + + // The unique identifier of the origin request policy that is attached to the + // default cache behavior. For more information, see Creating origin request + // policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // or Using the managed origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) + // in the Amazon CloudFront Developer Guide. + OriginRequestPolicyId *string `type:"string"` + + // Indicates whether you want to distribute media files in the Microsoft Smooth + // Streaming format using the origin that is associated with this cache behavior. + // If so, specify true; if not, specify false. If you specify true for SmoothStreaming, + // you can still distribute other content using this cache behavior if the content + // matches the value of PathPattern. + SmoothStreaming *bool `type:"boolean"` + + // The value of ID for the origin that you want CloudFront to route requests + // to when they use the default cache behavior. + // + // TargetOriginId is a required field + TargetOriginId *string `type:"string" required:"true"` + + // A complex type that specifies the AWS accounts, if any, that you want to + // allow to create signed URLs for private content. + // + // If you want to require signed URLs in requests for objects in the target + // origin that match the PathPattern for this cache behavior, specify true for + // Enabled, and specify the applicable values for Quantity and Items. For more + // information, see Serving Private Content with Signed URLs and Signed Cookies + // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) + // in the Amazon CloudFront Developer Guide. + // + // If you don’t want to require signed URLs in requests for objects that match + // PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. + // + // To add, change, or remove one or more trusted signers, change Enabled to + // true (if it’s currently false), change Quantity as applicable, and specify + // all of the trusted signers that you want to include in the updated distribution. + // + // TrustedSigners is a required field + TrustedSigners *TrustedSigners `type:"structure" required:"true"` + + // The protocol that viewers can use to access the files in the origin specified + // by TargetOriginId when a request matches the path pattern in PathPattern. + // You can specify the following options: + // + // * allow-all: Viewers can use HTTP or HTTPS. + // + // * redirect-to-https: If a viewer submits an HTTP request, CloudFront returns + // an HTTP status code of 301 (Moved Permanently) to the viewer along with + // the HTTPS URL. The viewer then resubmits the request using the new URL. + // + // * https-only: If a viewer sends an HTTP request, CloudFront returns an + // HTTP status code of 403 (Forbidden). + // + // For more information about requiring the HTTPS protocol, see Requiring HTTPS + // Between Viewers and CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) + // in the Amazon CloudFront Developer Guide. + // + // The only way to guarantee that viewers retrieve an object that was fetched + // from the origin using HTTPS is never to use any other protocol to fetch the + // object. If you have recently changed from HTTP to HTTPS, we recommend that + // you clear your objects’ cache because cached objects are protocol agnostic. + // That means that an edge location will return an object from the cache regardless + // of whether the current request protocol matches the protocol used previously. + // For more information, see Managing Cache Expiration (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) + // in the Amazon CloudFront Developer Guide. + // + // ViewerProtocolPolicy is a required field + ViewerProtocolPolicy *string `type:"string" required:"true" enum:"ViewerProtocolPolicy"` +} + +// String returns the string representation +func (s DefaultCacheBehavior) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefaultCacheBehavior) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DefaultCacheBehavior) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DefaultCacheBehavior"} + if s.TargetOriginId == nil { + invalidParams.Add(request.NewErrParamRequired("TargetOriginId")) + } + if s.TrustedSigners == nil { + invalidParams.Add(request.NewErrParamRequired("TrustedSigners")) + } + if s.ViewerProtocolPolicy == nil { + invalidParams.Add(request.NewErrParamRequired("ViewerProtocolPolicy")) + } + if s.AllowedMethods != nil { + if err := s.AllowedMethods.Validate(); err != nil { + invalidParams.AddNested("AllowedMethods", err.(request.ErrInvalidParams)) + } + } + if s.ForwardedValues != nil { + if err := s.ForwardedValues.Validate(); err != nil { + invalidParams.AddNested("ForwardedValues", err.(request.ErrInvalidParams)) + } + } + if s.LambdaFunctionAssociations != nil { + if err := s.LambdaFunctionAssociations.Validate(); err != nil { + invalidParams.AddNested("LambdaFunctionAssociations", err.(request.ErrInvalidParams)) + } + } + if s.TrustedSigners != nil { + if err := s.TrustedSigners.Validate(); err != nil { + invalidParams.AddNested("TrustedSigners", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowedMethods sets the AllowedMethods field's value. +func (s *DefaultCacheBehavior) SetAllowedMethods(v *AllowedMethods) *DefaultCacheBehavior { + s.AllowedMethods = v + return s +} + +// SetCachePolicyId sets the CachePolicyId field's value. +func (s *DefaultCacheBehavior) SetCachePolicyId(v string) *DefaultCacheBehavior { + s.CachePolicyId = &v + return s +} + +// SetCompress sets the Compress field's value. +func (s *DefaultCacheBehavior) SetCompress(v bool) *DefaultCacheBehavior { + s.Compress = &v + return s +} + +// SetDefaultTTL sets the DefaultTTL field's value. +func (s *DefaultCacheBehavior) SetDefaultTTL(v int64) *DefaultCacheBehavior { + s.DefaultTTL = &v + return s +} + +// SetFieldLevelEncryptionId sets the FieldLevelEncryptionId field's value. +func (s *DefaultCacheBehavior) SetFieldLevelEncryptionId(v string) *DefaultCacheBehavior { + s.FieldLevelEncryptionId = &v + return s +} + +// SetForwardedValues sets the ForwardedValues field's value. +func (s *DefaultCacheBehavior) SetForwardedValues(v *ForwardedValues) *DefaultCacheBehavior { + s.ForwardedValues = v + return s +} + +// SetLambdaFunctionAssociations sets the LambdaFunctionAssociations field's value. +func (s *DefaultCacheBehavior) SetLambdaFunctionAssociations(v *LambdaFunctionAssociations) *DefaultCacheBehavior { + s.LambdaFunctionAssociations = v + return s +} + +// SetMaxTTL sets the MaxTTL field's value. +func (s *DefaultCacheBehavior) SetMaxTTL(v int64) *DefaultCacheBehavior { + s.MaxTTL = &v + return s +} + +// SetMinTTL sets the MinTTL field's value. +func (s *DefaultCacheBehavior) SetMinTTL(v int64) *DefaultCacheBehavior { + s.MinTTL = &v + return s +} + +// SetOriginRequestPolicyId sets the OriginRequestPolicyId field's value. +func (s *DefaultCacheBehavior) SetOriginRequestPolicyId(v string) *DefaultCacheBehavior { + s.OriginRequestPolicyId = &v + return s +} + +// SetSmoothStreaming sets the SmoothStreaming field's value. +func (s *DefaultCacheBehavior) SetSmoothStreaming(v bool) *DefaultCacheBehavior { + s.SmoothStreaming = &v + return s +} + +// SetTargetOriginId sets the TargetOriginId field's value. +func (s *DefaultCacheBehavior) SetTargetOriginId(v string) *DefaultCacheBehavior { + s.TargetOriginId = &v + return s +} + +// SetTrustedSigners sets the TrustedSigners field's value. +func (s *DefaultCacheBehavior) SetTrustedSigners(v *TrustedSigners) *DefaultCacheBehavior { + s.TrustedSigners = v + return s +} + +// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value. +func (s *DefaultCacheBehavior) SetViewerProtocolPolicy(v string) *DefaultCacheBehavior { + s.ViewerProtocolPolicy = &v + return s +} + +type DeleteCachePolicyInput struct { + _ struct{} `locationName:"DeleteCachePolicyRequest" type:"structure"` + + // The unique identifier for the cache policy that you are deleting. To get + // the identifier, you can use ListCachePolicies. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The version of the cache policy that you are deleting. The version is the + // cache policy’s ETag value, which you can get using ListCachePolicies, GetCachePolicy, + // or GetCachePolicyConfig. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeleteCachePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCachePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCachePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCachePolicyInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteCachePolicyInput) SetId(v string) *DeleteCachePolicyInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteCachePolicyInput) SetIfMatch(v string) *DeleteCachePolicyInput { + s.IfMatch = &v + return s +} + +type DeleteCachePolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteCachePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCachePolicyOutput) GoString() string { + return s.String() +} + +// Deletes a origin access identity. +type DeleteCloudFrontOriginAccessIdentityInput struct { + _ struct{} `locationName:"DeleteCloudFrontOriginAccessIdentityRequest" type:"structure"` + + // The origin access identity's ID. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The value of the ETag header you received from a previous GET or PUT request. + // For example: E2QWRUHAPOMQZL. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeleteCloudFrontOriginAccessIdentityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCloudFrontOriginAccessIdentityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCloudFrontOriginAccessIdentityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCloudFrontOriginAccessIdentityInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteCloudFrontOriginAccessIdentityInput) SetId(v string) *DeleteCloudFrontOriginAccessIdentityInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteCloudFrontOriginAccessIdentityInput) SetIfMatch(v string) *DeleteCloudFrontOriginAccessIdentityInput { + s.IfMatch = &v + return s +} + +type DeleteCloudFrontOriginAccessIdentityOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteCloudFrontOriginAccessIdentityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCloudFrontOriginAccessIdentityOutput) GoString() string { + return s.String() +} + +// This action deletes a web distribution. To delete a web distribution using +// the CloudFront API, perform the following steps. +// +// To delete a web distribution using the CloudFront API: +// +// Disable the web distribution +// +// Submit a GET Distribution Config request to get the current configuration +// and the Etag header for the distribution. +// +// Update the XML document that was returned in the response to your GET Distribution +// Config request to change the value of Enabled to false. +// +// Submit a PUT Distribution Config request to update the configuration for +// your distribution. In the request body, include the XML document that you +// updated in Step 3. Set the value of the HTTP If-Match header to the value +// of the ETag header that CloudFront returned when you submitted the GET Distribution +// Config request in Step 2. +// +// Review the response to the PUT Distribution Config request to confirm that +// the distribution was successfully disabled. +// +// Submit a GET Distribution request to confirm that your changes have propagated. +// When propagation is complete, the value of Status is Deployed. +// +// Submit a DELETE Distribution request. Set the value of the HTTP If-Match +// header to the value of the ETag header that CloudFront returned when you +// submitted the GET Distribution Config request in Step 6. +// +// Review the response to your DELETE Distribution request to confirm that the +// distribution was successfully deleted. +// +// For information about deleting a distribution using the CloudFront console, +// see Deleting a Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowToDeleteDistribution.html) +// in the Amazon CloudFront Developer Guide. +type DeleteDistributionInput struct { + _ struct{} `locationName:"DeleteDistributionRequest" type:"structure"` + + // The distribution ID. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The value of the ETag header that you received when you disabled the distribution. + // For example: E2QWRUHAPOMQZL. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeleteDistributionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDistributionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDistributionInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteDistributionInput) SetId(v string) *DeleteDistributionInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteDistributionInput) SetIfMatch(v string) *DeleteDistributionInput { + s.IfMatch = &v + return s +} + +type DeleteDistributionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDistributionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDistributionOutput) GoString() string { + return s.String() +} + +type DeleteFieldLevelEncryptionConfigInput struct { + _ struct{} `locationName:"DeleteFieldLevelEncryptionConfigRequest" type:"structure"` + + // The ID of the configuration you want to delete from CloudFront. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The value of the ETag header that you received when retrieving the configuration + // identity to delete. For example: E2QWRUHAPOMQZL. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeleteFieldLevelEncryptionConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFieldLevelEncryptionConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFieldLevelEncryptionConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFieldLevelEncryptionConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteFieldLevelEncryptionConfigInput) SetId(v string) *DeleteFieldLevelEncryptionConfigInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteFieldLevelEncryptionConfigInput) SetIfMatch(v string) *DeleteFieldLevelEncryptionConfigInput { + s.IfMatch = &v + return s +} + +type DeleteFieldLevelEncryptionConfigOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteFieldLevelEncryptionConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFieldLevelEncryptionConfigOutput) GoString() string { + return s.String() +} + +type DeleteFieldLevelEncryptionProfileInput struct { + _ struct{} `locationName:"DeleteFieldLevelEncryptionProfileRequest" type:"structure"` + + // Request the ID of the profile you want to delete from CloudFront. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The value of the ETag header that you received when retrieving the profile + // to delete. For example: E2QWRUHAPOMQZL. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeleteFieldLevelEncryptionProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFieldLevelEncryptionProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFieldLevelEncryptionProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFieldLevelEncryptionProfileInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteFieldLevelEncryptionProfileInput) SetId(v string) *DeleteFieldLevelEncryptionProfileInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteFieldLevelEncryptionProfileInput) SetIfMatch(v string) *DeleteFieldLevelEncryptionProfileInput { + s.IfMatch = &v + return s +} + +type DeleteFieldLevelEncryptionProfileOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteFieldLevelEncryptionProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFieldLevelEncryptionProfileOutput) GoString() string { + return s.String() +} + +type DeleteOriginRequestPolicyInput struct { + _ struct{} `locationName:"DeleteOriginRequestPolicyRequest" type:"structure"` + + // The unique identifier for the origin request policy that you are deleting. + // To get the identifier, you can use ListOriginRequestPolicies. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The version of the origin request policy that you are deleting. The version + // is the origin request policy’s ETag value, which you can get using ListOriginRequestPolicies, + // GetOriginRequestPolicy, or GetOriginRequestPolicyConfig. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeleteOriginRequestPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteOriginRequestPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteOriginRequestPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteOriginRequestPolicyInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteOriginRequestPolicyInput) SetId(v string) *DeleteOriginRequestPolicyInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteOriginRequestPolicyInput) SetIfMatch(v string) *DeleteOriginRequestPolicyInput { + s.IfMatch = &v + return s +} + +type DeleteOriginRequestPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteOriginRequestPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteOriginRequestPolicyOutput) GoString() string { + return s.String() +} + +type DeletePublicKeyInput struct { + _ struct{} `locationName:"DeletePublicKeyRequest" type:"structure"` + + // The ID of the public key you want to remove from CloudFront. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The value of the ETag header that you received when retrieving the public + // key identity to delete. For example: E2QWRUHAPOMQZL. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeletePublicKeyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePublicKeyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePublicKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePublicKeyInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeletePublicKeyInput) SetId(v string) *DeletePublicKeyInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeletePublicKeyInput) SetIfMatch(v string) *DeletePublicKeyInput { + s.IfMatch = &v + return s +} + +type DeletePublicKeyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeletePublicKeyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePublicKeyOutput) GoString() string { + return s.String() +} + +// The request to delete a streaming distribution. +type DeleteStreamingDistributionInput struct { + _ struct{} `locationName:"DeleteStreamingDistributionRequest" type:"structure"` + + // The distribution ID. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The value of the ETag header that you received when you disabled the streaming + // distribution. For example: E2QWRUHAPOMQZL. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s DeleteStreamingDistributionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStreamingDistributionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteStreamingDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStreamingDistributionInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteStreamingDistributionInput) SetId(v string) *DeleteStreamingDistributionInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteStreamingDistributionInput) SetIfMatch(v string) *DeleteStreamingDistributionInput { + s.IfMatch = &v + return s +} + +type DeleteStreamingDistributionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteStreamingDistributionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStreamingDistributionOutput) GoString() string { + return s.String() +} + +// A distribution tells CloudFront where you want content to be delivered from, +// and the details about how to track and manage content delivery. +type Distribution struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, + // where 123456789012 is your AWS account ID. + // + // ARN is a required field + ARN *string `type:"string" required:"true"` + + // CloudFront automatically adds this element to the response only if you've + // set up the distribution to serve private content with signed URLs. The element + // lists the key pair IDs that CloudFront is aware of for each trusted signer. + // The Signer child element lists the AWS account number of the trusted signer + // (or an empty Self element if the signer is you). The Signer element also + // includes the IDs of any active key pairs associated with the trusted signer's + // AWS account. If no KeyPairId element appears for a Signer, that signer can't + // create working signed URLs. + // + // ActiveTrustedSigners is a required field + ActiveTrustedSigners *ActiveTrustedSigners `type:"structure" required:"true"` + + // AWS services in China customers must file for an Internet Content Provider + // (ICP) recordal if they want to serve content publicly on an alternate domain + // name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal + // provides the ICP recordal status for CNAMEs associated with distributions. + // + // For more information about ICP recordals, see Signup, Accounts, and Credentials + // (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) + // in Getting Started with AWS services in China. + AliasICPRecordals []*AliasICPRecordal `locationNameList:"AliasICPRecordal" type:"list"` + + // The current configuration information for the distribution. Send a GET request + // to the /CloudFront API version/distribution ID/config resource. + // + // DistributionConfig is a required field + DistributionConfig *DistributionConfig `type:"structure" required:"true"` + + // The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net. + // + // DomainName is a required field + DomainName *string `type:"string" required:"true"` + + // The identifier for the distribution. For example: EDFDVBD632BHDS5. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // The number of invalidation batches currently in progress. + // + // InProgressInvalidationBatches is a required field + InProgressInvalidationBatches *int64 `type:"integer" required:"true"` + + // The date and time the distribution was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // This response element indicates the current status of the distribution. When + // the status is Deployed, the distribution's information is fully propagated + // to all CloudFront edge locations. + // + // Status is a required field + Status *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Distribution) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Distribution) GoString() string { + return s.String() +} + +// SetARN sets the ARN field's value. +func (s *Distribution) SetARN(v string) *Distribution { + s.ARN = &v + return s +} + +// SetActiveTrustedSigners sets the ActiveTrustedSigners field's value. +func (s *Distribution) SetActiveTrustedSigners(v *ActiveTrustedSigners) *Distribution { + s.ActiveTrustedSigners = v + return s +} + +// SetAliasICPRecordals sets the AliasICPRecordals field's value. +func (s *Distribution) SetAliasICPRecordals(v []*AliasICPRecordal) *Distribution { + s.AliasICPRecordals = v + return s +} + +// SetDistributionConfig sets the DistributionConfig field's value. +func (s *Distribution) SetDistributionConfig(v *DistributionConfig) *Distribution { + s.DistributionConfig = v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *Distribution) SetDomainName(v string) *Distribution { + s.DomainName = &v + return s +} + +// SetId sets the Id field's value. +func (s *Distribution) SetId(v string) *Distribution { + s.Id = &v + return s +} + +// SetInProgressInvalidationBatches sets the InProgressInvalidationBatches field's value. +func (s *Distribution) SetInProgressInvalidationBatches(v int64) *Distribution { + s.InProgressInvalidationBatches = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *Distribution) SetLastModifiedTime(v time.Time) *Distribution { + s.LastModifiedTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Distribution) SetStatus(v string) *Distribution { + s.Status = &v + return s +} + +// A distribution configuration. +type DistributionConfig struct { + _ struct{} `type:"structure"` + + // A complex type that contains information about CNAMEs (alternate domain names), + // if any, for this distribution. + Aliases *Aliases `type:"structure"` + + // A complex type that contains zero or more CacheBehavior elements. + CacheBehaviors *CacheBehaviors `type:"structure"` + + // A unique value (for example, a date-time stamp) that ensures that the request + // can't be replayed. + // + // If the value of CallerReference is new (regardless of the content of the + // DistributionConfig object), CloudFront creates a new distribution. + // + // If CallerReference is a value that you already sent in a previous request + // to create a distribution, CloudFront returns a DistributionAlreadyExists + // error. + // + // CallerReference is a required field + CallerReference *string `type:"string" required:"true"` + + // Any comments you want to include about the distribution. + // + // If you don't want to specify a comment, include an empty Comment element. + // + // To delete an existing comment, update the distribution configuration and + // include an empty Comment element. + // + // To add or change a comment, update the distribution configuration and specify + // the new comment. + // + // Comment is a required field + Comment *string `type:"string" required:"true" sensitive:"true"` + + // A complex type that controls the following: + // + // * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range + // with custom error messages before returning the response to the viewer. + // + // * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. + // + // For more information about custom error pages, see Customizing Error Responses + // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) + // in the Amazon CloudFront Developer Guide. + CustomErrorResponses *CustomErrorResponses `type:"structure"` + + // A complex type that describes the default cache behavior if you don't specify + // a CacheBehavior element or if files don't match any of the values of PathPattern + // in CacheBehavior elements. You must create exactly one default cache behavior. + // + // DefaultCacheBehavior is a required field + DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"` + + // The object that you want CloudFront to request from your origin (for example, + // index.html) when a viewer requests the root URL for your distribution (http://www.example.com) + // instead of an object in your distribution (http://www.example.com/product-description.html). + // Specifying a default root object avoids exposing the contents of your distribution. + // + // Specify only the object name, for example, index.html. Don't add a / before + // the object name. + // + // If you don't want to specify a default root object when you create a distribution, + // include an empty DefaultRootObject element. + // + // To delete the default root object from an existing distribution, update the + // distribution configuration and include an empty DefaultRootObject element. + // + // To replace the default root object, update the distribution configuration + // and specify the new object. + // + // For more information about the default root object, see Creating a Default + // Root Object (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html) + // in the Amazon CloudFront Developer Guide. + DefaultRootObject *string `type:"string"` + + // From this field, you can enable or disable the selected distribution. + // + // Enabled is a required field + Enabled *bool `type:"boolean" required:"true"` + + // (Optional) Specify the maximum HTTP version that you want viewers to use + // to communicate with CloudFront. The default value for new web distributions + // is http2. Viewers that don't support HTTP/2 automatically use an earlier + // HTTP version. + // + // For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or + // later, and must support Server Name Identification (SNI). + // + // In general, configuring CloudFront to communicate with viewers using HTTP/2 + // reduces latency. You can improve performance by optimizing for HTTP/2. For + // more information, do an Internet search for "http/2 optimization." + HttpVersion *string `type:"string" enum:"HttpVersion"` + + // If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address + // for your distribution, specify true. If you specify false, CloudFront responds + // to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. + // This allows viewers to submit a second request, for an IPv4 address for your + // distribution. + // + // In general, you should enable IPv6 if you have users on IPv6 networks who + // want to access your content. However, if you're using signed URLs or signed + // cookies to restrict access to your content, and if you're using a custom + // policy that includes the IpAddress parameter to restrict the IP addresses + // that can access your content, don't enable IPv6. If you want to restrict + // access to some content by IP address and not restrict access to other content + // (or restrict access but not by IP address), you can create two distributions. + // For more information, see Creating a Signed URL Using a Custom Policy (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-custom-policy.html) + // in the Amazon CloudFront Developer Guide. + // + // If you're using an Amazon Route 53 alias resource record set to route traffic + // to your CloudFront distribution, you need to create a second alias resource + // record set when both of the following are true: + // + // * You enable IPv6 for the distribution + // + // * You're using alternate domain names in the URLs for your objects + // + // For more information, see Routing Traffic to an Amazon CloudFront Web Distribution + // by Using Your Domain Name (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html) + // in the Amazon Route 53 Developer Guide. + // + // If you created a CNAME resource record set, either with Amazon Route 53 or + // with another DNS service, you don't need to make any changes. A CNAME record + // will route traffic to your distribution regardless of the IP address format + // of the viewer request. + IsIPV6Enabled *bool `type:"boolean"` + + // A complex type that controls whether access logs are written for the distribution. + // + // For more information about logging, see Access Logs (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) + // in the Amazon CloudFront Developer Guide. + Logging *LoggingConfig `type:"structure"` + + // A complex type that contains information about origin groups for this distribution. + OriginGroups *OriginGroups `type:"structure"` + + // A complex type that contains information about origins for this distribution. + // + // Origins is a required field + Origins *Origins `type:"structure" required:"true"` + + // The price class that corresponds with the maximum price that you want to + // pay for CloudFront service. If you specify PriceClass_All, CloudFront responds + // to requests for your objects from all CloudFront edge locations. + // + // If you specify a price class other than PriceClass_All, CloudFront serves + // your objects from the CloudFront edge location that has the lowest latency + // among the edge locations in your price class. Viewers who are in or near + // regions that are excluded from your specified price class may encounter slower + // performance. + // + // For more information about price classes, see Choosing the Price Class for + // a CloudFront Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PriceClass.html) + // in the Amazon CloudFront Developer Guide. For information about CloudFront + // pricing, including how price classes (such as Price Class 100) map to CloudFront + // regions, see Amazon CloudFront Pricing (http://aws.amazon.com/cloudfront/pricing/). + // For price class information, scroll down to see the table at the bottom of + // the page. + PriceClass *string `type:"string" enum:"PriceClass"` + + // A complex type that identifies ways in which you want to restrict distribution + // of your content. + Restrictions *Restrictions `type:"structure"` + + // A complex type that determines the distribution’s SSL/TLS configuration + // for communicating with viewers. + ViewerCertificate *ViewerCertificate `type:"structure"` + + // A unique identifier that specifies the AWS WAF web ACL, if any, to associate + // with this distribution. To specify a web ACL created using the latest version + // of AWS WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. + // To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example + // 473e64fd-f30b-4765-81a0-62ad96dd167a. + // + // AWS WAF is a web application firewall that lets you monitor the HTTP and + // HTTPS requests that are forwarded to CloudFront, and lets you control access + // to your content. Based on conditions that you specify, such as the IP addresses + // that requests originate from or the values of query strings, CloudFront responds + // to requests either with the requested content or with an HTTP 403 status + // code (Forbidden). You can also configure CloudFront to return a custom error + // page when a request is blocked. For more information about AWS WAF, see the + // AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html). + WebACLId *string `type:"string"` +} + +// String returns the string representation +func (s DistributionConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DistributionConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DistributionConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DistributionConfig"} + if s.CallerReference == nil { + invalidParams.Add(request.NewErrParamRequired("CallerReference")) + } + if s.Comment == nil { + invalidParams.Add(request.NewErrParamRequired("Comment")) + } + if s.DefaultCacheBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("DefaultCacheBehavior")) + } + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + if s.Origins == nil { + invalidParams.Add(request.NewErrParamRequired("Origins")) + } + if s.Aliases != nil { + if err := s.Aliases.Validate(); err != nil { + invalidParams.AddNested("Aliases", err.(request.ErrInvalidParams)) + } + } + if s.CacheBehaviors != nil { + if err := s.CacheBehaviors.Validate(); err != nil { + invalidParams.AddNested("CacheBehaviors", err.(request.ErrInvalidParams)) + } + } + if s.CustomErrorResponses != nil { + if err := s.CustomErrorResponses.Validate(); err != nil { + invalidParams.AddNested("CustomErrorResponses", err.(request.ErrInvalidParams)) + } + } + if s.DefaultCacheBehavior != nil { + if err := s.DefaultCacheBehavior.Validate(); err != nil { + invalidParams.AddNested("DefaultCacheBehavior", err.(request.ErrInvalidParams)) + } + } + if s.Logging != nil { + if err := s.Logging.Validate(); err != nil { + invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) + } + } + if s.OriginGroups != nil { + if err := s.OriginGroups.Validate(); err != nil { + invalidParams.AddNested("OriginGroups", err.(request.ErrInvalidParams)) + } + } + if s.Origins != nil { + if err := s.Origins.Validate(); err != nil { + invalidParams.AddNested("Origins", err.(request.ErrInvalidParams)) + } + } + if s.Restrictions != nil { + if err := s.Restrictions.Validate(); err != nil { + invalidParams.AddNested("Restrictions", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliases sets the Aliases field's value. +func (s *DistributionConfig) SetAliases(v *Aliases) *DistributionConfig { + s.Aliases = v + return s +} + +// SetCacheBehaviors sets the CacheBehaviors field's value. +func (s *DistributionConfig) SetCacheBehaviors(v *CacheBehaviors) *DistributionConfig { + s.CacheBehaviors = v + return s +} + +// SetCallerReference sets the CallerReference field's value. +func (s *DistributionConfig) SetCallerReference(v string) *DistributionConfig { + s.CallerReference = &v + return s +} + +// SetComment sets the Comment field's value. +func (s *DistributionConfig) SetComment(v string) *DistributionConfig { + s.Comment = &v + return s +} + +// SetCustomErrorResponses sets the CustomErrorResponses field's value. +func (s *DistributionConfig) SetCustomErrorResponses(v *CustomErrorResponses) *DistributionConfig { + s.CustomErrorResponses = v + return s +} + +// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. +func (s *DistributionConfig) SetDefaultCacheBehavior(v *DefaultCacheBehavior) *DistributionConfig { + s.DefaultCacheBehavior = v + return s +} + +// SetDefaultRootObject sets the DefaultRootObject field's value. +func (s *DistributionConfig) SetDefaultRootObject(v string) *DistributionConfig { + s.DefaultRootObject = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *DistributionConfig) SetEnabled(v bool) *DistributionConfig { + s.Enabled = &v + return s +} + +// SetHttpVersion sets the HttpVersion field's value. +func (s *DistributionConfig) SetHttpVersion(v string) *DistributionConfig { + s.HttpVersion = &v + return s +} + +// SetIsIPV6Enabled sets the IsIPV6Enabled field's value. +func (s *DistributionConfig) SetIsIPV6Enabled(v bool) *DistributionConfig { + s.IsIPV6Enabled = &v + return s +} + +// SetLogging sets the Logging field's value. +func (s *DistributionConfig) SetLogging(v *LoggingConfig) *DistributionConfig { + s.Logging = v + return s +} + +// SetOriginGroups sets the OriginGroups field's value. +func (s *DistributionConfig) SetOriginGroups(v *OriginGroups) *DistributionConfig { + s.OriginGroups = v + return s +} + +// SetOrigins sets the Origins field's value. +func (s *DistributionConfig) SetOrigins(v *Origins) *DistributionConfig { + s.Origins = v + return s +} + +// SetPriceClass sets the PriceClass field's value. +func (s *DistributionConfig) SetPriceClass(v string) *DistributionConfig { + s.PriceClass = &v + return s +} + +// SetRestrictions sets the Restrictions field's value. +func (s *DistributionConfig) SetRestrictions(v *Restrictions) *DistributionConfig { + s.Restrictions = v + return s +} + +// SetViewerCertificate sets the ViewerCertificate field's value. +func (s *DistributionConfig) SetViewerCertificate(v *ViewerCertificate) *DistributionConfig { + s.ViewerCertificate = v + return s +} + +// SetWebACLId sets the WebACLId field's value. +func (s *DistributionConfig) SetWebACLId(v string) *DistributionConfig { + s.WebACLId = &v + return s +} + +// A distribution Configuration and a list of tags to be associated with the +// distribution. +type DistributionConfigWithTags struct { + _ struct{} `type:"structure"` + + // A distribution configuration. + // + // DistributionConfig is a required field + DistributionConfig *DistributionConfig `type:"structure" required:"true"` + + // A complex type that contains zero or more Tag elements. + // + // Tags is a required field + Tags *Tags `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DistributionConfigWithTags) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DistributionConfigWithTags) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DistributionConfigWithTags) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DistributionConfigWithTags"} + if s.DistributionConfig == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionConfig")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.DistributionConfig != nil { + if err := s.DistributionConfig.Validate(); err != nil { + invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + if err := s.Tags.Validate(); err != nil { + invalidParams.AddNested("Tags", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDistributionConfig sets the DistributionConfig field's value. +func (s *DistributionConfigWithTags) SetDistributionConfig(v *DistributionConfig) *DistributionConfigWithTags { + s.DistributionConfig = v + return s +} + +// SetTags sets the Tags field's value. +func (s *DistributionConfigWithTags) SetTags(v *Tags) *DistributionConfigWithTags { + s.Tags = v + return s +} + +// A list of distribution IDs. +type DistributionIdList struct { + _ struct{} `type:"structure"` + + // A flag that indicates whether more distribution IDs remain to be listed. + // If your results were truncated, you can make a subsequent request using the + // Marker request field to retrieve more distribution IDs in the list. + // + // IsTruncated is a required field + IsTruncated *bool `type:"boolean" required:"true"` + + // Contains the distribution IDs in the list. + Items []*string `locationNameList:"DistributionId" type:"list"` + + // The value provided in the Marker request field. + // + // Marker is a required field + Marker *string `type:"string" required:"true"` + + // The maximum number of distribution IDs requested. + // + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` + + // Contains the value that you should use in the Marker field of a subsequent + // request to continue listing distribution IDs where you left off. + NextMarker *string `type:"string"` + + // The total number of distribution IDs returned in the response. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s DistributionIdList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DistributionIdList) GoString() string { + return s.String() +} + +// SetIsTruncated sets the IsTruncated field's value. +func (s *DistributionIdList) SetIsTruncated(v bool) *DistributionIdList { + s.IsTruncated = &v + return s +} + +// SetItems sets the Items field's value. +func (s *DistributionIdList) SetItems(v []*string) *DistributionIdList { + s.Items = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DistributionIdList) SetMarker(v string) *DistributionIdList { + s.Marker = &v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *DistributionIdList) SetMaxItems(v int64) *DistributionIdList { + s.MaxItems = &v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *DistributionIdList) SetNextMarker(v string) *DistributionIdList { + s.NextMarker = &v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *DistributionIdList) SetQuantity(v int64) *DistributionIdList { + s.Quantity = &v + return s +} + +// A distribution list. +type DistributionList struct { + _ struct{} `type:"structure"` + + // A flag that indicates whether more distributions remain to be listed. If + // your results were truncated, you can make a follow-up pagination request + // using the Marker request parameter to retrieve more distributions in the + // list. + // + // IsTruncated is a required field + IsTruncated *bool `type:"boolean" required:"true"` + + // A complex type that contains one DistributionSummary element for each distribution + // that was created by the current AWS account. + Items []*DistributionSummary `locationNameList:"DistributionSummary" type:"list"` + + // The value you provided for the Marker request parameter. + // + // Marker is a required field + Marker *string `type:"string" required:"true"` + + // The value you provided for the MaxItems request parameter. + // + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` + + // If IsTruncated is true, this element is present and contains the value you + // can use for the Marker request parameter to continue listing your distributions + // where they left off. + NextMarker *string `type:"string"` + + // The number of distributions that were created by the current AWS account. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s DistributionList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DistributionList) GoString() string { + return s.String() +} + +// SetIsTruncated sets the IsTruncated field's value. +func (s *DistributionList) SetIsTruncated(v bool) *DistributionList { + s.IsTruncated = &v + return s +} + +// SetItems sets the Items field's value. +func (s *DistributionList) SetItems(v []*DistributionSummary) *DistributionList { + s.Items = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DistributionList) SetMarker(v string) *DistributionList { + s.Marker = &v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *DistributionList) SetMaxItems(v int64) *DistributionList { + s.MaxItems = &v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *DistributionList) SetNextMarker(v string) *DistributionList { + s.NextMarker = &v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *DistributionList) SetQuantity(v int64) *DistributionList { + s.Quantity = &v + return s +} + +// A summary of the information about a CloudFront distribution. +type DistributionSummary struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, + // where 123456789012 is your AWS account ID. + // + // ARN is a required field + ARN *string `type:"string" required:"true"` + + // AWS services in China customers must file for an Internet Content Provider + // (ICP) recordal if they want to serve content publicly on an alternate domain + // name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal + // provides the ICP recordal status for CNAMEs associated with distributions. + // + // For more information about ICP recordals, see Signup, Accounts, and Credentials + // (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) + // in Getting Started with AWS services in China. + AliasICPRecordals []*AliasICPRecordal `locationNameList:"AliasICPRecordal" type:"list"` + + // A complex type that contains information about CNAMEs (alternate domain names), + // if any, for this distribution. + // + // Aliases is a required field + Aliases *Aliases `type:"structure" required:"true"` + + // A complex type that contains zero or more CacheBehavior elements. + // + // CacheBehaviors is a required field + CacheBehaviors *CacheBehaviors `type:"structure" required:"true"` + + // The comment originally specified when this distribution was created. + // + // Comment is a required field + Comment *string `type:"string" required:"true"` + + // A complex type that contains zero or more CustomErrorResponses elements. + // + // CustomErrorResponses is a required field + CustomErrorResponses *CustomErrorResponses `type:"structure" required:"true"` + + // A complex type that describes the default cache behavior if you don't specify + // a CacheBehavior element or if files don't match any of the values of PathPattern + // in CacheBehavior elements. You must create exactly one default cache behavior. + // + // DefaultCacheBehavior is a required field + DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"` + + // The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net. + // + // DomainName is a required field + DomainName *string `type:"string" required:"true"` + + // Whether the distribution is enabled to accept user requests for content. + // + // Enabled is a required field + Enabled *bool `type:"boolean" required:"true"` + + // Specify the maximum HTTP version that you want viewers to use to communicate + // with CloudFront. The default value for new web distributions is http2. Viewers + // that don't support HTTP/2 will automatically use an earlier version. + // + // HttpVersion is a required field + HttpVersion *string `type:"string" required:"true" enum:"HttpVersion"` + + // The identifier for the distribution. For example: EDFDVBD632BHDS5. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for + // your distribution. + // + // IsIPV6Enabled is a required field + IsIPV6Enabled *bool `type:"boolean" required:"true"` + + // The date and time the distribution was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // A complex type that contains information about origin groups for this distribution. + OriginGroups *OriginGroups `type:"structure"` + + // A complex type that contains information about origins for this distribution. + // + // Origins is a required field + Origins *Origins `type:"structure" required:"true"` + + // A complex type that contains information about price class for this streaming + // distribution. + // + // PriceClass is a required field + PriceClass *string `type:"string" required:"true" enum:"PriceClass"` + + // A complex type that identifies ways in which you want to restrict distribution + // of your content. + // + // Restrictions is a required field + Restrictions *Restrictions `type:"structure" required:"true"` + + // The current status of the distribution. When the status is Deployed, the + // distribution's information is propagated to all CloudFront edge locations. + // + // Status is a required field + Status *string `type:"string" required:"true"` + + // A complex type that determines the distribution’s SSL/TLS configuration + // for communicating with viewers. + // + // ViewerCertificate is a required field + ViewerCertificate *ViewerCertificate `type:"structure" required:"true"` + + // The Web ACL Id (if any) associated with the distribution. + // + // WebACLId is a required field + WebACLId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DistributionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DistributionSummary) GoString() string { + return s.String() +} + +// SetARN sets the ARN field's value. +func (s *DistributionSummary) SetARN(v string) *DistributionSummary { + s.ARN = &v + return s +} + +// SetAliasICPRecordals sets the AliasICPRecordals field's value. +func (s *DistributionSummary) SetAliasICPRecordals(v []*AliasICPRecordal) *DistributionSummary { + s.AliasICPRecordals = v + return s +} + +// SetAliases sets the Aliases field's value. +func (s *DistributionSummary) SetAliases(v *Aliases) *DistributionSummary { + s.Aliases = v + return s +} + +// SetCacheBehaviors sets the CacheBehaviors field's value. +func (s *DistributionSummary) SetCacheBehaviors(v *CacheBehaviors) *DistributionSummary { + s.CacheBehaviors = v + return s +} + +// SetComment sets the Comment field's value. +func (s *DistributionSummary) SetComment(v string) *DistributionSummary { + s.Comment = &v + return s +} + +// SetCustomErrorResponses sets the CustomErrorResponses field's value. +func (s *DistributionSummary) SetCustomErrorResponses(v *CustomErrorResponses) *DistributionSummary { + s.CustomErrorResponses = v + return s +} + +// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. +func (s *DistributionSummary) SetDefaultCacheBehavior(v *DefaultCacheBehavior) *DistributionSummary { + s.DefaultCacheBehavior = v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *DistributionSummary) SetDomainName(v string) *DistributionSummary { + s.DomainName = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *DistributionSummary) SetEnabled(v bool) *DistributionSummary { + s.Enabled = &v + return s +} + +// SetHttpVersion sets the HttpVersion field's value. +func (s *DistributionSummary) SetHttpVersion(v string) *DistributionSummary { + s.HttpVersion = &v + return s +} + +// SetId sets the Id field's value. +func (s *DistributionSummary) SetId(v string) *DistributionSummary { + s.Id = &v + return s +} + +// SetIsIPV6Enabled sets the IsIPV6Enabled field's value. +func (s *DistributionSummary) SetIsIPV6Enabled(v bool) *DistributionSummary { + s.IsIPV6Enabled = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *DistributionSummary) SetLastModifiedTime(v time.Time) *DistributionSummary { + s.LastModifiedTime = &v + return s +} + +// SetOriginGroups sets the OriginGroups field's value. +func (s *DistributionSummary) SetOriginGroups(v *OriginGroups) *DistributionSummary { + s.OriginGroups = v + return s +} + +// SetOrigins sets the Origins field's value. +func (s *DistributionSummary) SetOrigins(v *Origins) *DistributionSummary { + s.Origins = v + return s +} + +// SetPriceClass sets the PriceClass field's value. +func (s *DistributionSummary) SetPriceClass(v string) *DistributionSummary { + s.PriceClass = &v + return s +} + +// SetRestrictions sets the Restrictions field's value. +func (s *DistributionSummary) SetRestrictions(v *Restrictions) *DistributionSummary { + s.Restrictions = v + return s +} + +// SetStatus sets the Status field's value. +func (s *DistributionSummary) SetStatus(v string) *DistributionSummary { + s.Status = &v + return s +} + +// SetViewerCertificate sets the ViewerCertificate field's value. +func (s *DistributionSummary) SetViewerCertificate(v *ViewerCertificate) *DistributionSummary { + s.ViewerCertificate = v + return s +} + +// SetWebACLId sets the WebACLId field's value. +func (s *DistributionSummary) SetWebACLId(v string) *DistributionSummary { + s.WebACLId = &v + return s +} + +// Complex data type for field-level encryption profiles that includes all of +// the encryption entities. +type EncryptionEntities struct { + _ struct{} `type:"structure"` + + // An array of field patterns in a field-level encryption content type-profile + // mapping. + Items []*EncryptionEntity `locationNameList:"EncryptionEntity" type:"list"` + + // Number of field pattern items in a field-level encryption content type-profile + // mapping. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s EncryptionEntities) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EncryptionEntities) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncryptionEntities) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncryptionEntities"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetItems sets the Items field's value. +func (s *EncryptionEntities) SetItems(v []*EncryptionEntity) *EncryptionEntities { + s.Items = v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *EncryptionEntities) SetQuantity(v int64) *EncryptionEntities { + s.Quantity = &v + return s +} + +// Complex data type for field-level encryption profiles that includes the encryption +// key and field pattern specifications. +type EncryptionEntity struct { + _ struct{} `type:"structure"` + + // Field patterns in a field-level encryption content type profile specify the + // fields that you want to be encrypted. You can provide the full field name, + // or any beginning characters followed by a wildcard (*). You can't overlap + // field patterns. For example, you can't have both ABC* and AB*. Note that + // field patterns are case-sensitive. + // + // FieldPatterns is a required field + FieldPatterns *FieldPatterns `type:"structure" required:"true"` + + // The provider associated with the public key being used for encryption. This + // value must also be provided with the private key for applications to be able + // to decrypt data. + // + // ProviderId is a required field + ProviderId *string `type:"string" required:"true"` + + // The public key associated with a set of field-level encryption patterns, + // to be used when encrypting the fields that match the patterns. + // + // PublicKeyId is a required field + PublicKeyId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s EncryptionEntity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EncryptionEntity) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncryptionEntity) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncryptionEntity"} + if s.FieldPatterns == nil { + invalidParams.Add(request.NewErrParamRequired("FieldPatterns")) + } + if s.ProviderId == nil { + invalidParams.Add(request.NewErrParamRequired("ProviderId")) + } + if s.PublicKeyId == nil { + invalidParams.Add(request.NewErrParamRequired("PublicKeyId")) + } + if s.FieldPatterns != nil { + if err := s.FieldPatterns.Validate(); err != nil { + invalidParams.AddNested("FieldPatterns", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFieldPatterns sets the FieldPatterns field's value. +func (s *EncryptionEntity) SetFieldPatterns(v *FieldPatterns) *EncryptionEntity { + s.FieldPatterns = v + return s +} + +// SetProviderId sets the ProviderId field's value. +func (s *EncryptionEntity) SetProviderId(v string) *EncryptionEntity { + s.ProviderId = &v + return s +} + +// SetPublicKeyId sets the PublicKeyId field's value. +func (s *EncryptionEntity) SetPublicKeyId(v string) *EncryptionEntity { + s.PublicKeyId = &v + return s +} + +// A complex data type that includes the profile configurations and other options +// specified for field-level encryption. +type FieldLevelEncryption struct { + _ struct{} `type:"structure"` + + // A complex data type that includes the profile configurations specified for + // field-level encryption. + // + // FieldLevelEncryptionConfig is a required field + FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `type:"structure" required:"true"` + + // The configuration ID for a field-level encryption configuration which includes + // a set of profiles that specify certain selected data fields to be encrypted + // by specific public keys. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // The last time the field-level encryption configuration was changed. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation +func (s FieldLevelEncryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FieldLevelEncryption) GoString() string { + return s.String() +} + +// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. +func (s *FieldLevelEncryption) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *FieldLevelEncryption { + s.FieldLevelEncryptionConfig = v + return s +} + +// SetId sets the Id field's value. +func (s *FieldLevelEncryption) SetId(v string) *FieldLevelEncryption { + s.Id = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *FieldLevelEncryption) SetLastModifiedTime(v time.Time) *FieldLevelEncryption { + s.LastModifiedTime = &v + return s +} + +// A complex data type that includes the profile configurations specified for +// field-level encryption. +type FieldLevelEncryptionConfig struct { + _ struct{} `type:"structure"` + + // A unique number that ensures the request can't be replayed. + // + // CallerReference is a required field + CallerReference *string `type:"string" required:"true"` + + // An optional comment about the configuration. + Comment *string `type:"string"` + + // A complex data type that specifies when to forward content if a content type + // isn't recognized and profiles to use as by default in a request if a query + // argument doesn't specify a profile to use. + ContentTypeProfileConfig *ContentTypeProfileConfig `type:"structure"` + + // A complex data type that specifies when to forward content if a profile isn't + // found and the profile that can be provided as a query argument in a request. + QueryArgProfileConfig *QueryArgProfileConfig `type:"structure"` +} + +// String returns the string representation +func (s FieldLevelEncryptionConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FieldLevelEncryptionConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FieldLevelEncryptionConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FieldLevelEncryptionConfig"} + if s.CallerReference == nil { + invalidParams.Add(request.NewErrParamRequired("CallerReference")) + } + if s.ContentTypeProfileConfig != nil { + if err := s.ContentTypeProfileConfig.Validate(); err != nil { + invalidParams.AddNested("ContentTypeProfileConfig", err.(request.ErrInvalidParams)) + } + } + if s.QueryArgProfileConfig != nil { + if err := s.QueryArgProfileConfig.Validate(); err != nil { + invalidParams.AddNested("QueryArgProfileConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCallerReference sets the CallerReference field's value. +func (s *FieldLevelEncryptionConfig) SetCallerReference(v string) *FieldLevelEncryptionConfig { + s.CallerReference = &v + return s +} + +// SetComment sets the Comment field's value. +func (s *FieldLevelEncryptionConfig) SetComment(v string) *FieldLevelEncryptionConfig { + s.Comment = &v + return s +} + +// SetContentTypeProfileConfig sets the ContentTypeProfileConfig field's value. +func (s *FieldLevelEncryptionConfig) SetContentTypeProfileConfig(v *ContentTypeProfileConfig) *FieldLevelEncryptionConfig { + s.ContentTypeProfileConfig = v + return s +} + +// SetQueryArgProfileConfig sets the QueryArgProfileConfig field's value. +func (s *FieldLevelEncryptionConfig) SetQueryArgProfileConfig(v *QueryArgProfileConfig) *FieldLevelEncryptionConfig { + s.QueryArgProfileConfig = v + return s +} + +// List of field-level encrpytion configurations. +type FieldLevelEncryptionList struct { + _ struct{} `type:"structure"` + + // An array of field-level encryption items. + Items []*FieldLevelEncryptionSummary `locationNameList:"FieldLevelEncryptionSummary" type:"list"` + + // The maximum number of elements you want in the response body. + // + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` + + // If there are more elements to be listed, this element is present and contains + // the value that you can use for the Marker request parameter to continue listing + // your configurations where you left off. + NextMarker *string `type:"string"` + + // The number of field-level encryption items. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s FieldLevelEncryptionList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FieldLevelEncryptionList) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *FieldLevelEncryptionList) SetItems(v []*FieldLevelEncryptionSummary) *FieldLevelEncryptionList { + s.Items = v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *FieldLevelEncryptionList) SetMaxItems(v int64) *FieldLevelEncryptionList { + s.MaxItems = &v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *FieldLevelEncryptionList) SetNextMarker(v string) *FieldLevelEncryptionList { + s.NextMarker = &v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *FieldLevelEncryptionList) SetQuantity(v int64) *FieldLevelEncryptionList { + s.Quantity = &v + return s +} + +// A complex data type for field-level encryption profiles. +type FieldLevelEncryptionProfile struct { + _ struct{} `type:"structure"` + + // A complex data type that includes the profile name and the encryption entities + // for the field-level encryption profile. + // + // FieldLevelEncryptionProfileConfig is a required field + FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `type:"structure" required:"true"` + + // The ID for a field-level encryption profile configuration which includes + // a set of profiles that specify certain selected data fields to be encrypted + // by specific public keys. // // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + Id *string `type:"string" required:"true"` - // The value of the ETag header that you received when you disabled the streaming - // distribution. For example: E2QWRUHAPOMQZL. - IfMatch *string `location:"header" locationName:"If-Match" type:"string"` + // The last time the field-level encryption profile was updated. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` } // String returns the string representation -func (s DeleteStreamingDistributionInput) String() string { +func (s FieldLevelEncryptionProfile) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteStreamingDistributionInput) GoString() string { +func (s FieldLevelEncryptionProfile) GoString() string { + return s.String() +} + +// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. +func (s *FieldLevelEncryptionProfile) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *FieldLevelEncryptionProfile { + s.FieldLevelEncryptionProfileConfig = v + return s +} + +// SetId sets the Id field's value. +func (s *FieldLevelEncryptionProfile) SetId(v string) *FieldLevelEncryptionProfile { + s.Id = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *FieldLevelEncryptionProfile) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionProfile { + s.LastModifiedTime = &v + return s +} + +// A complex data type of profiles for the field-level encryption. +type FieldLevelEncryptionProfileConfig struct { + _ struct{} `type:"structure"` + + // A unique number that ensures that the request can't be replayed. + // + // CallerReference is a required field + CallerReference *string `type:"string" required:"true"` + + // An optional comment for the field-level encryption profile. + Comment *string `type:"string"` + + // A complex data type of encryption entities for the field-level encryption + // profile that include the public key ID, provider, and field patterns for + // specifying which fields to encrypt with this key. + // + // EncryptionEntities is a required field + EncryptionEntities *EncryptionEntities `type:"structure" required:"true"` + + // Profile name for the field-level encryption profile. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s FieldLevelEncryptionProfileConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FieldLevelEncryptionProfileConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteStreamingDistributionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteStreamingDistributionInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *FieldLevelEncryptionProfileConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FieldLevelEncryptionProfileConfig"} + if s.CallerReference == nil { + invalidParams.Add(request.NewErrParamRequired("CallerReference")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.EncryptionEntities == nil { + invalidParams.Add(request.NewErrParamRequired("EncryptionEntities")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.EncryptionEntities != nil { + if err := s.EncryptionEntities.Validate(); err != nil { + invalidParams.AddNested("EncryptionEntities", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -7717,417 +11636,418 @@ func (s *DeleteStreamingDistributionInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *DeleteStreamingDistributionInput) SetId(v string) *DeleteStreamingDistributionInput { - s.Id = &v +// SetCallerReference sets the CallerReference field's value. +func (s *FieldLevelEncryptionProfileConfig) SetCallerReference(v string) *FieldLevelEncryptionProfileConfig { + s.CallerReference = &v return s } -// SetIfMatch sets the IfMatch field's value. -func (s *DeleteStreamingDistributionInput) SetIfMatch(v string) *DeleteStreamingDistributionInput { - s.IfMatch = &v +// SetComment sets the Comment field's value. +func (s *FieldLevelEncryptionProfileConfig) SetComment(v string) *FieldLevelEncryptionProfileConfig { + s.Comment = &v return s } -type DeleteStreamingDistributionOutput struct { +// SetEncryptionEntities sets the EncryptionEntities field's value. +func (s *FieldLevelEncryptionProfileConfig) SetEncryptionEntities(v *EncryptionEntities) *FieldLevelEncryptionProfileConfig { + s.EncryptionEntities = v + return s +} + +// SetName sets the Name field's value. +func (s *FieldLevelEncryptionProfileConfig) SetName(v string) *FieldLevelEncryptionProfileConfig { + s.Name = &v + return s +} + +// List of field-level encryption profiles. +type FieldLevelEncryptionProfileList struct { _ struct{} `type:"structure"` + + // The field-level encryption profile items. + Items []*FieldLevelEncryptionProfileSummary `locationNameList:"FieldLevelEncryptionProfileSummary" type:"list"` + + // The maximum number of field-level encryption profiles you want in the response + // body. + // + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` + + // If there are more elements to be listed, this element is present and contains + // the value that you can use for the Marker request parameter to continue listing + // your profiles where you left off. + NextMarker *string `type:"string"` + + // The number of field-level encryption profiles. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s DeleteStreamingDistributionOutput) String() string { +func (s FieldLevelEncryptionProfileList) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteStreamingDistributionOutput) GoString() string { +func (s FieldLevelEncryptionProfileList) GoString() string { return s.String() } -// A distribution tells CloudFront where you want content to be delivered from, -// and the details about how to track and manage content delivery. -type Distribution struct { +// SetItems sets the Items field's value. +func (s *FieldLevelEncryptionProfileList) SetItems(v []*FieldLevelEncryptionProfileSummary) *FieldLevelEncryptionProfileList { + s.Items = v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *FieldLevelEncryptionProfileList) SetMaxItems(v int64) *FieldLevelEncryptionProfileList { + s.MaxItems = &v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *FieldLevelEncryptionProfileList) SetNextMarker(v string) *FieldLevelEncryptionProfileList { + s.NextMarker = &v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *FieldLevelEncryptionProfileList) SetQuantity(v int64) *FieldLevelEncryptionProfileList { + s.Quantity = &v + return s +} + +// The field-level encryption profile summary. +type FieldLevelEncryptionProfileSummary struct { _ struct{} `type:"structure"` - // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, - // where 123456789012 is your AWS account ID. + // An optional comment for the field-level encryption profile summary. + Comment *string `type:"string"` + + // A complex data type of encryption entities for the field-level encryption + // profile that include the public key ID, provider, and field patterns for + // specifying which fields to encrypt with this key. // - // ARN is a required field - ARN *string `type:"string" required:"true"` + // EncryptionEntities is a required field + EncryptionEntities *EncryptionEntities `type:"structure" required:"true"` - // CloudFront automatically adds this element to the response only if you've - // set up the distribution to serve private content with signed URLs. The element - // lists the key pair IDs that CloudFront is aware of for each trusted signer. - // The Signer child element lists the AWS account number of the trusted signer - // (or an empty Self element if the signer is you). The Signer element also - // includes the IDs of any active key pairs associated with the trusted signer's - // AWS account. If no KeyPairId element appears for a Signer, that signer can't - // create working signed URLs. + // ID for the field-level encryption profile summary. // - // ActiveTrustedSigners is a required field - ActiveTrustedSigners *ActiveTrustedSigners `type:"structure" required:"true"` + // Id is a required field + Id *string `type:"string" required:"true"` + + // The time when the the field-level encryption profile summary was last updated. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // Name for the field-level encryption profile summary. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s FieldLevelEncryptionProfileSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FieldLevelEncryptionProfileSummary) GoString() string { + return s.String() +} + +// SetComment sets the Comment field's value. +func (s *FieldLevelEncryptionProfileSummary) SetComment(v string) *FieldLevelEncryptionProfileSummary { + s.Comment = &v + return s +} + +// SetEncryptionEntities sets the EncryptionEntities field's value. +func (s *FieldLevelEncryptionProfileSummary) SetEncryptionEntities(v *EncryptionEntities) *FieldLevelEncryptionProfileSummary { + s.EncryptionEntities = v + return s +} + +// SetId sets the Id field's value. +func (s *FieldLevelEncryptionProfileSummary) SetId(v string) *FieldLevelEncryptionProfileSummary { + s.Id = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *FieldLevelEncryptionProfileSummary) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionProfileSummary { + s.LastModifiedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *FieldLevelEncryptionProfileSummary) SetName(v string) *FieldLevelEncryptionProfileSummary { + s.Name = &v + return s +} - // AWS services in China customers must file for an Internet Content Provider - // (ICP) recordal if they want to serve content publicly on an alternate domain - // name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal - // provides the ICP recordal status for CNAMEs associated with distributions. - // - // For more information about ICP recordals, see Signup, Accounts, and Credentials - // (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) - // in Getting Started with AWS services in China. - AliasICPRecordals []*AliasICPRecordal `locationNameList:"AliasICPRecordal" type:"list"` +// A summary of a field-level encryption item. +type FieldLevelEncryptionSummary struct { + _ struct{} `type:"structure"` - // The current configuration information for the distribution. Send a GET request - // to the /CloudFront API version/distribution ID/config resource. - // - // DistributionConfig is a required field - DistributionConfig *DistributionConfig `type:"structure" required:"true"` + // An optional comment about the field-level encryption item. + Comment *string `type:"string"` - // The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net. - // - // DomainName is a required field - DomainName *string `type:"string" required:"true"` + // A summary of a content type-profile mapping. + ContentTypeProfileConfig *ContentTypeProfileConfig `type:"structure"` - // The identifier for the distribution. For example: EDFDVBD632BHDS5. + // The unique ID of a field-level encryption item. // // Id is a required field Id *string `type:"string" required:"true"` - // The number of invalidation batches currently in progress. - // - // InProgressInvalidationBatches is a required field - InProgressInvalidationBatches *int64 `type:"integer" required:"true"` - - // The date and time the distribution was last modified. + // The last time that the summary of field-level encryption items was modified. // // LastModifiedTime is a required field LastModifiedTime *time.Time `type:"timestamp" required:"true"` - // This response element indicates the current status of the distribution. When - // the status is Deployed, the distribution's information is fully propagated - // to all CloudFront edge locations. - // - // Status is a required field - Status *string `type:"string" required:"true"` + // A summary of a query argument-profile mapping. + QueryArgProfileConfig *QueryArgProfileConfig `type:"structure"` } // String returns the string representation -func (s Distribution) String() string { +func (s FieldLevelEncryptionSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Distribution) GoString() string { +func (s FieldLevelEncryptionSummary) GoString() string { return s.String() } -// SetARN sets the ARN field's value. -func (s *Distribution) SetARN(v string) *Distribution { - s.ARN = &v +// SetComment sets the Comment field's value. +func (s *FieldLevelEncryptionSummary) SetComment(v string) *FieldLevelEncryptionSummary { + s.Comment = &v return s } -// SetActiveTrustedSigners sets the ActiveTrustedSigners field's value. -func (s *Distribution) SetActiveTrustedSigners(v *ActiveTrustedSigners) *Distribution { - s.ActiveTrustedSigners = v +// SetContentTypeProfileConfig sets the ContentTypeProfileConfig field's value. +func (s *FieldLevelEncryptionSummary) SetContentTypeProfileConfig(v *ContentTypeProfileConfig) *FieldLevelEncryptionSummary { + s.ContentTypeProfileConfig = v return s } -// SetAliasICPRecordals sets the AliasICPRecordals field's value. -func (s *Distribution) SetAliasICPRecordals(v []*AliasICPRecordal) *Distribution { - s.AliasICPRecordals = v +// SetId sets the Id field's value. +func (s *FieldLevelEncryptionSummary) SetId(v string) *FieldLevelEncryptionSummary { + s.Id = &v return s } -// SetDistributionConfig sets the DistributionConfig field's value. -func (s *Distribution) SetDistributionConfig(v *DistributionConfig) *Distribution { - s.DistributionConfig = v +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *FieldLevelEncryptionSummary) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionSummary { + s.LastModifiedTime = &v return s } -// SetDomainName sets the DomainName field's value. -func (s *Distribution) SetDomainName(v string) *Distribution { - s.DomainName = &v +// SetQueryArgProfileConfig sets the QueryArgProfileConfig field's value. +func (s *FieldLevelEncryptionSummary) SetQueryArgProfileConfig(v *QueryArgProfileConfig) *FieldLevelEncryptionSummary { + s.QueryArgProfileConfig = v return s } -// SetId sets the Id field's value. -func (s *Distribution) SetId(v string) *Distribution { - s.Id = &v - return s -} +// A complex data type that includes the field patterns to match for field-level +// encryption. +type FieldPatterns struct { + _ struct{} `type:"structure"` -// SetInProgressInvalidationBatches sets the InProgressInvalidationBatches field's value. -func (s *Distribution) SetInProgressInvalidationBatches(v int64) *Distribution { - s.InProgressInvalidationBatches = &v - return s + // An array of the field-level encryption field patterns. + Items []*string `locationNameList:"FieldPattern" type:"list"` + + // The number of field-level encryption field patterns. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } -// SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *Distribution) SetLastModifiedTime(v time.Time) *Distribution { - s.LastModifiedTime = &v - return s +// String returns the string representation +func (s FieldPatterns) String() string { + return awsutil.Prettify(s) } -// SetStatus sets the Status field's value. -func (s *Distribution) SetStatus(v string) *Distribution { - s.Status = &v - return s +// GoString returns the string representation +func (s FieldPatterns) GoString() string { + return s.String() } -// A distribution configuration. -type DistributionConfig struct { - _ struct{} `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *FieldPatterns) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FieldPatterns"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } - // A complex type that contains information about CNAMEs (alternate domain names), - // if any, for this distribution. - Aliases *Aliases `type:"structure"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // A complex type that contains zero or more CacheBehavior elements. - CacheBehaviors *CacheBehaviors `type:"structure"` +// SetItems sets the Items field's value. +func (s *FieldPatterns) SetItems(v []*string) *FieldPatterns { + s.Items = v + return s +} - // A unique value (for example, a date-time stamp) that ensures that the request - // can't be replayed. - // - // If the value of CallerReference is new (regardless of the content of the - // DistributionConfig object), CloudFront creates a new distribution. - // - // If CallerReference is a value that you already sent in a previous request - // to create a distribution, CloudFront returns a DistributionAlreadyExists - // error. - // - // CallerReference is a required field - CallerReference *string `type:"string" required:"true"` +// SetQuantity sets the Quantity field's value. +func (s *FieldPatterns) SetQuantity(v int64) *FieldPatterns { + s.Quantity = &v + return s +} - // Any comments you want to include about the distribution. - // - // If you don't want to specify a comment, include an empty Comment element. - // - // To delete an existing comment, update the distribution configuration and - // include an empty Comment element. - // - // To add or change a comment, update the distribution configuration and specify - // the new comment. - // - // Comment is a required field - Comment *string `type:"string" required:"true" sensitive:"true"` +// This field is deprecated. We recommend that you use a cache policy or an +// origin request policy instead of this field. +// +// If you want to include values in the cache key, use a cache policy. For more +// information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) +// in the Amazon CloudFront Developer Guide. +// +// If you want to send values to the origin but not include them in the cache +// key, use an origin request policy. For more information, see Creating origin +// request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) +// in the Amazon CloudFront Developer Guide. +// +// A complex type that specifies how CloudFront handles query strings, cookies, +// and HTTP headers. +type ForwardedValues struct { + _ struct{} `type:"structure"` - // A complex type that controls the following: + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. // - // * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range - // with custom error messages before returning the response to the viewer. + // If you want to include cookies in the cache key, use a cache policy. For + // more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // in the Amazon CloudFront Developer Guide. // - // * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. + // If you want to send cookies to the origin but not include them in the cache + // key, use an origin request policy. For more information, see Creating origin + // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // in the Amazon CloudFront Developer Guide. // - // For more information about custom error pages, see Customizing Error Responses - // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) + // A complex type that specifies whether you want CloudFront to forward cookies + // to the origin and, if so, which ones. For more information about forwarding + // cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies + // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) // in the Amazon CloudFront Developer Guide. - CustomErrorResponses *CustomErrorResponses `type:"structure"` - - // A complex type that describes the default cache behavior if you don't specify - // a CacheBehavior element or if files don't match any of the values of PathPattern - // in CacheBehavior elements. You must create exactly one default cache behavior. // - // DefaultCacheBehavior is a required field - DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"` + // Cookies is a required field + Cookies *CookiePreference `type:"structure" required:"true"` - // The object that you want CloudFront to request from your origin (for example, - // index.html) when a viewer requests the root URL for your distribution (http://www.example.com) - // instead of an object in your distribution (http://www.example.com/product-description.html). - // Specifying a default root object avoids exposing the contents of your distribution. - // - // Specify only the object name, for example, index.html. Don't add a / before - // the object name. - // - // If you don't want to specify a default root object when you create a distribution, - // include an empty DefaultRootObject element. - // - // To delete the default root object from an existing distribution, update the - // distribution configuration and include an empty DefaultRootObject element. - // - // To replace the default root object, update the distribution configuration - // and specify the new object. + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. // - // For more information about the default root object, see Creating a Default - // Root Object (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html) + // If you want to include headers in the cache key, use a cache policy. For + // more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) // in the Amazon CloudFront Developer Guide. - DefaultRootObject *string `type:"string"` - - // From this field, you can enable or disable the selected distribution. // - // Enabled is a required field - Enabled *bool `type:"boolean" required:"true"` - - // (Optional) Specify the maximum HTTP version that you want viewers to use - // to communicate with CloudFront. The default value for new web distributions - // is http2. Viewers that don't support HTTP/2 automatically use an earlier - // HTTP version. + // If you want to send headers to the origin but not include them in the cache + // key, use an origin request policy. For more information, see Creating origin + // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // in the Amazon CloudFront Developer Guide. // - // For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or - // later, and must support Server Name Identification (SNI). + // A complex type that specifies the Headers, if any, that you want CloudFront + // to forward to the origin for this cache behavior (whitelisted headers). For + // the headers that you specify, CloudFront also caches separate versions of + // a specified object that is based on the header values in viewer requests. // - // In general, configuring CloudFront to communicate with viewers using HTTP/2 - // reduces latency. You can improve performance by optimizing for HTTP/2. For - // more information, do an Internet search for "http/2 optimization." - HttpVersion *string `type:"string" enum:"HttpVersion"` + // For more information, see Caching Content Based on Request Headers (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) + // in the Amazon CloudFront Developer Guide. + Headers *Headers `type:"structure"` - // If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address - // for your distribution, specify true. If you specify false, CloudFront responds - // to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. - // This allows viewers to submit a second request, for an IPv4 address for your - // distribution. + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. // - // In general, you should enable IPv6 if you have users on IPv6 networks who - // want to access your content. However, if you're using signed URLs or signed - // cookies to restrict access to your content, and if you're using a custom - // policy that includes the IpAddress parameter to restrict the IP addresses - // that can access your content, don't enable IPv6. If you want to restrict - // access to some content by IP address and not restrict access to other content - // (or restrict access but not by IP address), you can create two distributions. - // For more information, see Creating a Signed URL Using a Custom Policy (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-custom-policy.html) + // If you want to include query strings in the cache key, use a cache policy. + // For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) // in the Amazon CloudFront Developer Guide. // - // If you're using an Amazon Route 53 alias resource record set to route traffic - // to your CloudFront distribution, you need to create a second alias resource - // record set when both of the following are true: + // If you want to send query strings to the origin but not include them in the + // cache key, use an origin request policy. For more information, see Creating + // origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // in the Amazon CloudFront Developer Guide. // - // * You enable IPv6 for the distribution + // Indicates whether you want CloudFront to forward query strings to the origin + // that is associated with this cache behavior and cache based on the query + // string parameters. CloudFront behavior depends on the value of QueryString + // and on the values that you specify for QueryStringCacheKeys, if any: // - // * You're using alternate domain names in the URLs for your objects + // If you specify true for QueryString and you don't specify any values for + // QueryStringCacheKeys, CloudFront forwards all query string parameters to + // the origin and caches based on all query string parameters. Depending on + // how many query string parameters and values you have, this can adversely + // affect performance because CloudFront must forward more requests to the origin. // - // For more information, see Routing Traffic to an Amazon CloudFront Web Distribution - // by Using Your Domain Name (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html) - // in the Amazon Route 53 Developer Guide. + // If you specify true for QueryString and you specify one or more values for + // QueryStringCacheKeys, CloudFront forwards all query string parameters to + // the origin, but it only caches based on the query string parameters that + // you specify. // - // If you created a CNAME resource record set, either with Amazon Route 53 or - // with another DNS service, you don't need to make any changes. A CNAME record - // will route traffic to your distribution regardless of the IP address format - // of the viewer request. - IsIPV6Enabled *bool `type:"boolean"` - - // A complex type that controls whether access logs are written for the distribution. + // If you specify false for QueryString, CloudFront doesn't forward any query + // string parameters to the origin, and doesn't cache based on query string + // parameters. // - // For more information about logging, see Access Logs (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) + // For more information, see Configuring CloudFront to Cache Based on Query + // String Parameters (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html) // in the Amazon CloudFront Developer Guide. - Logging *LoggingConfig `type:"structure"` - - // A complex type that contains information about origin groups for this distribution. - OriginGroups *OriginGroups `type:"structure"` - - // A complex type that contains information about origins for this distribution. // - // Origins is a required field - Origins *Origins `type:"structure" required:"true"` + // QueryString is a required field + QueryString *bool `type:"boolean" required:"true"` - // The price class that corresponds with the maximum price that you want to - // pay for CloudFront service. If you specify PriceClass_All, CloudFront responds - // to requests for your objects from all CloudFront edge locations. + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. // - // If you specify a price class other than PriceClass_All, CloudFront serves - // your objects from the CloudFront edge location that has the lowest latency - // among the edge locations in your price class. Viewers who are in or near - // regions that are excluded from your specified price class may encounter slower - // performance. + // If you want to include query strings in the cache key, use a cache policy. + // For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // in the Amazon CloudFront Developer Guide. // - // For more information about price classes, see Choosing the Price Class for - // a CloudFront Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PriceClass.html) - // in the Amazon CloudFront Developer Guide. For information about CloudFront - // pricing, including how price classes (such as Price Class 100) map to CloudFront - // regions, see Amazon CloudFront Pricing (http://aws.amazon.com/cloudfront/pricing/). - // For price class information, scroll down to see the table at the bottom of - // the page. - PriceClass *string `type:"string" enum:"PriceClass"` - - // A complex type that identifies ways in which you want to restrict distribution - // of your content. - Restrictions *Restrictions `type:"structure"` - - // A complex type that determines the distribution’s SSL/TLS configuration - // for communicating with viewers. - ViewerCertificate *ViewerCertificate `type:"structure"` - - // A unique identifier that specifies the AWS WAF web ACL, if any, to associate - // with this distribution. To specify a web ACL created using the latest version - // of AWS WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. - // To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example - // 473e64fd-f30b-4765-81a0-62ad96dd167a. + // If you want to send query strings to the origin but not include them in the + // cache key, use an origin request policy. For more information, see Creating + // origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // in the Amazon CloudFront Developer Guide. // - // AWS WAF is a web application firewall that lets you monitor the HTTP and - // HTTPS requests that are forwarded to CloudFront, and lets you control access - // to your content. Based on conditions that you specify, such as the IP addresses - // that requests originate from or the values of query strings, CloudFront responds - // to requests either with the requested content or with an HTTP 403 status - // code (Forbidden). You can also configure CloudFront to return a custom error - // page when a request is blocked. For more information about AWS WAF, see the - // AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html). - WebACLId *string `type:"string"` + // A complex type that contains information about the query string parameters + // that you want CloudFront to use for caching for this cache behavior. + QueryStringCacheKeys *QueryStringCacheKeys `type:"structure"` } // String returns the string representation -func (s DistributionConfig) String() string { +func (s ForwardedValues) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DistributionConfig) GoString() string { +func (s ForwardedValues) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DistributionConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DistributionConfig"} - if s.CallerReference == nil { - invalidParams.Add(request.NewErrParamRequired("CallerReference")) - } - if s.Comment == nil { - invalidParams.Add(request.NewErrParamRequired("Comment")) - } - if s.DefaultCacheBehavior == nil { - invalidParams.Add(request.NewErrParamRequired("DefaultCacheBehavior")) - } - if s.Enabled == nil { - invalidParams.Add(request.NewErrParamRequired("Enabled")) - } - if s.Origins == nil { - invalidParams.Add(request.NewErrParamRequired("Origins")) - } - if s.Aliases != nil { - if err := s.Aliases.Validate(); err != nil { - invalidParams.AddNested("Aliases", err.(request.ErrInvalidParams)) - } - } - if s.CacheBehaviors != nil { - if err := s.CacheBehaviors.Validate(); err != nil { - invalidParams.AddNested("CacheBehaviors", err.(request.ErrInvalidParams)) - } - } - if s.CustomErrorResponses != nil { - if err := s.CustomErrorResponses.Validate(); err != nil { - invalidParams.AddNested("CustomErrorResponses", err.(request.ErrInvalidParams)) - } - } - if s.DefaultCacheBehavior != nil { - if err := s.DefaultCacheBehavior.Validate(); err != nil { - invalidParams.AddNested("DefaultCacheBehavior", err.(request.ErrInvalidParams)) - } +func (s *ForwardedValues) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ForwardedValues"} + if s.Cookies == nil { + invalidParams.Add(request.NewErrParamRequired("Cookies")) } - if s.Logging != nil { - if err := s.Logging.Validate(); err != nil { - invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) - } + if s.QueryString == nil { + invalidParams.Add(request.NewErrParamRequired("QueryString")) } - if s.OriginGroups != nil { - if err := s.OriginGroups.Validate(); err != nil { - invalidParams.AddNested("OriginGroups", err.(request.ErrInvalidParams)) + if s.Cookies != nil { + if err := s.Cookies.Validate(); err != nil { + invalidParams.AddNested("Cookies", err.(request.ErrInvalidParams)) } } - if s.Origins != nil { - if err := s.Origins.Validate(); err != nil { - invalidParams.AddNested("Origins", err.(request.ErrInvalidParams)) + if s.Headers != nil { + if err := s.Headers.Validate(); err != nil { + invalidParams.AddNested("Headers", err.(request.ErrInvalidParams)) } } - if s.Restrictions != nil { - if err := s.Restrictions.Validate(); err != nil { - invalidParams.AddNested("Restrictions", err.(request.ErrInvalidParams)) + if s.QueryStringCacheKeys != nil { + if err := s.QueryStringCacheKeys.Validate(); err != nil { + invalidParams.AddNested("QueryStringCacheKeys", err.(request.ErrInvalidParams)) } } @@ -8137,152 +12057,147 @@ func (s *DistributionConfig) Validate() error { return nil } -// SetAliases sets the Aliases field's value. -func (s *DistributionConfig) SetAliases(v *Aliases) *DistributionConfig { - s.Aliases = v - return s -} - -// SetCacheBehaviors sets the CacheBehaviors field's value. -func (s *DistributionConfig) SetCacheBehaviors(v *CacheBehaviors) *DistributionConfig { - s.CacheBehaviors = v - return s -} - -// SetCallerReference sets the CallerReference field's value. -func (s *DistributionConfig) SetCallerReference(v string) *DistributionConfig { - s.CallerReference = &v - return s -} - -// SetComment sets the Comment field's value. -func (s *DistributionConfig) SetComment(v string) *DistributionConfig { - s.Comment = &v +// SetCookies sets the Cookies field's value. +func (s *ForwardedValues) SetCookies(v *CookiePreference) *ForwardedValues { + s.Cookies = v return s } -// SetCustomErrorResponses sets the CustomErrorResponses field's value. -func (s *DistributionConfig) SetCustomErrorResponses(v *CustomErrorResponses) *DistributionConfig { - s.CustomErrorResponses = v +// SetHeaders sets the Headers field's value. +func (s *ForwardedValues) SetHeaders(v *Headers) *ForwardedValues { + s.Headers = v return s } -// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. -func (s *DistributionConfig) SetDefaultCacheBehavior(v *DefaultCacheBehavior) *DistributionConfig { - s.DefaultCacheBehavior = v +// SetQueryString sets the QueryString field's value. +func (s *ForwardedValues) SetQueryString(v bool) *ForwardedValues { + s.QueryString = &v return s } -// SetDefaultRootObject sets the DefaultRootObject field's value. -func (s *DistributionConfig) SetDefaultRootObject(v string) *DistributionConfig { - s.DefaultRootObject = &v +// SetQueryStringCacheKeys sets the QueryStringCacheKeys field's value. +func (s *ForwardedValues) SetQueryStringCacheKeys(v *QueryStringCacheKeys) *ForwardedValues { + s.QueryStringCacheKeys = v return s } -// SetEnabled sets the Enabled field's value. -func (s *DistributionConfig) SetEnabled(v bool) *DistributionConfig { - s.Enabled = &v - return s -} +// A complex type that controls the countries in which your content is distributed. +// CloudFront determines the location of your users using MaxMind GeoIP databases. +type GeoRestriction struct { + _ struct{} `type:"structure"` -// SetHttpVersion sets the HttpVersion field's value. -func (s *DistributionConfig) SetHttpVersion(v string) *DistributionConfig { - s.HttpVersion = &v - return s -} + // A complex type that contains a Location element for each country in which + // you want CloudFront either to distribute your content (whitelist) or not + // distribute your content (blacklist). + // + // The Location element is a two-letter, uppercase country code for a country + // that you want to include in your blacklist or whitelist. Include one Location + // element for each country. + // + // CloudFront and MaxMind both use ISO 3166 country codes. For the current list + // of countries and the corresponding codes, see ISO 3166-1-alpha-2 code on + // the International Organization for Standardization website. You can also + // refer to the country list on the CloudFront console, which includes both + // country names and codes. + Items []*string `locationNameList:"Location" type:"list"` -// SetIsIPV6Enabled sets the IsIPV6Enabled field's value. -func (s *DistributionConfig) SetIsIPV6Enabled(v bool) *DistributionConfig { - s.IsIPV6Enabled = &v - return s -} + // When geo restriction is enabled, this is the number of countries in your + // whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0, + // and you can omit Items. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` -// SetLogging sets the Logging field's value. -func (s *DistributionConfig) SetLogging(v *LoggingConfig) *DistributionConfig { - s.Logging = v - return s + // The method that you want to use to restrict distribution of your content + // by country: + // + // * none: No geo restriction is enabled, meaning access to content is not + // restricted by client geo location. + // + // * blacklist: The Location elements specify the countries in which you + // don't want CloudFront to distribute your content. + // + // * whitelist: The Location elements specify the countries in which you + // want CloudFront to distribute your content. + // + // RestrictionType is a required field + RestrictionType *string `type:"string" required:"true" enum:"GeoRestrictionType"` } -// SetOriginGroups sets the OriginGroups field's value. -func (s *DistributionConfig) SetOriginGroups(v *OriginGroups) *DistributionConfig { - s.OriginGroups = v - return s +// String returns the string representation +func (s GeoRestriction) String() string { + return awsutil.Prettify(s) } -// SetOrigins sets the Origins field's value. -func (s *DistributionConfig) SetOrigins(v *Origins) *DistributionConfig { - s.Origins = v - return s +// GoString returns the string representation +func (s GeoRestriction) GoString() string { + return s.String() } -// SetPriceClass sets the PriceClass field's value. -func (s *DistributionConfig) SetPriceClass(v string) *DistributionConfig { - s.PriceClass = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GeoRestriction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GeoRestriction"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + if s.RestrictionType == nil { + invalidParams.Add(request.NewErrParamRequired("RestrictionType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetRestrictions sets the Restrictions field's value. -func (s *DistributionConfig) SetRestrictions(v *Restrictions) *DistributionConfig { - s.Restrictions = v +// SetItems sets the Items field's value. +func (s *GeoRestriction) SetItems(v []*string) *GeoRestriction { + s.Items = v return s } -// SetViewerCertificate sets the ViewerCertificate field's value. -func (s *DistributionConfig) SetViewerCertificate(v *ViewerCertificate) *DistributionConfig { - s.ViewerCertificate = v +// SetQuantity sets the Quantity field's value. +func (s *GeoRestriction) SetQuantity(v int64) *GeoRestriction { + s.Quantity = &v return s } -// SetWebACLId sets the WebACLId field's value. -func (s *DistributionConfig) SetWebACLId(v string) *DistributionConfig { - s.WebACLId = &v +// SetRestrictionType sets the RestrictionType field's value. +func (s *GeoRestriction) SetRestrictionType(v string) *GeoRestriction { + s.RestrictionType = &v return s } -// A distribution Configuration and a list of tags to be associated with the -// distribution. -type DistributionConfigWithTags struct { - _ struct{} `type:"structure"` - - // A distribution configuration. - // - // DistributionConfig is a required field - DistributionConfig *DistributionConfig `type:"structure" required:"true"` +type GetCachePolicyConfigInput struct { + _ struct{} `locationName:"GetCachePolicyConfigRequest" type:"structure"` - // A complex type that contains zero or more Tag elements. + // The unique identifier for the cache policy. If the cache policy is attached + // to a distribution’s cache behavior, you can get the policy’s identifier + // using ListDistributions or GetDistribution. If the cache policy is not attached + // to a cache behavior, you can get the identifier using ListCachePolicies. // - // Tags is a required field - Tags *Tags `type:"structure" required:"true"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s DistributionConfigWithTags) String() string { +func (s GetCachePolicyConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DistributionConfigWithTags) GoString() string { +func (s GetCachePolicyConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DistributionConfigWithTags) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DistributionConfigWithTags"} - if s.DistributionConfig == nil { - invalidParams.Add(request.NewErrParamRequired("DistributionConfig")) - } - if s.Tags == nil { - invalidParams.Add(request.NewErrParamRequired("Tags")) - } - if s.DistributionConfig != nil { - if err := s.DistributionConfig.Validate(); err != nil { - invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams)) - } +func (s *GetCachePolicyConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCachePolicyConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.Tags != nil { - if err := s.Tags.Validate(); err != nil { - invalidParams.AddNested("Tags", err.(request.ErrInvalidParams)) - } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -8291,465 +12206,377 @@ func (s *DistributionConfigWithTags) Validate() error { return nil } -// SetDistributionConfig sets the DistributionConfig field's value. -func (s *DistributionConfigWithTags) SetDistributionConfig(v *DistributionConfig) *DistributionConfigWithTags { - s.DistributionConfig = v - return s -} - -// SetTags sets the Tags field's value. -func (s *DistributionConfigWithTags) SetTags(v *Tags) *DistributionConfigWithTags { - s.Tags = v +// SetId sets the Id field's value. +func (s *GetCachePolicyConfigInput) SetId(v string) *GetCachePolicyConfigInput { + s.Id = &v return s } -// A distribution list. -type DistributionList struct { - _ struct{} `type:"structure"` - - // A flag that indicates whether more distributions remain to be listed. If - // your results were truncated, you can make a follow-up pagination request - // using the Marker request parameter to retrieve more distributions in the - // list. - // - // IsTruncated is a required field - IsTruncated *bool `type:"boolean" required:"true"` - - // A complex type that contains one DistributionSummary element for each distribution - // that was created by the current AWS account. - Items []*DistributionSummary `locationNameList:"DistributionSummary" type:"list"` - - // The value you provided for the Marker request parameter. - // - // Marker is a required field - Marker *string `type:"string" required:"true"` - - // The value you provided for the MaxItems request parameter. - // - // MaxItems is a required field - MaxItems *int64 `type:"integer" required:"true"` +type GetCachePolicyConfigOutput struct { + _ struct{} `type:"structure" payload:"CachePolicyConfig"` - // If IsTruncated is true, this element is present and contains the value you - // can use for the Marker request parameter to continue listing your distributions - // where they left off. - NextMarker *string `type:"string"` + // The cache policy configuration. + CachePolicyConfig *CachePolicyConfig `type:"structure"` - // The number of distributions that were created by the current AWS account. - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // The current version of the cache policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` } // String returns the string representation -func (s DistributionList) String() string { +func (s GetCachePolicyConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DistributionList) GoString() string { +func (s GetCachePolicyConfigOutput) GoString() string { return s.String() } -// SetIsTruncated sets the IsTruncated field's value. -func (s *DistributionList) SetIsTruncated(v bool) *DistributionList { - s.IsTruncated = &v +// SetCachePolicyConfig sets the CachePolicyConfig field's value. +func (s *GetCachePolicyConfigOutput) SetCachePolicyConfig(v *CachePolicyConfig) *GetCachePolicyConfigOutput { + s.CachePolicyConfig = v return s } -// SetItems sets the Items field's value. -func (s *DistributionList) SetItems(v []*DistributionSummary) *DistributionList { - s.Items = v +// SetETag sets the ETag field's value. +func (s *GetCachePolicyConfigOutput) SetETag(v string) *GetCachePolicyConfigOutput { + s.ETag = &v return s } -// SetMarker sets the Marker field's value. -func (s *DistributionList) SetMarker(v string) *DistributionList { - s.Marker = &v - return s -} +type GetCachePolicyInput struct { + _ struct{} `locationName:"GetCachePolicyRequest" type:"structure"` -// SetMaxItems sets the MaxItems field's value. -func (s *DistributionList) SetMaxItems(v int64) *DistributionList { - s.MaxItems = &v - return s + // The unique identifier for the cache policy. If the cache policy is attached + // to a distribution’s cache behavior, you can get the policy’s identifier + // using ListDistributions or GetDistribution. If the cache policy is not attached + // to a cache behavior, you can get the identifier using ListCachePolicies. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } -// SetNextMarker sets the NextMarker field's value. -func (s *DistributionList) SetNextMarker(v string) *DistributionList { - s.NextMarker = &v - return s +// String returns the string representation +func (s GetCachePolicyInput) String() string { + return awsutil.Prettify(s) } -// SetQuantity sets the Quantity field's value. -func (s *DistributionList) SetQuantity(v int64) *DistributionList { - s.Quantity = &v - return s +// GoString returns the string representation +func (s GetCachePolicyInput) GoString() string { + return s.String() } -// A summary of the information about a CloudFront distribution. -type DistributionSummary struct { - _ struct{} `type:"structure"` - - // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, - // where 123456789012 is your AWS account ID. - // - // ARN is a required field - ARN *string `type:"string" required:"true"` - - // AWS services in China customers must file for an Internet Content Provider - // (ICP) recordal if they want to serve content publicly on an alternate domain - // name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal - // provides the ICP recordal status for CNAMEs associated with distributions. - // - // For more information about ICP recordals, see Signup, Accounts, and Credentials - // (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) - // in Getting Started with AWS services in China. - AliasICPRecordals []*AliasICPRecordal `locationNameList:"AliasICPRecordal" type:"list"` - - // A complex type that contains information about CNAMEs (alternate domain names), - // if any, for this distribution. - // - // Aliases is a required field - Aliases *Aliases `type:"structure" required:"true"` - - // A complex type that contains zero or more CacheBehavior elements. - // - // CacheBehaviors is a required field - CacheBehaviors *CacheBehaviors `type:"structure" required:"true"` - - // The comment originally specified when this distribution was created. - // - // Comment is a required field - Comment *string `type:"string" required:"true"` - - // A complex type that contains zero or more CustomErrorResponses elements. - // - // CustomErrorResponses is a required field - CustomErrorResponses *CustomErrorResponses `type:"structure" required:"true"` - - // A complex type that describes the default cache behavior if you don't specify - // a CacheBehavior element or if files don't match any of the values of PathPattern - // in CacheBehavior elements. You must create exactly one default cache behavior. - // - // DefaultCacheBehavior is a required field - DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"` - - // The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net. - // - // DomainName is a required field - DomainName *string `type:"string" required:"true"` - - // Whether the distribution is enabled to accept user requests for content. - // - // Enabled is a required field - Enabled *bool `type:"boolean" required:"true"` - - // Specify the maximum HTTP version that you want viewers to use to communicate - // with CloudFront. The default value for new web distributions is http2. Viewers - // that don't support HTTP/2 will automatically use an earlier version. - // - // HttpVersion is a required field - HttpVersion *string `type:"string" required:"true" enum:"HttpVersion"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCachePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCachePolicyInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } - // The identifier for the distribution. For example: EDFDVBD632BHDS5. - // - // Id is a required field - Id *string `type:"string" required:"true"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for - // your distribution. - // - // IsIPV6Enabled is a required field - IsIPV6Enabled *bool `type:"boolean" required:"true"` +// SetId sets the Id field's value. +func (s *GetCachePolicyInput) SetId(v string) *GetCachePolicyInput { + s.Id = &v + return s +} - // The date and time the distribution was last modified. - // - // LastModifiedTime is a required field - LastModifiedTime *time.Time `type:"timestamp" required:"true"` +type GetCachePolicyOutput struct { + _ struct{} `type:"structure" payload:"CachePolicy"` - // A complex type that contains information about origin groups for this distribution. - OriginGroups *OriginGroups `type:"structure"` + // The cache policy. + CachePolicy *CachePolicy `type:"structure"` - // A complex type that contains information about origins for this distribution. - // - // Origins is a required field - Origins *Origins `type:"structure" required:"true"` + // The current version of the cache policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` +} - // A complex type that contains information about price class for this streaming - // distribution. - // - // PriceClass is a required field - PriceClass *string `type:"string" required:"true" enum:"PriceClass"` +// String returns the string representation +func (s GetCachePolicyOutput) String() string { + return awsutil.Prettify(s) +} - // A complex type that identifies ways in which you want to restrict distribution - // of your content. - // - // Restrictions is a required field - Restrictions *Restrictions `type:"structure" required:"true"` +// GoString returns the string representation +func (s GetCachePolicyOutput) GoString() string { + return s.String() +} - // The current status of the distribution. When the status is Deployed, the - // distribution's information is propagated to all CloudFront edge locations. - // - // Status is a required field - Status *string `type:"string" required:"true"` +// SetCachePolicy sets the CachePolicy field's value. +func (s *GetCachePolicyOutput) SetCachePolicy(v *CachePolicy) *GetCachePolicyOutput { + s.CachePolicy = v + return s +} - // A complex type that determines the distribution’s SSL/TLS configuration - // for communicating with viewers. - // - // ViewerCertificate is a required field - ViewerCertificate *ViewerCertificate `type:"structure" required:"true"` +// SetETag sets the ETag field's value. +func (s *GetCachePolicyOutput) SetETag(v string) *GetCachePolicyOutput { + s.ETag = &v + return s +} - // The Web ACL Id (if any) associated with the distribution. +// The origin access identity's configuration information. For more information, +// see CloudFrontOriginAccessIdentityConfig (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CloudFrontOriginAccessIdentityConfig.html). +type GetCloudFrontOriginAccessIdentityConfigInput struct { + _ struct{} `locationName:"GetCloudFrontOriginAccessIdentityConfigRequest" type:"structure"` + + // The identity's ID. // - // WebACLId is a required field - WebACLId *string `type:"string" required:"true"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s DistributionSummary) String() string { +func (s GetCloudFrontOriginAccessIdentityConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DistributionSummary) GoString() string { +func (s GetCloudFrontOriginAccessIdentityConfigInput) GoString() string { return s.String() } -// SetARN sets the ARN field's value. -func (s *DistributionSummary) SetARN(v string) *DistributionSummary { - s.ARN = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCloudFrontOriginAccessIdentityConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCloudFrontOriginAccessIdentityConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetAliasICPRecordals sets the AliasICPRecordals field's value. -func (s *DistributionSummary) SetAliasICPRecordals(v []*AliasICPRecordal) *DistributionSummary { - s.AliasICPRecordals = v +// SetId sets the Id field's value. +func (s *GetCloudFrontOriginAccessIdentityConfigInput) SetId(v string) *GetCloudFrontOriginAccessIdentityConfigInput { + s.Id = &v return s } -// SetAliases sets the Aliases field's value. -func (s *DistributionSummary) SetAliases(v *Aliases) *DistributionSummary { - s.Aliases = v - return s +// The returned result of the corresponding request. +type GetCloudFrontOriginAccessIdentityConfigOutput struct { + _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` + + // The origin access identity's configuration information. + CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `type:"structure"` + + // The current version of the configuration. For example: E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` } -// SetCacheBehaviors sets the CacheBehaviors field's value. -func (s *DistributionSummary) SetCacheBehaviors(v *CacheBehaviors) *DistributionSummary { - s.CacheBehaviors = v - return s +// String returns the string representation +func (s GetCloudFrontOriginAccessIdentityConfigOutput) String() string { + return awsutil.Prettify(s) } -// SetComment sets the Comment field's value. -func (s *DistributionSummary) SetComment(v string) *DistributionSummary { - s.Comment = &v - return s +// GoString returns the string representation +func (s GetCloudFrontOriginAccessIdentityConfigOutput) GoString() string { + return s.String() } -// SetCustomErrorResponses sets the CustomErrorResponses field's value. -func (s *DistributionSummary) SetCustomErrorResponses(v *CustomErrorResponses) *DistributionSummary { - s.CustomErrorResponses = v +// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. +func (s *GetCloudFrontOriginAccessIdentityConfigOutput) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *GetCloudFrontOriginAccessIdentityConfigOutput { + s.CloudFrontOriginAccessIdentityConfig = v return s } -// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. -func (s *DistributionSummary) SetDefaultCacheBehavior(v *DefaultCacheBehavior) *DistributionSummary { - s.DefaultCacheBehavior = v +// SetETag sets the ETag field's value. +func (s *GetCloudFrontOriginAccessIdentityConfigOutput) SetETag(v string) *GetCloudFrontOriginAccessIdentityConfigOutput { + s.ETag = &v return s } -// SetDomainName sets the DomainName field's value. -func (s *DistributionSummary) SetDomainName(v string) *DistributionSummary { - s.DomainName = &v - return s +// The request to get an origin access identity's information. +type GetCloudFrontOriginAccessIdentityInput struct { + _ struct{} `locationName:"GetCloudFrontOriginAccessIdentityRequest" type:"structure"` + + // The identity's ID. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } -// SetEnabled sets the Enabled field's value. -func (s *DistributionSummary) SetEnabled(v bool) *DistributionSummary { - s.Enabled = &v - return s +// String returns the string representation +func (s GetCloudFrontOriginAccessIdentityInput) String() string { + return awsutil.Prettify(s) } -// SetHttpVersion sets the HttpVersion field's value. -func (s *DistributionSummary) SetHttpVersion(v string) *DistributionSummary { - s.HttpVersion = &v - return s +// GoString returns the string representation +func (s GetCloudFrontOriginAccessIdentityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCloudFrontOriginAccessIdentityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCloudFrontOriginAccessIdentityInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } // SetId sets the Id field's value. -func (s *DistributionSummary) SetId(v string) *DistributionSummary { +func (s *GetCloudFrontOriginAccessIdentityInput) SetId(v string) *GetCloudFrontOriginAccessIdentityInput { s.Id = &v return s } -// SetIsIPV6Enabled sets the IsIPV6Enabled field's value. -func (s *DistributionSummary) SetIsIPV6Enabled(v bool) *DistributionSummary { - s.IsIPV6Enabled = &v - return s +// The returned result of the corresponding request. +type GetCloudFrontOriginAccessIdentityOutput struct { + _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"` + + // The origin access identity's information. + CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"` + + // The current version of the origin access identity's information. For example: + // E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` } -// SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *DistributionSummary) SetLastModifiedTime(v time.Time) *DistributionSummary { - s.LastModifiedTime = &v - return s +// String returns the string representation +func (s GetCloudFrontOriginAccessIdentityOutput) String() string { + return awsutil.Prettify(s) } -// SetOriginGroups sets the OriginGroups field's value. -func (s *DistributionSummary) SetOriginGroups(v *OriginGroups) *DistributionSummary { - s.OriginGroups = v - return s +// GoString returns the string representation +func (s GetCloudFrontOriginAccessIdentityOutput) GoString() string { + return s.String() } -// SetOrigins sets the Origins field's value. -func (s *DistributionSummary) SetOrigins(v *Origins) *DistributionSummary { - s.Origins = v +// SetCloudFrontOriginAccessIdentity sets the CloudFrontOriginAccessIdentity field's value. +func (s *GetCloudFrontOriginAccessIdentityOutput) SetCloudFrontOriginAccessIdentity(v *OriginAccessIdentity) *GetCloudFrontOriginAccessIdentityOutput { + s.CloudFrontOriginAccessIdentity = v return s } -// SetPriceClass sets the PriceClass field's value. -func (s *DistributionSummary) SetPriceClass(v string) *DistributionSummary { - s.PriceClass = &v +// SetETag sets the ETag field's value. +func (s *GetCloudFrontOriginAccessIdentityOutput) SetETag(v string) *GetCloudFrontOriginAccessIdentityOutput { + s.ETag = &v return s } -// SetRestrictions sets the Restrictions field's value. -func (s *DistributionSummary) SetRestrictions(v *Restrictions) *DistributionSummary { - s.Restrictions = v - return s +// The request to get a distribution configuration. +type GetDistributionConfigInput struct { + _ struct{} `locationName:"GetDistributionConfigRequest" type:"structure"` + + // The distribution's ID. If the ID is empty, an empty distribution configuration + // is returned. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } -// SetStatus sets the Status field's value. -func (s *DistributionSummary) SetStatus(v string) *DistributionSummary { - s.Status = &v - return s +// String returns the string representation +func (s GetDistributionConfigInput) String() string { + return awsutil.Prettify(s) } -// SetViewerCertificate sets the ViewerCertificate field's value. -func (s *DistributionSummary) SetViewerCertificate(v *ViewerCertificate) *DistributionSummary { - s.ViewerCertificate = v - return s +// GoString returns the string representation +func (s GetDistributionConfigInput) GoString() string { + return s.String() } -// SetWebACLId sets the WebACLId field's value. -func (s *DistributionSummary) SetWebACLId(v string) *DistributionSummary { - s.WebACLId = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDistributionConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDistributionConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetDistributionConfigInput) SetId(v string) *GetDistributionConfigInput { + s.Id = &v return s } -// Complex data type for field-level encryption profiles that includes all of -// the encryption entities. -type EncryptionEntities struct { - _ struct{} `type:"structure"` +// The returned result of the corresponding request. +type GetDistributionConfigOutput struct { + _ struct{} `type:"structure" payload:"DistributionConfig"` - // An array of field patterns in a field-level encryption content type-profile - // mapping. - Items []*EncryptionEntity `locationNameList:"EncryptionEntity" type:"list"` + // The distribution's configuration information. + DistributionConfig *DistributionConfig `type:"structure"` - // Number of field pattern items in a field-level encryption content type-profile - // mapping. - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // The current version of the configuration. For example: E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` } // String returns the string representation -func (s EncryptionEntities) String() string { +func (s GetDistributionConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EncryptionEntities) GoString() string { +func (s GetDistributionConfigOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *EncryptionEntities) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EncryptionEntities"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) - } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetItems sets the Items field's value. -func (s *EncryptionEntities) SetItems(v []*EncryptionEntity) *EncryptionEntities { - s.Items = v +// SetDistributionConfig sets the DistributionConfig field's value. +func (s *GetDistributionConfigOutput) SetDistributionConfig(v *DistributionConfig) *GetDistributionConfigOutput { + s.DistributionConfig = v return s } -// SetQuantity sets the Quantity field's value. -func (s *EncryptionEntities) SetQuantity(v int64) *EncryptionEntities { - s.Quantity = &v +// SetETag sets the ETag field's value. +func (s *GetDistributionConfigOutput) SetETag(v string) *GetDistributionConfigOutput { + s.ETag = &v return s } -// Complex data type for field-level encryption profiles that includes the encryption -// key and field pattern specifications. -type EncryptionEntity struct { - _ struct{} `type:"structure"` - - // Field patterns in a field-level encryption content type profile specify the - // fields that you want to be encrypted. You can provide the full field name, - // or any beginning characters followed by a wildcard (*). You can't overlap - // field patterns. For example, you can't have both ABC* and AB*. Note that - // field patterns are case-sensitive. - // - // FieldPatterns is a required field - FieldPatterns *FieldPatterns `type:"structure" required:"true"` - - // The provider associated with the public key being used for encryption. This - // value must also be provided with the private key for applications to be able - // to decrypt data. - // - // ProviderId is a required field - ProviderId *string `type:"string" required:"true"` +// The request to get a distribution's information. +type GetDistributionInput struct { + _ struct{} `locationName:"GetDistributionRequest" type:"structure"` - // The public key associated with a set of field-level encryption patterns, - // to be used when encrypting the fields that match the patterns. + // The distribution's ID. If the ID is empty, an empty distribution configuration + // is returned. // - // PublicKeyId is a required field - PublicKeyId *string `type:"string" required:"true"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s EncryptionEntity) String() string { +func (s GetDistributionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EncryptionEntity) GoString() string { +func (s GetDistributionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EncryptionEntity) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EncryptionEntity"} - if s.FieldPatterns == nil { - invalidParams.Add(request.NewErrParamRequired("FieldPatterns")) - } - if s.ProviderId == nil { - invalidParams.Add(request.NewErrParamRequired("ProviderId")) - } - if s.PublicKeyId == nil { - invalidParams.Add(request.NewErrParamRequired("PublicKeyId")) +func (s *GetDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDistributionInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.FieldPatterns != nil { - if err := s.FieldPatterns.Validate(); err != nil { - invalidParams.AddNested("FieldPatterns", err.(request.ErrInvalidParams)) - } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -8758,124 +12585,72 @@ func (s *EncryptionEntity) Validate() error { return nil } -// SetFieldPatterns sets the FieldPatterns field's value. -func (s *EncryptionEntity) SetFieldPatterns(v *FieldPatterns) *EncryptionEntity { - s.FieldPatterns = v - return s -} - -// SetProviderId sets the ProviderId field's value. -func (s *EncryptionEntity) SetProviderId(v string) *EncryptionEntity { - s.ProviderId = &v - return s -} - -// SetPublicKeyId sets the PublicKeyId field's value. -func (s *EncryptionEntity) SetPublicKeyId(v string) *EncryptionEntity { - s.PublicKeyId = &v +// SetId sets the Id field's value. +func (s *GetDistributionInput) SetId(v string) *GetDistributionInput { + s.Id = &v return s } -// A complex data type that includes the profile configurations and other options -// specified for field-level encryption. -type FieldLevelEncryption struct { - _ struct{} `type:"structure"` - - // A complex data type that includes the profile configurations specified for - // field-level encryption. - // - // FieldLevelEncryptionConfig is a required field - FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `type:"structure" required:"true"` +// The returned result of the corresponding request. +type GetDistributionOutput struct { + _ struct{} `type:"structure" payload:"Distribution"` - // The configuration ID for a field-level encryption configuration which includes - // a set of profiles that specify certain selected data fields to be encrypted - // by specific public keys. - // - // Id is a required field - Id *string `type:"string" required:"true"` + // The distribution's information. + Distribution *Distribution `type:"structure"` - // The last time the field-level encryption configuration was changed. - // - // LastModifiedTime is a required field - LastModifiedTime *time.Time `type:"timestamp" required:"true"` + // The current version of the distribution's information. For example: E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` } // String returns the string representation -func (s FieldLevelEncryption) String() string { +func (s GetDistributionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryption) GoString() string { +func (s GetDistributionOutput) GoString() string { return s.String() } -// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. -func (s *FieldLevelEncryption) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *FieldLevelEncryption { - s.FieldLevelEncryptionConfig = v - return s -} - -// SetId sets the Id field's value. -func (s *FieldLevelEncryption) SetId(v string) *FieldLevelEncryption { - s.Id = &v +// SetDistribution sets the Distribution field's value. +func (s *GetDistributionOutput) SetDistribution(v *Distribution) *GetDistributionOutput { + s.Distribution = v return s } -// SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *FieldLevelEncryption) SetLastModifiedTime(v time.Time) *FieldLevelEncryption { - s.LastModifiedTime = &v +// SetETag sets the ETag field's value. +func (s *GetDistributionOutput) SetETag(v string) *GetDistributionOutput { + s.ETag = &v return s } -// A complex data type that includes the profile configurations specified for -// field-level encryption. -type FieldLevelEncryptionConfig struct { - _ struct{} `type:"structure"` +type GetFieldLevelEncryptionConfigInput struct { + _ struct{} `locationName:"GetFieldLevelEncryptionConfigRequest" type:"structure"` - // A unique number that ensures the request can't be replayed. + // Request the ID for the field-level encryption configuration information. // - // CallerReference is a required field - CallerReference *string `type:"string" required:"true"` - - // An optional comment about the configuration. - Comment *string `type:"string"` - - // A complex data type that specifies when to forward content if a content type - // isn't recognized and profiles to use as by default in a request if a query - // argument doesn't specify a profile to use. - ContentTypeProfileConfig *ContentTypeProfileConfig `type:"structure"` - - // A complex data type that specifies when to forward content if a profile isn't - // found and the profile that can be provided as a query argument in a request. - QueryArgProfileConfig *QueryArgProfileConfig `type:"structure"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s FieldLevelEncryptionConfig) String() string { +func (s GetFieldLevelEncryptionConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryptionConfig) GoString() string { +func (s GetFieldLevelEncryptionConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *FieldLevelEncryptionConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FieldLevelEncryptionConfig"} - if s.CallerReference == nil { - invalidParams.Add(request.NewErrParamRequired("CallerReference")) - } - if s.ContentTypeProfileConfig != nil { - if err := s.ContentTypeProfileConfig.Validate(); err != nil { - invalidParams.AddNested("ContentTypeProfileConfig", err.(request.ErrInvalidParams)) - } +func (s *GetFieldLevelEncryptionConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.QueryArgProfileConfig != nil { - if err := s.QueryArgProfileConfig.Validate(); err != nil { - invalidParams.AddNested("QueryArgProfileConfig", err.(request.ErrInvalidParams)) - } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -8884,189 +12659,146 @@ func (s *FieldLevelEncryptionConfig) Validate() error { return nil } -// SetCallerReference sets the CallerReference field's value. -func (s *FieldLevelEncryptionConfig) SetCallerReference(v string) *FieldLevelEncryptionConfig { - s.CallerReference = &v - return s -} - -// SetComment sets the Comment field's value. -func (s *FieldLevelEncryptionConfig) SetComment(v string) *FieldLevelEncryptionConfig { - s.Comment = &v - return s -} - -// SetContentTypeProfileConfig sets the ContentTypeProfileConfig field's value. -func (s *FieldLevelEncryptionConfig) SetContentTypeProfileConfig(v *ContentTypeProfileConfig) *FieldLevelEncryptionConfig { - s.ContentTypeProfileConfig = v - return s -} - -// SetQueryArgProfileConfig sets the QueryArgProfileConfig field's value. -func (s *FieldLevelEncryptionConfig) SetQueryArgProfileConfig(v *QueryArgProfileConfig) *FieldLevelEncryptionConfig { - s.QueryArgProfileConfig = v +// SetId sets the Id field's value. +func (s *GetFieldLevelEncryptionConfigInput) SetId(v string) *GetFieldLevelEncryptionConfigInput { + s.Id = &v return s } -// List of field-level encrpytion configurations. -type FieldLevelEncryptionList struct { - _ struct{} `type:"structure"` - - // An array of field-level encryption items. - Items []*FieldLevelEncryptionSummary `locationNameList:"FieldLevelEncryptionSummary" type:"list"` - - // The maximum number of elements you want in the response body. - // - // MaxItems is a required field - MaxItems *int64 `type:"integer" required:"true"` - - // If there are more elements to be listed, this element is present and contains - // the value that you can use for the Marker request parameter to continue listing - // your configurations where you left off. - NextMarker *string `type:"string"` +type GetFieldLevelEncryptionConfigOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryptionConfig"` - // The number of field-level encryption items. - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // The current version of the field level encryption configuration. For example: + // E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // Return the field-level encryption configuration information. + FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `type:"structure"` } // String returns the string representation -func (s FieldLevelEncryptionList) String() string { +func (s GetFieldLevelEncryptionConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryptionList) GoString() string { +func (s GetFieldLevelEncryptionConfigOutput) GoString() string { return s.String() } -// SetItems sets the Items field's value. -func (s *FieldLevelEncryptionList) SetItems(v []*FieldLevelEncryptionSummary) *FieldLevelEncryptionList { - s.Items = v - return s -} - -// SetMaxItems sets the MaxItems field's value. -func (s *FieldLevelEncryptionList) SetMaxItems(v int64) *FieldLevelEncryptionList { - s.MaxItems = &v - return s -} - -// SetNextMarker sets the NextMarker field's value. -func (s *FieldLevelEncryptionList) SetNextMarker(v string) *FieldLevelEncryptionList { - s.NextMarker = &v +// SetETag sets the ETag field's value. +func (s *GetFieldLevelEncryptionConfigOutput) SetETag(v string) *GetFieldLevelEncryptionConfigOutput { + s.ETag = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *FieldLevelEncryptionList) SetQuantity(v int64) *FieldLevelEncryptionList { - s.Quantity = &v +// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. +func (s *GetFieldLevelEncryptionConfigOutput) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *GetFieldLevelEncryptionConfigOutput { + s.FieldLevelEncryptionConfig = v return s } -// A complex data type for field-level encryption profiles. -type FieldLevelEncryptionProfile struct { - _ struct{} `type:"structure"` - - // A complex data type that includes the profile name and the encryption entities - // for the field-level encryption profile. - // - // FieldLevelEncryptionProfileConfig is a required field - FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `type:"structure" required:"true"` +type GetFieldLevelEncryptionInput struct { + _ struct{} `locationName:"GetFieldLevelEncryptionRequest" type:"structure"` - // The ID for a field-level encryption profile configuration which includes - // a set of profiles that specify certain selected data fields to be encrypted - // by specific public keys. + // Request the ID for the field-level encryption configuration information. // // Id is a required field - Id *string `type:"string" required:"true"` - - // The last time the field-level encryption profile was updated. - // - // LastModifiedTime is a required field - LastModifiedTime *time.Time `type:"timestamp" required:"true"` + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s FieldLevelEncryptionProfile) String() string { +func (s GetFieldLevelEncryptionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryptionProfile) GoString() string { +func (s GetFieldLevelEncryptionInput) GoString() string { return s.String() } -// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. -func (s *FieldLevelEncryptionProfile) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *FieldLevelEncryptionProfile { - s.FieldLevelEncryptionProfileConfig = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFieldLevelEncryptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } // SetId sets the Id field's value. -func (s *FieldLevelEncryptionProfile) SetId(v string) *FieldLevelEncryptionProfile { +func (s *GetFieldLevelEncryptionInput) SetId(v string) *GetFieldLevelEncryptionInput { s.Id = &v return s } -// SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *FieldLevelEncryptionProfile) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionProfile { - s.LastModifiedTime = &v - return s +type GetFieldLevelEncryptionOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryption"` + + // The current version of the field level encryption configuration. For example: + // E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // Return the field-level encryption configuration information. + FieldLevelEncryption *FieldLevelEncryption `type:"structure"` } -// A complex data type of profiles for the field-level encryption. -type FieldLevelEncryptionProfileConfig struct { - _ struct{} `type:"structure"` +// String returns the string representation +func (s GetFieldLevelEncryptionOutput) String() string { + return awsutil.Prettify(s) +} - // A unique number that ensures that the request can't be replayed. - // - // CallerReference is a required field - CallerReference *string `type:"string" required:"true"` +// GoString returns the string representation +func (s GetFieldLevelEncryptionOutput) GoString() string { + return s.String() +} - // An optional comment for the field-level encryption profile. - Comment *string `type:"string"` +// SetETag sets the ETag field's value. +func (s *GetFieldLevelEncryptionOutput) SetETag(v string) *GetFieldLevelEncryptionOutput { + s.ETag = &v + return s +} - // A complex data type of encryption entities for the field-level encryption - // profile that include the public key ID, provider, and field patterns for - // specifying which fields to encrypt with this key. - // - // EncryptionEntities is a required field - EncryptionEntities *EncryptionEntities `type:"structure" required:"true"` +// SetFieldLevelEncryption sets the FieldLevelEncryption field's value. +func (s *GetFieldLevelEncryptionOutput) SetFieldLevelEncryption(v *FieldLevelEncryption) *GetFieldLevelEncryptionOutput { + s.FieldLevelEncryption = v + return s +} - // Profile name for the field-level encryption profile. +type GetFieldLevelEncryptionProfileConfigInput struct { + _ struct{} `locationName:"GetFieldLevelEncryptionProfileConfigRequest" type:"structure"` + + // Get the ID for the field-level encryption profile configuration information. // - // Name is a required field - Name *string `type:"string" required:"true"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s FieldLevelEncryptionProfileConfig) String() string { +func (s GetFieldLevelEncryptionProfileConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryptionProfileConfig) GoString() string { +func (s GetFieldLevelEncryptionProfileConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *FieldLevelEncryptionProfileConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FieldLevelEncryptionProfileConfig"} - if s.CallerReference == nil { - invalidParams.Add(request.NewErrParamRequired("CallerReference")) - } - if s.EncryptionEntities == nil { - invalidParams.Add(request.NewErrParamRequired("EncryptionEntities")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *GetFieldLevelEncryptionProfileConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionProfileConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.EncryptionEntities != nil { - if err := s.EncryptionEntities.Validate(); err != nil { - invalidParams.AddNested("EncryptionEntities", err.(request.ErrInvalidParams)) - } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -9075,251 +12807,310 @@ func (s *FieldLevelEncryptionProfileConfig) Validate() error { return nil } -// SetCallerReference sets the CallerReference field's value. -func (s *FieldLevelEncryptionProfileConfig) SetCallerReference(v string) *FieldLevelEncryptionProfileConfig { - s.CallerReference = &v +// SetId sets the Id field's value. +func (s *GetFieldLevelEncryptionProfileConfigInput) SetId(v string) *GetFieldLevelEncryptionProfileConfigInput { + s.Id = &v return s } -// SetComment sets the Comment field's value. -func (s *FieldLevelEncryptionProfileConfig) SetComment(v string) *FieldLevelEncryptionProfileConfig { - s.Comment = &v - return s +type GetFieldLevelEncryptionProfileConfigOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfileConfig"` + + // The current version of the field-level encryption profile configuration result. + // For example: E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // Return the field-level encryption profile configuration information. + FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `type:"structure"` } -// SetEncryptionEntities sets the EncryptionEntities field's value. -func (s *FieldLevelEncryptionProfileConfig) SetEncryptionEntities(v *EncryptionEntities) *FieldLevelEncryptionProfileConfig { - s.EncryptionEntities = v - return s +// String returns the string representation +func (s GetFieldLevelEncryptionProfileConfigOutput) String() string { + return awsutil.Prettify(s) } -// SetName sets the Name field's value. -func (s *FieldLevelEncryptionProfileConfig) SetName(v string) *FieldLevelEncryptionProfileConfig { - s.Name = &v +// GoString returns the string representation +func (s GetFieldLevelEncryptionProfileConfigOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *GetFieldLevelEncryptionProfileConfigOutput) SetETag(v string) *GetFieldLevelEncryptionProfileConfigOutput { + s.ETag = &v return s } -// List of field-level encryption profiles. -type FieldLevelEncryptionProfileList struct { - _ struct{} `type:"structure"` +// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. +func (s *GetFieldLevelEncryptionProfileConfigOutput) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *GetFieldLevelEncryptionProfileConfigOutput { + s.FieldLevelEncryptionProfileConfig = v + return s +} - // The field-level encryption profile items. - Items []*FieldLevelEncryptionProfileSummary `locationNameList:"FieldLevelEncryptionProfileSummary" type:"list"` +type GetFieldLevelEncryptionProfileInput struct { + _ struct{} `locationName:"GetFieldLevelEncryptionProfileRequest" type:"structure"` - // The maximum number of field-level encryption profiles you want in the response - // body. + // Get the ID for the field-level encryption profile information. // - // MaxItems is a required field - MaxItems *int64 `type:"integer" required:"true"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetFieldLevelEncryptionProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFieldLevelEncryptionProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFieldLevelEncryptionProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionProfileInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetFieldLevelEncryptionProfileInput) SetId(v string) *GetFieldLevelEncryptionProfileInput { + s.Id = &v + return s +} - // If there are more elements to be listed, this element is present and contains - // the value that you can use for the Marker request parameter to continue listing - // your profiles where you left off. - NextMarker *string `type:"string"` +type GetFieldLevelEncryptionProfileOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfile"` - // The number of field-level encryption profiles. - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // Return the field-level encryption profile information. + FieldLevelEncryptionProfile *FieldLevelEncryptionProfile `type:"structure"` } // String returns the string representation -func (s FieldLevelEncryptionProfileList) String() string { +func (s GetFieldLevelEncryptionProfileOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryptionProfileList) GoString() string { +func (s GetFieldLevelEncryptionProfileOutput) GoString() string { return s.String() } -// SetItems sets the Items field's value. -func (s *FieldLevelEncryptionProfileList) SetItems(v []*FieldLevelEncryptionProfileSummary) *FieldLevelEncryptionProfileList { - s.Items = v - return s -} - -// SetMaxItems sets the MaxItems field's value. -func (s *FieldLevelEncryptionProfileList) SetMaxItems(v int64) *FieldLevelEncryptionProfileList { - s.MaxItems = &v - return s -} - -// SetNextMarker sets the NextMarker field's value. -func (s *FieldLevelEncryptionProfileList) SetNextMarker(v string) *FieldLevelEncryptionProfileList { - s.NextMarker = &v +// SetETag sets the ETag field's value. +func (s *GetFieldLevelEncryptionProfileOutput) SetETag(v string) *GetFieldLevelEncryptionProfileOutput { + s.ETag = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *FieldLevelEncryptionProfileList) SetQuantity(v int64) *FieldLevelEncryptionProfileList { - s.Quantity = &v +// SetFieldLevelEncryptionProfile sets the FieldLevelEncryptionProfile field's value. +func (s *GetFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile(v *FieldLevelEncryptionProfile) *GetFieldLevelEncryptionProfileOutput { + s.FieldLevelEncryptionProfile = v return s } -// The field-level encryption profile summary. -type FieldLevelEncryptionProfileSummary struct { - _ struct{} `type:"structure"` - - // An optional comment for the field-level encryption profile summary. - Comment *string `type:"string"` +// The request to get an invalidation's information. +type GetInvalidationInput struct { + _ struct{} `locationName:"GetInvalidationRequest" type:"structure"` - // A complex data type of encryption entities for the field-level encryption - // profile that include the public key ID, provider, and field patterns for - // specifying which fields to encrypt with this key. + // The distribution's ID. // - // EncryptionEntities is a required field - EncryptionEntities *EncryptionEntities `type:"structure" required:"true"` + // DistributionId is a required field + DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` - // ID for the field-level encryption profile summary. + // The identifier for the invalidation request, for example, IDFDVBD632BHDS5. // // Id is a required field - Id *string `type:"string" required:"true"` - - // The time when the the field-level encryption profile summary was last updated. - // - // LastModifiedTime is a required field - LastModifiedTime *time.Time `type:"timestamp" required:"true"` - - // Name for the field-level encryption profile summary. - // - // Name is a required field - Name *string `type:"string" required:"true"` + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s FieldLevelEncryptionProfileSummary) String() string { +func (s GetInvalidationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryptionProfileSummary) GoString() string { +func (s GetInvalidationInput) GoString() string { return s.String() } -// SetComment sets the Comment field's value. -func (s *FieldLevelEncryptionProfileSummary) SetComment(v string) *FieldLevelEncryptionProfileSummary { - s.Comment = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetInvalidationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetInvalidationInput"} + if s.DistributionId == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionId")) + } + if s.DistributionId != nil && len(*s.DistributionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) + } + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetEncryptionEntities sets the EncryptionEntities field's value. -func (s *FieldLevelEncryptionProfileSummary) SetEncryptionEntities(v *EncryptionEntities) *FieldLevelEncryptionProfileSummary { - s.EncryptionEntities = v +// SetDistributionId sets the DistributionId field's value. +func (s *GetInvalidationInput) SetDistributionId(v string) *GetInvalidationInput { + s.DistributionId = &v return s } // SetId sets the Id field's value. -func (s *FieldLevelEncryptionProfileSummary) SetId(v string) *FieldLevelEncryptionProfileSummary { +func (s *GetInvalidationInput) SetId(v string) *GetInvalidationInput { s.Id = &v return s } -// SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *FieldLevelEncryptionProfileSummary) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionProfileSummary { - s.LastModifiedTime = &v - return s +// The returned result of the corresponding request. +type GetInvalidationOutput struct { + _ struct{} `type:"structure" payload:"Invalidation"` + + // The invalidation's information. For more information, see Invalidation Complex + // Type (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/InvalidationDatatype.html). + Invalidation *Invalidation `type:"structure"` } -// SetName sets the Name field's value. -func (s *FieldLevelEncryptionProfileSummary) SetName(v string) *FieldLevelEncryptionProfileSummary { - s.Name = &v - return s +// String returns the string representation +func (s GetInvalidationOutput) String() string { + return awsutil.Prettify(s) } -// A summary of a field-level encryption item. -type FieldLevelEncryptionSummary struct { - _ struct{} `type:"structure"` +// GoString returns the string representation +func (s GetInvalidationOutput) GoString() string { + return s.String() +} - // An optional comment about the field-level encryption item. - Comment *string `type:"string"` +// SetInvalidation sets the Invalidation field's value. +func (s *GetInvalidationOutput) SetInvalidation(v *Invalidation) *GetInvalidationOutput { + s.Invalidation = v + return s +} - // A summary of a content type-profile mapping. - ContentTypeProfileConfig *ContentTypeProfileConfig `type:"structure"` +type GetOriginRequestPolicyConfigInput struct { + _ struct{} `locationName:"GetOriginRequestPolicyConfigRequest" type:"structure"` - // The unique ID of a field-level encryption item. + // The unique identifier for the origin request policy. If the origin request + // policy is attached to a distribution’s cache behavior, you can get the + // policy’s identifier using ListDistributions or GetDistribution. If the + // origin request policy is not attached to a cache behavior, you can get the + // identifier using ListOriginRequestPolicies. // // Id is a required field - Id *string `type:"string" required:"true"` - - // The last time that the summary of field-level encryption items was modified. - // - // LastModifiedTime is a required field - LastModifiedTime *time.Time `type:"timestamp" required:"true"` - - // A summary of a query argument-profile mapping. - QueryArgProfileConfig *QueryArgProfileConfig `type:"structure"` + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s FieldLevelEncryptionSummary) String() string { +func (s GetOriginRequestPolicyConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldLevelEncryptionSummary) GoString() string { +func (s GetOriginRequestPolicyConfigInput) GoString() string { return s.String() } -// SetComment sets the Comment field's value. -func (s *FieldLevelEncryptionSummary) SetComment(v string) *FieldLevelEncryptionSummary { - s.Comment = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetOriginRequestPolicyConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetOriginRequestPolicyConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } -// SetContentTypeProfileConfig sets the ContentTypeProfileConfig field's value. -func (s *FieldLevelEncryptionSummary) SetContentTypeProfileConfig(v *ContentTypeProfileConfig) *FieldLevelEncryptionSummary { - s.ContentTypeProfileConfig = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } // SetId sets the Id field's value. -func (s *FieldLevelEncryptionSummary) SetId(v string) *FieldLevelEncryptionSummary { +func (s *GetOriginRequestPolicyConfigInput) SetId(v string) *GetOriginRequestPolicyConfigInput { s.Id = &v return s } -// SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *FieldLevelEncryptionSummary) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionSummary { - s.LastModifiedTime = &v - return s +type GetOriginRequestPolicyConfigOutput struct { + _ struct{} `type:"structure" payload:"OriginRequestPolicyConfig"` + + // The current version of the origin request policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The origin request policy configuration. + OriginRequestPolicyConfig *OriginRequestPolicyConfig `type:"structure"` } -// SetQueryArgProfileConfig sets the QueryArgProfileConfig field's value. -func (s *FieldLevelEncryptionSummary) SetQueryArgProfileConfig(v *QueryArgProfileConfig) *FieldLevelEncryptionSummary { - s.QueryArgProfileConfig = v +// String returns the string representation +func (s GetOriginRequestPolicyConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetOriginRequestPolicyConfigOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *GetOriginRequestPolicyConfigOutput) SetETag(v string) *GetOriginRequestPolicyConfigOutput { + s.ETag = &v return s } -// A complex data type that includes the field patterns to match for field-level -// encryption. -type FieldPatterns struct { - _ struct{} `type:"structure"` +// SetOriginRequestPolicyConfig sets the OriginRequestPolicyConfig field's value. +func (s *GetOriginRequestPolicyConfigOutput) SetOriginRequestPolicyConfig(v *OriginRequestPolicyConfig) *GetOriginRequestPolicyConfigOutput { + s.OriginRequestPolicyConfig = v + return s +} - // An array of the field-level encryption field patterns. - Items []*string `locationNameList:"FieldPattern" type:"list"` +type GetOriginRequestPolicyInput struct { + _ struct{} `locationName:"GetOriginRequestPolicyRequest" type:"structure"` - // The number of field-level encryption field patterns. + // The unique identifier for the origin request policy. If the origin request + // policy is attached to a distribution’s cache behavior, you can get the + // policy’s identifier using ListDistributions or GetDistribution. If the + // origin request policy is not attached to a cache behavior, you can get the + // identifier using ListOriginRequestPolicies. // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s FieldPatterns) String() string { +func (s GetOriginRequestPolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FieldPatterns) GoString() string { +func (s GetOriginRequestPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *FieldPatterns) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FieldPatterns"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) +func (s *GetOriginRequestPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetOriginRequestPolicyInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -9328,106 +13119,71 @@ func (s *FieldPatterns) Validate() error { return nil } -// SetItems sets the Items field's value. -func (s *FieldPatterns) SetItems(v []*string) *FieldPatterns { - s.Items = v +// SetId sets the Id field's value. +func (s *GetOriginRequestPolicyInput) SetId(v string) *GetOriginRequestPolicyInput { + s.Id = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *FieldPatterns) SetQuantity(v int64) *FieldPatterns { - s.Quantity = &v - return s +type GetOriginRequestPolicyOutput struct { + _ struct{} `type:"structure" payload:"OriginRequestPolicy"` + + // The current version of the origin request policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The origin request policy. + OriginRequestPolicy *OriginRequestPolicy `type:"structure"` } -// A complex type that specifies how CloudFront handles query strings, cookies, -// and HTTP headers. -type ForwardedValues struct { - _ struct{} `type:"structure"` +// String returns the string representation +func (s GetOriginRequestPolicyOutput) String() string { + return awsutil.Prettify(s) +} - // A complex type that specifies whether you want CloudFront to forward cookies - // to the origin and, if so, which ones. For more information about forwarding - // cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies - // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) - // in the Amazon CloudFront Developer Guide. - // - // Cookies is a required field - Cookies *CookiePreference `type:"structure" required:"true"` +// GoString returns the string representation +func (s GetOriginRequestPolicyOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *GetOriginRequestPolicyOutput) SetETag(v string) *GetOriginRequestPolicyOutput { + s.ETag = &v + return s +} - // A complex type that specifies the Headers, if any, that you want CloudFront - // to forward to the origin for this cache behavior (whitelisted headers). For - // the headers that you specify, CloudFront also caches separate versions of - // a specified object that is based on the header values in viewer requests. - // - // For more information, see Caching Content Based on Request Headers (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) - // in the Amazon CloudFront Developer Guide. - Headers *Headers `type:"structure"` +// SetOriginRequestPolicy sets the OriginRequestPolicy field's value. +func (s *GetOriginRequestPolicyOutput) SetOriginRequestPolicy(v *OriginRequestPolicy) *GetOriginRequestPolicyOutput { + s.OriginRequestPolicy = v + return s +} - // Indicates whether you want CloudFront to forward query strings to the origin - // that is associated with this cache behavior and cache based on the query - // string parameters. CloudFront behavior depends on the value of QueryString - // and on the values that you specify for QueryStringCacheKeys, if any: - // - // If you specify true for QueryString and you don't specify any values for - // QueryStringCacheKeys, CloudFront forwards all query string parameters to - // the origin and caches based on all query string parameters. Depending on - // how many query string parameters and values you have, this can adversely - // affect performance because CloudFront must forward more requests to the origin. - // - // If you specify true for QueryString and you specify one or more values for - // QueryStringCacheKeys, CloudFront forwards all query string parameters to - // the origin, but it only caches based on the query string parameters that - // you specify. - // - // If you specify false for QueryString, CloudFront doesn't forward any query - // string parameters to the origin, and doesn't cache based on query string - // parameters. - // - // For more information, see Configuring CloudFront to Cache Based on Query - // String Parameters (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html) - // in the Amazon CloudFront Developer Guide. - // - // QueryString is a required field - QueryString *bool `type:"boolean" required:"true"` +type GetPublicKeyConfigInput struct { + _ struct{} `locationName:"GetPublicKeyConfigRequest" type:"structure"` - // A complex type that contains information about the query string parameters - // that you want CloudFront to use for caching for this cache behavior. - QueryStringCacheKeys *QueryStringCacheKeys `type:"structure"` + // Request the ID for the public key configuration. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s ForwardedValues) String() string { +func (s GetPublicKeyConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ForwardedValues) GoString() string { +func (s GetPublicKeyConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ForwardedValues) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ForwardedValues"} - if s.Cookies == nil { - invalidParams.Add(request.NewErrParamRequired("Cookies")) - } - if s.QueryString == nil { - invalidParams.Add(request.NewErrParamRequired("QueryString")) - } - if s.Cookies != nil { - if err := s.Cookies.Validate(); err != nil { - invalidParams.AddNested("Cookies", err.(request.ErrInvalidParams)) - } - } - if s.Headers != nil { - if err := s.Headers.Validate(); err != nil { - invalidParams.AddNested("Headers", err.(request.ErrInvalidParams)) - } +func (s *GetPublicKeyConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPublicKeyConfigInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.QueryStringCacheKeys != nil { - if err := s.QueryStringCacheKeys.Validate(); err != nil { - invalidParams.AddNested("QueryStringCacheKeys", err.(request.ErrInvalidParams)) - } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -9436,91 +13192,71 @@ func (s *ForwardedValues) Validate() error { return nil } -// SetCookies sets the Cookies field's value. -func (s *ForwardedValues) SetCookies(v *CookiePreference) *ForwardedValues { - s.Cookies = v +// SetId sets the Id field's value. +func (s *GetPublicKeyConfigInput) SetId(v string) *GetPublicKeyConfigInput { + s.Id = &v return s } -// SetHeaders sets the Headers field's value. -func (s *ForwardedValues) SetHeaders(v *Headers) *ForwardedValues { - s.Headers = v - return s +type GetPublicKeyConfigOutput struct { + _ struct{} `type:"structure" payload:"PublicKeyConfig"` + + // The current version of the public key configuration. For example: E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // Return the result for the public key configuration. + PublicKeyConfig *PublicKeyConfig `type:"structure"` } -// SetQueryString sets the QueryString field's value. -func (s *ForwardedValues) SetQueryString(v bool) *ForwardedValues { - s.QueryString = &v - return s +// String returns the string representation +func (s GetPublicKeyConfigOutput) String() string { + return awsutil.Prettify(s) } -// SetQueryStringCacheKeys sets the QueryStringCacheKeys field's value. -func (s *ForwardedValues) SetQueryStringCacheKeys(v *QueryStringCacheKeys) *ForwardedValues { - s.QueryStringCacheKeys = v - return s +// GoString returns the string representation +func (s GetPublicKeyConfigOutput) GoString() string { + return s.String() } -// A complex type that controls the countries in which your content is distributed. -// CloudFront determines the location of your users using MaxMind GeoIP databases. -type GeoRestriction struct { - _ struct{} `type:"structure"` +// SetETag sets the ETag field's value. +func (s *GetPublicKeyConfigOutput) SetETag(v string) *GetPublicKeyConfigOutput { + s.ETag = &v + return s +} - // A complex type that contains a Location element for each country in which - // you want CloudFront either to distribute your content (whitelist) or not - // distribute your content (blacklist). - // - // The Location element is a two-letter, uppercase country code for a country - // that you want to include in your blacklist or whitelist. Include one Location - // element for each country. - // - // CloudFront and MaxMind both use ISO 3166 country codes. For the current list - // of countries and the corresponding codes, see ISO 3166-1-alpha-2 code on - // the International Organization for Standardization website. You can also - // refer to the country list on the CloudFront console, which includes both - // country names and codes. - Items []*string `locationNameList:"Location" type:"list"` +// SetPublicKeyConfig sets the PublicKeyConfig field's value. +func (s *GetPublicKeyConfigOutput) SetPublicKeyConfig(v *PublicKeyConfig) *GetPublicKeyConfigOutput { + s.PublicKeyConfig = v + return s +} - // When geo restriction is enabled, this is the number of countries in your - // whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0, - // and you can omit Items. - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` +type GetPublicKeyInput struct { + _ struct{} `locationName:"GetPublicKeyRequest" type:"structure"` - // The method that you want to use to restrict distribution of your content - // by country: - // - // * none: No geo restriction is enabled, meaning access to content is not - // restricted by client geo location. - // - // * blacklist: The Location elements specify the countries in which you - // don't want CloudFront to distribute your content. - // - // * whitelist: The Location elements specify the countries in which you - // want CloudFront to distribute your content. + // Request the ID for the public key. // - // RestrictionType is a required field - RestrictionType *string `type:"string" required:"true" enum:"GeoRestrictionType"` + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s GeoRestriction) String() string { +func (s GetPublicKeyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GeoRestriction) GoString() string { +func (s GetPublicKeyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GeoRestriction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GeoRestriction"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) +func (s *GetPublicKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPublicKeyInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.RestrictionType == nil { - invalidParams.Add(request.NewErrParamRequired("RestrictionType")) + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -9529,48 +13265,67 @@ func (s *GeoRestriction) Validate() error { return nil } -// SetItems sets the Items field's value. -func (s *GeoRestriction) SetItems(v []*string) *GeoRestriction { - s.Items = v +// SetId sets the Id field's value. +func (s *GetPublicKeyInput) SetId(v string) *GetPublicKeyInput { + s.Id = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *GeoRestriction) SetQuantity(v int64) *GeoRestriction { - s.Quantity = &v +type GetPublicKeyOutput struct { + _ struct{} `type:"structure" payload:"PublicKey"` + + // The current version of the public key. For example: E2QWRUHAPOMQZL. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // Return the public key. + PublicKey *PublicKey `type:"structure"` +} + +// String returns the string representation +func (s GetPublicKeyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPublicKeyOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *GetPublicKeyOutput) SetETag(v string) *GetPublicKeyOutput { + s.ETag = &v return s } -// SetRestrictionType sets the RestrictionType field's value. -func (s *GeoRestriction) SetRestrictionType(v string) *GeoRestriction { - s.RestrictionType = &v +// SetPublicKey sets the PublicKey field's value. +func (s *GetPublicKeyOutput) SetPublicKey(v *PublicKey) *GetPublicKeyOutput { + s.PublicKey = v return s } -// The origin access identity's configuration information. For more information, -// see CloudFrontOriginAccessIdentityConfig (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CloudFrontOriginAccessIdentityConfig.html). -type GetCloudFrontOriginAccessIdentityConfigInput struct { - _ struct{} `locationName:"GetCloudFrontOriginAccessIdentityConfigRequest" type:"structure"` +// To request to get a streaming distribution configuration. +type GetStreamingDistributionConfigInput struct { + _ struct{} `locationName:"GetStreamingDistributionConfigRequest" type:"structure"` - // The identity's ID. + // The streaming distribution's ID. // // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s GetCloudFrontOriginAccessIdentityConfigInput) String() string { +func (s GetStreamingDistributionConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCloudFrontOriginAccessIdentityConfigInput) GoString() string { +func (s GetStreamingDistributionConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCloudFrontOriginAccessIdentityConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCloudFrontOriginAccessIdentityConfigInput"} +func (s *GetStreamingDistributionConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStreamingDistributionConfigInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -9585,67 +13340,67 @@ func (s *GetCloudFrontOriginAccessIdentityConfigInput) Validate() error { } // SetId sets the Id field's value. -func (s *GetCloudFrontOriginAccessIdentityConfigInput) SetId(v string) *GetCloudFrontOriginAccessIdentityConfigInput { +func (s *GetStreamingDistributionConfigInput) SetId(v string) *GetStreamingDistributionConfigInput { s.Id = &v return s } // The returned result of the corresponding request. -type GetCloudFrontOriginAccessIdentityConfigOutput struct { - _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` - - // The origin access identity's configuration information. - CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `type:"structure"` +type GetStreamingDistributionConfigOutput struct { + _ struct{} `type:"structure" payload:"StreamingDistributionConfig"` // The current version of the configuration. For example: E2QWRUHAPOMQZL. ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The streaming distribution's configuration information. + StreamingDistributionConfig *StreamingDistributionConfig `type:"structure"` } // String returns the string representation -func (s GetCloudFrontOriginAccessIdentityConfigOutput) String() string { +func (s GetStreamingDistributionConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCloudFrontOriginAccessIdentityConfigOutput) GoString() string { +func (s GetStreamingDistributionConfigOutput) GoString() string { return s.String() } -// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. -func (s *GetCloudFrontOriginAccessIdentityConfigOutput) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *GetCloudFrontOriginAccessIdentityConfigOutput { - s.CloudFrontOriginAccessIdentityConfig = v +// SetETag sets the ETag field's value. +func (s *GetStreamingDistributionConfigOutput) SetETag(v string) *GetStreamingDistributionConfigOutput { + s.ETag = &v return s } -// SetETag sets the ETag field's value. -func (s *GetCloudFrontOriginAccessIdentityConfigOutput) SetETag(v string) *GetCloudFrontOriginAccessIdentityConfigOutput { - s.ETag = &v +// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. +func (s *GetStreamingDistributionConfigOutput) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *GetStreamingDistributionConfigOutput { + s.StreamingDistributionConfig = v return s } -// The request to get an origin access identity's information. -type GetCloudFrontOriginAccessIdentityInput struct { - _ struct{} `locationName:"GetCloudFrontOriginAccessIdentityRequest" type:"structure"` +// The request to get a streaming distribution's information. +type GetStreamingDistributionInput struct { + _ struct{} `locationName:"GetStreamingDistributionRequest" type:"structure"` - // The identity's ID. + // The streaming distribution's ID. // // Id is a required field Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` } // String returns the string representation -func (s GetCloudFrontOriginAccessIdentityInput) String() string { +func (s GetStreamingDistributionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCloudFrontOriginAccessIdentityInput) GoString() string { +func (s GetStreamingDistributionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCloudFrontOriginAccessIdentityInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCloudFrontOriginAccessIdentityInput"} +func (s *GetStreamingDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStreamingDistributionInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -9660,74 +13415,73 @@ func (s *GetCloudFrontOriginAccessIdentityInput) Validate() error { } // SetId sets the Id field's value. -func (s *GetCloudFrontOriginAccessIdentityInput) SetId(v string) *GetCloudFrontOriginAccessIdentityInput { +func (s *GetStreamingDistributionInput) SetId(v string) *GetStreamingDistributionInput { s.Id = &v return s } // The returned result of the corresponding request. -type GetCloudFrontOriginAccessIdentityOutput struct { - _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"` - - // The origin access identity's information. - CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"` +type GetStreamingDistributionOutput struct { + _ struct{} `type:"structure" payload:"StreamingDistribution"` - // The current version of the origin access identity's information. For example: + // The current version of the streaming distribution's information. For example: // E2QWRUHAPOMQZL. ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The streaming distribution's information. + StreamingDistribution *StreamingDistribution `type:"structure"` } // String returns the string representation -func (s GetCloudFrontOriginAccessIdentityOutput) String() string { +func (s GetStreamingDistributionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCloudFrontOriginAccessIdentityOutput) GoString() string { +func (s GetStreamingDistributionOutput) GoString() string { return s.String() } -// SetCloudFrontOriginAccessIdentity sets the CloudFrontOriginAccessIdentity field's value. -func (s *GetCloudFrontOriginAccessIdentityOutput) SetCloudFrontOriginAccessIdentity(v *OriginAccessIdentity) *GetCloudFrontOriginAccessIdentityOutput { - s.CloudFrontOriginAccessIdentity = v +// SetETag sets the ETag field's value. +func (s *GetStreamingDistributionOutput) SetETag(v string) *GetStreamingDistributionOutput { + s.ETag = &v return s } -// SetETag sets the ETag field's value. -func (s *GetCloudFrontOriginAccessIdentityOutput) SetETag(v string) *GetCloudFrontOriginAccessIdentityOutput { - s.ETag = &v +// SetStreamingDistribution sets the StreamingDistribution field's value. +func (s *GetStreamingDistributionOutput) SetStreamingDistribution(v *StreamingDistribution) *GetStreamingDistributionOutput { + s.StreamingDistribution = v return s } -// The request to get a distribution configuration. -type GetDistributionConfigInput struct { - _ struct{} `locationName:"GetDistributionConfigRequest" type:"structure"` +// Contains a list of HTTP header names. +type Headers struct { + _ struct{} `type:"structure"` - // The distribution's ID. If the ID is empty, an empty distribution configuration - // is returned. + // A list of HTTP header names. + Items []*string `locationNameList:"Name" type:"list"` + + // The number of header names in the Items list. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s GetDistributionConfigInput) String() string { +func (s Headers) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDistributionConfigInput) GoString() string { +func (s Headers) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetDistributionConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDistributionConfigInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) +func (s *Headers) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Headers"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) } if invalidParams.Len() > 0 { @@ -9736,74 +13490,133 @@ func (s *GetDistributionConfigInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *GetDistributionConfigInput) SetId(v string) *GetDistributionConfigInput { - s.Id = &v +// SetItems sets the Items field's value. +func (s *Headers) SetItems(v []*string) *Headers { + s.Items = v return s } -// The returned result of the corresponding request. -type GetDistributionConfigOutput struct { - _ struct{} `type:"structure" payload:"DistributionConfig"` +// SetQuantity sets the Quantity field's value. +func (s *Headers) SetQuantity(v int64) *Headers { + s.Quantity = &v + return s +} - // The distribution's configuration information. - DistributionConfig *DistributionConfig `type:"structure"` +// An invalidation. +type Invalidation struct { + _ struct{} `type:"structure"` - // The current version of the configuration. For example: E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` + // The date and time the invalidation request was first made. + // + // CreateTime is a required field + CreateTime *time.Time `type:"timestamp" required:"true"` + + // The identifier for the invalidation request. For example: IDFDVBD632BHDS5. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // The current invalidation information for the batch request. + // + // InvalidationBatch is a required field + InvalidationBatch *InvalidationBatch `type:"structure" required:"true"` + + // The status of the invalidation request. When the invalidation batch is finished, + // the status is Completed. + // + // Status is a required field + Status *string `type:"string" required:"true"` } // String returns the string representation -func (s GetDistributionConfigOutput) String() string { +func (s Invalidation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDistributionConfigOutput) GoString() string { +func (s Invalidation) GoString() string { return s.String() } -// SetDistributionConfig sets the DistributionConfig field's value. -func (s *GetDistributionConfigOutput) SetDistributionConfig(v *DistributionConfig) *GetDistributionConfigOutput { - s.DistributionConfig = v +// SetCreateTime sets the CreateTime field's value. +func (s *Invalidation) SetCreateTime(v time.Time) *Invalidation { + s.CreateTime = &v return s } -// SetETag sets the ETag field's value. -func (s *GetDistributionConfigOutput) SetETag(v string) *GetDistributionConfigOutput { - s.ETag = &v +// SetId sets the Id field's value. +func (s *Invalidation) SetId(v string) *Invalidation { + s.Id = &v return s } -// The request to get a distribution's information. -type GetDistributionInput struct { - _ struct{} `locationName:"GetDistributionRequest" type:"structure"` +// SetInvalidationBatch sets the InvalidationBatch field's value. +func (s *Invalidation) SetInvalidationBatch(v *InvalidationBatch) *Invalidation { + s.InvalidationBatch = v + return s +} - // The distribution's ID. If the ID is empty, an empty distribution configuration - // is returned. +// SetStatus sets the Status field's value. +func (s *Invalidation) SetStatus(v string) *Invalidation { + s.Status = &v + return s +} + +// An invalidation batch. +type InvalidationBatch struct { + _ struct{} `type:"structure"` + + // A value that you specify to uniquely identify an invalidation request. CloudFront + // uses the value to prevent you from accidentally resubmitting an identical + // request. Whenever you create a new invalidation request, you must specify + // a new value for CallerReference and change other values in the request as + // applicable. One way to ensure that the value of CallerReference is unique + // is to use a timestamp, for example, 20120301090000. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // If you make a second invalidation request with the same value for CallerReference, + // and if the rest of the request is the same, CloudFront doesn't create a new + // invalidation request. Instead, CloudFront returns information about the invalidation + // request that you previously created with the same CallerReference. + // + // If CallerReference is a value you already sent in a previous invalidation + // batch request but the content of any Path is different from the original + // request, CloudFront returns an InvalidationBatchAlreadyExists error. + // + // CallerReference is a required field + CallerReference *string `type:"string" required:"true"` + + // A complex type that contains information about the objects that you want + // to invalidate. For more information, see Specifying the Objects to Invalidate + // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#invalidation-specifying-objects) + // in the Amazon CloudFront Developer Guide. + // + // Paths is a required field + Paths *Paths `type:"structure" required:"true"` } // String returns the string representation -func (s GetDistributionInput) String() string { +func (s InvalidationBatch) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDistributionInput) GoString() string { +func (s InvalidationBatch) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetDistributionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDistributionInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *InvalidationBatch) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InvalidationBatch"} + if s.CallerReference == nil { + invalidParams.Add(request.NewErrParamRequired("CallerReference")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.Paths == nil { + invalidParams.Add(request.NewErrParamRequired("Paths")) + } + if s.Paths != nil { + if err := s.Paths.Validate(); err != nil { + invalidParams.AddNested("Paths", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -9812,220 +13625,253 @@ func (s *GetDistributionInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *GetDistributionInput) SetId(v string) *GetDistributionInput { - s.Id = &v +// SetCallerReference sets the CallerReference field's value. +func (s *InvalidationBatch) SetCallerReference(v string) *InvalidationBatch { + s.CallerReference = &v return s } -// The returned result of the corresponding request. -type GetDistributionOutput struct { - _ struct{} `type:"structure" payload:"Distribution"` - - // The distribution's information. - Distribution *Distribution `type:"structure"` - - // The current version of the distribution's information. For example: E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` +// SetPaths sets the Paths field's value. +func (s *InvalidationBatch) SetPaths(v *Paths) *InvalidationBatch { + s.Paths = v + return s } -// String returns the string representation -func (s GetDistributionOutput) String() string { - return awsutil.Prettify(s) -} +// The InvalidationList complex type describes the list of invalidation objects. +// For more information about invalidation, see Invalidating Objects (Web Distributions +// Only) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html) +// in the Amazon CloudFront Developer Guide. +type InvalidationList struct { + _ struct{} `type:"structure"` -// GoString returns the string representation -func (s GetDistributionOutput) GoString() string { - return s.String() -} + // A flag that indicates whether more invalidation batch requests remain to + // be listed. If your results were truncated, you can make a follow-up pagination + // request using the Marker request parameter to retrieve more invalidation + // batches in the list. + // + // IsTruncated is a required field + IsTruncated *bool `type:"boolean" required:"true"` -// SetDistribution sets the Distribution field's value. -func (s *GetDistributionOutput) SetDistribution(v *Distribution) *GetDistributionOutput { - s.Distribution = v - return s -} + // A complex type that contains one InvalidationSummary element for each invalidation + // batch created by the current AWS account. + Items []*InvalidationSummary `locationNameList:"InvalidationSummary" type:"list"` + + // The value that you provided for the Marker request parameter. + // + // Marker is a required field + Marker *string `type:"string" required:"true"` -// SetETag sets the ETag field's value. -func (s *GetDistributionOutput) SetETag(v string) *GetDistributionOutput { - s.ETag = &v - return s -} + // The value that you provided for the MaxItems request parameter. + // + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` -type GetFieldLevelEncryptionConfigInput struct { - _ struct{} `locationName:"GetFieldLevelEncryptionConfigRequest" type:"structure"` + // If IsTruncated is true, this element is present and contains the value that + // you can use for the Marker request parameter to continue listing your invalidation + // batches where they left off. + NextMarker *string `type:"string"` - // Request the ID for the field-level encryption configuration information. + // The number of invalidation batches that were created by the current AWS account. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s GetFieldLevelEncryptionConfigInput) String() string { +func (s InvalidationList) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetFieldLevelEncryptionConfigInput) GoString() string { +func (s InvalidationList) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetFieldLevelEncryptionConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionConfigInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetId sets the Id field's value. -func (s *GetFieldLevelEncryptionConfigInput) SetId(v string) *GetFieldLevelEncryptionConfigInput { - s.Id = &v +// SetIsTruncated sets the IsTruncated field's value. +func (s *InvalidationList) SetIsTruncated(v bool) *InvalidationList { + s.IsTruncated = &v return s } -type GetFieldLevelEncryptionConfigOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryptionConfig"` - - // The current version of the field level encryption configuration. For example: - // E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` - - // Return the field-level encryption configuration information. - FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `type:"structure"` +// SetItems sets the Items field's value. +func (s *InvalidationList) SetItems(v []*InvalidationSummary) *InvalidationList { + s.Items = v + return s } -// String returns the string representation -func (s GetFieldLevelEncryptionConfigOutput) String() string { - return awsutil.Prettify(s) +// SetMarker sets the Marker field's value. +func (s *InvalidationList) SetMarker(v string) *InvalidationList { + s.Marker = &v + return s } -// GoString returns the string representation -func (s GetFieldLevelEncryptionConfigOutput) GoString() string { - return s.String() +// SetMaxItems sets the MaxItems field's value. +func (s *InvalidationList) SetMaxItems(v int64) *InvalidationList { + s.MaxItems = &v + return s } -// SetETag sets the ETag field's value. -func (s *GetFieldLevelEncryptionConfigOutput) SetETag(v string) *GetFieldLevelEncryptionConfigOutput { - s.ETag = &v +// SetNextMarker sets the NextMarker field's value. +func (s *InvalidationList) SetNextMarker(v string) *InvalidationList { + s.NextMarker = &v return s } -// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. -func (s *GetFieldLevelEncryptionConfigOutput) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *GetFieldLevelEncryptionConfigOutput { - s.FieldLevelEncryptionConfig = v +// SetQuantity sets the Quantity field's value. +func (s *InvalidationList) SetQuantity(v int64) *InvalidationList { + s.Quantity = &v return s } -type GetFieldLevelEncryptionInput struct { - _ struct{} `locationName:"GetFieldLevelEncryptionRequest" type:"structure"` +// A summary of an invalidation request. +type InvalidationSummary struct { + _ struct{} `type:"structure"` - // Request the ID for the field-level encryption configuration information. + // The time that an invalidation request was created. + // + // CreateTime is a required field + CreateTime *time.Time `type:"timestamp" required:"true"` + + // The unique ID for an invalidation request. // // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + Id *string `type:"string" required:"true"` + + // The status of an invalidation request. + // + // Status is a required field + Status *string `type:"string" required:"true"` } // String returns the string representation -func (s GetFieldLevelEncryptionInput) String() string { +func (s InvalidationSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetFieldLevelEncryptionInput) GoString() string { +func (s InvalidationSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetFieldLevelEncryptionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreateTime sets the CreateTime field's value. +func (s *InvalidationSummary) SetCreateTime(v time.Time) *InvalidationSummary { + s.CreateTime = &v + return s } // SetId sets the Id field's value. -func (s *GetFieldLevelEncryptionInput) SetId(v string) *GetFieldLevelEncryptionInput { +func (s *InvalidationSummary) SetId(v string) *InvalidationSummary { s.Id = &v return s } -type GetFieldLevelEncryptionOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryption"` +// SetStatus sets the Status field's value. +func (s *InvalidationSummary) SetStatus(v string) *InvalidationSummary { + s.Status = &v + return s +} - // The current version of the field level encryption configuration. For example: - // E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` +// A complex type that lists the active CloudFront key pairs, if any, that are +// associated with AwsAccountNumber. +// +// For more information, see ActiveTrustedSigners (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ActiveTrustedSigners.html). +type KeyPairIds struct { + _ struct{} `type:"structure"` - // Return the field-level encryption configuration information. - FieldLevelEncryption *FieldLevelEncryption `type:"structure"` + // A complex type that lists the active CloudFront key pairs, if any, that are + // associated with AwsAccountNumber. + // + // For more information, see ActiveTrustedSigners (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ActiveTrustedSigners.html). + Items []*string `locationNameList:"KeyPairId" type:"list"` + + // The number of active CloudFront key pairs for AwsAccountNumber. + // + // For more information, see ActiveTrustedSigners (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ActiveTrustedSigners.html). + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s GetFieldLevelEncryptionOutput) String() string { +func (s KeyPairIds) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetFieldLevelEncryptionOutput) GoString() string { +func (s KeyPairIds) GoString() string { return s.String() } -// SetETag sets the ETag field's value. -func (s *GetFieldLevelEncryptionOutput) SetETag(v string) *GetFieldLevelEncryptionOutput { - s.ETag = &v +// SetItems sets the Items field's value. +func (s *KeyPairIds) SetItems(v []*string) *KeyPairIds { + s.Items = v return s } -// SetFieldLevelEncryption sets the FieldLevelEncryption field's value. -func (s *GetFieldLevelEncryptionOutput) SetFieldLevelEncryption(v *FieldLevelEncryption) *GetFieldLevelEncryptionOutput { - s.FieldLevelEncryption = v +// SetQuantity sets the Quantity field's value. +func (s *KeyPairIds) SetQuantity(v int64) *KeyPairIds { + s.Quantity = &v return s } -type GetFieldLevelEncryptionProfileConfigInput struct { - _ struct{} `locationName:"GetFieldLevelEncryptionProfileConfigRequest" type:"structure"` +// A complex type that contains a Lambda function association. +type LambdaFunctionAssociation struct { + _ struct{} `type:"structure"` - // Get the ID for the field-level encryption profile configuration information. + // Specifies the event type that triggers a Lambda function invocation. You + // can specify the following values: // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // * viewer-request: The function executes when CloudFront receives a request + // from a viewer and before it checks to see whether the requested object + // is in the edge cache. + // + // * origin-request: The function executes only when CloudFront sends a request + // to your origin. When the requested object is in the edge cache, the function + // doesn't execute. + // + // * origin-response: The function executes after CloudFront receives a response + // from the origin and before it caches the object in the response. When + // the requested object is in the edge cache, the function doesn't execute. + // + // * viewer-response: The function executes before CloudFront returns the + // requested object to the viewer. The function executes regardless of whether + // the object was already in the edge cache. If the origin returns an HTTP + // status code other than HTTP 200 (OK), the function doesn't execute. + // + // EventType is a required field + EventType *string `type:"string" required:"true" enum:"EventType"` + + // A flag that allows a Lambda function to have read access to the body content. + // For more information, see Accessing the Request Body by Choosing the Include + // Body Option (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-include-body-access.html) + // in the Amazon CloudFront Developer Guide. + IncludeBody *bool `type:"boolean"` + + // The ARN of the Lambda function. You must specify the ARN of a function version; + // you can't specify a Lambda alias or $LATEST. + // + // LambdaFunctionARN is a required field + LambdaFunctionARN *string `type:"string" required:"true"` } // String returns the string representation -func (s GetFieldLevelEncryptionProfileConfigInput) String() string { +func (s LambdaFunctionAssociation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetFieldLevelEncryptionProfileConfigInput) GoString() string { +func (s LambdaFunctionAssociation) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetFieldLevelEncryptionProfileConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionProfileConfigInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *LambdaFunctionAssociation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionAssociation"} + if s.EventType == nil { + invalidParams.Add(request.NewErrParamRequired("EventType")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.LambdaFunctionARN == nil { + invalidParams.Add(request.NewErrParamRequired("LambdaFunctionARN")) } if invalidParams.Len() > 0 { @@ -10034,72 +13880,73 @@ func (s *GetFieldLevelEncryptionProfileConfigInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *GetFieldLevelEncryptionProfileConfigInput) SetId(v string) *GetFieldLevelEncryptionProfileConfigInput { - s.Id = &v - return s -} - -type GetFieldLevelEncryptionProfileConfigOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfileConfig"` - - // The current version of the field-level encryption profile configuration result. - // For example: E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` - - // Return the field-level encryption profile configuration information. - FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `type:"structure"` -} - -// String returns the string representation -func (s GetFieldLevelEncryptionProfileConfigOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetFieldLevelEncryptionProfileConfigOutput) GoString() string { - return s.String() +// SetEventType sets the EventType field's value. +func (s *LambdaFunctionAssociation) SetEventType(v string) *LambdaFunctionAssociation { + s.EventType = &v + return s } -// SetETag sets the ETag field's value. -func (s *GetFieldLevelEncryptionProfileConfigOutput) SetETag(v string) *GetFieldLevelEncryptionProfileConfigOutput { - s.ETag = &v +// SetIncludeBody sets the IncludeBody field's value. +func (s *LambdaFunctionAssociation) SetIncludeBody(v bool) *LambdaFunctionAssociation { + s.IncludeBody = &v return s } -// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. -func (s *GetFieldLevelEncryptionProfileConfigOutput) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *GetFieldLevelEncryptionProfileConfigOutput { - s.FieldLevelEncryptionProfileConfig = v +// SetLambdaFunctionARN sets the LambdaFunctionARN field's value. +func (s *LambdaFunctionAssociation) SetLambdaFunctionARN(v string) *LambdaFunctionAssociation { + s.LambdaFunctionARN = &v return s } -type GetFieldLevelEncryptionProfileInput struct { - _ struct{} `locationName:"GetFieldLevelEncryptionProfileRequest" type:"structure"` +// A complex type that specifies a list of Lambda functions associations for +// a cache behavior. +// +// If you want to invoke one or more Lambda functions triggered by requests +// that match the PathPattern of the cache behavior, specify the applicable +// values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation +// items in this list (one for each possible value of EventType) and each EventType +// can be associated with the Lambda function only once. +// +// If you don't want to invoke any Lambda functions for the requests that match +// PathPattern, specify 0 for Quantity and omit Items. +type LambdaFunctionAssociations struct { + _ struct{} `type:"structure"` - // Get the ID for the field-level encryption profile information. + // Optional: A complex type that contains LambdaFunctionAssociation items for + // this cache behavior. If Quantity is 0, you can omit Items. + Items []*LambdaFunctionAssociation `locationNameList:"LambdaFunctionAssociation" type:"list"` + + // The number of Lambda function associations for this cache behavior. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s GetFieldLevelEncryptionProfileInput) String() string { +func (s LambdaFunctionAssociations) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetFieldLevelEncryptionProfileInput) GoString() string { +func (s LambdaFunctionAssociations) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetFieldLevelEncryptionProfileInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionProfileInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *LambdaFunctionAssociations) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionAssociations"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -10108,155 +13955,188 @@ func (s *GetFieldLevelEncryptionProfileInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *GetFieldLevelEncryptionProfileInput) SetId(v string) *GetFieldLevelEncryptionProfileInput { - s.Id = &v +// SetItems sets the Items field's value. +func (s *LambdaFunctionAssociations) SetItems(v []*LambdaFunctionAssociation) *LambdaFunctionAssociations { + s.Items = v return s } -type GetFieldLevelEncryptionProfileOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfile"` +// SetQuantity sets the Quantity field's value. +func (s *LambdaFunctionAssociations) SetQuantity(v int64) *LambdaFunctionAssociations { + s.Quantity = &v + return s +} - // The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` +type ListCachePoliciesInput struct { + _ struct{} `locationName:"ListCachePoliciesRequest" type:"structure"` - // Return the field-level encryption profile information. - FieldLevelEncryptionProfile *FieldLevelEncryptionProfile `type:"structure"` + // Use this field when paginating results to indicate where to begin in your + // list of cache policies. The response includes cache policies in the list + // that occur after the marker. To get the next page of the list, set this field’s + // value to the value of NextMarker from the current page’s response. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` + + // The maximum number of cache policies that you want in the response. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` + + // A filter to return only the specified kinds of cache policies. Valid values + // are: + // + // * managed – Returns only the managed policies created by AWS. + // + // * custom – Returns only the custom policies created in your AWS account. + Type *string `location:"querystring" locationName:"Type" type:"string" enum:"CachePolicyType"` } // String returns the string representation -func (s GetFieldLevelEncryptionProfileOutput) String() string { +func (s ListCachePoliciesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetFieldLevelEncryptionProfileOutput) GoString() string { +func (s ListCachePoliciesInput) GoString() string { return s.String() } -// SetETag sets the ETag field's value. -func (s *GetFieldLevelEncryptionProfileOutput) SetETag(v string) *GetFieldLevelEncryptionProfileOutput { - s.ETag = &v +// SetMarker sets the Marker field's value. +func (s *ListCachePoliciesInput) SetMarker(v string) *ListCachePoliciesInput { + s.Marker = &v return s } -// SetFieldLevelEncryptionProfile sets the FieldLevelEncryptionProfile field's value. -func (s *GetFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile(v *FieldLevelEncryptionProfile) *GetFieldLevelEncryptionProfileOutput { - s.FieldLevelEncryptionProfile = v +// SetMaxItems sets the MaxItems field's value. +func (s *ListCachePoliciesInput) SetMaxItems(v int64) *ListCachePoliciesInput { + s.MaxItems = &v return s } -// The request to get an invalidation's information. -type GetInvalidationInput struct { - _ struct{} `locationName:"GetInvalidationRequest" type:"structure"` +// SetType sets the Type field's value. +func (s *ListCachePoliciesInput) SetType(v string) *ListCachePoliciesInput { + s.Type = &v + return s +} - // The distribution's ID. - // - // DistributionId is a required field - DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` +type ListCachePoliciesOutput struct { + _ struct{} `type:"structure" payload:"CachePolicyList"` - // The identifier for the invalidation request, for example, IDFDVBD632BHDS5. - // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // A list of cache policies. + CachePolicyList *CachePolicyList `type:"structure"` } // String returns the string representation -func (s GetInvalidationInput) String() string { +func (s ListCachePoliciesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetInvalidationInput) GoString() string { +func (s ListCachePoliciesOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetInvalidationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetInvalidationInput"} - if s.DistributionId == nil { - invalidParams.Add(request.NewErrParamRequired("DistributionId")) - } - if s.DistributionId != nil && len(*s.DistributionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) - } - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) - } +// SetCachePolicyList sets the CachePolicyList field's value. +func (s *ListCachePoliciesOutput) SetCachePolicyList(v *CachePolicyList) *ListCachePoliciesOutput { + s.CachePolicyList = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// The request to list origin access identities. +type ListCloudFrontOriginAccessIdentitiesInput struct { + _ struct{} `locationName:"ListCloudFrontOriginAccessIdentitiesRequest" type:"structure"` + + // Use this when paginating results to indicate where to begin in your list + // of origin access identities. The results include identities in the list that + // occur after the marker. To get the next page of results, set the Marker to + // the value of the NextMarker from the current page's response (which is also + // the ID of the last identity on that page). + Marker *string `location:"querystring" locationName:"Marker" type:"string"` + + // The maximum number of origin access identities you want in the response body. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` } -// SetDistributionId sets the DistributionId field's value. -func (s *GetInvalidationInput) SetDistributionId(v string) *GetInvalidationInput { - s.DistributionId = &v +// String returns the string representation +func (s ListCloudFrontOriginAccessIdentitiesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCloudFrontOriginAccessIdentitiesInput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *ListCloudFrontOriginAccessIdentitiesInput) SetMarker(v string) *ListCloudFrontOriginAccessIdentitiesInput { + s.Marker = &v return s } -// SetId sets the Id field's value. -func (s *GetInvalidationInput) SetId(v string) *GetInvalidationInput { - s.Id = &v +// SetMaxItems sets the MaxItems field's value. +func (s *ListCloudFrontOriginAccessIdentitiesInput) SetMaxItems(v int64) *ListCloudFrontOriginAccessIdentitiesInput { + s.MaxItems = &v return s } // The returned result of the corresponding request. -type GetInvalidationOutput struct { - _ struct{} `type:"structure" payload:"Invalidation"` +type ListCloudFrontOriginAccessIdentitiesOutput struct { + _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityList"` - // The invalidation's information. For more information, see Invalidation Complex - // Type (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/InvalidationDatatype.html). - Invalidation *Invalidation `type:"structure"` + // The CloudFrontOriginAccessIdentityList type. + CloudFrontOriginAccessIdentityList *OriginAccessIdentityList `type:"structure"` } // String returns the string representation -func (s GetInvalidationOutput) String() string { +func (s ListCloudFrontOriginAccessIdentitiesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetInvalidationOutput) GoString() string { +func (s ListCloudFrontOriginAccessIdentitiesOutput) GoString() string { return s.String() } -// SetInvalidation sets the Invalidation field's value. -func (s *GetInvalidationOutput) SetInvalidation(v *Invalidation) *GetInvalidationOutput { - s.Invalidation = v +// SetCloudFrontOriginAccessIdentityList sets the CloudFrontOriginAccessIdentityList field's value. +func (s *ListCloudFrontOriginAccessIdentitiesOutput) SetCloudFrontOriginAccessIdentityList(v *OriginAccessIdentityList) *ListCloudFrontOriginAccessIdentitiesOutput { + s.CloudFrontOriginAccessIdentityList = v return s } -type GetPublicKeyConfigInput struct { - _ struct{} `locationName:"GetPublicKeyConfigRequest" type:"structure"` +type ListDistributionsByCachePolicyIdInput struct { + _ struct{} `locationName:"ListDistributionsByCachePolicyIdRequest" type:"structure"` - // Request the ID for the public key configuration. + // The ID of the cache policy whose associated distribution IDs you want to + // list. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // CachePolicyId is a required field + CachePolicyId *string `location:"uri" locationName:"CachePolicyId" type:"string" required:"true"` + + // Use this field when paginating results to indicate where to begin in your + // list of distribution IDs. The response includes distribution IDs in the list + // that occur after the marker. To get the next page of the list, set this field’s + // value to the value of NextMarker from the current page’s response. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` + + // The maximum number of distribution IDs that you want in the response. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` } // String returns the string representation -func (s GetPublicKeyConfigInput) String() string { +func (s ListDistributionsByCachePolicyIdInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetPublicKeyConfigInput) GoString() string { +func (s ListDistributionsByCachePolicyIdInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetPublicKeyConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetPublicKeyConfigInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *ListDistributionsByCachePolicyIdInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDistributionsByCachePolicyIdInput"} + if s.CachePolicyId == nil { + invalidParams.Add(request.NewErrParamRequired("CachePolicyId")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.CachePolicyId != nil && len(*s.CachePolicyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CachePolicyId", 1)) } if invalidParams.Len() > 0 { @@ -10265,71 +14145,84 @@ func (s *GetPublicKeyConfigInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *GetPublicKeyConfigInput) SetId(v string) *GetPublicKeyConfigInput { - s.Id = &v +// SetCachePolicyId sets the CachePolicyId field's value. +func (s *ListDistributionsByCachePolicyIdInput) SetCachePolicyId(v string) *ListDistributionsByCachePolicyIdInput { + s.CachePolicyId = &v return s } -type GetPublicKeyConfigOutput struct { - _ struct{} `type:"structure" payload:"PublicKeyConfig"` +// SetMarker sets the Marker field's value. +func (s *ListDistributionsByCachePolicyIdInput) SetMarker(v string) *ListDistributionsByCachePolicyIdInput { + s.Marker = &v + return s +} - // The current version of the public key configuration. For example: E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` +// SetMaxItems sets the MaxItems field's value. +func (s *ListDistributionsByCachePolicyIdInput) SetMaxItems(v int64) *ListDistributionsByCachePolicyIdInput { + s.MaxItems = &v + return s +} - // Return the result for the public key configuration. - PublicKeyConfig *PublicKeyConfig `type:"structure"` +type ListDistributionsByCachePolicyIdOutput struct { + _ struct{} `type:"structure" payload:"DistributionIdList"` + + // A list of distribution IDs. + DistributionIdList *DistributionIdList `type:"structure"` } // String returns the string representation -func (s GetPublicKeyConfigOutput) String() string { +func (s ListDistributionsByCachePolicyIdOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetPublicKeyConfigOutput) GoString() string { +func (s ListDistributionsByCachePolicyIdOutput) GoString() string { return s.String() } -// SetETag sets the ETag field's value. -func (s *GetPublicKeyConfigOutput) SetETag(v string) *GetPublicKeyConfigOutput { - s.ETag = &v +// SetDistributionIdList sets the DistributionIdList field's value. +func (s *ListDistributionsByCachePolicyIdOutput) SetDistributionIdList(v *DistributionIdList) *ListDistributionsByCachePolicyIdOutput { + s.DistributionIdList = v return s } -// SetPublicKeyConfig sets the PublicKeyConfig field's value. -func (s *GetPublicKeyConfigOutput) SetPublicKeyConfig(v *PublicKeyConfig) *GetPublicKeyConfigOutput { - s.PublicKeyConfig = v - return s -} +type ListDistributionsByOriginRequestPolicyIdInput struct { + _ struct{} `locationName:"ListDistributionsByOriginRequestPolicyIdRequest" type:"structure"` -type GetPublicKeyInput struct { - _ struct{} `locationName:"GetPublicKeyRequest" type:"structure"` + // Use this field when paginating results to indicate where to begin in your + // list of distribution IDs. The response includes distribution IDs in the list + // that occur after the marker. To get the next page of the list, set this field’s + // value to the value of NextMarker from the current page’s response. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // Request the ID for the public key. + // The maximum number of distribution IDs that you want in the response. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` + + // The ID of the origin request policy whose associated distribution IDs you + // want to list. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // OriginRequestPolicyId is a required field + OriginRequestPolicyId *string `location:"uri" locationName:"OriginRequestPolicyId" type:"string" required:"true"` } // String returns the string representation -func (s GetPublicKeyInput) String() string { +func (s ListDistributionsByOriginRequestPolicyIdInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetPublicKeyInput) GoString() string { +func (s ListDistributionsByOriginRequestPolicyIdInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetPublicKeyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetPublicKeyInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *ListDistributionsByOriginRequestPolicyIdInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDistributionsByOriginRequestPolicyIdInput"} + if s.OriginRequestPolicyId == nil { + invalidParams.Add(request.NewErrParamRequired("OriginRequestPolicyId")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.OriginRequestPolicyId != nil && len(*s.OriginRequestPolicyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OriginRequestPolicyId", 1)) } if invalidParams.Len() > 0 { @@ -10338,72 +14231,89 @@ func (s *GetPublicKeyInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *GetPublicKeyInput) SetId(v string) *GetPublicKeyInput { - s.Id = &v +// SetMarker sets the Marker field's value. +func (s *ListDistributionsByOriginRequestPolicyIdInput) SetMarker(v string) *ListDistributionsByOriginRequestPolicyIdInput { + s.Marker = &v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *ListDistributionsByOriginRequestPolicyIdInput) SetMaxItems(v int64) *ListDistributionsByOriginRequestPolicyIdInput { + s.MaxItems = &v return s } -type GetPublicKeyOutput struct { - _ struct{} `type:"structure" payload:"PublicKey"` +// SetOriginRequestPolicyId sets the OriginRequestPolicyId field's value. +func (s *ListDistributionsByOriginRequestPolicyIdInput) SetOriginRequestPolicyId(v string) *ListDistributionsByOriginRequestPolicyIdInput { + s.OriginRequestPolicyId = &v + return s +} - // The current version of the public key. For example: E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` +type ListDistributionsByOriginRequestPolicyIdOutput struct { + _ struct{} `type:"structure" payload:"DistributionIdList"` - // Return the public key. - PublicKey *PublicKey `type:"structure"` + // A list of distribution IDs. + DistributionIdList *DistributionIdList `type:"structure"` } // String returns the string representation -func (s GetPublicKeyOutput) String() string { +func (s ListDistributionsByOriginRequestPolicyIdOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetPublicKeyOutput) GoString() string { +func (s ListDistributionsByOriginRequestPolicyIdOutput) GoString() string { return s.String() } -// SetETag sets the ETag field's value. -func (s *GetPublicKeyOutput) SetETag(v string) *GetPublicKeyOutput { - s.ETag = &v +// SetDistributionIdList sets the DistributionIdList field's value. +func (s *ListDistributionsByOriginRequestPolicyIdOutput) SetDistributionIdList(v *DistributionIdList) *ListDistributionsByOriginRequestPolicyIdOutput { + s.DistributionIdList = v return s } -// SetPublicKey sets the PublicKey field's value. -func (s *GetPublicKeyOutput) SetPublicKey(v *PublicKey) *GetPublicKeyOutput { - s.PublicKey = v - return s -} +// The request to list distributions that are associated with a specified AWS +// WAF web ACL. +type ListDistributionsByWebACLIdInput struct { + _ struct{} `locationName:"ListDistributionsByWebACLIdRequest" type:"structure"` -// To request to get a streaming distribution configuration. -type GetStreamingDistributionConfigInput struct { - _ struct{} `locationName:"GetStreamingDistributionConfigRequest" type:"structure"` + // Use Marker and MaxItems to control pagination of results. If you have more + // than MaxItems distributions that satisfy the request, the response includes + // a NextMarker element. To get the next page of results, submit another request. + // For the value of Marker, specify the value of NextMarker from the last response. + // (For the first request, omit Marker.) + Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // The streaming distribution's ID. + // The maximum number of distributions that you want CloudFront to return in + // the response body. The maximum and default values are both 100. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` + + // The ID of the AWS WAF web ACL that you want to list the associated distributions. + // If you specify "null" for the ID, the request returns a list of the distributions + // that aren't associated with a web ACL. // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // WebACLId is a required field + WebACLId *string `location:"uri" locationName:"WebACLId" type:"string" required:"true"` } // String returns the string representation -func (s GetStreamingDistributionConfigInput) String() string { +func (s ListDistributionsByWebACLIdInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetStreamingDistributionConfigInput) GoString() string { +func (s ListDistributionsByWebACLIdInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetStreamingDistributionConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetStreamingDistributionConfigInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *ListDistributionsByWebACLIdInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDistributionsByWebACLIdInput"} + if s.WebACLId == nil { + invalidParams.Add(request.NewErrParamRequired("WebACLId")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.WebACLId != nil && len(*s.WebACLId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1)) } if invalidParams.Len() > 0 { @@ -10412,320 +14322,273 @@ func (s *GetStreamingDistributionConfigInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *GetStreamingDistributionConfigInput) SetId(v string) *GetStreamingDistributionConfigInput { - s.Id = &v +// SetMarker sets the Marker field's value. +func (s *ListDistributionsByWebACLIdInput) SetMarker(v string) *ListDistributionsByWebACLIdInput { + s.Marker = &v return s } -// The returned result of the corresponding request. -type GetStreamingDistributionConfigOutput struct { - _ struct{} `type:"structure" payload:"StreamingDistributionConfig"` +// SetMaxItems sets the MaxItems field's value. +func (s *ListDistributionsByWebACLIdInput) SetMaxItems(v int64) *ListDistributionsByWebACLIdInput { + s.MaxItems = &v + return s +} - // The current version of the configuration. For example: E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` +// SetWebACLId sets the WebACLId field's value. +func (s *ListDistributionsByWebACLIdInput) SetWebACLId(v string) *ListDistributionsByWebACLIdInput { + s.WebACLId = &v + return s +} - // The streaming distribution's configuration information. - StreamingDistributionConfig *StreamingDistributionConfig `type:"structure"` +// The response to a request to list the distributions that are associated with +// a specified AWS WAF web ACL. +type ListDistributionsByWebACLIdOutput struct { + _ struct{} `type:"structure" payload:"DistributionList"` + + // The DistributionList type. + DistributionList *DistributionList `type:"structure"` } // String returns the string representation -func (s GetStreamingDistributionConfigOutput) String() string { +func (s ListDistributionsByWebACLIdOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetStreamingDistributionConfigOutput) GoString() string { +func (s ListDistributionsByWebACLIdOutput) GoString() string { return s.String() } -// SetETag sets the ETag field's value. -func (s *GetStreamingDistributionConfigOutput) SetETag(v string) *GetStreamingDistributionConfigOutput { - s.ETag = &v +// SetDistributionList sets the DistributionList field's value. +func (s *ListDistributionsByWebACLIdOutput) SetDistributionList(v *DistributionList) *ListDistributionsByWebACLIdOutput { + s.DistributionList = v return s } -// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. -func (s *GetStreamingDistributionConfigOutput) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *GetStreamingDistributionConfigOutput { - s.StreamingDistributionConfig = v - return s -} +// The request to list your distributions. +type ListDistributionsInput struct { + _ struct{} `locationName:"ListDistributionsRequest" type:"structure"` -// The request to get a streaming distribution's information. -type GetStreamingDistributionInput struct { - _ struct{} `locationName:"GetStreamingDistributionRequest" type:"structure"` + // Use this when paginating results to indicate where to begin in your list + // of distributions. The results include distributions in the list that occur + // after the marker. To get the next page of results, set the Marker to the + // value of the NextMarker from the current page's response (which is also the + // ID of the last distribution on that page). + Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // The streaming distribution's ID. - // - // Id is a required field - Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + // The maximum number of distributions you want in the response body. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` } // String returns the string representation -func (s GetStreamingDistributionInput) String() string { +func (s ListDistributionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetStreamingDistributionInput) GoString() string { +func (s ListDistributionsInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetStreamingDistributionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetStreamingDistributionInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetMarker sets the Marker field's value. +func (s *ListDistributionsInput) SetMarker(v string) *ListDistributionsInput { + s.Marker = &v + return s } -// SetId sets the Id field's value. -func (s *GetStreamingDistributionInput) SetId(v string) *GetStreamingDistributionInput { - s.Id = &v +// SetMaxItems sets the MaxItems field's value. +func (s *ListDistributionsInput) SetMaxItems(v int64) *ListDistributionsInput { + s.MaxItems = &v return s } // The returned result of the corresponding request. -type GetStreamingDistributionOutput struct { - _ struct{} `type:"structure" payload:"StreamingDistribution"` - - // The current version of the streaming distribution's information. For example: - // E2QWRUHAPOMQZL. - ETag *string `location:"header" locationName:"ETag" type:"string"` +type ListDistributionsOutput struct { + _ struct{} `type:"structure" payload:"DistributionList"` - // The streaming distribution's information. - StreamingDistribution *StreamingDistribution `type:"structure"` + // The DistributionList type. + DistributionList *DistributionList `type:"structure"` } // String returns the string representation -func (s GetStreamingDistributionOutput) String() string { +func (s ListDistributionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetStreamingDistributionOutput) GoString() string { +func (s ListDistributionsOutput) GoString() string { return s.String() } -// SetETag sets the ETag field's value. -func (s *GetStreamingDistributionOutput) SetETag(v string) *GetStreamingDistributionOutput { - s.ETag = &v - return s -} - -// SetStreamingDistribution sets the StreamingDistribution field's value. -func (s *GetStreamingDistributionOutput) SetStreamingDistribution(v *StreamingDistribution) *GetStreamingDistributionOutput { - s.StreamingDistribution = v +// SetDistributionList sets the DistributionList field's value. +func (s *ListDistributionsOutput) SetDistributionList(v *DistributionList) *ListDistributionsOutput { + s.DistributionList = v return s } -// A complex type that specifies the request headers, if any, that you want -// CloudFront to base caching on for this cache behavior. -// -// For the headers that you specify, CloudFront caches separate versions of -// a specified object based on the header values in viewer requests. For example, -// suppose viewer requests for logo.jpg contain a custom product header that -// has a value of either acme or apex, and you configure CloudFront to cache -// your content based on values in the product header. CloudFront forwards the -// product header to the origin and caches the response from the origin once -// for each header value. For more information about caching based on header -// values, see How CloudFront Forwards and Caches Headers (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) -// in the Amazon CloudFront Developer Guide. -type Headers struct { - _ struct{} `type:"structure"` +type ListFieldLevelEncryptionConfigsInput struct { + _ struct{} `locationName:"ListFieldLevelEncryptionConfigsRequest" type:"structure"` - // A list that contains one Name element for each header that you want CloudFront - // to use for caching in this cache behavior. If Quantity is 0, omit Items. - Items []*string `locationNameList:"Name" type:"list"` + // Use this when paginating results to indicate where to begin in your list + // of configurations. The results include configurations in the list that occur + // after the marker. To get the next page of results, set the Marker to the + // value of the NextMarker from the current page's response (which is also the + // ID of the last configuration on that page). + Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // The number of different headers that you want CloudFront to base caching - // on for this cache behavior. You can configure each cache behavior in a web - // distribution to do one of the following: - // - // * Forward all headers to your origin: Specify 1 for Quantity and * for - // Name. CloudFront doesn't cache the objects that are associated with this - // cache behavior. Instead, CloudFront sends every request to the origin. - // - // * Forward a whitelist of headers you specify: Specify the number of headers - // that you want CloudFront to base caching on. Then specify the header names - // in Name elements. CloudFront caches your objects based on the values in - // the specified headers. - // - // * Forward only the default headers: Specify 0 for Quantity and omit Items. - // In this configuration, CloudFront doesn't cache based on the values in - // the request headers. - // - // Regardless of which option you choose, CloudFront forwards headers to your - // origin based on whether the origin is an S3 bucket or a custom origin. See - // the following documentation: - // - // * S3 bucket: See HTTP Request Headers That CloudFront Removes or Updates - // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorS3Origin.html#request-s3-removed-headers) - // - // * Custom origin: See HTTP Request Headers and CloudFront Behavior (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-headers-behavior) - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // The maximum number of field-level encryption configurations you want in the + // response body. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` } // String returns the string representation -func (s Headers) String() string { +func (s ListFieldLevelEncryptionConfigsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Headers) GoString() string { +func (s ListFieldLevelEncryptionConfigsInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Headers) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Headers"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetMarker sets the Marker field's value. +func (s *ListFieldLevelEncryptionConfigsInput) SetMarker(v string) *ListFieldLevelEncryptionConfigsInput { + s.Marker = &v + return s } -// SetItems sets the Items field's value. -func (s *Headers) SetItems(v []*string) *Headers { - s.Items = v +// SetMaxItems sets the MaxItems field's value. +func (s *ListFieldLevelEncryptionConfigsInput) SetMaxItems(v int64) *ListFieldLevelEncryptionConfigsInput { + s.MaxItems = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *Headers) SetQuantity(v int64) *Headers { - s.Quantity = &v +type ListFieldLevelEncryptionConfigsOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryptionList"` + + // Returns a list of all field-level encryption configurations that have been + // created in CloudFront for this account. + FieldLevelEncryptionList *FieldLevelEncryptionList `type:"structure"` +} + +// String returns the string representation +func (s ListFieldLevelEncryptionConfigsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFieldLevelEncryptionConfigsOutput) GoString() string { + return s.String() +} + +// SetFieldLevelEncryptionList sets the FieldLevelEncryptionList field's value. +func (s *ListFieldLevelEncryptionConfigsOutput) SetFieldLevelEncryptionList(v *FieldLevelEncryptionList) *ListFieldLevelEncryptionConfigsOutput { + s.FieldLevelEncryptionList = v return s } -// An invalidation. -type Invalidation struct { - _ struct{} `type:"structure"` - - // The date and time the invalidation request was first made. - // - // CreateTime is a required field - CreateTime *time.Time `type:"timestamp" required:"true"` - - // The identifier for the invalidation request. For example: IDFDVBD632BHDS5. - // - // Id is a required field - Id *string `type:"string" required:"true"` +type ListFieldLevelEncryptionProfilesInput struct { + _ struct{} `locationName:"ListFieldLevelEncryptionProfilesRequest" type:"structure"` - // The current invalidation information for the batch request. - // - // InvalidationBatch is a required field - InvalidationBatch *InvalidationBatch `type:"structure" required:"true"` + // Use this when paginating results to indicate where to begin in your list + // of profiles. The results include profiles in the list that occur after the + // marker. To get the next page of results, set the Marker to the value of the + // NextMarker from the current page's response (which is also the ID of the + // last profile on that page). + Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // The status of the invalidation request. When the invalidation batch is finished, - // the status is Completed. - // - // Status is a required field - Status *string `type:"string" required:"true"` + // The maximum number of field-level encryption profiles you want in the response + // body. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` } // String returns the string representation -func (s Invalidation) String() string { +func (s ListFieldLevelEncryptionProfilesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Invalidation) GoString() string { +func (s ListFieldLevelEncryptionProfilesInput) GoString() string { return s.String() } -// SetCreateTime sets the CreateTime field's value. -func (s *Invalidation) SetCreateTime(v time.Time) *Invalidation { - s.CreateTime = &v +// SetMarker sets the Marker field's value. +func (s *ListFieldLevelEncryptionProfilesInput) SetMarker(v string) *ListFieldLevelEncryptionProfilesInput { + s.Marker = &v return s } -// SetId sets the Id field's value. -func (s *Invalidation) SetId(v string) *Invalidation { - s.Id = &v +// SetMaxItems sets the MaxItems field's value. +func (s *ListFieldLevelEncryptionProfilesInput) SetMaxItems(v int64) *ListFieldLevelEncryptionProfilesInput { + s.MaxItems = &v return s } -// SetInvalidationBatch sets the InvalidationBatch field's value. -func (s *Invalidation) SetInvalidationBatch(v *InvalidationBatch) *Invalidation { - s.InvalidationBatch = v - return s +type ListFieldLevelEncryptionProfilesOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfileList"` + + // Returns a list of the field-level encryption profiles that have been created + // in CloudFront for this account. + FieldLevelEncryptionProfileList *FieldLevelEncryptionProfileList `type:"structure"` } -// SetStatus sets the Status field's value. -func (s *Invalidation) SetStatus(v string) *Invalidation { - s.Status = &v +// String returns the string representation +func (s ListFieldLevelEncryptionProfilesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFieldLevelEncryptionProfilesOutput) GoString() string { + return s.String() +} + +// SetFieldLevelEncryptionProfileList sets the FieldLevelEncryptionProfileList field's value. +func (s *ListFieldLevelEncryptionProfilesOutput) SetFieldLevelEncryptionProfileList(v *FieldLevelEncryptionProfileList) *ListFieldLevelEncryptionProfilesOutput { + s.FieldLevelEncryptionProfileList = v return s } -// An invalidation batch. -type InvalidationBatch struct { - _ struct{} `type:"structure"` +// The request to list invalidations. +type ListInvalidationsInput struct { + _ struct{} `locationName:"ListInvalidationsRequest" type:"structure"` - // A value that you specify to uniquely identify an invalidation request. CloudFront - // uses the value to prevent you from accidentally resubmitting an identical - // request. Whenever you create a new invalidation request, you must specify - // a new value for CallerReference and change other values in the request as - // applicable. One way to ensure that the value of CallerReference is unique - // is to use a timestamp, for example, 20120301090000. - // - // If you make a second invalidation request with the same value for CallerReference, - // and if the rest of the request is the same, CloudFront doesn't create a new - // invalidation request. Instead, CloudFront returns information about the invalidation - // request that you previously created with the same CallerReference. - // - // If CallerReference is a value you already sent in a previous invalidation - // batch request but the content of any Path is different from the original - // request, CloudFront returns an InvalidationBatchAlreadyExists error. + // The distribution's ID. // - // CallerReference is a required field - CallerReference *string `type:"string" required:"true"` + // DistributionId is a required field + DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` - // A complex type that contains information about the objects that you want - // to invalidate. For more information, see Specifying the Objects to Invalidate - // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#invalidation-specifying-objects) - // in the Amazon CloudFront Developer Guide. - // - // Paths is a required field - Paths *Paths `type:"structure" required:"true"` + // Use this parameter when paginating results to indicate where to begin in + // your list of invalidation batches. Because the results are returned in decreasing + // order from most recent to oldest, the most recent results are on the first + // page, the second page will contain earlier results, and so on. To get the + // next page of results, set Marker to the value of the NextMarker from the + // current page's response. This value is the same as the ID of the last invalidation + // batch on that page. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` + + // The maximum number of invalidation batches that you want in the response + // body. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` } // String returns the string representation -func (s InvalidationBatch) String() string { +func (s ListInvalidationsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidationBatch) GoString() string { +func (s ListInvalidationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InvalidationBatch) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InvalidationBatch"} - if s.CallerReference == nil { - invalidParams.Add(request.NewErrParamRequired("CallerReference")) - } - if s.Paths == nil { - invalidParams.Add(request.NewErrParamRequired("Paths")) +func (s *ListInvalidationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInvalidationsInput"} + if s.DistributionId == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionId")) } - if s.Paths != nil { - if err := s.Paths.Validate(); err != nil { - invalidParams.AddNested("Paths", err.(request.ErrInvalidParams)) - } + if s.DistributionId != nil && len(*s.DistributionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) } if invalidParams.Len() > 0 { @@ -10734,451 +14597,365 @@ func (s *InvalidationBatch) Validate() error { return nil } -// SetCallerReference sets the CallerReference field's value. -func (s *InvalidationBatch) SetCallerReference(v string) *InvalidationBatch { - s.CallerReference = &v +// SetDistributionId sets the DistributionId field's value. +func (s *ListInvalidationsInput) SetDistributionId(v string) *ListInvalidationsInput { + s.DistributionId = &v return s } -// SetPaths sets the Paths field's value. -func (s *InvalidationBatch) SetPaths(v *Paths) *InvalidationBatch { - s.Paths = v +// SetMarker sets the Marker field's value. +func (s *ListInvalidationsInput) SetMarker(v string) *ListInvalidationsInput { + s.Marker = &v return s } -// The InvalidationList complex type describes the list of invalidation objects. -// For more information about invalidation, see Invalidating Objects (Web Distributions -// Only) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html) -// in the Amazon CloudFront Developer Guide. -type InvalidationList struct { - _ struct{} `type:"structure"` - - // A flag that indicates whether more invalidation batch requests remain to - // be listed. If your results were truncated, you can make a follow-up pagination - // request using the Marker request parameter to retrieve more invalidation - // batches in the list. - // - // IsTruncated is a required field - IsTruncated *bool `type:"boolean" required:"true"` - - // A complex type that contains one InvalidationSummary element for each invalidation - // batch created by the current AWS account. - Items []*InvalidationSummary `locationNameList:"InvalidationSummary" type:"list"` - - // The value that you provided for the Marker request parameter. - // - // Marker is a required field - Marker *string `type:"string" required:"true"` - - // The value that you provided for the MaxItems request parameter. - // - // MaxItems is a required field - MaxItems *int64 `type:"integer" required:"true"` +// SetMaxItems sets the MaxItems field's value. +func (s *ListInvalidationsInput) SetMaxItems(v int64) *ListInvalidationsInput { + s.MaxItems = &v + return s +} - // If IsTruncated is true, this element is present and contains the value that - // you can use for the Marker request parameter to continue listing your invalidation - // batches where they left off. - NextMarker *string `type:"string"` +// The returned result of the corresponding request. +type ListInvalidationsOutput struct { + _ struct{} `type:"structure" payload:"InvalidationList"` - // The number of invalidation batches that were created by the current AWS account. - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // Information about invalidation batches. + InvalidationList *InvalidationList `type:"structure"` } // String returns the string representation -func (s InvalidationList) String() string { +func (s ListInvalidationsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidationList) GoString() string { +func (s ListInvalidationsOutput) GoString() string { return s.String() } -// SetIsTruncated sets the IsTruncated field's value. -func (s *InvalidationList) SetIsTruncated(v bool) *InvalidationList { - s.IsTruncated = &v - return s -} - -// SetItems sets the Items field's value. -func (s *InvalidationList) SetItems(v []*InvalidationSummary) *InvalidationList { - s.Items = v - return s -} - -// SetMarker sets the Marker field's value. -func (s *InvalidationList) SetMarker(v string) *InvalidationList { - s.Marker = &v - return s -} - -// SetMaxItems sets the MaxItems field's value. -func (s *InvalidationList) SetMaxItems(v int64) *InvalidationList { - s.MaxItems = &v - return s -} - -// SetNextMarker sets the NextMarker field's value. -func (s *InvalidationList) SetNextMarker(v string) *InvalidationList { - s.NextMarker = &v +// SetInvalidationList sets the InvalidationList field's value. +func (s *ListInvalidationsOutput) SetInvalidationList(v *InvalidationList) *ListInvalidationsOutput { + s.InvalidationList = v return s } -// SetQuantity sets the Quantity field's value. -func (s *InvalidationList) SetQuantity(v int64) *InvalidationList { - s.Quantity = &v - return s -} +type ListOriginRequestPoliciesInput struct { + _ struct{} `locationName:"ListOriginRequestPoliciesRequest" type:"structure"` -// A summary of an invalidation request. -type InvalidationSummary struct { - _ struct{} `type:"structure"` + // Use this field when paginating results to indicate where to begin in your + // list of origin request policies. The response includes origin request policies + // in the list that occur after the marker. To get the next page of the list, + // set this field’s value to the value of NextMarker from the current page’s + // response. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // The time that an invalidation request was created. - // - // CreateTime is a required field - CreateTime *time.Time `type:"timestamp" required:"true"` + // The maximum number of origin request policies that you want in the response. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` - // The unique ID for an invalidation request. + // A filter to return only the specified kinds of origin request policies. Valid + // values are: // - // Id is a required field - Id *string `type:"string" required:"true"` - - // The status of an invalidation request. + // * managed – Returns only the managed policies created by AWS. // - // Status is a required field - Status *string `type:"string" required:"true"` + // * custom – Returns only the custom policies created in your AWS account. + Type *string `location:"querystring" locationName:"Type" type:"string" enum:"OriginRequestPolicyType"` } // String returns the string representation -func (s InvalidationSummary) String() string { +func (s ListOriginRequestPoliciesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidationSummary) GoString() string { +func (s ListOriginRequestPoliciesInput) GoString() string { return s.String() } -// SetCreateTime sets the CreateTime field's value. -func (s *InvalidationSummary) SetCreateTime(v time.Time) *InvalidationSummary { - s.CreateTime = &v +// SetMarker sets the Marker field's value. +func (s *ListOriginRequestPoliciesInput) SetMarker(v string) *ListOriginRequestPoliciesInput { + s.Marker = &v return s } -// SetId sets the Id field's value. -func (s *InvalidationSummary) SetId(v string) *InvalidationSummary { - s.Id = &v +// SetMaxItems sets the MaxItems field's value. +func (s *ListOriginRequestPoliciesInput) SetMaxItems(v int64) *ListOriginRequestPoliciesInput { + s.MaxItems = &v return s } -// SetStatus sets the Status field's value. -func (s *InvalidationSummary) SetStatus(v string) *InvalidationSummary { - s.Status = &v +// SetType sets the Type field's value. +func (s *ListOriginRequestPoliciesInput) SetType(v string) *ListOriginRequestPoliciesInput { + s.Type = &v return s } -// A complex type that lists the active CloudFront key pairs, if any, that are -// associated with AwsAccountNumber. -// -// For more information, see ActiveTrustedSigners (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ActiveTrustedSigners.html). -type KeyPairIds struct { - _ struct{} `type:"structure"` - - // A complex type that lists the active CloudFront key pairs, if any, that are - // associated with AwsAccountNumber. - // - // For more information, see ActiveTrustedSigners (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ActiveTrustedSigners.html). - Items []*string `locationNameList:"KeyPairId" type:"list"` +type ListOriginRequestPoliciesOutput struct { + _ struct{} `type:"structure" payload:"OriginRequestPolicyList"` - // The number of active CloudFront key pairs for AwsAccountNumber. - // - // For more information, see ActiveTrustedSigners (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ActiveTrustedSigners.html). - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // A list of origin request policies. + OriginRequestPolicyList *OriginRequestPolicyList `type:"structure"` } // String returns the string representation -func (s KeyPairIds) String() string { +func (s ListOriginRequestPoliciesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s KeyPairIds) GoString() string { +func (s ListOriginRequestPoliciesOutput) GoString() string { return s.String() } -// SetItems sets the Items field's value. -func (s *KeyPairIds) SetItems(v []*string) *KeyPairIds { - s.Items = v - return s -} - -// SetQuantity sets the Quantity field's value. -func (s *KeyPairIds) SetQuantity(v int64) *KeyPairIds { - s.Quantity = &v +// SetOriginRequestPolicyList sets the OriginRequestPolicyList field's value. +func (s *ListOriginRequestPoliciesOutput) SetOriginRequestPolicyList(v *OriginRequestPolicyList) *ListOriginRequestPoliciesOutput { + s.OriginRequestPolicyList = v return s } -// A complex type that contains a Lambda function association. -type LambdaFunctionAssociation struct { - _ struct{} `type:"structure"` - - // Specifies the event type that triggers a Lambda function invocation. You - // can specify the following values: - // - // * viewer-request: The function executes when CloudFront receives a request - // from a viewer and before it checks to see whether the requested object - // is in the edge cache. - // - // * origin-request: The function executes only when CloudFront forwards - // a request to your origin. When the requested object is in the edge cache, - // the function doesn't execute. - // - // * origin-response: The function executes after CloudFront receives a response - // from the origin and before it caches the object in the response. When - // the requested object is in the edge cache, the function doesn't execute. - // - // * viewer-response: The function executes before CloudFront returns the - // requested object to the viewer. The function executes regardless of whether - // the object was already in the edge cache. If the origin returns an HTTP - // status code other than HTTP 200 (OK), the function doesn't execute. - // - // EventType is a required field - EventType *string `type:"string" required:"true" enum:"EventType"` +type ListPublicKeysInput struct { + _ struct{} `locationName:"ListPublicKeysRequest" type:"structure"` - // A flag that allows a Lambda function to have read access to the body content. - // For more information, see Accessing the Request Body by Choosing the Include - // Body Option (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-include-body-access.html) - // in the Amazon CloudFront Developer Guide. - IncludeBody *bool `type:"boolean"` + // Use this when paginating results to indicate where to begin in your list + // of public keys. The results include public keys in the list that occur after + // the marker. To get the next page of results, set the Marker to the value + // of the NextMarker from the current page's response (which is also the ID + // of the last public key on that page). + Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // The ARN of the Lambda function. You must specify the ARN of a function version; - // you can't specify a Lambda alias or $LATEST. - // - // LambdaFunctionARN is a required field - LambdaFunctionARN *string `type:"string" required:"true"` + // The maximum number of public keys you want in the response body. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` } // String returns the string representation -func (s LambdaFunctionAssociation) String() string { +func (s ListPublicKeysInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LambdaFunctionAssociation) GoString() string { +func (s ListPublicKeysInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *LambdaFunctionAssociation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionAssociation"} - if s.EventType == nil { - invalidParams.Add(request.NewErrParamRequired("EventType")) - } - if s.LambdaFunctionARN == nil { - invalidParams.Add(request.NewErrParamRequired("LambdaFunctionARN")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetMarker sets the Marker field's value. +func (s *ListPublicKeysInput) SetMarker(v string) *ListPublicKeysInput { + s.Marker = &v + return s } -// SetEventType sets the EventType field's value. -func (s *LambdaFunctionAssociation) SetEventType(v string) *LambdaFunctionAssociation { - s.EventType = &v +// SetMaxItems sets the MaxItems field's value. +func (s *ListPublicKeysInput) SetMaxItems(v int64) *ListPublicKeysInput { + s.MaxItems = &v return s } -// SetIncludeBody sets the IncludeBody field's value. -func (s *LambdaFunctionAssociation) SetIncludeBody(v bool) *LambdaFunctionAssociation { - s.IncludeBody = &v - return s +type ListPublicKeysOutput struct { + _ struct{} `type:"structure" payload:"PublicKeyList"` + + // Returns a list of all public keys that have been added to CloudFront for + // this account. + PublicKeyList *PublicKeyList `type:"structure"` } -// SetLambdaFunctionARN sets the LambdaFunctionARN field's value. -func (s *LambdaFunctionAssociation) SetLambdaFunctionARN(v string) *LambdaFunctionAssociation { - s.LambdaFunctionARN = &v +// String returns the string representation +func (s ListPublicKeysOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPublicKeysOutput) GoString() string { + return s.String() +} + +// SetPublicKeyList sets the PublicKeyList field's value. +func (s *ListPublicKeysOutput) SetPublicKeyList(v *PublicKeyList) *ListPublicKeysOutput { + s.PublicKeyList = v return s } -// A complex type that specifies a list of Lambda functions associations for -// a cache behavior. -// -// If you want to invoke one or more Lambda functions triggered by requests -// that match the PathPattern of the cache behavior, specify the applicable -// values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation -// items in this list (one for each possible value of EventType) and each EventType -// can be associated with the Lambda function only once. -// -// If you don't want to invoke any Lambda functions for the requests that match -// PathPattern, specify 0 for Quantity and omit Items. -type LambdaFunctionAssociations struct { - _ struct{} `type:"structure"` +// The request to list your streaming distributions. +type ListStreamingDistributionsInput struct { + _ struct{} `locationName:"ListStreamingDistributionsRequest" type:"structure"` - // Optional: A complex type that contains LambdaFunctionAssociation items for - // this cache behavior. If Quantity is 0, you can omit Items. - Items []*LambdaFunctionAssociation `locationNameList:"LambdaFunctionAssociation" type:"list"` + // The value that you provided for the Marker request parameter. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` - // The number of Lambda function associations for this cache behavior. - // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // The value that you provided for the MaxItems request parameter. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` } // String returns the string representation -func (s LambdaFunctionAssociations) String() string { +func (s ListStreamingDistributionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LambdaFunctionAssociations) GoString() string { +func (s ListStreamingDistributionsInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *LambdaFunctionAssociations) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionAssociations"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) - } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetMarker sets the Marker field's value. +func (s *ListStreamingDistributionsInput) SetMarker(v string) *ListStreamingDistributionsInput { + s.Marker = &v + return s } -// SetItems sets the Items field's value. -func (s *LambdaFunctionAssociations) SetItems(v []*LambdaFunctionAssociation) *LambdaFunctionAssociations { - s.Items = v +// SetMaxItems sets the MaxItems field's value. +func (s *ListStreamingDistributionsInput) SetMaxItems(v int64) *ListStreamingDistributionsInput { + s.MaxItems = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *LambdaFunctionAssociations) SetQuantity(v int64) *LambdaFunctionAssociations { - s.Quantity = &v - return s +// The returned result of the corresponding request. +type ListStreamingDistributionsOutput struct { + _ struct{} `type:"structure" payload:"StreamingDistributionList"` + + // The StreamingDistributionList type. + StreamingDistributionList *StreamingDistributionList `type:"structure"` } -// The request to list origin access identities. -type ListCloudFrontOriginAccessIdentitiesInput struct { - _ struct{} `locationName:"ListCloudFrontOriginAccessIdentitiesRequest" type:"structure"` +// String returns the string representation +func (s ListStreamingDistributionsOutput) String() string { + return awsutil.Prettify(s) +} - // Use this when paginating results to indicate where to begin in your list - // of origin access identities. The results include identities in the list that - // occur after the marker. To get the next page of results, set the Marker to - // the value of the NextMarker from the current page's response (which is also - // the ID of the last identity on that page). - Marker *string `location:"querystring" locationName:"Marker" type:"string"` +// GoString returns the string representation +func (s ListStreamingDistributionsOutput) GoString() string { + return s.String() +} - // The maximum number of origin access identities you want in the response body. - MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` +// SetStreamingDistributionList sets the StreamingDistributionList field's value. +func (s *ListStreamingDistributionsOutput) SetStreamingDistributionList(v *StreamingDistributionList) *ListStreamingDistributionsOutput { + s.StreamingDistributionList = v + return s +} + +// The request to list tags for a CloudFront resource. +type ListTagsForResourceInput struct { + _ struct{} `locationName:"ListTagsForResourceRequest" type:"structure"` + + // An ARN of a CloudFront resource. + // + // Resource is a required field + Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"` } // String returns the string representation -func (s ListCloudFrontOriginAccessIdentitiesInput) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListCloudFrontOriginAccessIdentitiesInput) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } -// SetMarker sets the Marker field's value. -func (s *ListCloudFrontOriginAccessIdentitiesInput) SetMarker(v string) *ListCloudFrontOriginAccessIdentitiesInput { - s.Marker = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.Resource == nil { + invalidParams.Add(request.NewErrParamRequired("Resource")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetMaxItems sets the MaxItems field's value. -func (s *ListCloudFrontOriginAccessIdentitiesInput) SetMaxItems(v int64) *ListCloudFrontOriginAccessIdentitiesInput { - s.MaxItems = &v +// SetResource sets the Resource field's value. +func (s *ListTagsForResourceInput) SetResource(v string) *ListTagsForResourceInput { + s.Resource = &v return s } // The returned result of the corresponding request. -type ListCloudFrontOriginAccessIdentitiesOutput struct { - _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityList"` +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure" payload:"Tags"` - // The CloudFrontOriginAccessIdentityList type. - CloudFrontOriginAccessIdentityList *OriginAccessIdentityList `type:"structure"` + // A complex type that contains zero or more Tag elements. + // + // Tags is a required field + Tags *Tags `type:"structure" required:"true"` } // String returns the string representation -func (s ListCloudFrontOriginAccessIdentitiesOutput) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListCloudFrontOriginAccessIdentitiesOutput) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { return s.String() } -// SetCloudFrontOriginAccessIdentityList sets the CloudFrontOriginAccessIdentityList field's value. -func (s *ListCloudFrontOriginAccessIdentitiesOutput) SetCloudFrontOriginAccessIdentityList(v *OriginAccessIdentityList) *ListCloudFrontOriginAccessIdentitiesOutput { - s.CloudFrontOriginAccessIdentityList = v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v *Tags) *ListTagsForResourceOutput { + s.Tags = v return s } -// The request to list distributions that are associated with a specified AWS -// WAF web ACL. -type ListDistributionsByWebACLIdInput struct { - _ struct{} `locationName:"ListDistributionsByWebACLIdRequest" type:"structure"` +// A complex type that controls whether access logs are written for the distribution. +type LoggingConfig struct { + _ struct{} `type:"structure"` - // Use Marker and MaxItems to control pagination of results. If you have more - // than MaxItems distributions that satisfy the request, the response includes - // a NextMarker element. To get the next page of results, submit another request. - // For the value of Marker, specify the value of NextMarker from the last response. - // (For the first request, omit Marker.) - Marker *string `location:"querystring" locationName:"Marker" type:"string"` + // The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. + // + // Bucket is a required field + Bucket *string `type:"string" required:"true"` - // The maximum number of distributions that you want CloudFront to return in - // the response body. The maximum and default values are both 100. - MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` + // Specifies whether you want CloudFront to save access logs to an Amazon S3 + // bucket. If you don't want to enable logging when you create a distribution + // or if you want to disable logging for an existing distribution, specify false + // for Enabled, and specify empty Bucket and Prefix elements. If you specify + // false for Enabled but you specify values for Bucket, prefix, and IncludeCookies, + // the values are automatically deleted. + // + // Enabled is a required field + Enabled *bool `type:"boolean" required:"true"` - // The ID of the AWS WAF web ACL that you want to list the associated distributions. - // If you specify "null" for the ID, the request returns a list of the distributions - // that aren't associated with a web ACL. + // Specifies whether you want CloudFront to include cookies in access logs, + // specify true for IncludeCookies. If you choose to include cookies in logs, + // CloudFront logs all cookies regardless of how you configure the cache behaviors + // for this distribution. If you don't want to include cookies when you create + // a distribution or if you want to disable include cookies for an existing + // distribution, specify false for IncludeCookies. // - // WebACLId is a required field - WebACLId *string `location:"uri" locationName:"WebACLId" type:"string" required:"true"` + // IncludeCookies is a required field + IncludeCookies *bool `type:"boolean" required:"true"` + + // An optional string that you want CloudFront to prefix to the access log filenames + // for this distribution, for example, myprefix/. If you want to enable logging, + // but you don't want to specify a prefix, you still must include an empty Prefix + // element in the Logging element. + // + // Prefix is a required field + Prefix *string `type:"string" required:"true"` } // String returns the string representation -func (s ListDistributionsByWebACLIdInput) String() string { +func (s LoggingConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDistributionsByWebACLIdInput) GoString() string { +func (s LoggingConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListDistributionsByWebACLIdInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListDistributionsByWebACLIdInput"} - if s.WebACLId == nil { - invalidParams.Add(request.NewErrParamRequired("WebACLId")) +func (s *LoggingConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LoggingConfig"} + if s.Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("Bucket")) } - if s.WebACLId != nil && len(*s.WebACLId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1)) + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + if s.IncludeCookies == nil { + invalidParams.Add(request.NewErrParamRequired("IncludeCookies")) + } + if s.Prefix == nil { + invalidParams.Add(request.NewErrParamRequired("Prefix")) } if invalidParams.Len() > 0 { @@ -11187,273 +14964,302 @@ func (s *ListDistributionsByWebACLIdInput) Validate() error { return nil } -// SetMarker sets the Marker field's value. -func (s *ListDistributionsByWebACLIdInput) SetMarker(v string) *ListDistributionsByWebACLIdInput { - s.Marker = &v +// SetBucket sets the Bucket field's value. +func (s *LoggingConfig) SetBucket(v string) *LoggingConfig { + s.Bucket = &v return s } -// SetMaxItems sets the MaxItems field's value. -func (s *ListDistributionsByWebACLIdInput) SetMaxItems(v int64) *ListDistributionsByWebACLIdInput { - s.MaxItems = &v +// SetEnabled sets the Enabled field's value. +func (s *LoggingConfig) SetEnabled(v bool) *LoggingConfig { + s.Enabled = &v return s } -// SetWebACLId sets the WebACLId field's value. -func (s *ListDistributionsByWebACLIdInput) SetWebACLId(v string) *ListDistributionsByWebACLIdInput { - s.WebACLId = &v +// SetIncludeCookies sets the IncludeCookies field's value. +func (s *LoggingConfig) SetIncludeCookies(v bool) *LoggingConfig { + s.IncludeCookies = &v return s } -// The response to a request to list the distributions that are associated with -// a specified AWS WAF web ACL. -type ListDistributionsByWebACLIdOutput struct { - _ struct{} `type:"structure" payload:"DistributionList"` - - // The DistributionList type. - DistributionList *DistributionList `type:"structure"` -} - -// String returns the string representation -func (s ListDistributionsByWebACLIdOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListDistributionsByWebACLIdOutput) GoString() string { - return s.String() -} - -// SetDistributionList sets the DistributionList field's value. -func (s *ListDistributionsByWebACLIdOutput) SetDistributionList(v *DistributionList) *ListDistributionsByWebACLIdOutput { - s.DistributionList = v +// SetPrefix sets the Prefix field's value. +func (s *LoggingConfig) SetPrefix(v string) *LoggingConfig { + s.Prefix = &v return s } -// The request to list your distributions. -type ListDistributionsInput struct { - _ struct{} `locationName:"ListDistributionsRequest" type:"structure"` +// An origin. +// +// An origin is the location where content is stored, and from which CloudFront +// gets content to serve to viewers. To specify an origin: +// +// * Use the S3OriginConfig type to specify an Amazon S3 bucket that is not +// configured with static website hosting. +// +// * Use the CustomOriginConfig type to specify various other kinds of content +// containers or HTTP servers, including: An Amazon S3 bucket that is configured +// with static website hosting An Elastic Load Balancing load balancer An +// AWS Elemental MediaPackage origin An AWS Elemental MediaStore container +// Any other HTTP server, running on an Amazon EC2 instance or any other +// kind of host +// +// For the current maximum number of origins that you can specify per distribution, +// see General Quotas on Web Distributions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions) +// in the Amazon CloudFront Developer Guide (quotas were formerly referred to +// as limits). +type Origin struct { + _ struct{} `type:"structure"` - // Use this when paginating results to indicate where to begin in your list - // of distributions. The results include distributions in the list that occur - // after the marker. To get the next page of results, set the Marker to the - // value of the NextMarker from the current page's response (which is also the - // ID of the last distribution on that page). - Marker *string `location:"querystring" locationName:"Marker" type:"string"` + // The number of times that CloudFront attempts to connect to the origin. The + // minimum number is 1, the maximum is 3, and the default (if you don’t specify + // otherwise) is 3. + // + // For a custom origin (including an Amazon S3 bucket that’s configured with + // static website hosting), this value also specifies the number of times that + // CloudFront attempts to get a response from the origin, in the case of an + // Origin Response Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout). + // + // For more information, see Origin Connection Attempts (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-attempts) + // in the Amazon CloudFront Developer Guide. + ConnectionAttempts *int64 `type:"integer"` - // The maximum number of distributions you want in the response body. - MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` -} + // The number of seconds that CloudFront waits when trying to establish a connection + // to the origin. The minimum timeout is 1 second, the maximum is 10 seconds, + // and the default (if you don’t specify otherwise) is 10 seconds. + // + // For more information, see Origin Connection Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-timeout) + // in the Amazon CloudFront Developer Guide. + ConnectionTimeout *int64 `type:"integer"` -// String returns the string representation -func (s ListDistributionsInput) String() string { - return awsutil.Prettify(s) -} + // A list of HTTP header names and values that CloudFront adds to requests it + // sends to the origin. + // + // For more information, see Adding Custom Headers to Origin Requests (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/add-origin-custom-headers.html) + // in the Amazon CloudFront Developer Guide. + CustomHeaders *CustomHeaders `type:"structure"` -// GoString returns the string representation -func (s ListDistributionsInput) GoString() string { - return s.String() -} + // Use this type to specify an origin that is a content container or HTTP server, + // including an Amazon S3 bucket that is configured with static website hosting. + // To specify an Amazon S3 bucket that is not configured with static website + // hosting, use the S3OriginConfig type instead. + CustomOriginConfig *CustomOriginConfig `type:"structure"` -// SetMarker sets the Marker field's value. -func (s *ListDistributionsInput) SetMarker(v string) *ListDistributionsInput { - s.Marker = &v - return s -} + // The domain name for the origin. + // + // For more information, see Origin Domain Name (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDomainName) + // in the Amazon CloudFront Developer Guide. + // + // DomainName is a required field + DomainName *string `type:"string" required:"true"` -// SetMaxItems sets the MaxItems field's value. -func (s *ListDistributionsInput) SetMaxItems(v int64) *ListDistributionsInput { - s.MaxItems = &v - return s -} + // A unique identifier for the origin. This value must be unique within the + // distribution. + // + // Use this value to specify the TargetOriginId in a CacheBehavior or DefaultCacheBehavior. + // + // Id is a required field + Id *string `type:"string" required:"true"` -// The returned result of the corresponding request. -type ListDistributionsOutput struct { - _ struct{} `type:"structure" payload:"DistributionList"` + // An optional path that CloudFront appends to the origin domain name when CloudFront + // requests content from the origin. + // + // For more information, see Origin Path (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginPath) + // in the Amazon CloudFront Developer Guide. + OriginPath *string `type:"string"` - // The DistributionList type. - DistributionList *DistributionList `type:"structure"` + // Use this type to specify an origin that is an Amazon S3 bucket that is not + // configured with static website hosting. To specify any other type of origin, + // including an Amazon S3 bucket that is configured with static website hosting, + // use the CustomOriginConfig type instead. + S3OriginConfig *S3OriginConfig `type:"structure"` } // String returns the string representation -func (s ListDistributionsOutput) String() string { +func (s Origin) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDistributionsOutput) GoString() string { +func (s Origin) GoString() string { return s.String() } -// SetDistributionList sets the DistributionList field's value. -func (s *ListDistributionsOutput) SetDistributionList(v *DistributionList) *ListDistributionsOutput { - s.DistributionList = v - return s -} - -type ListFieldLevelEncryptionConfigsInput struct { - _ struct{} `locationName:"ListFieldLevelEncryptionConfigsRequest" type:"structure"` - - // Use this when paginating results to indicate where to begin in your list - // of configurations. The results include configurations in the list that occur - // after the marker. To get the next page of results, set the Marker to the - // value of the NextMarker from the current page's response (which is also the - // ID of the last configuration on that page). - Marker *string `location:"querystring" locationName:"Marker" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *Origin) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Origin"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.CustomHeaders != nil { + if err := s.CustomHeaders.Validate(); err != nil { + invalidParams.AddNested("CustomHeaders", err.(request.ErrInvalidParams)) + } + } + if s.CustomOriginConfig != nil { + if err := s.CustomOriginConfig.Validate(); err != nil { + invalidParams.AddNested("CustomOriginConfig", err.(request.ErrInvalidParams)) + } + } + if s.S3OriginConfig != nil { + if err := s.S3OriginConfig.Validate(); err != nil { + invalidParams.AddNested("S3OriginConfig", err.(request.ErrInvalidParams)) + } + } - // The maximum number of field-level encryption configurations you want in the - // response body. - MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// String returns the string representation -func (s ListFieldLevelEncryptionConfigsInput) String() string { - return awsutil.Prettify(s) +// SetConnectionAttempts sets the ConnectionAttempts field's value. +func (s *Origin) SetConnectionAttempts(v int64) *Origin { + s.ConnectionAttempts = &v + return s } -// GoString returns the string representation -func (s ListFieldLevelEncryptionConfigsInput) GoString() string { - return s.String() +// SetConnectionTimeout sets the ConnectionTimeout field's value. +func (s *Origin) SetConnectionTimeout(v int64) *Origin { + s.ConnectionTimeout = &v + return s } -// SetMarker sets the Marker field's value. -func (s *ListFieldLevelEncryptionConfigsInput) SetMarker(v string) *ListFieldLevelEncryptionConfigsInput { - s.Marker = &v +// SetCustomHeaders sets the CustomHeaders field's value. +func (s *Origin) SetCustomHeaders(v *CustomHeaders) *Origin { + s.CustomHeaders = v return s } -// SetMaxItems sets the MaxItems field's value. -func (s *ListFieldLevelEncryptionConfigsInput) SetMaxItems(v int64) *ListFieldLevelEncryptionConfigsInput { - s.MaxItems = &v +// SetCustomOriginConfig sets the CustomOriginConfig field's value. +func (s *Origin) SetCustomOriginConfig(v *CustomOriginConfig) *Origin { + s.CustomOriginConfig = v return s } -type ListFieldLevelEncryptionConfigsOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryptionList"` - - // Returns a list of all field-level encryption configurations that have been - // created in CloudFront for this account. - FieldLevelEncryptionList *FieldLevelEncryptionList `type:"structure"` +// SetDomainName sets the DomainName field's value. +func (s *Origin) SetDomainName(v string) *Origin { + s.DomainName = &v + return s } -// String returns the string representation -func (s ListFieldLevelEncryptionConfigsOutput) String() string { - return awsutil.Prettify(s) +// SetId sets the Id field's value. +func (s *Origin) SetId(v string) *Origin { + s.Id = &v + return s } -// GoString returns the string representation -func (s ListFieldLevelEncryptionConfigsOutput) GoString() string { - return s.String() +// SetOriginPath sets the OriginPath field's value. +func (s *Origin) SetOriginPath(v string) *Origin { + s.OriginPath = &v + return s } -// SetFieldLevelEncryptionList sets the FieldLevelEncryptionList field's value. -func (s *ListFieldLevelEncryptionConfigsOutput) SetFieldLevelEncryptionList(v *FieldLevelEncryptionList) *ListFieldLevelEncryptionConfigsOutput { - s.FieldLevelEncryptionList = v +// SetS3OriginConfig sets the S3OriginConfig field's value. +func (s *Origin) SetS3OriginConfig(v *S3OriginConfig) *Origin { + s.S3OriginConfig = v return s } -type ListFieldLevelEncryptionProfilesInput struct { - _ struct{} `locationName:"ListFieldLevelEncryptionProfilesRequest" type:"structure"` +// CloudFront origin access identity. +type OriginAccessIdentity struct { + _ struct{} `type:"structure"` - // Use this when paginating results to indicate where to begin in your list - // of profiles. The results include profiles in the list that occur after the - // marker. To get the next page of results, set the Marker to the value of the - // NextMarker from the current page's response (which is also the ID of the - // last profile on that page). - Marker *string `location:"querystring" locationName:"Marker" type:"string"` + // The current configuration information for the identity. + CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `type:"structure"` - // The maximum number of field-level encryption profiles you want in the response - // body. - MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` + // The ID for the origin access identity, for example, E74FTE3AJFJ256A. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // The Amazon S3 canonical user ID for the origin access identity, used when + // giving the origin access identity read permission to an object in Amazon + // S3. + // + // S3CanonicalUserId is a required field + S3CanonicalUserId *string `type:"string" required:"true"` } // String returns the string representation -func (s ListFieldLevelEncryptionProfilesInput) String() string { +func (s OriginAccessIdentity) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListFieldLevelEncryptionProfilesInput) GoString() string { +func (s OriginAccessIdentity) GoString() string { return s.String() } -// SetMarker sets the Marker field's value. -func (s *ListFieldLevelEncryptionProfilesInput) SetMarker(v string) *ListFieldLevelEncryptionProfilesInput { - s.Marker = &v +// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. +func (s *OriginAccessIdentity) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *OriginAccessIdentity { + s.CloudFrontOriginAccessIdentityConfig = v return s } -// SetMaxItems sets the MaxItems field's value. -func (s *ListFieldLevelEncryptionProfilesInput) SetMaxItems(v int64) *ListFieldLevelEncryptionProfilesInput { - s.MaxItems = &v +// SetId sets the Id field's value. +func (s *OriginAccessIdentity) SetId(v string) *OriginAccessIdentity { + s.Id = &v return s } -type ListFieldLevelEncryptionProfilesOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfileList"` - - // Returns a list of the field-level encryption profiles that have been created - // in CloudFront for this account. - FieldLevelEncryptionProfileList *FieldLevelEncryptionProfileList `type:"structure"` -} - -// String returns the string representation -func (s ListFieldLevelEncryptionProfilesOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListFieldLevelEncryptionProfilesOutput) GoString() string { - return s.String() -} - -// SetFieldLevelEncryptionProfileList sets the FieldLevelEncryptionProfileList field's value. -func (s *ListFieldLevelEncryptionProfilesOutput) SetFieldLevelEncryptionProfileList(v *FieldLevelEncryptionProfileList) *ListFieldLevelEncryptionProfilesOutput { - s.FieldLevelEncryptionProfileList = v +// SetS3CanonicalUserId sets the S3CanonicalUserId field's value. +func (s *OriginAccessIdentity) SetS3CanonicalUserId(v string) *OriginAccessIdentity { + s.S3CanonicalUserId = &v return s } -// The request to list invalidations. -type ListInvalidationsInput struct { - _ struct{} `locationName:"ListInvalidationsRequest" type:"structure"` +// Origin access identity configuration. Send a GET request to the /CloudFront +// API version/CloudFront/identity ID/config resource. +type OriginAccessIdentityConfig struct { + _ struct{} `type:"structure"` - // The distribution's ID. + // A unique value (for example, a date-time stamp) that ensures that the request + // can't be replayed. // - // DistributionId is a required field - DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` - - // Use this parameter when paginating results to indicate where to begin in - // your list of invalidation batches. Because the results are returned in decreasing - // order from most recent to oldest, the most recent results are on the first - // page, the second page will contain earlier results, and so on. To get the - // next page of results, set Marker to the value of the NextMarker from the - // current page's response. This value is the same as the ID of the last invalidation - // batch on that page. - Marker *string `location:"querystring" locationName:"Marker" type:"string"` + // If the value of CallerReference is new (regardless of the content of the + // CloudFrontOriginAccessIdentityConfig object), a new origin access identity + // is created. + // + // If the CallerReference is a value already sent in a previous identity request, + // and the content of the CloudFrontOriginAccessIdentityConfig is identical + // to the original request (ignoring white space), the response includes the + // same information returned to the original request. + // + // If the CallerReference is a value you already sent in a previous request + // to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig + // is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists + // error. + // + // CallerReference is a required field + CallerReference *string `type:"string" required:"true"` - // The maximum number of invalidation batches that you want in the response - // body. - MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` + // Any comments you want to include about the origin access identity. + // + // Comment is a required field + Comment *string `type:"string" required:"true"` } // String returns the string representation -func (s ListInvalidationsInput) String() string { +func (s OriginAccessIdentityConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListInvalidationsInput) GoString() string { +func (s OriginAccessIdentityConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListInvalidationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListInvalidationsInput"} - if s.DistributionId == nil { - invalidParams.Add(request.NewErrParamRequired("DistributionId")) +func (s *OriginAccessIdentityConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginAccessIdentityConfig"} + if s.CallerReference == nil { + invalidParams.Add(request.NewErrParamRequired("CallerReference")) } - if s.DistributionId != nil && len(*s.DistributionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) + if s.Comment == nil { + invalidParams.Add(request.NewErrParamRequired("Comment")) } if invalidParams.Len() > 0 { @@ -11462,292 +15268,198 @@ func (s *ListInvalidationsInput) Validate() error { return nil } -// SetDistributionId sets the DistributionId field's value. -func (s *ListInvalidationsInput) SetDistributionId(v string) *ListInvalidationsInput { - s.DistributionId = &v - return s -} - -// SetMarker sets the Marker field's value. -func (s *ListInvalidationsInput) SetMarker(v string) *ListInvalidationsInput { - s.Marker = &v - return s -} - -// SetMaxItems sets the MaxItems field's value. -func (s *ListInvalidationsInput) SetMaxItems(v int64) *ListInvalidationsInput { - s.MaxItems = &v +// SetCallerReference sets the CallerReference field's value. +func (s *OriginAccessIdentityConfig) SetCallerReference(v string) *OriginAccessIdentityConfig { + s.CallerReference = &v return s } -// The returned result of the corresponding request. -type ListInvalidationsOutput struct { - _ struct{} `type:"structure" payload:"InvalidationList"` - - // Information about invalidation batches. - InvalidationList *InvalidationList `type:"structure"` -} - -// String returns the string representation -func (s ListInvalidationsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListInvalidationsOutput) GoString() string { - return s.String() -} - -// SetInvalidationList sets the InvalidationList field's value. -func (s *ListInvalidationsOutput) SetInvalidationList(v *InvalidationList) *ListInvalidationsOutput { - s.InvalidationList = v +// SetComment sets the Comment field's value. +func (s *OriginAccessIdentityConfig) SetComment(v string) *OriginAccessIdentityConfig { + s.Comment = &v return s } -type ListPublicKeysInput struct { - _ struct{} `locationName:"ListPublicKeysRequest" type:"structure"` - - // Use this when paginating results to indicate where to begin in your list - // of public keys. The results include public keys in the list that occur after - // the marker. To get the next page of results, set the Marker to the value - // of the NextMarker from the current page's response (which is also the ID - // of the last public key on that page). - Marker *string `location:"querystring" locationName:"Marker" type:"string"` - - // The maximum number of public keys you want in the response body. - MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` -} +// Lists the origin access identities for CloudFront.Send a GET request to the +// /CloudFront API version/origin-access-identity/cloudfront resource. The response +// includes a CloudFrontOriginAccessIdentityList element with zero or more CloudFrontOriginAccessIdentitySummary +// child elements. By default, your entire list of origin access identities +// is returned in one single page. If the list is long, you can paginate it +// using the MaxItems and Marker parameters. +type OriginAccessIdentityList struct { + _ struct{} `type:"structure"` -// String returns the string representation -func (s ListPublicKeysInput) String() string { - return awsutil.Prettify(s) -} + // A flag that indicates whether more origin access identities remain to be + // listed. If your results were truncated, you can make a follow-up pagination + // request using the Marker request parameter to retrieve more items in the + // list. + // + // IsTruncated is a required field + IsTruncated *bool `type:"boolean" required:"true"` -// GoString returns the string representation -func (s ListPublicKeysInput) GoString() string { - return s.String() -} + // A complex type that contains one CloudFrontOriginAccessIdentitySummary element + // for each origin access identity that was created by the current AWS account. + Items []*OriginAccessIdentitySummary `locationNameList:"CloudFrontOriginAccessIdentitySummary" type:"list"` -// SetMarker sets the Marker field's value. -func (s *ListPublicKeysInput) SetMarker(v string) *ListPublicKeysInput { - s.Marker = &v - return s -} + // Use this when paginating results to indicate where to begin in your list + // of origin access identities. The results include identities in the list that + // occur after the marker. To get the next page of results, set the Marker to + // the value of the NextMarker from the current page's response (which is also + // the ID of the last identity on that page). + // + // Marker is a required field + Marker *string `type:"string" required:"true"` -// SetMaxItems sets the MaxItems field's value. -func (s *ListPublicKeysInput) SetMaxItems(v int64) *ListPublicKeysInput { - s.MaxItems = &v - return s -} + // The maximum number of origin access identities you want in the response body. + // + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` -type ListPublicKeysOutput struct { - _ struct{} `type:"structure" payload:"PublicKeyList"` + // If IsTruncated is true, this element is present and contains the value you + // can use for the Marker request parameter to continue listing your origin + // access identities where they left off. + NextMarker *string `type:"string"` - // Returns a list of all public keys that have been added to CloudFront for - // this account. - PublicKeyList *PublicKeyList `type:"structure"` + // The number of CloudFront origin access identities that were created by the + // current AWS account. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s ListPublicKeysOutput) String() string { +func (s OriginAccessIdentityList) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListPublicKeysOutput) GoString() string { +func (s OriginAccessIdentityList) GoString() string { return s.String() } -// SetPublicKeyList sets the PublicKeyList field's value. -func (s *ListPublicKeysOutput) SetPublicKeyList(v *PublicKeyList) *ListPublicKeysOutput { - s.PublicKeyList = v +// SetIsTruncated sets the IsTruncated field's value. +func (s *OriginAccessIdentityList) SetIsTruncated(v bool) *OriginAccessIdentityList { + s.IsTruncated = &v return s } -// The request to list your streaming distributions. -type ListStreamingDistributionsInput struct { - _ struct{} `locationName:"ListStreamingDistributionsRequest" type:"structure"` - - // The value that you provided for the Marker request parameter. - Marker *string `location:"querystring" locationName:"Marker" type:"string"` - - // The value that you provided for the MaxItems request parameter. - MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` -} - -// String returns the string representation -func (s ListStreamingDistributionsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListStreamingDistributionsInput) GoString() string { - return s.String() +// SetItems sets the Items field's value. +func (s *OriginAccessIdentityList) SetItems(v []*OriginAccessIdentitySummary) *OriginAccessIdentityList { + s.Items = v + return s } // SetMarker sets the Marker field's value. -func (s *ListStreamingDistributionsInput) SetMarker(v string) *ListStreamingDistributionsInput { +func (s *OriginAccessIdentityList) SetMarker(v string) *OriginAccessIdentityList { s.Marker = &v return s } // SetMaxItems sets the MaxItems field's value. -func (s *ListStreamingDistributionsInput) SetMaxItems(v int64) *ListStreamingDistributionsInput { +func (s *OriginAccessIdentityList) SetMaxItems(v int64) *OriginAccessIdentityList { s.MaxItems = &v return s } -// The returned result of the corresponding request. -type ListStreamingDistributionsOutput struct { - _ struct{} `type:"structure" payload:"StreamingDistributionList"` - - // The StreamingDistributionList type. - StreamingDistributionList *StreamingDistributionList `type:"structure"` +// SetNextMarker sets the NextMarker field's value. +func (s *OriginAccessIdentityList) SetNextMarker(v string) *OriginAccessIdentityList { + s.NextMarker = &v + return s } -// String returns the string representation -func (s ListStreamingDistributionsOutput) String() string { - return awsutil.Prettify(s) +// SetQuantity sets the Quantity field's value. +func (s *OriginAccessIdentityList) SetQuantity(v int64) *OriginAccessIdentityList { + s.Quantity = &v + return s } -// GoString returns the string representation -func (s ListStreamingDistributionsOutput) GoString() string { - return s.String() -} +// Summary of the information about a CloudFront origin access identity. +type OriginAccessIdentitySummary struct { + _ struct{} `type:"structure"` -// SetStreamingDistributionList sets the StreamingDistributionList field's value. -func (s *ListStreamingDistributionsOutput) SetStreamingDistributionList(v *StreamingDistributionList) *ListStreamingDistributionsOutput { - s.StreamingDistributionList = v - return s -} + // The comment for this origin access identity, as originally specified when + // created. + // + // Comment is a required field + Comment *string `type:"string" required:"true"` -// The request to list tags for a CloudFront resource. -type ListTagsForResourceInput struct { - _ struct{} `locationName:"ListTagsForResourceRequest" type:"structure"` + // The ID for the origin access identity. For example: E74FTE3AJFJ256A. + // + // Id is a required field + Id *string `type:"string" required:"true"` - // An ARN of a CloudFront resource. + // The Amazon S3 canonical user ID for the origin access identity, which you + // use when giving the origin access identity read permission to an object in + // Amazon S3. // - // Resource is a required field - Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"` + // S3CanonicalUserId is a required field + S3CanonicalUserId *string `type:"string" required:"true"` } // String returns the string representation -func (s ListTagsForResourceInput) String() string { +func (s OriginAccessIdentitySummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTagsForResourceInput) GoString() string { +func (s OriginAccessIdentitySummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListTagsForResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} - if s.Resource == nil { - invalidParams.Add(request.NewErrParamRequired("Resource")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetResource sets the Resource field's value. -func (s *ListTagsForResourceInput) SetResource(v string) *ListTagsForResourceInput { - s.Resource = &v +// SetComment sets the Comment field's value. +func (s *OriginAccessIdentitySummary) SetComment(v string) *OriginAccessIdentitySummary { + s.Comment = &v return s } -// The returned result of the corresponding request. -type ListTagsForResourceOutput struct { - _ struct{} `type:"structure" payload:"Tags"` - - // A complex type that contains zero or more Tag elements. - // - // Tags is a required field - Tags *Tags `type:"structure" required:"true"` -} - -// String returns the string representation -func (s ListTagsForResourceOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListTagsForResourceOutput) GoString() string { - return s.String() +// SetId sets the Id field's value. +func (s *OriginAccessIdentitySummary) SetId(v string) *OriginAccessIdentitySummary { + s.Id = &v + return s } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v *Tags) *ListTagsForResourceOutput { - s.Tags = v +// SetS3CanonicalUserId sets the S3CanonicalUserId field's value. +func (s *OriginAccessIdentitySummary) SetS3CanonicalUserId(v string) *OriginAccessIdentitySummary { + s.S3CanonicalUserId = &v return s } -// A complex type that controls whether access logs are written for the distribution. -type LoggingConfig struct { +// A complex type that contains HeaderName and HeaderValue elements, if any, +// for this distribution. +type OriginCustomHeader struct { _ struct{} `type:"structure"` - // The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. - // - // Bucket is a required field - Bucket *string `type:"string" required:"true"` - - // Specifies whether you want CloudFront to save access logs to an Amazon S3 - // bucket. If you don't want to enable logging when you create a distribution - // or if you want to disable logging for an existing distribution, specify false - // for Enabled, and specify empty Bucket and Prefix elements. If you specify - // false for Enabled but you specify values for Bucket, prefix, and IncludeCookies, - // the values are automatically deleted. - // - // Enabled is a required field - Enabled *bool `type:"boolean" required:"true"` - - // Specifies whether you want CloudFront to include cookies in access logs, - // specify true for IncludeCookies. If you choose to include cookies in logs, - // CloudFront logs all cookies regardless of how you configure the cache behaviors - // for this distribution. If you don't want to include cookies when you create - // a distribution or if you want to disable include cookies for an existing - // distribution, specify false for IncludeCookies. + // The name of a header that you want CloudFront to send to your origin. For + // more information, see Adding Custom Headers to Origin Requests (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html) + // in the Amazon CloudFront Developer Guide. // - // IncludeCookies is a required field - IncludeCookies *bool `type:"boolean" required:"true"` + // HeaderName is a required field + HeaderName *string `type:"string" required:"true"` - // An optional string that you want CloudFront to prefix to the access log filenames - // for this distribution, for example, myprefix/. If you want to enable logging, - // but you don't want to specify a prefix, you still must include an empty Prefix - // element in the Logging element. + // The value for the header that you specified in the HeaderName field. // - // Prefix is a required field - Prefix *string `type:"string" required:"true"` + // HeaderValue is a required field + HeaderValue *string `type:"string" required:"true"` } // String returns the string representation -func (s LoggingConfig) String() string { +func (s OriginCustomHeader) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LoggingConfig) GoString() string { +func (s OriginCustomHeader) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LoggingConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LoggingConfig"} - if s.Bucket == nil { - invalidParams.Add(request.NewErrParamRequired("Bucket")) - } - if s.Enabled == nil { - invalidParams.Add(request.NewErrParamRequired("Enabled")) - } - if s.IncludeCookies == nil { - invalidParams.Add(request.NewErrParamRequired("IncludeCookies")) +func (s *OriginCustomHeader) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginCustomHeader"} + if s.HeaderName == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderName")) } - if s.Prefix == nil { - invalidParams.Add(request.NewErrParamRequired("Prefix")) + if s.HeaderValue == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderValue")) } if invalidParams.Len() > 0 { @@ -11756,155 +15468,74 @@ func (s *LoggingConfig) Validate() error { return nil } -// SetBucket sets the Bucket field's value. -func (s *LoggingConfig) SetBucket(v string) *LoggingConfig { - s.Bucket = &v - return s -} - -// SetEnabled sets the Enabled field's value. -func (s *LoggingConfig) SetEnabled(v bool) *LoggingConfig { - s.Enabled = &v - return s -} - -// SetIncludeCookies sets the IncludeCookies field's value. -func (s *LoggingConfig) SetIncludeCookies(v bool) *LoggingConfig { - s.IncludeCookies = &v +// SetHeaderName sets the HeaderName field's value. +func (s *OriginCustomHeader) SetHeaderName(v string) *OriginCustomHeader { + s.HeaderName = &v return s } -// SetPrefix sets the Prefix field's value. -func (s *LoggingConfig) SetPrefix(v string) *LoggingConfig { - s.Prefix = &v +// SetHeaderValue sets the HeaderValue field's value. +func (s *OriginCustomHeader) SetHeaderValue(v string) *OriginCustomHeader { + s.HeaderValue = &v return s } -// A complex type that describes the Amazon S3 bucket, HTTP server (for example, -// a web server), Amazon MediaStore, or other server from which CloudFront gets -// your files. This can also be an origin group, if you've created an origin -// group. You must specify at least one origin or origin group. -// -// For the current limit on the number of origins or origin groups that you -// can specify for a distribution, see Amazon CloudFront Limits (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_cloudfront) -// in the AWS General Reference. -type Origin struct { +// An origin group includes two origins (a primary origin and a second origin +// to failover to) and a failover criteria that you specify. You create an origin +// group to support origin failover in CloudFront. When you create or update +// a distribution, you can specifiy the origin group instead of a single origin, +// and CloudFront will failover from the primary origin to the second origin +// under the failover conditions that you've chosen. +type OriginGroup struct { _ struct{} `type:"structure"` - // A complex type that contains names and values for the custom headers that - // you want. - CustomHeaders *CustomHeaders `type:"structure"` - - // A complex type that contains information about a custom origin. If the origin - // is an Amazon S3 bucket, use the S3OriginConfig element instead. - CustomOriginConfig *CustomOriginConfig `type:"structure"` - - // Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want - // CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. - // If you set up your bucket to be configured as a website endpoint, enter the - // Amazon S3 static website hosting endpoint for the bucket. - // - // For more information about specifying this value for different types of origins, - // see Origin Domain Name (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDomainName) - // in the Amazon CloudFront Developer Guide. - // - // Constraints for Amazon S3 origins: - // - // * If you configured Amazon S3 Transfer Acceleration for your bucket, don't - // specify the s3-accelerate endpoint for DomainName. - // - // * The bucket name must be between 3 and 63 characters long (inclusive). - // - // * The bucket name must contain only lowercase characters, numbers, periods, - // underscores, and dashes. - // - // * The bucket name must not contain adjacent periods. - // - // Custom Origins: The DNS domain name for the HTTP server from which you want - // CloudFront to get objects for this origin, for example, www.example.com. - // - // Constraints for custom origins: - // - // * DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, - // dot (.), hyphen (-), or underscore (_) characters. - // - // * The name cannot exceed 128 characters. + // A complex type that contains information about the failover criteria for + // an origin group. // - // DomainName is a required field - DomainName *string `type:"string" required:"true"` + // FailoverCriteria is a required field + FailoverCriteria *OriginGroupFailoverCriteria `type:"structure" required:"true"` - // A unique identifier for the origin or origin group. The value of Id must - // be unique within the distribution. - // - // When you specify the value of TargetOriginId for the default cache behavior - // or for another cache behavior, you indicate the origin to which you want - // the cache behavior to route requests by specifying the value of the Id element - // for that origin. When a request matches the path pattern for that cache behavior, - // CloudFront routes the request to the specified origin. For more information, - // see Cache Behavior Settings (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) - // in the Amazon CloudFront Developer Guide. + // The origin group's ID. // // Id is a required field Id *string `type:"string" required:"true"` - // An optional element that causes CloudFront to request your content from a - // directory in your Amazon S3 bucket or your custom origin. When you include - // the OriginPath element, specify the directory name, beginning with a /. CloudFront - // appends the directory name to the value of DomainName, for example, example.com/production. - // Do not include a / at the end of the directory name. - // - // For example, suppose you've specified the following values for your distribution: - // - // * DomainName: An Amazon S3 bucket named myawsbucket. - // - // * OriginPath: /production - // - // * CNAME: example.com - // - // When a user enters example.com/index.html in a browser, CloudFront sends - // a request to Amazon S3 for myawsbucket/production/index.html. + // A complex type that contains information about the origins in an origin group. // - // When a user enters example.com/acme/index.html in a browser, CloudFront sends - // a request to Amazon S3 for myawsbucket/production/acme/index.html. - OriginPath *string `type:"string"` - - // A complex type that contains information about the Amazon S3 origin. If the - // origin is a custom origin, use the CustomOriginConfig element instead. - S3OriginConfig *S3OriginConfig `type:"structure"` + // Members is a required field + Members *OriginGroupMembers `type:"structure" required:"true"` } // String returns the string representation -func (s Origin) String() string { +func (s OriginGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Origin) GoString() string { +func (s OriginGroup) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Origin) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Origin"} - if s.DomainName == nil { - invalidParams.Add(request.NewErrParamRequired("DomainName")) +func (s *OriginGroup) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginGroup"} + if s.FailoverCriteria == nil { + invalidParams.Add(request.NewErrParamRequired("FailoverCriteria")) } if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.CustomHeaders != nil { - if err := s.CustomHeaders.Validate(); err != nil { - invalidParams.AddNested("CustomHeaders", err.(request.ErrInvalidParams)) - } + if s.Members == nil { + invalidParams.Add(request.NewErrParamRequired("Members")) } - if s.CustomOriginConfig != nil { - if err := s.CustomOriginConfig.Validate(); err != nil { - invalidParams.AddNested("CustomOriginConfig", err.(request.ErrInvalidParams)) + if s.FailoverCriteria != nil { + if err := s.FailoverCriteria.Validate(); err != nil { + invalidParams.AddNested("FailoverCriteria", err.(request.ErrInvalidParams)) } } - if s.S3OriginConfig != nil { - if err := s.S3OriginConfig.Validate(); err != nil { - invalidParams.AddNested("S3OriginConfig", err.(request.ErrInvalidParams)) + if s.Members != nil { + if err := s.Members.Validate(); err != nil { + invalidParams.AddNested("Members", err.(request.ErrInvalidParams)) } } @@ -11914,139 +15545,96 @@ func (s *Origin) Validate() error { return nil } -// SetCustomHeaders sets the CustomHeaders field's value. -func (s *Origin) SetCustomHeaders(v *CustomHeaders) *Origin { - s.CustomHeaders = v - return s -} - -// SetCustomOriginConfig sets the CustomOriginConfig field's value. -func (s *Origin) SetCustomOriginConfig(v *CustomOriginConfig) *Origin { - s.CustomOriginConfig = v - return s -} - -// SetDomainName sets the DomainName field's value. -func (s *Origin) SetDomainName(v string) *Origin { - s.DomainName = &v +// SetFailoverCriteria sets the FailoverCriteria field's value. +func (s *OriginGroup) SetFailoverCriteria(v *OriginGroupFailoverCriteria) *OriginGroup { + s.FailoverCriteria = v return s } // SetId sets the Id field's value. -func (s *Origin) SetId(v string) *Origin { +func (s *OriginGroup) SetId(v string) *OriginGroup { s.Id = &v return s } -// SetOriginPath sets the OriginPath field's value. -func (s *Origin) SetOriginPath(v string) *Origin { - s.OriginPath = &v - return s -} - -// SetS3OriginConfig sets the S3OriginConfig field's value. -func (s *Origin) SetS3OriginConfig(v *S3OriginConfig) *Origin { - s.S3OriginConfig = v +// SetMembers sets the Members field's value. +func (s *OriginGroup) SetMembers(v *OriginGroupMembers) *OriginGroup { + s.Members = v return s } -// CloudFront origin access identity. -type OriginAccessIdentity struct { +// A complex data type that includes information about the failover criteria +// for an origin group, including the status codes for which CloudFront will +// failover from the primary origin to the second origin. +type OriginGroupFailoverCriteria struct { _ struct{} `type:"structure"` - // The current configuration information for the identity. - CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `type:"structure"` - - // The ID for the origin access identity, for example, E74FTE3AJFJ256A. - // - // Id is a required field - Id *string `type:"string" required:"true"` - - // The Amazon S3 canonical user ID for the origin access identity, used when - // giving the origin access identity read permission to an object in Amazon - // S3. + // The status codes that, when returned from the primary origin, will trigger + // CloudFront to failover to the second origin. // - // S3CanonicalUserId is a required field - S3CanonicalUserId *string `type:"string" required:"true"` + // StatusCodes is a required field + StatusCodes *StatusCodes `type:"structure" required:"true"` } // String returns the string representation -func (s OriginAccessIdentity) String() string { +func (s OriginGroupFailoverCriteria) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginAccessIdentity) GoString() string { +func (s OriginGroupFailoverCriteria) GoString() string { return s.String() } -// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. -func (s *OriginAccessIdentity) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *OriginAccessIdentity { - s.CloudFrontOriginAccessIdentityConfig = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *OriginGroupFailoverCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginGroupFailoverCriteria"} + if s.StatusCodes == nil { + invalidParams.Add(request.NewErrParamRequired("StatusCodes")) + } + if s.StatusCodes != nil { + if err := s.StatusCodes.Validate(); err != nil { + invalidParams.AddNested("StatusCodes", err.(request.ErrInvalidParams)) + } + } -// SetId sets the Id field's value. -func (s *OriginAccessIdentity) SetId(v string) *OriginAccessIdentity { - s.Id = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetS3CanonicalUserId sets the S3CanonicalUserId field's value. -func (s *OriginAccessIdentity) SetS3CanonicalUserId(v string) *OriginAccessIdentity { - s.S3CanonicalUserId = &v +// SetStatusCodes sets the StatusCodes field's value. +func (s *OriginGroupFailoverCriteria) SetStatusCodes(v *StatusCodes) *OriginGroupFailoverCriteria { + s.StatusCodes = v return s } -// Origin access identity configuration. Send a GET request to the /CloudFront -// API version/CloudFront/identity ID/config resource. -type OriginAccessIdentityConfig struct { +// An origin in an origin group. +type OriginGroupMember struct { _ struct{} `type:"structure"` - // A unique value (for example, a date-time stamp) that ensures that the request - // can't be replayed. - // - // If the value of CallerReference is new (regardless of the content of the - // CloudFrontOriginAccessIdentityConfig object), a new origin access identity - // is created. - // - // If the CallerReference is a value already sent in a previous identity request, - // and the content of the CloudFrontOriginAccessIdentityConfig is identical - // to the original request (ignoring white space), the response includes the - // same information returned to the original request. - // - // If the CallerReference is a value you already sent in a previous request - // to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig - // is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists - // error. - // - // CallerReference is a required field - CallerReference *string `type:"string" required:"true"` - - // Any comments you want to include about the origin access identity. + // The ID for an origin in an origin group. // - // Comment is a required field - Comment *string `type:"string" required:"true"` + // OriginId is a required field + OriginId *string `type:"string" required:"true"` } // String returns the string representation -func (s OriginAccessIdentityConfig) String() string { +func (s OriginGroupMember) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginAccessIdentityConfig) GoString() string { +func (s OriginGroupMember) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *OriginAccessIdentityConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OriginAccessIdentityConfig"} - if s.CallerReference == nil { - invalidParams.Add(request.NewErrParamRequired("CallerReference")) - } - if s.Comment == nil { - invalidParams.Add(request.NewErrParamRequired("Comment")) +func (s *OriginGroupMember) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginGroupMember"} + if s.OriginId == nil { + invalidParams.Add(request.NewErrParamRequired("OriginId")) } if invalidParams.Len() > 0 { @@ -12055,334 +15643,374 @@ func (s *OriginAccessIdentityConfig) Validate() error { return nil } -// SetCallerReference sets the CallerReference field's value. -func (s *OriginAccessIdentityConfig) SetCallerReference(v string) *OriginAccessIdentityConfig { - s.CallerReference = &v - return s -} - -// SetComment sets the Comment field's value. -func (s *OriginAccessIdentityConfig) SetComment(v string) *OriginAccessIdentityConfig { - s.Comment = &v - return s -} - -// Lists the origin access identities for CloudFront.Send a GET request to the -// /CloudFront API version/origin-access-identity/cloudfront resource. The response -// includes a CloudFrontOriginAccessIdentityList element with zero or more CloudFrontOriginAccessIdentitySummary -// child elements. By default, your entire list of origin access identities -// is returned in one single page. If the list is long, you can paginate it -// using the MaxItems and Marker parameters. -type OriginAccessIdentityList struct { - _ struct{} `type:"structure"` - - // A flag that indicates whether more origin access identities remain to be - // listed. If your results were truncated, you can make a follow-up pagination - // request using the Marker request parameter to retrieve more items in the - // list. - // - // IsTruncated is a required field - IsTruncated *bool `type:"boolean" required:"true"` - - // A complex type that contains one CloudFrontOriginAccessIdentitySummary element - // for each origin access identity that was created by the current AWS account. - Items []*OriginAccessIdentitySummary `locationNameList:"CloudFrontOriginAccessIdentitySummary" type:"list"` +// SetOriginId sets the OriginId field's value. +func (s *OriginGroupMember) SetOriginId(v string) *OriginGroupMember { + s.OriginId = &v + return s +} - // Use this when paginating results to indicate where to begin in your list - // of origin access identities. The results include identities in the list that - // occur after the marker. To get the next page of results, set the Marker to - // the value of the NextMarker from the current page's response (which is also - // the ID of the last identity on that page). - // - // Marker is a required field - Marker *string `type:"string" required:"true"` +// A complex data type for the origins included in an origin group. +type OriginGroupMembers struct { + _ struct{} `type:"structure"` - // The maximum number of origin access identities you want in the response body. + // Items (origins) in an origin group. // - // MaxItems is a required field - MaxItems *int64 `type:"integer" required:"true"` - - // If IsTruncated is true, this element is present and contains the value you - // can use for the Marker request parameter to continue listing your origin - // access identities where they left off. - NextMarker *string `type:"string"` + // Items is a required field + Items []*OriginGroupMember `locationNameList:"OriginGroupMember" min:"2" type:"list" required:"true"` - // The number of CloudFront origin access identities that were created by the - // current AWS account. + // The number of origins in an origin group. // // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s OriginAccessIdentityList) String() string { +func (s OriginGroupMembers) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginAccessIdentityList) GoString() string { +func (s OriginGroupMembers) GoString() string { return s.String() } -// SetIsTruncated sets the IsTruncated field's value. -func (s *OriginAccessIdentityList) SetIsTruncated(v bool) *OriginAccessIdentityList { - s.IsTruncated = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *OriginGroupMembers) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginGroupMembers"} + if s.Items == nil { + invalidParams.Add(request.NewErrParamRequired("Items")) + } + if s.Items != nil && len(s.Items) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Items", 2)) + } + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } // SetItems sets the Items field's value. -func (s *OriginAccessIdentityList) SetItems(v []*OriginAccessIdentitySummary) *OriginAccessIdentityList { +func (s *OriginGroupMembers) SetItems(v []*OriginGroupMember) *OriginGroupMembers { s.Items = v return s } -// SetMarker sets the Marker field's value. -func (s *OriginAccessIdentityList) SetMarker(v string) *OriginAccessIdentityList { - s.Marker = &v - return s -} - -// SetMaxItems sets the MaxItems field's value. -func (s *OriginAccessIdentityList) SetMaxItems(v int64) *OriginAccessIdentityList { - s.MaxItems = &v - return s -} - -// SetNextMarker sets the NextMarker field's value. -func (s *OriginAccessIdentityList) SetNextMarker(v string) *OriginAccessIdentityList { - s.NextMarker = &v - return s -} - // SetQuantity sets the Quantity field's value. -func (s *OriginAccessIdentityList) SetQuantity(v int64) *OriginAccessIdentityList { +func (s *OriginGroupMembers) SetQuantity(v int64) *OriginGroupMembers { s.Quantity = &v return s } -// Summary of the information about a CloudFront origin access identity. -type OriginAccessIdentitySummary struct { +// A complex data type for the origin groups specified for a distribution. +type OriginGroups struct { _ struct{} `type:"structure"` - // The comment for this origin access identity, as originally specified when - // created. - // - // Comment is a required field - Comment *string `type:"string" required:"true"` - - // The ID for the origin access identity. For example: E74FTE3AJFJ256A. - // - // Id is a required field - Id *string `type:"string" required:"true"` + // The items (origin groups) in a distribution. + Items []*OriginGroup `locationNameList:"OriginGroup" type:"list"` - // The Amazon S3 canonical user ID for the origin access identity, which you - // use when giving the origin access identity read permission to an object in - // Amazon S3. + // The number of origin groups. // - // S3CanonicalUserId is a required field - S3CanonicalUserId *string `type:"string" required:"true"` + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s OriginAccessIdentitySummary) String() string { +func (s OriginGroups) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginAccessIdentitySummary) GoString() string { +func (s OriginGroups) GoString() string { return s.String() } -// SetComment sets the Comment field's value. -func (s *OriginAccessIdentitySummary) SetComment(v string) *OriginAccessIdentitySummary { - s.Comment = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *OriginGroups) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginGroups"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetId sets the Id field's value. -func (s *OriginAccessIdentitySummary) SetId(v string) *OriginAccessIdentitySummary { - s.Id = &v +// SetItems sets the Items field's value. +func (s *OriginGroups) SetItems(v []*OriginGroup) *OriginGroups { + s.Items = v return s } -// SetS3CanonicalUserId sets the S3CanonicalUserId field's value. -func (s *OriginAccessIdentitySummary) SetS3CanonicalUserId(v string) *OriginAccessIdentitySummary { - s.S3CanonicalUserId = &v +// SetQuantity sets the Quantity field's value. +func (s *OriginGroups) SetQuantity(v int64) *OriginGroups { + s.Quantity = &v return s } -// A complex type that contains HeaderName and HeaderValue elements, if any, -// for this distribution. -type OriginCustomHeader struct { +// An origin request policy. +// +// When it’s attached to a cache behavior, the origin request policy determines +// the values that CloudFront includes in requests that it sends to the origin. +// Each request that CloudFront sends to the origin includes the following: +// +// * The request body and the URL path (without the domain name) from the +// viewer request. +// +// * The headers that CloudFront automatically includes in every origin request, +// including Host, User-Agent, and X-Amz-Cf-Id. +// +// * All HTTP headers, cookies, and URL query strings that are specified +// in the cache policy or the origin request policy. These can include items +// from the viewer request and, in the case of headers, additional ones that +// are added by CloudFront. +// +// CloudFront sends a request when it can’t find an object in its cache that +// matches the request. If you want to send values to the origin and also include +// them in the cache key, use CreateCachePolicy. +type OriginRequestPolicy struct { _ struct{} `type:"structure"` - // The name of a header that you want CloudFront to forward to your origin. - // For more information, see Forwarding Custom Headers to Your Origin (Web Distributions - // Only) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html) - // in the Amazon CloudFront Developer Guide. + // The unique identifier for the origin request policy. // - // HeaderName is a required field - HeaderName *string `type:"string" required:"true"` + // Id is a required field + Id *string `type:"string" required:"true"` - // The value for the header that you specified in the HeaderName field. + // The date and time when the origin request policy was last modified. // - // HeaderValue is a required field - HeaderValue *string `type:"string" required:"true"` + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // The origin request policy configuration. + // + // OriginRequestPolicyConfig is a required field + OriginRequestPolicyConfig *OriginRequestPolicyConfig `type:"structure" required:"true"` } // String returns the string representation -func (s OriginCustomHeader) String() string { +func (s OriginRequestPolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginCustomHeader) GoString() string { +func (s OriginRequestPolicy) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *OriginCustomHeader) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OriginCustomHeader"} - if s.HeaderName == nil { - invalidParams.Add(request.NewErrParamRequired("HeaderName")) - } - if s.HeaderValue == nil { - invalidParams.Add(request.NewErrParamRequired("HeaderValue")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetId sets the Id field's value. +func (s *OriginRequestPolicy) SetId(v string) *OriginRequestPolicy { + s.Id = &v + return s } -// SetHeaderName sets the HeaderName field's value. -func (s *OriginCustomHeader) SetHeaderName(v string) *OriginCustomHeader { - s.HeaderName = &v +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *OriginRequestPolicy) SetLastModifiedTime(v time.Time) *OriginRequestPolicy { + s.LastModifiedTime = &v return s } -// SetHeaderValue sets the HeaderValue field's value. -func (s *OriginCustomHeader) SetHeaderValue(v string) *OriginCustomHeader { - s.HeaderValue = &v +// SetOriginRequestPolicyConfig sets the OriginRequestPolicyConfig field's value. +func (s *OriginRequestPolicy) SetOriginRequestPolicyConfig(v *OriginRequestPolicyConfig) *OriginRequestPolicy { + s.OriginRequestPolicyConfig = v return s } -// An origin group includes two origins (a primary origin and a second origin -// to failover to) and a failover criteria that you specify. You create an origin -// group to support origin failover in CloudFront. When you create or update -// a distribution, you can specifiy the origin group instead of a single origin, -// and CloudFront will failover from the primary origin to the second origin -// under the failover conditions that you've chosen. -type OriginGroup struct { +// An origin request policy configuration. +// +// This configuration determines the values that CloudFront includes in requests +// that it sends to the origin. Each request that CloudFront sends to the origin +// includes the following: +// +// * The request body and the URL path (without the domain name) from the +// viewer request. +// +// * The headers that CloudFront automatically includes in every origin request, +// including Host, User-Agent, and X-Amz-Cf-Id. +// +// * All HTTP headers, cookies, and URL query strings that are specified +// in the cache policy or the origin request policy. These can include items +// from the viewer request and, in the case of headers, additional ones that +// are added by CloudFront. +// +// CloudFront sends a request when it can’t find an object in its cache that +// matches the request. If you want to send values to the origin and also include +// them in the cache key, use CreateCachePolicy. +type OriginRequestPolicyConfig struct { _ struct{} `type:"structure"` - // A complex type that contains information about the failover criteria for - // an origin group. + // A comment to describe the origin request policy. + Comment *string `type:"string"` + + // The cookies from viewer requests to include in origin requests. // - // FailoverCriteria is a required field - FailoverCriteria *OriginGroupFailoverCriteria `type:"structure" required:"true"` + // CookiesConfig is a required field + CookiesConfig *OriginRequestPolicyCookiesConfig `type:"structure" required:"true"` - // The origin group's ID. + // The HTTP headers to include in origin requests. These can include headers + // from viewer requests and additional headers added by CloudFront. // - // Id is a required field - Id *string `type:"string" required:"true"` + // HeadersConfig is a required field + HeadersConfig *OriginRequestPolicyHeadersConfig `type:"structure" required:"true"` - // A complex type that contains information about the origins in an origin group. + // A unique name to identify the origin request policy. // - // Members is a required field - Members *OriginGroupMembers `type:"structure" required:"true"` + // Name is a required field + Name *string `type:"string" required:"true"` + + // The URL query strings from viewer requests to include in origin requests. + // + // QueryStringsConfig is a required field + QueryStringsConfig *OriginRequestPolicyQueryStringsConfig `type:"structure" required:"true"` } // String returns the string representation -func (s OriginGroup) String() string { +func (s OriginRequestPolicyConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginGroup) GoString() string { +func (s OriginRequestPolicyConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *OriginGroup) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OriginGroup"} - if s.FailoverCriteria == nil { - invalidParams.Add(request.NewErrParamRequired("FailoverCriteria")) +func (s *OriginRequestPolicyConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginRequestPolicyConfig"} + if s.CookiesConfig == nil { + invalidParams.Add(request.NewErrParamRequired("CookiesConfig")) } - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) + if s.HeadersConfig == nil { + invalidParams.Add(request.NewErrParamRequired("HeadersConfig")) } - if s.Members == nil { - invalidParams.Add(request.NewErrParamRequired("Members")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.FailoverCriteria != nil { - if err := s.FailoverCriteria.Validate(); err != nil { - invalidParams.AddNested("FailoverCriteria", err.(request.ErrInvalidParams)) + if s.QueryStringsConfig == nil { + invalidParams.Add(request.NewErrParamRequired("QueryStringsConfig")) + } + if s.CookiesConfig != nil { + if err := s.CookiesConfig.Validate(); err != nil { + invalidParams.AddNested("CookiesConfig", err.(request.ErrInvalidParams)) } } - if s.Members != nil { - if err := s.Members.Validate(); err != nil { - invalidParams.AddNested("Members", err.(request.ErrInvalidParams)) + if s.HeadersConfig != nil { + if err := s.HeadersConfig.Validate(); err != nil { + invalidParams.AddNested("HeadersConfig", err.(request.ErrInvalidParams)) + } + } + if s.QueryStringsConfig != nil { + if err := s.QueryStringsConfig.Validate(); err != nil { + invalidParams.AddNested("QueryStringsConfig", err.(request.ErrInvalidParams)) } } - if invalidParams.Len() > 0 { - return invalidParams - } - return nil + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComment sets the Comment field's value. +func (s *OriginRequestPolicyConfig) SetComment(v string) *OriginRequestPolicyConfig { + s.Comment = &v + return s +} + +// SetCookiesConfig sets the CookiesConfig field's value. +func (s *OriginRequestPolicyConfig) SetCookiesConfig(v *OriginRequestPolicyCookiesConfig) *OriginRequestPolicyConfig { + s.CookiesConfig = v + return s } -// SetFailoverCriteria sets the FailoverCriteria field's value. -func (s *OriginGroup) SetFailoverCriteria(v *OriginGroupFailoverCriteria) *OriginGroup { - s.FailoverCriteria = v +// SetHeadersConfig sets the HeadersConfig field's value. +func (s *OriginRequestPolicyConfig) SetHeadersConfig(v *OriginRequestPolicyHeadersConfig) *OriginRequestPolicyConfig { + s.HeadersConfig = v return s } -// SetId sets the Id field's value. -func (s *OriginGroup) SetId(v string) *OriginGroup { - s.Id = &v +// SetName sets the Name field's value. +func (s *OriginRequestPolicyConfig) SetName(v string) *OriginRequestPolicyConfig { + s.Name = &v return s } -// SetMembers sets the Members field's value. -func (s *OriginGroup) SetMembers(v *OriginGroupMembers) *OriginGroup { - s.Members = v +// SetQueryStringsConfig sets the QueryStringsConfig field's value. +func (s *OriginRequestPolicyConfig) SetQueryStringsConfig(v *OriginRequestPolicyQueryStringsConfig) *OriginRequestPolicyConfig { + s.QueryStringsConfig = v return s } -// A complex data type that includes information about the failover criteria -// for an origin group, including the status codes for which CloudFront will -// failover from the primary origin to the second origin. -type OriginGroupFailoverCriteria struct { +// An object that determines whether any cookies in viewer requests (and if +// so, which cookies) are included in requests that CloudFront sends to the +// origin. +type OriginRequestPolicyCookiesConfig struct { _ struct{} `type:"structure"` - // The status codes that, when returned from the primary origin, will trigger - // CloudFront to failover to the second origin. + // Determines whether cookies in viewer requests are included in requests that + // CloudFront sends to the origin. Valid values are: // - // StatusCodes is a required field - StatusCodes *StatusCodes `type:"structure" required:"true"` + // * none – Cookies in viewer requests are not included in requests that + // CloudFront sends to the origin. Even when this field is set to none, any + // cookies that are listed in a CachePolicy are included in origin requests. + // + // * whitelist – The cookies in viewer requests that are listed in the + // CookieNames type are included in requests that CloudFront sends to the + // origin. + // + // * all – All cookies in viewer requests are included in requests that + // CloudFront sends to the origin. + // + // CookieBehavior is a required field + CookieBehavior *string `type:"string" required:"true" enum:"OriginRequestPolicyCookieBehavior"` + + // Contains a list of cookie names. + Cookies *CookieNames `type:"structure"` } // String returns the string representation -func (s OriginGroupFailoverCriteria) String() string { +func (s OriginRequestPolicyCookiesConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginGroupFailoverCriteria) GoString() string { +func (s OriginRequestPolicyCookiesConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *OriginGroupFailoverCriteria) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OriginGroupFailoverCriteria"} - if s.StatusCodes == nil { - invalidParams.Add(request.NewErrParamRequired("StatusCodes")) +func (s *OriginRequestPolicyCookiesConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginRequestPolicyCookiesConfig"} + if s.CookieBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("CookieBehavior")) } - if s.StatusCodes != nil { - if err := s.StatusCodes.Validate(); err != nil { - invalidParams.AddNested("StatusCodes", err.(request.ErrInvalidParams)) + if s.Cookies != nil { + if err := s.Cookies.Validate(); err != nil { + invalidParams.AddNested("Cookies", err.(request.ErrInvalidParams)) } } @@ -12392,37 +16020,68 @@ func (s *OriginGroupFailoverCriteria) Validate() error { return nil } -// SetStatusCodes sets the StatusCodes field's value. -func (s *OriginGroupFailoverCriteria) SetStatusCodes(v *StatusCodes) *OriginGroupFailoverCriteria { - s.StatusCodes = v +// SetCookieBehavior sets the CookieBehavior field's value. +func (s *OriginRequestPolicyCookiesConfig) SetCookieBehavior(v string) *OriginRequestPolicyCookiesConfig { + s.CookieBehavior = &v return s } -// An origin in an origin group. -type OriginGroupMember struct { +// SetCookies sets the Cookies field's value. +func (s *OriginRequestPolicyCookiesConfig) SetCookies(v *CookieNames) *OriginRequestPolicyCookiesConfig { + s.Cookies = v + return s +} + +// An object that determines whether any HTTP headers (and if so, which headers) +// are included in requests that CloudFront sends to the origin. +type OriginRequestPolicyHeadersConfig struct { _ struct{} `type:"structure"` - // The ID for an origin in an origin group. + // Determines whether any HTTP headers are included in requests that CloudFront + // sends to the origin. Valid values are: // - // OriginId is a required field - OriginId *string `type:"string" required:"true"` + // * none – HTTP headers are not included in requests that CloudFront sends + // to the origin. Even when this field is set to none, any headers that are + // listed in a CachePolicy are included in origin requests. + // + // * whitelist – The HTTP headers that are listed in the Headers type are + // included in requests that CloudFront sends to the origin. + // + // * allViewer – All HTTP headers in viewer requests are included in requests + // that CloudFront sends to the origin. + // + // * allViewerAndWhitelistCloudFront – All HTTP headers in viewer requests + // and the additional CloudFront headers that are listed in the Headers type + // are included in requests that CloudFront sends to the origin. The additional + // headers are added by CloudFront. + // + // HeaderBehavior is a required field + HeaderBehavior *string `type:"string" required:"true" enum:"OriginRequestPolicyHeaderBehavior"` + + // Contains a list of HTTP header names. + Headers *Headers `type:"structure"` } // String returns the string representation -func (s OriginGroupMember) String() string { +func (s OriginRequestPolicyHeadersConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginGroupMember) GoString() string { +func (s OriginRequestPolicyHeadersConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *OriginGroupMember) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OriginGroupMember"} - if s.OriginId == nil { - invalidParams.Add(request.NewErrParamRequired("OriginId")) +func (s *OriginRequestPolicyHeadersConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginRequestPolicyHeadersConfig"} + if s.HeaderBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderBehavior")) + } + if s.Headers != nil { + if err := s.Headers.Validate(); err != nil { + invalidParams.AddNested("Headers", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -12431,115 +16090,124 @@ func (s *OriginGroupMember) Validate() error { return nil } -// SetOriginId sets the OriginId field's value. -func (s *OriginGroupMember) SetOriginId(v string) *OriginGroupMember { - s.OriginId = &v +// SetHeaderBehavior sets the HeaderBehavior field's value. +func (s *OriginRequestPolicyHeadersConfig) SetHeaderBehavior(v string) *OriginRequestPolicyHeadersConfig { + s.HeaderBehavior = &v return s } -// A complex data type for the origins included in an origin group. -type OriginGroupMembers struct { +// SetHeaders sets the Headers field's value. +func (s *OriginRequestPolicyHeadersConfig) SetHeaders(v *Headers) *OriginRequestPolicyHeadersConfig { + s.Headers = v + return s +} + +// A list of origin request policies. +type OriginRequestPolicyList struct { _ struct{} `type:"structure"` - // Items (origins) in an origin group. + // Contains the origin request policies in the list. + Items []*OriginRequestPolicySummary `locationNameList:"OriginRequestPolicySummary" type:"list"` + + // The maximum number of origin request policies requested. // - // Items is a required field - Items []*OriginGroupMember `locationNameList:"OriginGroupMember" min:"2" type:"list" required:"true"` + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` - // The number of origins in an origin group. + // If there are more items in the list than are in this response, this element + // is present. It contains the value that you should use in the Marker field + // of a subsequent request to continue listing origin request policies where + // you left off. + NextMarker *string `type:"string"` + + // The total number of origin request policies returned in the response. // // Quantity is a required field Quantity *int64 `type:"integer" required:"true"` } // String returns the string representation -func (s OriginGroupMembers) String() string { +func (s OriginRequestPolicyList) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginGroupMembers) GoString() string { +func (s OriginRequestPolicyList) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *OriginGroupMembers) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OriginGroupMembers"} - if s.Items == nil { - invalidParams.Add(request.NewErrParamRequired("Items")) - } - if s.Items != nil && len(s.Items) < 2 { - invalidParams.Add(request.NewErrParamMinLen("Items", 2)) - } - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) - } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } - } - } +// SetItems sets the Items field's value. +func (s *OriginRequestPolicyList) SetItems(v []*OriginRequestPolicySummary) *OriginRequestPolicyList { + s.Items = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetMaxItems sets the MaxItems field's value. +func (s *OriginRequestPolicyList) SetMaxItems(v int64) *OriginRequestPolicyList { + s.MaxItems = &v + return s } -// SetItems sets the Items field's value. -func (s *OriginGroupMembers) SetItems(v []*OriginGroupMember) *OriginGroupMembers { - s.Items = v +// SetNextMarker sets the NextMarker field's value. +func (s *OriginRequestPolicyList) SetNextMarker(v string) *OriginRequestPolicyList { + s.NextMarker = &v return s } // SetQuantity sets the Quantity field's value. -func (s *OriginGroupMembers) SetQuantity(v int64) *OriginGroupMembers { +func (s *OriginRequestPolicyList) SetQuantity(v int64) *OriginRequestPolicyList { s.Quantity = &v return s } -// A complex data type for the origin groups specified for a distribution. -type OriginGroups struct { +// An object that determines whether any URL query strings in viewer requests +// (and if so, which query strings) are included in requests that CloudFront +// sends to the origin. +type OriginRequestPolicyQueryStringsConfig struct { _ struct{} `type:"structure"` - // The items (origin groups) in a distribution. - Items []*OriginGroup `locationNameList:"OriginGroup" type:"list"` - - // The number of origin groups. + // Determines whether any URL query strings in viewer requests are included + // in requests that CloudFront sends to the origin. Valid values are: // - // Quantity is a required field - Quantity *int64 `type:"integer" required:"true"` + // * none – Query strings in viewer requests are not included in requests + // that CloudFront sends to the origin. Even when this field is set to none, + // any query strings that are listed in a CachePolicy are included in origin + // requests. + // + // * whitelist – The query strings in viewer requests that are listed in + // the QueryStringNames type are included in requests that CloudFront sends + // to the origin. + // + // * all – All query strings in viewer requests are included in requests + // that CloudFront sends to the origin. + // + // QueryStringBehavior is a required field + QueryStringBehavior *string `type:"string" required:"true" enum:"OriginRequestPolicyQueryStringBehavior"` + + // Contains a list of the query strings in viewer requests that are included + // in requests that CloudFront sends to the origin. + QueryStrings *QueryStringNames `type:"structure"` } // String returns the string representation -func (s OriginGroups) String() string { +func (s OriginRequestPolicyQueryStringsConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OriginGroups) GoString() string { +func (s OriginRequestPolicyQueryStringsConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *OriginGroups) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "OriginGroups"} - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) - } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } +func (s *OriginRequestPolicyQueryStringsConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OriginRequestPolicyQueryStringsConfig"} + if s.QueryStringBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("QueryStringBehavior")) + } + if s.QueryStrings != nil { + if err := s.QueryStrings.Validate(); err != nil { + invalidParams.AddNested("QueryStrings", err.(request.ErrInvalidParams)) } } @@ -12549,15 +16217,53 @@ func (s *OriginGroups) Validate() error { return nil } -// SetItems sets the Items field's value. -func (s *OriginGroups) SetItems(v []*OriginGroup) *OriginGroups { - s.Items = v +// SetQueryStringBehavior sets the QueryStringBehavior field's value. +func (s *OriginRequestPolicyQueryStringsConfig) SetQueryStringBehavior(v string) *OriginRequestPolicyQueryStringsConfig { + s.QueryStringBehavior = &v return s } -// SetQuantity sets the Quantity field's value. -func (s *OriginGroups) SetQuantity(v int64) *OriginGroups { - s.Quantity = &v +// SetQueryStrings sets the QueryStrings field's value. +func (s *OriginRequestPolicyQueryStringsConfig) SetQueryStrings(v *QueryStringNames) *OriginRequestPolicyQueryStringsConfig { + s.QueryStrings = v + return s +} + +// Contains an origin request policy. +type OriginRequestPolicySummary struct { + _ struct{} `type:"structure"` + + // The origin request policy. + // + // OriginRequestPolicy is a required field + OriginRequestPolicy *OriginRequestPolicy `type:"structure" required:"true"` + + // The type of origin request policy, either managed (created by AWS) or custom + // (created in this AWS account). + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"OriginRequestPolicyType"` +} + +// String returns the string representation +func (s OriginRequestPolicySummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OriginRequestPolicySummary) GoString() string { + return s.String() +} + +// SetOriginRequestPolicy sets the OriginRequestPolicy field's value. +func (s *OriginRequestPolicySummary) SetOriginRequestPolicy(v *OriginRequestPolicy) *OriginRequestPolicySummary { + s.OriginRequestPolicy = v + return s +} + +// SetType sets the Type field's value. +func (s *OriginRequestPolicySummary) SetType(v string) *OriginRequestPolicySummary { + s.Type = &v return s } @@ -12633,35 +16339,161 @@ type Origins struct { } // String returns the string representation -func (s Origins) String() string { +func (s Origins) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Origins) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Origins) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Origins"} + if s.Items == nil { + invalidParams.Add(request.NewErrParamRequired("Items")) + } + if s.Items != nil && len(s.Items) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Items", 1)) + } + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetItems sets the Items field's value. +func (s *Origins) SetItems(v []*Origin) *Origins { + s.Items = v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *Origins) SetQuantity(v int64) *Origins { + s.Quantity = &v + return s +} + +// This object determines the values that CloudFront includes in the cache key. +// These values can include HTTP headers, cookies, and URL query strings. CloudFront +// uses the cache key to find an object in its cache that it can return to the +// viewer. +// +// The headers, cookies, and query strings that are included in the cache key +// are automatically included in requests that CloudFront sends to the origin. +// CloudFront sends a request when it can’t find an object in its cache that +// matches the request’s cache key. If you want to send values to the origin +// but not include them in the cache key, use CreateOriginRequestPolicy. +type ParametersInCacheKeyAndForwardedToOrigin struct { + _ struct{} `type:"structure"` + + // An object that determines whether any cookies in viewer requests (and if + // so, which cookies) are included in the cache key and automatically included + // in requests that CloudFront sends to the origin. + // + // CookiesConfig is a required field + CookiesConfig *CachePolicyCookiesConfig `type:"structure" required:"true"` + + // A flag that determines whether the Accept-Encoding HTTP header is included + // in the cache key and included in requests that CloudFront sends to the origin. + // + // If this field is true and the viewer request includes the Accept-Encoding + // header, then CloudFront normalizes the value of the viewer’s Accept-Encoding + // header to one of the following: + // + // * Accept-Encoding: gzip (if gzip is in the viewer’s Accept-Encoding + // header) + // + // * Accept-Encoding: identity (if gzip is not in the viewer’s Accept-Encoding + // header) + // + // CloudFront includes the normalized header in the cache key and includes it + // in requests that CloudFront sends to the origin. + // + // If this field is false, then CloudFront treats the Accept-Encoding header + // the same as any other HTTP header in the viewer request. By default, it’s + // not included in the cache key and it’s not included in origin requests. + // You can manually add Accept-Encoding to the headers whitelist like any other + // HTTP header. + // + // When this field is true, you should not whitelist the Accept-Encoding header + // in the cache policy or in an origin request policy attached to the same cache + // behavior. + // + // For more information, see Cache compressed objects (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) + // in the Amazon CloudFront Developer Guide. + // + // EnableAcceptEncodingGzip is a required field + EnableAcceptEncodingGzip *bool `type:"boolean" required:"true"` + + // An object that determines whether any HTTP headers (and if so, which headers) + // are included in the cache key and automatically included in requests that + // CloudFront sends to the origin. + // + // HeadersConfig is a required field + HeadersConfig *CachePolicyHeadersConfig `type:"structure" required:"true"` + + // An object that determines whether any URL query strings in viewer requests + // (and if so, which query strings) are included in the cache key and automatically + // included in requests that CloudFront sends to the origin. + // + // QueryStringsConfig is a required field + QueryStringsConfig *CachePolicyQueryStringsConfig `type:"structure" required:"true"` +} + +// String returns the string representation +func (s ParametersInCacheKeyAndForwardedToOrigin) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Origins) GoString() string { +func (s ParametersInCacheKeyAndForwardedToOrigin) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Origins) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Origins"} - if s.Items == nil { - invalidParams.Add(request.NewErrParamRequired("Items")) +func (s *ParametersInCacheKeyAndForwardedToOrigin) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParametersInCacheKeyAndForwardedToOrigin"} + if s.CookiesConfig == nil { + invalidParams.Add(request.NewErrParamRequired("CookiesConfig")) } - if s.Items != nil && len(s.Items) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Items", 1)) + if s.EnableAcceptEncodingGzip == nil { + invalidParams.Add(request.NewErrParamRequired("EnableAcceptEncodingGzip")) } - if s.Quantity == nil { - invalidParams.Add(request.NewErrParamRequired("Quantity")) + if s.HeadersConfig == nil { + invalidParams.Add(request.NewErrParamRequired("HeadersConfig")) } - if s.Items != nil { - for i, v := range s.Items { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) - } + if s.QueryStringsConfig == nil { + invalidParams.Add(request.NewErrParamRequired("QueryStringsConfig")) + } + if s.CookiesConfig != nil { + if err := s.CookiesConfig.Validate(); err != nil { + invalidParams.AddNested("CookiesConfig", err.(request.ErrInvalidParams)) + } + } + if s.HeadersConfig != nil { + if err := s.HeadersConfig.Validate(); err != nil { + invalidParams.AddNested("HeadersConfig", err.(request.ErrInvalidParams)) + } + } + if s.QueryStringsConfig != nil { + if err := s.QueryStringsConfig.Validate(); err != nil { + invalidParams.AddNested("QueryStringsConfig", err.(request.ErrInvalidParams)) } } @@ -12671,15 +16503,27 @@ func (s *Origins) Validate() error { return nil } -// SetItems sets the Items field's value. -func (s *Origins) SetItems(v []*Origin) *Origins { - s.Items = v +// SetCookiesConfig sets the CookiesConfig field's value. +func (s *ParametersInCacheKeyAndForwardedToOrigin) SetCookiesConfig(v *CachePolicyCookiesConfig) *ParametersInCacheKeyAndForwardedToOrigin { + s.CookiesConfig = v return s } -// SetQuantity sets the Quantity field's value. -func (s *Origins) SetQuantity(v int64) *Origins { - s.Quantity = &v +// SetEnableAcceptEncodingGzip sets the EnableAcceptEncodingGzip field's value. +func (s *ParametersInCacheKeyAndForwardedToOrigin) SetEnableAcceptEncodingGzip(v bool) *ParametersInCacheKeyAndForwardedToOrigin { + s.EnableAcceptEncodingGzip = &v + return s +} + +// SetHeadersConfig sets the HeadersConfig field's value. +func (s *ParametersInCacheKeyAndForwardedToOrigin) SetHeadersConfig(v *CachePolicyHeadersConfig) *ParametersInCacheKeyAndForwardedToOrigin { + s.HeadersConfig = v + return s +} + +// SetQueryStringsConfig sets the QueryStringsConfig field's value. +func (s *ParametersInCacheKeyAndForwardedToOrigin) SetQueryStringsConfig(v *CachePolicyQueryStringsConfig) *ParametersInCacheKeyAndForwardedToOrigin { + s.QueryStringsConfig = v return s } @@ -13158,6 +17002,15 @@ func (s *QueryArgProfiles) SetQuantity(v int64) *QueryArgProfiles { return s } +// This field is deprecated. We recommend that you use a cache policy or an +// origin request policy instead of this field. +// +// If you want to include query strings in the cache key, use QueryStringsConfig +// in a cache policy. See CreateCachePolicy. +// +// If you want to send query strings to the origin but not include them in the +// cache key, use QueryStringsConfig in an origin request policy. See CreateOriginRequestPolicy. +// // A complex type that contains information about the query string parameters // that you want CloudFront to use for caching for a cache behavior. type QueryStringCacheKeys struct { @@ -13209,6 +17062,54 @@ func (s *QueryStringCacheKeys) SetQuantity(v int64) *QueryStringCacheKeys { return s } +// Contains a list of query string names. +type QueryStringNames struct { + _ struct{} `type:"structure"` + + // A list of query string names. + Items []*string `locationNameList:"Name" type:"list"` + + // The number of query string names in the Items list. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s QueryStringNames) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QueryStringNames) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *QueryStringNames) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "QueryStringNames"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetItems sets the Items field's value. +func (s *QueryStringNames) SetItems(v []*string) *QueryStringNames { + s.Items = v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *QueryStringNames) SetQuantity(v int64) *QueryStringNames { + s.Quantity = &v + return s +} + // A complex type that identifies ways in which you want to restrict distribution // of your content. type Restrictions struct { @@ -13326,7 +17227,8 @@ func (s *S3Origin) SetOriginAccessIdentity(v string) *S3Origin { } // A complex type that contains information about the Amazon S3 origin. If the -// origin is a custom origin, use the CustomOriginConfig element instead. +// origin is a custom origin or an S3 bucket that is configured as a website +// endpoint, use the CustomOriginConfig element instead. type S3OriginConfig struct { _ struct{} `type:"structure"` @@ -14222,7 +18124,7 @@ type TagResourceInput struct { // A complex type that contains zero or more Tag elements. // // Tags is a required field - Tags *Tags `locationName:"Tags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + Tags *Tags `locationName:"Tags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation @@ -14420,7 +18322,7 @@ type UntagResourceInput struct { // A complex type that contains zero or more Tag key elements. // // TagKeys is a required field - TagKeys *TagKeys `locationName:"TagKeys" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + TagKeys *TagKeys `locationName:"TagKeys" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation @@ -14475,6 +18377,110 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateCachePolicyInput struct { + _ struct{} `locationName:"UpdateCachePolicyRequest" type:"structure" payload:"CachePolicyConfig"` + + // A cache policy configuration. + // + // CachePolicyConfig is a required field + CachePolicyConfig *CachePolicyConfig `locationName:"CachePolicyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` + + // The unique identifier for the cache policy that you are updating. The identifier + // is returned in a cache behavior’s CachePolicyId field in the response to + // GetDistributionConfig. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The version of the cache policy that you are updating. The version is returned + // in the cache policy’s ETag field in the response to GetCachePolicyConfig. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` +} + +// String returns the string representation +func (s UpdateCachePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCachePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCachePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCachePolicyInput"} + if s.CachePolicyConfig == nil { + invalidParams.Add(request.NewErrParamRequired("CachePolicyConfig")) + } + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.CachePolicyConfig != nil { + if err := s.CachePolicyConfig.Validate(); err != nil { + invalidParams.AddNested("CachePolicyConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCachePolicyConfig sets the CachePolicyConfig field's value. +func (s *UpdateCachePolicyInput) SetCachePolicyConfig(v *CachePolicyConfig) *UpdateCachePolicyInput { + s.CachePolicyConfig = v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateCachePolicyInput) SetId(v string) *UpdateCachePolicyInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *UpdateCachePolicyInput) SetIfMatch(v string) *UpdateCachePolicyInput { + s.IfMatch = &v + return s +} + +type UpdateCachePolicyOutput struct { + _ struct{} `type:"structure" payload:"CachePolicy"` + + // A cache policy. + CachePolicy *CachePolicy `type:"structure"` + + // The current version of the cache policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` +} + +// String returns the string representation +func (s UpdateCachePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCachePolicyOutput) GoString() string { + return s.String() +} + +// SetCachePolicy sets the CachePolicy field's value. +func (s *UpdateCachePolicyOutput) SetCachePolicy(v *CachePolicy) *UpdateCachePolicyOutput { + s.CachePolicy = v + return s +} + +// SetETag sets the ETag field's value. +func (s *UpdateCachePolicyOutput) SetETag(v string) *UpdateCachePolicyOutput { + s.ETag = &v + return s +} + // The request to update an origin access identity. type UpdateCloudFrontOriginAccessIdentityInput struct { _ struct{} `locationName:"UpdateCloudFrontOriginAccessIdentityRequest" type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` @@ -14482,7 +18488,7 @@ type UpdateCloudFrontOriginAccessIdentityInput struct { // The identity's configuration information. // // CloudFrontOriginAccessIdentityConfig is a required field - CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` // The identity's id. // @@ -14586,7 +18592,7 @@ type UpdateDistributionInput struct { // The distribution's configuration information. // // DistributionConfig is a required field - DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` // The distribution's id. // @@ -14689,7 +18695,7 @@ type UpdateFieldLevelEncryptionConfigInput struct { // Request to update a field-level encryption configuration. // // FieldLevelEncryptionConfig is a required field - FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `locationName:"FieldLevelEncryptionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `locationName:"FieldLevelEncryptionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` // The ID of the configuration you want to update. // @@ -14792,7 +18798,7 @@ type UpdateFieldLevelEncryptionProfileInput struct { // Request to update a field-level encryption profile. // // FieldLevelEncryptionProfileConfig is a required field - FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `locationName:"FieldLevelEncryptionProfileConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `locationName:"FieldLevelEncryptionProfileConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` // The ID of the field-level encryption profile request. // @@ -14888,6 +18894,111 @@ func (s *UpdateFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile return s } +type UpdateOriginRequestPolicyInput struct { + _ struct{} `locationName:"UpdateOriginRequestPolicyRequest" type:"structure" payload:"OriginRequestPolicyConfig"` + + // The unique identifier for the origin request policy that you are updating. + // The identifier is returned in a cache behavior’s OriginRequestPolicyId + // field in the response to GetDistributionConfig. + // + // Id is a required field + Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` + + // The version of the origin request policy that you are updating. The version + // is returned in the origin request policy’s ETag field in the response to + // GetOriginRequestPolicyConfig. + IfMatch *string `location:"header" locationName:"If-Match" type:"string"` + + // An origin request policy configuration. + // + // OriginRequestPolicyConfig is a required field + OriginRequestPolicyConfig *OriginRequestPolicyConfig `locationName:"OriginRequestPolicyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` +} + +// String returns the string representation +func (s UpdateOriginRequestPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateOriginRequestPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateOriginRequestPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateOriginRequestPolicyInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.OriginRequestPolicyConfig == nil { + invalidParams.Add(request.NewErrParamRequired("OriginRequestPolicyConfig")) + } + if s.OriginRequestPolicyConfig != nil { + if err := s.OriginRequestPolicyConfig.Validate(); err != nil { + invalidParams.AddNested("OriginRequestPolicyConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *UpdateOriginRequestPolicyInput) SetId(v string) *UpdateOriginRequestPolicyInput { + s.Id = &v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *UpdateOriginRequestPolicyInput) SetIfMatch(v string) *UpdateOriginRequestPolicyInput { + s.IfMatch = &v + return s +} + +// SetOriginRequestPolicyConfig sets the OriginRequestPolicyConfig field's value. +func (s *UpdateOriginRequestPolicyInput) SetOriginRequestPolicyConfig(v *OriginRequestPolicyConfig) *UpdateOriginRequestPolicyInput { + s.OriginRequestPolicyConfig = v + return s +} + +type UpdateOriginRequestPolicyOutput struct { + _ struct{} `type:"structure" payload:"OriginRequestPolicy"` + + // The current version of the origin request policy. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // An origin request policy. + OriginRequestPolicy *OriginRequestPolicy `type:"structure"` +} + +// String returns the string representation +func (s UpdateOriginRequestPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateOriginRequestPolicyOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *UpdateOriginRequestPolicyOutput) SetETag(v string) *UpdateOriginRequestPolicyOutput { + s.ETag = &v + return s +} + +// SetOriginRequestPolicy sets the OriginRequestPolicy field's value. +func (s *UpdateOriginRequestPolicyOutput) SetOriginRequestPolicy(v *OriginRequestPolicy) *UpdateOriginRequestPolicyOutput { + s.OriginRequestPolicy = v + return s +} + type UpdatePublicKeyInput struct { _ struct{} `locationName:"UpdatePublicKeyRequest" type:"structure" payload:"PublicKeyConfig"` @@ -14903,7 +19014,7 @@ type UpdatePublicKeyInput struct { // Request to update public key information. // // PublicKeyConfig is a required field - PublicKeyConfig *PublicKeyConfig `locationName:"PublicKeyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + PublicKeyConfig *PublicKeyConfig `locationName:"PublicKeyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation @@ -15006,7 +19117,7 @@ type UpdateStreamingDistributionInput struct { // The streaming distribution's configuration information. // // StreamingDistributionConfig is a required field - StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` + StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` } // String returns the string representation @@ -15109,10 +19220,10 @@ func (s *UpdateStreamingDistributionOutput) SetStreamingDistribution(v *Streamin // viewers that support server name indication (SNI) (https://en.wikipedia.org/wiki/Server_Name_Indication) // (recommended), or all viewers including those that don’t support SNI. // To accept HTTPS connections from only viewers that support SNI, set SSLSupportMethod -// to sni-only. This is recommended. Most browsers and clients released after -// 2010 support SNI. To accept HTTPS connections from all viewers, including -// those that don’t support SNI, set SSLSupportMethod to vip. This is not -// recommended, and results in additional monthly charges from CloudFront. +// to sni-only. This is recommended. Most browsers and clients support SNI. +// To accept HTTPS connections from all viewers, including those that don’t +// support SNI, set SSLSupportMethod to vip. This is not recommended, and +// results in additional monthly charges from CloudFront. // // * The minimum SSL/TLS protocol version that the distribution can use to // communicate with viewers. To specify a minimum version, choose a value @@ -15207,9 +19318,6 @@ type ViewerCertificate struct { // // On the CloudFront console, this setting is called Security Policy. // - // We recommend that you specify TLSv1.2_2018 unless your viewers are using - // browsers or devices that don’t support TLSv1.2. - // // When you’re using SNI only (you set SSLSupportMethod to sni-only), you // must specify TLSv1 or higher. // @@ -15223,8 +19331,7 @@ type ViewerCertificate struct { // // * sni-only – The distribution accepts HTTPS connections from only viewers // that support server name indication (SNI) (https://en.wikipedia.org/wiki/Server_Name_Indication). - // This is recommended. Most browsers and clients released after 2010 support - // SNI. + // This is recommended. Most browsers and clients support SNI. // // * vip – The distribution accepts HTTPS connections from all viewers // including those that don’t support SNI. This is not recommended, and @@ -15287,6 +19394,50 @@ func (s *ViewerCertificate) SetSSLSupportMethod(v string) *ViewerCertificate { return s } +const ( + // CachePolicyCookieBehaviorNone is a CachePolicyCookieBehavior enum value + CachePolicyCookieBehaviorNone = "none" + + // CachePolicyCookieBehaviorWhitelist is a CachePolicyCookieBehavior enum value + CachePolicyCookieBehaviorWhitelist = "whitelist" + + // CachePolicyCookieBehaviorAllExcept is a CachePolicyCookieBehavior enum value + CachePolicyCookieBehaviorAllExcept = "allExcept" + + // CachePolicyCookieBehaviorAll is a CachePolicyCookieBehavior enum value + CachePolicyCookieBehaviorAll = "all" +) + +const ( + // CachePolicyHeaderBehaviorNone is a CachePolicyHeaderBehavior enum value + CachePolicyHeaderBehaviorNone = "none" + + // CachePolicyHeaderBehaviorWhitelist is a CachePolicyHeaderBehavior enum value + CachePolicyHeaderBehaviorWhitelist = "whitelist" +) + +const ( + // CachePolicyQueryStringBehaviorNone is a CachePolicyQueryStringBehavior enum value + CachePolicyQueryStringBehaviorNone = "none" + + // CachePolicyQueryStringBehaviorWhitelist is a CachePolicyQueryStringBehavior enum value + CachePolicyQueryStringBehaviorWhitelist = "whitelist" + + // CachePolicyQueryStringBehaviorAllExcept is a CachePolicyQueryStringBehavior enum value + CachePolicyQueryStringBehaviorAllExcept = "allExcept" + + // CachePolicyQueryStringBehaviorAll is a CachePolicyQueryStringBehavior enum value + CachePolicyQueryStringBehaviorAll = "all" +) + +const ( + // CachePolicyTypeManaged is a CachePolicyType enum value + CachePolicyTypeManaged = "managed" + + // CachePolicyTypeCustom is a CachePolicyType enum value + CachePolicyTypeCustom = "custom" +) + const ( // CertificateSourceCloudfront is a CertificateSource enum value CertificateSourceCloudfront = "cloudfront" @@ -15396,6 +19547,9 @@ const ( // MinimumProtocolVersionTlsv122018 is a MinimumProtocolVersion enum value MinimumProtocolVersionTlsv122018 = "TLSv1.2_2018" + + // MinimumProtocolVersionTlsv122019 is a MinimumProtocolVersion enum value + MinimumProtocolVersionTlsv122019 = "TLSv1.2_2019" ) const ( @@ -15409,6 +19563,50 @@ const ( OriginProtocolPolicyHttpsOnly = "https-only" ) +const ( + // OriginRequestPolicyCookieBehaviorNone is a OriginRequestPolicyCookieBehavior enum value + OriginRequestPolicyCookieBehaviorNone = "none" + + // OriginRequestPolicyCookieBehaviorWhitelist is a OriginRequestPolicyCookieBehavior enum value + OriginRequestPolicyCookieBehaviorWhitelist = "whitelist" + + // OriginRequestPolicyCookieBehaviorAll is a OriginRequestPolicyCookieBehavior enum value + OriginRequestPolicyCookieBehaviorAll = "all" +) + +const ( + // OriginRequestPolicyHeaderBehaviorNone is a OriginRequestPolicyHeaderBehavior enum value + OriginRequestPolicyHeaderBehaviorNone = "none" + + // OriginRequestPolicyHeaderBehaviorWhitelist is a OriginRequestPolicyHeaderBehavior enum value + OriginRequestPolicyHeaderBehaviorWhitelist = "whitelist" + + // OriginRequestPolicyHeaderBehaviorAllViewer is a OriginRequestPolicyHeaderBehavior enum value + OriginRequestPolicyHeaderBehaviorAllViewer = "allViewer" + + // OriginRequestPolicyHeaderBehaviorAllViewerAndWhitelistCloudFront is a OriginRequestPolicyHeaderBehavior enum value + OriginRequestPolicyHeaderBehaviorAllViewerAndWhitelistCloudFront = "allViewerAndWhitelistCloudFront" +) + +const ( + // OriginRequestPolicyQueryStringBehaviorNone is a OriginRequestPolicyQueryStringBehavior enum value + OriginRequestPolicyQueryStringBehaviorNone = "none" + + // OriginRequestPolicyQueryStringBehaviorWhitelist is a OriginRequestPolicyQueryStringBehavior enum value + OriginRequestPolicyQueryStringBehaviorWhitelist = "whitelist" + + // OriginRequestPolicyQueryStringBehaviorAll is a OriginRequestPolicyQueryStringBehavior enum value + OriginRequestPolicyQueryStringBehaviorAll = "all" +) + +const ( + // OriginRequestPolicyTypeManaged is a OriginRequestPolicyType enum value + OriginRequestPolicyTypeManaged = "managed" + + // OriginRequestPolicyTypeCustom is a OriginRequestPolicyType enum value + OriginRequestPolicyTypeCustom = "custom" +) + const ( // PriceClassPriceClass100 is a PriceClass enum value PriceClassPriceClass100 = "PriceClass_100" diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/doc.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/doc.go index fb197f85b21..c9f335dd4da 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/doc.go @@ -8,7 +8,7 @@ // errors. For detailed information about CloudFront features, see the Amazon // CloudFront Developer Guide. // -// See https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26 for more information on this service. +// See https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31 for more information on this service. // // See cloudfront package documentation for more information. // https://docs.aws.amazon.com/sdk-for-go/api/service/cloudfront/ diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/errors.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/errors.go index 827ff5f7eba..533ff29608d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/errors.go @@ -22,6 +22,20 @@ const ( // The CNAME specified is already defined for CloudFront. ErrCodeCNAMEAlreadyExists = "CNAMEAlreadyExists" + // ErrCodeCachePolicyAlreadyExists for service response error code + // "CachePolicyAlreadyExists". + // + // A cache policy with this name already exists. You must provide a unique name. + // To modify an existing cache policy, use UpdateCachePolicy. + ErrCodeCachePolicyAlreadyExists = "CachePolicyAlreadyExists" + + // ErrCodeCachePolicyInUse for service response error code + // "CachePolicyInUse". + // + // Cannot delete the cache policy because it is attached to one or more cache + // behaviors. + ErrCodeCachePolicyInUse = "CachePolicyInUse" + // ErrCodeCannotChangeImmutablePublicKeyFields for service response error code // "CannotChangeImmutablePublicKeyFields". // @@ -72,6 +86,12 @@ const ( // The maximum size of a profile for field-level encryption was exceeded. ErrCodeFieldLevelEncryptionProfileSizeExceeded = "FieldLevelEncryptionProfileSizeExceeded" + // ErrCodeIllegalDelete for service response error code + // "IllegalDelete". + // + // You cannot delete a managed policy. + ErrCodeIllegalDelete = "IllegalDelete" + // ErrCodeIllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior for service response error code // "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior". // @@ -82,7 +102,7 @@ const ( // ErrCodeIllegalUpdate for service response error code // "IllegalUpdate". // - // Origin and CallerReference cannot be updated. + // The update contains modifications that are not allowed. ErrCodeIllegalUpdate = "IllegalUpdate" // ErrCodeInconsistentQuantities for service response error code @@ -94,7 +114,7 @@ const ( // ErrCodeInvalidArgument for service response error code // "InvalidArgument". // - // The argument is invalid. + // An argument is invalid. ErrCodeInvalidArgument = "InvalidArgument" // ErrCodeInvalidDefaultRootObject for service response error code @@ -133,7 +153,7 @@ const ( // ErrCodeInvalidIfMatchVersion for service response error code // "InvalidIfMatchVersion". // - // The If-Match version is missing or not valid for the distribution. + // The If-Match version is missing or not valid. ErrCodeInvalidIfMatchVersion = "InvalidIfMatchVersion" // ErrCodeInvalidLambdaFunctionAssociation for service response error code @@ -247,6 +267,12 @@ const ( // header is set. ErrCodeMissingBody = "MissingBody" + // ErrCodeNoSuchCachePolicy for service response error code + // "NoSuchCachePolicy". + // + // The cache policy does not exist. + ErrCodeNoSuchCachePolicy = "NoSuchCachePolicy" + // ErrCodeNoSuchCloudFrontOriginAccessIdentity for service response error code // "NoSuchCloudFrontOriginAccessIdentity". // @@ -283,6 +309,12 @@ const ( // No origin exists with the specified Origin Id. ErrCodeNoSuchOrigin = "NoSuchOrigin" + // ErrCodeNoSuchOriginRequestPolicy for service response error code + // "NoSuchOriginRequestPolicy". + // + // The origin request policy does not exist. + ErrCodeNoSuchOriginRequestPolicy = "NoSuchOriginRequestPolicy" + // ErrCodeNoSuchPublicKey for service response error code // "NoSuchPublicKey". // @@ -316,10 +348,24 @@ const ( // The Origin Access Identity specified is already in use. ErrCodeOriginAccessIdentityInUse = "CloudFrontOriginAccessIdentityInUse" + // ErrCodeOriginRequestPolicyAlreadyExists for service response error code + // "OriginRequestPolicyAlreadyExists". + // + // An origin request policy with this name already exists. You must provide + // a unique name. To modify an existing origin request policy, use UpdateOriginRequestPolicy. + ErrCodeOriginRequestPolicyAlreadyExists = "OriginRequestPolicyAlreadyExists" + + // ErrCodeOriginRequestPolicyInUse for service response error code + // "OriginRequestPolicyInUse". + // + // Cannot delete the origin request policy because it is attached to one or + // more cache behaviors. + ErrCodeOriginRequestPolicyInUse = "OriginRequestPolicyInUse" + // ErrCodePreconditionFailed for service response error code // "PreconditionFailed". // - // The precondition given in one or more of the request-header fields evaluated + // The precondition given in one or more of the request header fields evaluated // to false. ErrCodePreconditionFailed = "PreconditionFailed" @@ -361,6 +407,14 @@ const ( // You cannot create more cache behaviors for the distribution. ErrCodeTooManyCacheBehaviors = "TooManyCacheBehaviors" + // ErrCodeTooManyCachePolicies for service response error code + // "TooManyCachePolicies". + // + // You have reached the maximum number of cache policies for this AWS account. + // For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyCachePolicies = "TooManyCachePolicies" + // ErrCodeTooManyCertificates for service response error code // "TooManyCertificates". // @@ -381,6 +435,22 @@ const ( // per cache behavior. ErrCodeTooManyCookieNamesInWhiteList = "TooManyCookieNamesInWhiteList" + // ErrCodeTooManyCookiesInCachePolicy for service response error code + // "TooManyCookiesInCachePolicy". + // + // The number of cookies in the cache policy exceeds the maximum. For more information, + // see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyCookiesInCachePolicy = "TooManyCookiesInCachePolicy" + + // ErrCodeTooManyCookiesInOriginRequestPolicy for service response error code + // "TooManyCookiesInOriginRequestPolicy". + // + // The number of cookies in the origin request policy exceeds the maximum. For + // more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyCookiesInOriginRequestPolicy = "TooManyCookiesInOriginRequestPolicy" + // ErrCodeTooManyDistributionCNAMEs for service response error code // "TooManyDistributionCNAMEs". // @@ -394,6 +464,14 @@ const ( // allowed. ErrCodeTooManyDistributions = "TooManyDistributions" + // ErrCodeTooManyDistributionsAssociatedToCachePolicy for service response error code + // "TooManyDistributionsAssociatedToCachePolicy". + // + // The maximum number of distributions have been associated with the specified + // cache policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyDistributionsAssociatedToCachePolicy = "TooManyDistributionsAssociatedToCachePolicy" + // ErrCodeTooManyDistributionsAssociatedToFieldLevelEncryptionConfig for service response error code // "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig". // @@ -401,6 +479,14 @@ const ( // configuration for field-level encryption. ErrCodeTooManyDistributionsAssociatedToFieldLevelEncryptionConfig = "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig" + // ErrCodeTooManyDistributionsAssociatedToOriginRequestPolicy for service response error code + // "TooManyDistributionsAssociatedToOriginRequestPolicy". + // + // The maximum number of distributions have been associated with the specified + // origin request policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyDistributionsAssociatedToOriginRequestPolicy = "TooManyDistributionsAssociatedToOriginRequestPolicy" + // ErrCodeTooManyDistributionsWithLambdaAssociations for service response error code // "TooManyDistributionsWithLambdaAssociations". // @@ -408,6 +494,13 @@ const ( // Lambda function associations per owner to be exceeded. ErrCodeTooManyDistributionsWithLambdaAssociations = "TooManyDistributionsWithLambdaAssociations" + // ErrCodeTooManyDistributionsWithSingleFunctionARN for service response error code + // "TooManyDistributionsWithSingleFunctionARN". + // + // The maximum number of distributions have been associated with the specified + // Lambda function. + ErrCodeTooManyDistributionsWithSingleFunctionARN = "TooManyDistributionsWithSingleFunctionARN" + // ErrCodeTooManyFieldLevelEncryptionConfigs for service response error code // "TooManyFieldLevelEncryptionConfigs". // @@ -449,12 +542,28 @@ const ( // been created. ErrCodeTooManyFieldLevelEncryptionQueryArgProfiles = "TooManyFieldLevelEncryptionQueryArgProfiles" + // ErrCodeTooManyHeadersInCachePolicy for service response error code + // "TooManyHeadersInCachePolicy". + // + // The number of headers in the cache policy exceeds the maximum. For more information, + // see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyHeadersInCachePolicy = "TooManyHeadersInCachePolicy" + // ErrCodeTooManyHeadersInForwardedValues for service response error code // "TooManyHeadersInForwardedValues". // // Your request contains too many headers in forwarded values. ErrCodeTooManyHeadersInForwardedValues = "TooManyHeadersInForwardedValues" + // ErrCodeTooManyHeadersInOriginRequestPolicy for service response error code + // "TooManyHeadersInOriginRequestPolicy". + // + // The number of headers in the origin request policy exceeds the maximum. For + // more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyHeadersInOriginRequestPolicy = "TooManyHeadersInOriginRequestPolicy" + // ErrCodeTooManyInvalidationsInProgress for service response error code // "TooManyInvalidationsInProgress". // @@ -482,6 +591,14 @@ const ( // groups allowed. ErrCodeTooManyOriginGroupsPerDistribution = "TooManyOriginGroupsPerDistribution" + // ErrCodeTooManyOriginRequestPolicies for service response error code + // "TooManyOriginRequestPolicies". + // + // You have reached the maximum number of origin request policies for this AWS + // account. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyOriginRequestPolicies = "TooManyOriginRequestPolicies" + // ErrCodeTooManyOrigins for service response error code // "TooManyOrigins". // @@ -501,6 +618,22 @@ const ( // Your request contains too many query string parameters. ErrCodeTooManyQueryStringParameters = "TooManyQueryStringParameters" + // ErrCodeTooManyQueryStringsInCachePolicy for service response error code + // "TooManyQueryStringsInCachePolicy". + // + // The number of query strings in the cache policy exceeds the maximum. For + // more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyQueryStringsInCachePolicy = "TooManyQueryStringsInCachePolicy" + + // ErrCodeTooManyQueryStringsInOriginRequestPolicy for service response error code + // "TooManyQueryStringsInOriginRequestPolicy". + // + // The number of query strings in the origin request policy exceeds the maximum. + // For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyQueryStringsInOriginRequestPolicy = "TooManyQueryStringsInOriginRequestPolicy" + // ErrCodeTooManyStreamingDistributionCNAMEs for service response error code // "TooManyStreamingDistributionCNAMEs". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/service.go b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/service.go index be2ca42f187..28338550858 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudfront/service.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudfront/service.go @@ -63,7 +63,7 @@ func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, SigningRegion: signingRegion, PartitionID: partitionID, Endpoint: endpoint, - APIVersion: "2019-03-26", + APIVersion: "2020-05-31", }, handlers, ), diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/api.go index 56b3c461c6d..b86f0fcea8d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/api.go @@ -85,6 +85,8 @@ func (c *CloudHSMV2) CopyBackupToRegionRequest(input *CopyBackupToRegionInput) ( // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CopyBackupToRegion func (c *CloudHSMV2) CopyBackupToRegion(input *CopyBackupToRegionInput) (*CopyBackupToRegionOutput, error) { @@ -180,6 +182,8 @@ func (c *CloudHSMV2) CreateClusterRequest(input *CreateClusterInput) (req *reque // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CreateCluster func (c *CloudHSMV2) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { @@ -466,6 +470,8 @@ func (c *CloudHSMV2) DeleteClusterRequest(input *DeleteClusterInput) (req *reque // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DeleteCluster func (c *CloudHSMV2) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { @@ -670,6 +676,8 @@ func (c *CloudHSMV2) DescribeBackupsRequest(input *DescribeBackupsInput) (req *r // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeBackups func (c *CloudHSMV2) DescribeBackups(input *DescribeBackupsInput) (*DescribeBackupsOutput, error) { @@ -827,6 +835,8 @@ func (c *CloudHSMV2) DescribeClustersRequest(input *DescribeClustersInput) (req // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeClusters func (c *CloudHSMV2) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { @@ -1082,6 +1092,8 @@ func (c *CloudHSMV2) ListTagsRequest(input *ListTagsInput) (req *request.Request // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/ListTags func (c *CloudHSMV2) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { @@ -1324,6 +1336,8 @@ func (c *CloudHSMV2) TagResourceRequest(input *TagResourceInput) (req *request.R // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/TagResource func (c *CloudHSMV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { @@ -1420,6 +1434,8 @@ func (c *CloudHSMV2) UntagResourceRequest(input *UntagResourceInput) (req *reque // The request was rejected because an error occurred. // // * CloudHsmTagException +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/UntagResource func (c *CloudHSMV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { @@ -1476,13 +1492,14 @@ type Backup struct { SourceBackup *string `type:"string"` // The identifier (ID) of the cluster containing the source backup from which - // the new backup was copied. . + // the new backup was copied. SourceCluster *string `type:"string"` - // The AWS region that contains the source backup from which the new backup + // The AWS Region that contains the source backup from which the new backup // was copied. SourceRegion *string `type:"string"` + // The list of tags for the backup. TagList []*Tag `min:"1" type:"list"` } @@ -1900,6 +1917,8 @@ func (s *CloudHsmServiceException) RequestID() string { return s.RespMetadata.RequestID } +// The request was rejected because of a tagging failure. Verify the tag conditions +// in all applicable policies, and then retry the request. type CloudHsmTagException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -1997,6 +2016,7 @@ type Cluster struct { // zone. SubnetMapping map[string]*string `type:"map"` + // The list of tags for the cluster. TagList []*Tag `min:"1" type:"list"` // The identifier (ID) of the virtual private cloud (VPC) that contains the @@ -2111,6 +2131,10 @@ type CopyBackupToRegionInput struct { // DestinationRegion is a required field DestinationRegion *string `type:"string" required:"true"` + // Tags to apply to the destination backup during creation. If you specify tags, + // only these tags will be applied to the destination backup. If you do not + // specify tags, the service copies tags from the source backup to the destination + // backup. TagList []*Tag `min:"1" type:"list"` } @@ -2226,6 +2250,7 @@ type CreateClusterInput struct { // SubnetIds is a required field SubnetIds []*string `min:"1" type:"list" required:"true"` + // Tags to apply to the CloudHSM cluster during creation. TagList []*Tag `min:"1" type:"list"` } diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/errors.go b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/errors.go index a99c421f3f4..9f72ea42eaf 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudhsmv2/errors.go @@ -42,6 +42,9 @@ const ( // ErrCodeCloudHsmTagException for service response error code // "CloudHsmTagException". + // + // The request was rejected because of a tagging failure. Verify the tag conditions + // in all applicable policies, and then retry the request. ErrCodeCloudHsmTagException = "CloudHsmTagException" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go index 635d88c5b8e..5d7f1bb2a4f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatch/api.go @@ -246,7 +246,7 @@ func (c *CloudWatch) DeleteDashboardsRequest(input *DeleteDashboardsInput) (req // DeleteDashboards API operation for Amazon CloudWatch. // -// Deletes all dashboards that you specify. You may specify up to 100 dashboards +// Deletes all dashboards that you specify. You can specify up to 100 dashboards // to delete. If there is an error during this call, no dashboards are deleted. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -335,8 +335,7 @@ func (c *CloudWatch) DeleteInsightRulesRequest(input *DeleteInsightRulesInput) ( // Permanently deletes the specified Contributor Insights rules. // // If you create a rule, delete it, and then re-create it with the same name, -// historical data from the first time the rule was created may or may not be -// available. +// historical data from the first time the rule was created might not be available. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1420,7 +1419,7 @@ func (c *CloudWatch) GetInsightRuleReportRequest(input *GetInsightRuleReportInpu // point. // // * MaxContributorValue -- the value of the top contributor for each data -// point. The identity of the contributor may change for each data point +// point. The identity of the contributor might change for each data point // in the graph. If this rule aggregates by COUNT, the top contributor for // each data point is the contributor with the most occurrences in that period. // If the rule aggregates by SUM, the top contributor is the contributor @@ -1569,9 +1568,9 @@ func (c *CloudWatch) GetMetricDataRequest(input *GetMetricDataInput) (req *reque // If you omit Unit in your request, all data that was collected with any unit // is returned, along with the corresponding units that were specified when // the data was reported to CloudWatch. If you specify a unit, the operation -// returns only data data that was collected with that unit specified. If you -// specify a unit that does not match the data collected, the results of the -// operation are null. CloudWatch does not perform unit conversions. +// returns only data that was collected with that unit specified. If you specify +// a unit that does not match the data collected, the results of the operation +// are null. CloudWatch does not perform unit conversions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2091,9 +2090,13 @@ func (c *CloudWatch) ListMetricsRequest(input *ListMetricsInput) (req *request.R // Up to 500 results are returned for any one call. To retrieve additional results, // use the returned token with subsequent calls. // -// After you create a metric, allow up to fifteen minutes before the metric -// appears. Statistics about the metric, however, are available sooner using -// GetMetricData (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) +// After you create a metric, allow up to 15 minutes before the metric appears. +// You can see statistics about the metric sooner by using GetMetricData (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) +// or GetMetricStatistics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html). +// +// ListMetrics doesn't return information about metrics if those metrics haven't +// reported data in the past two weeks. To retrieve those metrics, use GetMetricData +// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html) // or GetMetricStatistics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2630,8 +2633,7 @@ func (c *CloudWatch) PutInsightRuleRequest(input *PutInsightRuleInput) (req *req // Analyze High-Cardinality Data (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights.html). // // If you create a rule, delete it, and then re-create it with the same name, -// historical data from the first time the rule was created may or may not be -// available. +// historical data from the first time the rule was created might not be available. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2982,8 +2984,8 @@ func (c *CloudWatch) SetAlarmStateRequest(input *SetAlarmStateInput) (req *reque // DescribeAlarmHistory (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmHistory.html). // // If you use SetAlarmState on a composite alarm, the composite alarm is not -// guaranteed to return to its actual state. It will return to its actual state -// only once any of its children alarms change state. It is also re-evaluated +// guaranteed to return to its actual state. It returns to its actual state +// only once any of its children alarms change state. It is also reevaluated // if you update its configuration. // // If an alarm triggers EC2 Auto Scaling policies or application Auto Scaling @@ -3076,7 +3078,7 @@ func (c *CloudWatch) TagResourceRequest(input *TagResourceInput) (req *request.R // Contributor Insights rules. // // Tags can help you organize and categorize your resources. You can also use -// them to scope user permissions, by granting a user permission to access or +// them to scope user permissions by granting a user permission to access or // change only resources with certain tag values. // // Tags don't have any semantic meaning to AWS and are interpreted strictly @@ -4321,8 +4323,8 @@ type DescribeAlarmsInput struct { // is not returned. // // If you specify ChildrenOfAlarmName, you cannot specify any other parameters - // in the request except for MaxRecords and NextToken. If you do so, you will - // receive a validation error. + // in the request except for MaxRecords and NextToken. If you do so, you receive + // a validation error. // // Only the Alarm Name, ARN, StateValue (OK/ALARM/INSUFFICIENT_DATA), and StateUpdatedTimestamp // information are returned by this operation when you use this parameter. To @@ -4344,8 +4346,8 @@ type DescribeAlarmsInput struct { // alarm that you specify in ParentsOfAlarmName is not returned. // // If you specify ParentsOfAlarmName, you cannot specify any other parameters - // in the request except for MaxRecords and NextToken. If you do so, you will - // receive a validation error. + // in the request except for MaxRecords and NextToken. If you do so, you receive + // a validation error. // // Only the Alarm Name and ARN are returned by this operation when you use this // parameter. To get complete information about these alarms, perform another @@ -4624,7 +4626,7 @@ type DescribeInsightRulesInput struct { _ struct{} `type:"structure"` // This parameter is not currently used. Reserved for future use. If it is used - // in the future, the maximum value may be different. + // in the future, the maximum value might be different. MaxResults *int64 `min:"1" type:"integer"` // Reserved for future use. @@ -4698,16 +4700,20 @@ func (s *DescribeInsightRulesOutput) SetNextToken(v string) *DescribeInsightRule return s } -// Expands the identity of a metric. +// A dimension is a name/value pair that is part of the identity of a metric. +// You can assign up to 10 dimensions to a metric. Because dimensions are part +// of the unique identifier for a metric, whenever you add a unique name/value +// pair to one of your metrics, you are creating a new variation of that metric. type Dimension struct { _ struct{} `type:"structure"` - // The name of the dimension. + // The name of the dimension. Dimension names cannot contain blank spaces or + // non-ASCII characters. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The value representing the dimension measurement. + // The value of the dimension. // // Value is a required field Value *string `min:"1" type:"string" required:"true"` @@ -5142,7 +5148,7 @@ type GetInsightRuleReportInput struct { // point. // // * MaxContributorValue -- the value of the top contributor for each data - // point. The identity of the contributor may change for each data point + // point. The identity of the contributor might change for each data point // in the graph. If this rule aggregates by COUNT, the top contributor for // each data point is the contributor with the most occurrences in that period. // If the rule aggregates by SUM, the top contributor is the contributor @@ -5496,7 +5502,7 @@ type GetMetricDataOutput struct { _ struct{} `type:"structure"` // Contains a message about this GetMetricData operation, if the operation results - // in such a message. An example of a message that may be returned is Maximum + // in such a message. An example of a message that might be returned is Maximum // number of allowed metrics exceeded. If there is a message, as much of the // operation as possible is still executed. // @@ -5640,9 +5646,9 @@ type GetMetricStatisticsInput struct { // The unit for a given metric. If you omit Unit, all data that was collected // with any unit is returned, along with the corresponding units that were specified // when the data was reported to CloudWatch. If you specify a unit, the operation - // returns only data data that was collected with that unit specified. If you - // specify a unit that does not match the data collected, the results of the - // operation are null. CloudWatch does not perform unit conversions. + // returns only data that was collected with that unit specified. If you specify + // a unit that does not match the data collected, the results of the operation + // are null. CloudWatch does not perform unit conversions. Unit *string `type:"string" enum:"StandardUnit"` } @@ -5880,7 +5886,7 @@ func (s *GetMetricWidgetImageInput) SetOutputFormat(v string) *GetMetricWidgetIm type GetMetricWidgetImageOutput struct { _ struct{} `type:"structure"` - // The image of the graph, in the output format specified. + // The image of the graph, in the output format specified. The output is base64-encoded. // // MetricWidgetImage is automatically base64 encoded/decoded by the SDK. MetricWidgetImage []byte `type:"blob"` @@ -6263,6 +6269,15 @@ type ListMetricsInput struct { // The token returned by a previous call to indicate that there is more data // available. NextToken *string `type:"string"` + + // To filter the results to show only metrics that have had data points published + // in the past three hours, specify this parameter with a value of PT3H. This + // is the only valid value for this parameter. + // + // The results that are returned are an approximation of the value you specify. + // There is a low probability that the returned results include metrics with + // last published data as much as 40 minutes more than the specified time interval. + RecentlyActive *string `type:"string" enum:"RecentlyActive"` } // String returns the string representation @@ -6325,10 +6340,16 @@ func (s *ListMetricsInput) SetNextToken(v string) *ListMetricsInput { return s } +// SetRecentlyActive sets the RecentlyActive field's value. +func (s *ListMetricsInput) SetRecentlyActive(v string) *ListMetricsInput { + s.RecentlyActive = &v + return s +} + type ListMetricsOutput struct { _ struct{} `type:"structure"` - // The metrics. + // The metrics that match your request. Metrics []*Metric `type:"list"` // The token that marks the start of the next batch of returned results. @@ -6366,7 +6387,7 @@ type ListTagsForResourceInput struct { // // The ARN format of a Contributor Insights rule is arn:aws:cloudwatch:Region:account-id:insight-rule:insight-rule-name // - // For more information on ARN format, see Resource Types Defined by Amazon + // For more information about ARN format, see Resource Types Defined by Amazon // CloudWatch (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies) // in the Amazon Web Services General Reference. // @@ -7251,9 +7272,9 @@ type MetricStat struct { // In a Get operation, if you omit Unit then all data that was collected with // any unit is returned, along with the corresponding units that were specified // when the data was reported to CloudWatch. If you specify a unit, the operation - // returns only data data that was collected with that unit specified. If you - // specify a unit that does not match the data collected, the results of the - // operation are null. CloudWatch does not perform unit conversions. + // returns only data that was collected with that unit specified. If you specify + // a unit that does not match the data collected, the results of the operation + // are null. CloudWatch does not perform unit conversions. Unit *string `type:"string" enum:"StandardUnit"` } @@ -7512,8 +7533,7 @@ type PutCompositeAlarmInput struct { // The description for the composite alarm. AlarmDescription *string `type:"string"` - // The name for the composite alarm. This name must be unique within your AWS - // account. + // The name for the composite alarm. This name must be unique within the Region. // // AlarmName is a required field AlarmName *string `min:"1" type:"string" required:"true"` @@ -7767,7 +7787,7 @@ type PutDashboardOutput struct { // // If this result includes only warning messages, then the input was valid enough // for the dashboard to be created or modified, but some elements of the dashboard - // may not render. + // might not render. // // If this result includes error messages, the input was not valid and the operation // failed. @@ -7928,7 +7948,7 @@ type PutMetricAlarmInput struct { // The description for the alarm. AlarmDescription *string `type:"string"` - // The name for the alarm. This name must be unique within your AWS account. + // The name for the alarm. This name must be unique within the Region. // // AlarmName is a required field AlarmName *string `min:"1" type:"string" required:"true"` @@ -8045,7 +8065,7 @@ type PutMetricAlarmInput struct { // a metric that does not have sub-minute resolution, the alarm still attempts // to gather data at the period rate that you specify. In this case, it does // not receive data for the attempts that do not correspond to a one-minute - // data resolution, and the alarm may often lapse into INSUFFICENT_DATA status. + // data resolution, and the alarm might often lapse into INSUFFICENT_DATA status. // Specifying 10 or 30 also sets this alarm as a high-resolution alarm, which // has a higher charge than other alarms. For more information about pricing, // see Amazon CloudWatch Pricing (https://aws.amazon.com/cloudwatch/pricing/). @@ -8064,7 +8084,7 @@ type PutMetricAlarmInput struct { // as many as 50 tags with an alarm. // // Tags can help you organize and categorize your resources. You can also use - // them to scope user permissions, by granting a user permission to access or + // them to scope user permissions by granting a user permission to access or // change only resources with certain tag values. Tags []*Tag `type:"list"` @@ -8098,12 +8118,12 @@ type PutMetricAlarmInput struct { // Percent, are aggregated separately. // // If you don't specify Unit, CloudWatch retrieves all unit types that have - // been published for the metric and attempts to evaluate the alarm. Usually - // metrics are published with only one unit, so the alarm will work as intended. + // been published for the metric and attempts to evaluate the alarm. Usually, + // metrics are published with only one unit, so the alarm works as intended. // // However, if the metric is published with multiple types of units and you - // don't specify a unit, the alarm's behavior is not defined and will behave - // un-predictably. + // don't specify a unit, the alarm's behavior is not defined and it behaves + // predictably. // // We recommend omitting Unit so that you don't inadvertently specify an incorrect // unit that is not published for this metric. Doing so causes the alarm to @@ -8485,8 +8505,7 @@ func (s *Range) SetStartTime(v time.Time) *Range { type SetAlarmStateInput struct { _ struct{} `type:"structure"` - // The name for the alarm. This name must be unique within the AWS account. - // The maximum length is 255 characters. + // The name of the alarm. // // AlarmName is a required field AlarmName *string `min:"1" type:"string" required:"true"` @@ -8726,7 +8745,7 @@ type TagResourceInput struct { // // The ARN format of a Contributor Insights rule is arn:aws:cloudwatch:Region:account-id:insight-rule:insight-rule-name // - // For more information on ARN format, see Resource Types Defined by Amazon + // For more information about ARN format, see Resource Types Defined by Amazon // CloudWatch (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies) // in the Amazon Web Services General Reference. // @@ -8813,7 +8832,7 @@ type UntagResourceInput struct { // // The ARN format of a Contributor Insights rule is arn:aws:cloudwatch:Region:account-id:insight-rule:insight-rule-name // - // For more information on ARN format, see Resource Types Defined by Amazon + // For more information about ARN format, see Resource Types Defined by Amazon // CloudWatch (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatch.html#amazoncloudwatch-resources-for-iam-policies) // in the Amazon Web Services General Reference. // @@ -8934,6 +8953,11 @@ const ( HistoryItemTypeAction = "Action" ) +const ( + // RecentlyActivePt3h is a RecentlyActive enum value + RecentlyActivePt3h = "PT3H" +) + const ( // ScanByTimestampDescending is a ScanBy enum value ScanByTimestampDescending = "TimestampDescending" diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go index 2069fda2168..afcd2604448 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/api.go @@ -81,6 +81,9 @@ func (c *CloudWatchEvents) ActivateEventSourceRequest(input *ActivateEventSource // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ActivateEventSource func (c *CloudWatchEvents) ActivateEventSource(input *ActivateEventSourceInput) (*ActivateEventSourceOutput, error) { req, out := c.ActivateEventSourceRequest(input) @@ -178,6 +181,9 @@ func (c *CloudWatchEvents) CreateEventBusRequest(input *CreateEventBusInput) (re // * LimitExceededException // You tried to create more rules or add more targets to a rule than is allowed. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreateEventBus func (c *CloudWatchEvents) CreateEventBus(input *CreateEventBusInput) (*CreateEventBusOutput, error) { req, out := c.CreateEventBusRequest(input) @@ -290,6 +296,9 @@ func (c *CloudWatchEvents) CreatePartnerEventSourceRequest(input *CreatePartnerE // * LimitExceededException // You tried to create more rules or add more targets to a rule than is allowed. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/CreatePartnerEventSource func (c *CloudWatchEvents) CreatePartnerEventSource(input *CreatePartnerEventSourceInput) (*CreatePartnerEventSourceOutput, error) { req, out := c.CreatePartnerEventSourceRequest(input) @@ -385,6 +394,9 @@ func (c *CloudWatchEvents) DeactivateEventSourceRequest(input *DeactivateEventSo // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeactivateEventSource func (c *CloudWatchEvents) DeactivateEventSource(input *DeactivateEventSourceInput) (*DeactivateEventSourceOutput, error) { req, out := c.DeactivateEventSourceRequest(input) @@ -557,6 +569,9 @@ func (c *CloudWatchEvents) DeletePartnerEventSourceRequest(input *DeletePartnerE // * ConcurrentModificationException // There is concurrent modification on a rule or target. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DeletePartnerEventSource func (c *CloudWatchEvents) DeletePartnerEventSource(input *DeletePartnerEventSourceInput) (*DeletePartnerEventSourceOutput, error) { req, out := c.DeletePartnerEventSourceRequest(input) @@ -835,6 +850,9 @@ func (c *CloudWatchEvents) DescribeEventSourceRequest(input *DescribeEventSource // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribeEventSource func (c *CloudWatchEvents) DescribeEventSource(input *DescribeEventSourceInput) (*DescribeEventSourceOutput, error) { req, out := c.DescribeEventSourceRequest(input) @@ -920,6 +938,9 @@ func (c *CloudWatchEvents) DescribePartnerEventSourceRequest(input *DescribePart // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/DescribePartnerEventSource func (c *CloudWatchEvents) DescribePartnerEventSource(input *DescribePartnerEventSourceInput) (*DescribePartnerEventSourceOutput, error) { req, out := c.DescribePartnerEventSourceRequest(input) @@ -1362,6 +1383,9 @@ func (c *CloudWatchEvents) ListEventSourcesRequest(input *ListEventSourcesInput) // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListEventSources func (c *CloudWatchEvents) ListEventSources(input *ListEventSourcesInput) (*ListEventSourcesOutput, error) { req, out := c.ListEventSourcesRequest(input) @@ -1446,6 +1470,9 @@ func (c *CloudWatchEvents) ListPartnerEventSourceAccountsRequest(input *ListPart // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListPartnerEventSourceAccounts func (c *CloudWatchEvents) ListPartnerEventSourceAccounts(input *ListPartnerEventSourceAccountsInput) (*ListPartnerEventSourceAccountsOutput, error) { req, out := c.ListPartnerEventSourceAccountsRequest(input) @@ -1526,6 +1553,9 @@ func (c *CloudWatchEvents) ListPartnerEventSourcesRequest(input *ListPartnerEven // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ListPartnerEventSources func (c *CloudWatchEvents) ListPartnerEventSources(input *ListPartnerEventSourcesInput) (*ListPartnerEventSourcesOutput, error) { req, out := c.ListPartnerEventSourcesRequest(input) @@ -2020,6 +2050,9 @@ func (c *CloudWatchEvents) PutPartnerEventsRequest(input *PutPartnerEventsInput) // * InternalException // This exception occurs due to unexpected causes. // +// * OperationDisabledException +// The operation you are attempting is not available in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/PutPartnerEvents func (c *CloudWatchEvents) PutPartnerEvents(input *PutPartnerEventsInput) (*PutPartnerEventsOutput, error) { req, out := c.PutPartnerEventsRequest(input) @@ -2088,8 +2121,9 @@ func (c *CloudWatchEvents) PutPermissionRequest(input *PutPermissionInput) (req // PutPermission API operation for Amazon CloudWatch Events. // // Running PutPermission permits the specified AWS account or AWS organization -// to put events to the specified event bus. CloudWatch Events rules in your -// account are triggered by these events arriving to an event bus in your account. +// to put events to the specified event bus. Amazon EventBridge (CloudWatch +// Events) rules in your account are triggered by these events arriving to an +// event bus in your account. // // For another account to send events to your account, that external account // must have an EventBridge rule with your account's event bus as a target. @@ -2383,6 +2417,8 @@ func (c *CloudWatchEvents) PutTargetsRequest(input *PutTargetsInput) (req *reque // // * The default event bus of another AWS account // +// * Amazon API Gateway REST APIs +// // Creating rules with built-in targets is supported only in the AWS Management // Console. The built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances // API call, EC2 StopInstances API call, and EC2 TerminateInstances API call. @@ -2393,12 +2429,13 @@ func (c *CloudWatchEvents) PutTargetsRequest(input *PutTargetsInput) (req *reque // on multiple EC2 instances with one rule, you can use the RunCommandParameters // field. // -// To be able to make API calls against the resources that you own, Amazon CloudWatch -// Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, -// EventBridge relies on resource-based policies. For EC2 instances, Kinesis -// data streams, and AWS Step Functions state machines, EventBridge relies on -// IAM roles that you specify in the RoleARN argument in PutTargets. For more -// information, see Authentication and Access Control (https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html) +// To be able to make API calls against the resources that you own, Amazon EventBridge +// (CloudWatch Events) needs the appropriate permissions. For AWS Lambda and +// Amazon SNS resources, EventBridge relies on resource-based policies. For +// EC2 instances, Kinesis data streams, AWS Step Functions state machines and +// API Gateway REST APIs, EventBridge relies on IAM roles that you specify in +// the RoleARN argument in PutTargets. For more information, see Authentication +// and Access Control (https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html) // in the Amazon EventBridge User Guide. // // If another AWS account is in the same region and has granted you permission @@ -2408,7 +2445,8 @@ func (c *CloudWatchEvents) PutTargetsRequest(input *PutTargetsInput) (req *reque // you run PutTargets. If your account sends events to another account, your // account is charged for each sent event. Each event sent to another account // is charged as a custom event. The account receiving the event is not charged. -// For more information, see Amazon CloudWatch Pricing (https://aws.amazon.com/cloudwatch/pricing/). +// For more information, see Amazon EventBridge (CloudWatch Events) Pricing +// (https://aws.amazon.com/eventbridge/pricing/). // // Input, InputPath, and InputTransformer are not available with PutTarget if // the target is an event bus of a different AWS account. @@ -2936,8 +2974,8 @@ func (c *CloudWatchEvents) UntagResourceRequest(input *UntagResourceInput) (req // UntagResource API operation for Amazon CloudWatch Events. // -// Removes one or more tags from the specified EventBridge resource. In CloudWatch -// Events, rules and event buses can be tagged. +// Removes one or more tags from the specified EventBridge resource. In Amazon +// EventBridge (CloudWatch Events, rules and event buses can be tagged. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4611,6 +4649,52 @@ func (s *EventSource) SetState(v string) *EventSource { return s } +// These are custom parameter to be used when the target is an API Gateway REST +// APIs. +type HttpParameters struct { + _ struct{} `type:"structure"` + + // The headers that need to be sent as part of request invoking the API Gateway + // REST API. + HeaderParameters map[string]*string `type:"map"` + + // The path parameter values to be used to populate API Gateway REST API path + // wildcards ("*"). + PathParameterValues []*string `type:"list"` + + // The query string keys/values that need to be sent as part of request invoking + // the API Gateway REST API. + QueryStringParameters map[string]*string `type:"map"` +} + +// String returns the string representation +func (s HttpParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpParameters) GoString() string { + return s.String() +} + +// SetHeaderParameters sets the HeaderParameters field's value. +func (s *HttpParameters) SetHeaderParameters(v map[string]*string) *HttpParameters { + s.HeaderParameters = v + return s +} + +// SetPathParameterValues sets the PathParameterValues field's value. +func (s *HttpParameters) SetPathParameterValues(v []*string) *HttpParameters { + s.PathParameterValues = v + return s +} + +// SetQueryStringParameters sets the QueryStringParameters field's value. +func (s *HttpParameters) SetQueryStringParameters(v map[string]*string) *HttpParameters { + s.QueryStringParameters = v + return s +} + // Contains the parameters needed for you to provide custom input to a target // based on one or more pieces of data extracted from the event. type InputTransformer struct { @@ -5863,6 +5947,62 @@ func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *N return s } +// The operation you are attempting is not available in this region. +type OperationDisabledException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s OperationDisabledException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OperationDisabledException) GoString() string { + return s.String() +} + +func newErrorOperationDisabledException(v protocol.ResponseMetadata) error { + return &OperationDisabledException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *OperationDisabledException) Code() string { + return "OperationDisabledException" +} + +// Message returns the exception's message. +func (s *OperationDisabledException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *OperationDisabledException) OrigErr() error { + return nil +} + +func (s *OperationDisabledException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *OperationDisabledException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *OperationDisabledException) RequestID() string { + return s.RespMetadata.RequestID +} + // A partner event source is created by an SaaS partner. If a customer creates // a partner event bus that matches this event source, that AWS account can // receive events from the partner's applications or services. @@ -7611,6 +7751,14 @@ type Target struct { // in the Amazon EC2 Container Service Developer Guide. EcsParameters *EcsParameters `type:"structure"` + // Contains the HTTP parameters to use when the target is a API Gateway REST + // endpoint. + // + // If you specify an API Gateway REST API as a target, you can use this parameter + // to specify headers, path parameter, query string keys/values as part of your + // target invoking request. + HttpParameters *HttpParameters `type:"structure"` + // The ID of the target. // // Id is a required field @@ -7729,6 +7877,12 @@ func (s *Target) SetEcsParameters(v *EcsParameters) *Target { return s } +// SetHttpParameters sets the HttpParameters field's value. +func (s *Target) SetHttpParameters(v *HttpParameters) *Target { + s.HttpParameters = v + return s +} + // SetId sets the Id field's value. func (s *Target) SetId(v string) *Target { s.Id = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/errors.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/errors.go index 059007e401b..9de2a8c22a6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchevents/errors.go @@ -49,6 +49,12 @@ const ( // or UntagResource. ErrCodeManagedRuleException = "ManagedRuleException" + // ErrCodeOperationDisabledException for service response error code + // "OperationDisabledException". + // + // The operation you are attempting is not available in this region. + ErrCodeOperationDisabledException = "OperationDisabledException" + // ErrCodePolicyLengthExceededException for service response error code // "PolicyLengthExceededException". // @@ -75,6 +81,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidStateException": newErrorInvalidStateException, "LimitExceededException": newErrorLimitExceededException, "ManagedRuleException": newErrorManagedRuleException, + "OperationDisabledException": newErrorOperationDisabledException, "PolicyLengthExceededException": newErrorPolicyLengthExceededException, "ResourceAlreadyExistsException": newErrorResourceAlreadyExistsException, "ResourceNotFoundException": newErrorResourceNotFoundException, diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go index b629ace9dd1..6ea344e5e52 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/api.go @@ -258,9 +258,10 @@ func (c *CloudWatchLogs) CreateExportTaskRequest(input *CreateExportTaskInput) ( // // This is an asynchronous call. If all the required information is provided, // this operation initiates an export task and responds with the ID of the task. -// After the task has started, you can use DescribeExportTasks to get the status -// of the export task. Each account can only have one active (RUNNING or PENDING) -// export task at a time. To cancel an export task, use CancelExportTask. +// After the task has started, you can use DescribeExportTasks (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeExportTasks.html) +// to get the status of the export task. Each account can only have one active +// (RUNNING or PENDING) export task at a time. To cancel an export task, use +// CancelExportTask (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CancelExportTask.html). // // You can export logs from multiple log groups or multiple time ranges to the // same S3 bucket. To separate out log data for each export task, you can specify @@ -896,6 +897,89 @@ func (c *CloudWatchLogs) DeleteMetricFilterWithContext(ctx aws.Context, input *D return out, req.Send() } +const opDeleteQueryDefinition = "DeleteQueryDefinition" + +// DeleteQueryDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteQueryDefinition operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteQueryDefinition for more information on using the DeleteQueryDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteQueryDefinitionRequest method. +// req, resp := client.DeleteQueryDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteQueryDefinition +func (c *CloudWatchLogs) DeleteQueryDefinitionRequest(input *DeleteQueryDefinitionInput) (req *request.Request, output *DeleteQueryDefinitionOutput) { + op := &request.Operation{ + Name: opDeleteQueryDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteQueryDefinitionInput{} + } + + output = &DeleteQueryDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteQueryDefinition API operation for Amazon CloudWatch Logs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Logs's +// API operation DeleteQueryDefinition for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// A parameter is specified incorrectly. +// +// * ResourceNotFoundException +// The specified resource does not exist. +// +// * ServiceUnavailableException +// The service cannot complete the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DeleteQueryDefinition +func (c *CloudWatchLogs) DeleteQueryDefinition(input *DeleteQueryDefinitionInput) (*DeleteQueryDefinitionOutput, error) { + req, out := c.DeleteQueryDefinitionRequest(input) + return out, req.Send() +} + +// DeleteQueryDefinitionWithContext is the same as DeleteQueryDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteQueryDefinition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudWatchLogs) DeleteQueryDefinitionWithContext(ctx aws.Context, input *DeleteQueryDefinitionInput, opts ...request.Option) (*DeleteQueryDefinitionOutput, error) { + req, out := c.DeleteQueryDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteResourcePolicy = "DeleteResourcePolicy" // DeleteResourcePolicyRequest generates a "aws/request.Request" representing the @@ -1914,6 +1998,86 @@ func (c *CloudWatchLogs) DescribeQueriesWithContext(ctx aws.Context, input *Desc return out, req.Send() } +const opDescribeQueryDefinitions = "DescribeQueryDefinitions" + +// DescribeQueryDefinitionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeQueryDefinitions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeQueryDefinitions for more information on using the DescribeQueryDefinitions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeQueryDefinitionsRequest method. +// req, resp := client.DescribeQueryDefinitionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeQueryDefinitions +func (c *CloudWatchLogs) DescribeQueryDefinitionsRequest(input *DescribeQueryDefinitionsInput) (req *request.Request, output *DescribeQueryDefinitionsOutput) { + op := &request.Operation{ + Name: opDescribeQueryDefinitions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeQueryDefinitionsInput{} + } + + output = &DescribeQueryDefinitionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeQueryDefinitions API operation for Amazon CloudWatch Logs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Logs's +// API operation DescribeQueryDefinitions for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// A parameter is specified incorrectly. +// +// * ServiceUnavailableException +// The service cannot complete the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeQueryDefinitions +func (c *CloudWatchLogs) DescribeQueryDefinitions(input *DescribeQueryDefinitionsInput) (*DescribeQueryDefinitionsOutput, error) { + req, out := c.DescribeQueryDefinitionsRequest(input) + return out, req.Send() +} + +// DescribeQueryDefinitionsWithContext is the same as DescribeQueryDefinitions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeQueryDefinitions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudWatchLogs) DescribeQueryDefinitionsWithContext(ctx aws.Context, input *DescribeQueryDefinitionsInput, opts ...request.Option) (*DescribeQueryDefinitionsOutput, error) { + req, out := c.DescribeQueryDefinitionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeResourcePolicies = "DescribeResourcePolicies" // DescribeResourcePoliciesRequest generates a "aws/request.Request" representing the @@ -2589,7 +2753,9 @@ func (c *CloudWatchLogs) GetLogGroupFieldsRequest(input *GetLogGroupFieldsInput) // The search is limited to a time period that you specify. // // In the results, fields that start with @ are fields generated by CloudWatch -// Logs. For example, @timestamp is the timestamp of each log event. +// Logs. For example, @timestamp is the timestamp of each log event. For more +// information about the fields that are generated by CloudWatch logs, see Supported +// Logs and Discovered Fields (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData-discoverable-fields.html). // // The response results are sorted by the frequency percentage, starting with // the highest percentage. @@ -2777,9 +2943,11 @@ func (c *CloudWatchLogs) GetQueryResultsRequest(input *GetQueryResultsInput) (re // // Only the fields requested in the query are returned, along with a @ptr field // which is the identifier for the log record. You can use the value of @ptr -// in a operation to get the full log record. +// in a GetLogRecord (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_GetLogRecord.html) +// operation to get the full log record. // -// GetQueryResults does not start a query execution. To run a query, use . +// GetQueryResults does not start a query execution. To run a query, use StartQuery +// (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_StartQuery.html). // // If the value of the Status field in the output is Running, this operation // returns only partial results. If you see a value of Scheduled or Running @@ -2955,12 +3123,13 @@ func (c *CloudWatchLogs) PutDestinationRequest(input *PutDestinationInput) (req // // A destination encapsulates a physical resource (such as an Amazon Kinesis // stream) and enables you to subscribe to a real-time stream of log events -// for a different account, ingested using PutLogEvents. +// for a different account, ingested using PutLogEvents (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html). // // Through an access policy, a destination controls what is written to it. By // default, PutDestination does not set any access policy with the destination, -// which means a cross-account user cannot call PutSubscriptionFilter against -// this destination. To enable this, the destination owner must call PutDestinationPolicy +// which means a cross-account user cannot call PutSubscriptionFilter (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutSubscriptionFilter.html) +// against this destination. To enable this, the destination owner must call +// PutDestinationPolicy (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDestinationPolicy.html) // after PutDestination. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3269,7 +3438,7 @@ func (c *CloudWatchLogs) PutMetricFilterRequest(input *PutMetricFilterInput) (re // // Creates or updates a metric filter and associates it with the specified log // group. Metric filters allow you to configure rules to extract metric data -// from log events ingested through PutLogEvents. +// from log events ingested through PutLogEvents (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html). // // The maximum number of metric filters that can be associated with a log group // is 100. @@ -3319,6 +3488,89 @@ func (c *CloudWatchLogs) PutMetricFilterWithContext(ctx aws.Context, input *PutM return out, req.Send() } +const opPutQueryDefinition = "PutQueryDefinition" + +// PutQueryDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the PutQueryDefinition operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutQueryDefinition for more information on using the PutQueryDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutQueryDefinitionRequest method. +// req, resp := client.PutQueryDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutQueryDefinition +func (c *CloudWatchLogs) PutQueryDefinitionRequest(input *PutQueryDefinitionInput) (req *request.Request, output *PutQueryDefinitionOutput) { + op := &request.Operation{ + Name: opPutQueryDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutQueryDefinitionInput{} + } + + output = &PutQueryDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutQueryDefinition API operation for Amazon CloudWatch Logs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Logs's +// API operation PutQueryDefinition for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// A parameter is specified incorrectly. +// +// * ResourceNotFoundException +// The specified resource does not exist. +// +// * ServiceUnavailableException +// The service cannot complete the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/PutQueryDefinition +func (c *CloudWatchLogs) PutQueryDefinition(input *PutQueryDefinitionInput) (*PutQueryDefinitionOutput, error) { + req, out := c.PutQueryDefinitionRequest(input) + return out, req.Send() +} + +// PutQueryDefinitionWithContext is the same as PutQueryDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See PutQueryDefinition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudWatchLogs) PutQueryDefinitionWithContext(ctx aws.Context, input *PutQueryDefinitionInput, opts ...request.Option) (*PutQueryDefinitionOutput, error) { + req, out := c.PutQueryDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutResourcePolicy = "PutResourcePolicy" // PutResourcePolicyRequest generates a "aws/request.Request" representing the @@ -3544,8 +3796,9 @@ func (c *CloudWatchLogs) PutSubscriptionFilterRequest(input *PutSubscriptionFilt // // Creates or updates a subscription filter and associates it with the specified // log group. Subscription filters allow you to subscribe to a real-time stream -// of log events ingested through PutLogEvents and have them delivered to a -// specific destination. Currently, the supported destinations are: +// of log events ingested through PutLogEvents (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutLogEvents.html) +// and have them delivered to a specific destination. Currently, the supported +// destinations are: // // * An Amazon Kinesis stream belonging to the same account as the subscription // filter, for same-account delivery. @@ -3672,7 +3925,7 @@ func (c *CloudWatchLogs) StartQueryRequest(input *StartQueryInput) (req *request // Returned Error Types: // * MalformedQueryException // The query string is not valid. Details about this error are displayed in -// a QueryCompileError object. For more information, see . +// a QueryCompileError object. For more information, see QueryCompileError (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_QueryCompileError.html)"/>. // // For more information about valid query syntax, see CloudWatch Logs Insights // Query Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html). @@ -3845,11 +4098,11 @@ func (c *CloudWatchLogs) TagLogGroupRequest(input *TagLogGroupInput) (req *reque // // Adds or updates the specified tags for the specified log group. // -// To list the tags for a log group, use ListTagsLogGroup. To remove tags, use -// UntagLogGroup. +// To list the tags for a log group, use ListTagsLogGroup (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListTagsLogGroup.html). +// To remove tags, use UntagLogGroup (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_UntagLogGroup.html). // // For more information about tags, see Tag Log Groups in Amazon CloudWatch -// Logs (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/log-group-tagging.html) +// Logs (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#log-group-tagging) // in the Amazon CloudWatch Logs User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4019,8 +4272,8 @@ func (c *CloudWatchLogs) UntagLogGroupRequest(input *UntagLogGroupInput) (req *r // // Removes the specified tags from the specified log group. // -// To list the tags for a log group, use ListTagsLogGroup. To add tags, use -// UntagLogGroup. +// To list the tags for a log group, use ListTagsLogGroup (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_ListTagsLogGroup.html). +// To add tags, use TagLogGroup (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_TagLogGroup.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 @@ -4793,6 +5046,64 @@ func (s DeleteMetricFilterOutput) GoString() string { return s.String() } +type DeleteQueryDefinitionInput struct { + _ struct{} `type:"structure"` + + // QueryDefinitionId is a required field + QueryDefinitionId *string `locationName:"queryDefinitionId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteQueryDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteQueryDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteQueryDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteQueryDefinitionInput"} + if s.QueryDefinitionId == nil { + invalidParams.Add(request.NewErrParamRequired("QueryDefinitionId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetQueryDefinitionId sets the QueryDefinitionId field's value. +func (s *DeleteQueryDefinitionInput) SetQueryDefinitionId(v string) *DeleteQueryDefinitionInput { + s.QueryDefinitionId = &v + return s +} + +type DeleteQueryDefinitionOutput struct { + _ struct{} `type:"structure"` + + Success *bool `locationName:"success" type:"boolean"` +} + +// String returns the string representation +func (s DeleteQueryDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteQueryDefinitionOutput) GoString() string { + return s.String() +} + +// SetSuccess sets the Success field's value. +func (s *DeleteQueryDefinitionOutput) SetSuccess(v bool) *DeleteQueryDefinitionOutput { + s.Success = &v + return s +} + type DeleteResourcePolicyInput struct { _ struct{} `type:"structure"` @@ -5631,6 +5942,97 @@ func (s *DescribeQueriesOutput) SetQueries(v []*QueryInfo) *DescribeQueriesOutpu return s } +type DescribeQueryDefinitionsInput struct { + _ struct{} `type:"structure"` + + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of items to return. The token expires after 24 + // hours. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + QueryDefinitionNamePrefix *string `locationName:"queryDefinitionNamePrefix" min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeQueryDefinitionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeQueryDefinitionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeQueryDefinitionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeQueryDefinitionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.QueryDefinitionNamePrefix != nil && len(*s.QueryDefinitionNamePrefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueryDefinitionNamePrefix", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeQueryDefinitionsInput) SetMaxResults(v int64) *DescribeQueryDefinitionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeQueryDefinitionsInput) SetNextToken(v string) *DescribeQueryDefinitionsInput { + s.NextToken = &v + return s +} + +// SetQueryDefinitionNamePrefix sets the QueryDefinitionNamePrefix field's value. +func (s *DescribeQueryDefinitionsInput) SetQueryDefinitionNamePrefix(v string) *DescribeQueryDefinitionsInput { + s.QueryDefinitionNamePrefix = &v + return s +} + +type DescribeQueryDefinitionsOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of items to return. The token expires after 24 + // hours. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + QueryDefinitions []*QueryDefinition `locationName:"queryDefinitions" type:"list"` +} + +// String returns the string representation +func (s DescribeQueryDefinitionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeQueryDefinitionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeQueryDefinitionsOutput) SetNextToken(v string) *DescribeQueryDefinitionsOutput { + s.NextToken = &v + return s +} + +// SetQueryDefinitions sets the QueryDefinitions field's value. +func (s *DescribeQueryDefinitionsOutput) SetQueryDefinitions(v []*QueryDefinition) *DescribeQueryDefinitionsOutput { + s.QueryDefinitions = v + return s +} + type DescribeResourcePoliciesInput struct { _ struct{} `type:"structure"` @@ -7344,7 +7746,7 @@ func (s *LogStream) SetUploadSequenceToken(v string) *LogStream { } // The query string is not valid. Details about this error are displayed in -// a QueryCompileError object. For more information, see . +// a QueryCompileError object. For more information, see QueryCompileError (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_QueryCompileError.html)"/>. // // For more information about valid query syntax, see CloudWatch Logs Insights // Query Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html). @@ -7528,7 +7930,9 @@ type MetricTransformation struct { // MetricName is a required field MetricName *string `locationName:"metricName" type:"string" required:"true"` - // The namespace of the CloudWatch metric. + // A custom namespace to contain your metric in CloudWatch. Use namespaces to + // group together metrics that are similar. For more information, see Namespaces + // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Namespace). // // MetricNamespace is a required field MetricNamespace *string `locationName:"metricNamespace" type:"string" required:"true"` @@ -7885,9 +8289,9 @@ type PutLogEventsInput struct { // The sequence token obtained from the response of the previous PutLogEvents // call. An upload in a newly created log stream does not require a sequence - // token. You can also get the sequence token using DescribeLogStreams. If you - // call PutLogEvents twice within a narrow time period using the same value - // for sequenceToken, both calls may be successful, or one may be rejected. + // token. You can also get the sequence token using DescribeLogStreams (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeLogStreams.html). + // If you call PutLogEvents twice within a narrow time period using the same + // value for sequenceToken, both calls may be successful, or one may be rejected. SequenceToken *string `locationName:"sequenceToken" min:"1" type:"string"` } @@ -8111,6 +8515,98 @@ func (s PutMetricFilterOutput) GoString() string { return s.String() } +type PutQueryDefinitionInput struct { + _ struct{} `type:"structure"` + + LogGroupNames []*string `locationName:"logGroupNames" type:"list"` + + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + QueryDefinitionId *string `locationName:"queryDefinitionId" type:"string"` + + // QueryString is a required field + QueryString *string `locationName:"queryString" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutQueryDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutQueryDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutQueryDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutQueryDefinitionInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.QueryString == nil { + invalidParams.Add(request.NewErrParamRequired("QueryString")) + } + if s.QueryString != nil && len(*s.QueryString) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueryString", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLogGroupNames sets the LogGroupNames field's value. +func (s *PutQueryDefinitionInput) SetLogGroupNames(v []*string) *PutQueryDefinitionInput { + s.LogGroupNames = v + return s +} + +// SetName sets the Name field's value. +func (s *PutQueryDefinitionInput) SetName(v string) *PutQueryDefinitionInput { + s.Name = &v + return s +} + +// SetQueryDefinitionId sets the QueryDefinitionId field's value. +func (s *PutQueryDefinitionInput) SetQueryDefinitionId(v string) *PutQueryDefinitionInput { + s.QueryDefinitionId = &v + return s +} + +// SetQueryString sets the QueryString field's value. +func (s *PutQueryDefinitionInput) SetQueryString(v string) *PutQueryDefinitionInput { + s.QueryString = &v + return s +} + +type PutQueryDefinitionOutput struct { + _ struct{} `type:"structure"` + + QueryDefinitionId *string `locationName:"queryDefinitionId" type:"string"` +} + +// String returns the string representation +func (s PutQueryDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutQueryDefinitionOutput) GoString() string { + return s.String() +} + +// SetQueryDefinitionId sets the QueryDefinitionId field's value. +func (s *PutQueryDefinitionOutput) SetQueryDefinitionId(v string) *PutQueryDefinitionOutput { + s.QueryDefinitionId = &v + return s +} + type PutResourcePolicyInput struct { _ struct{} `type:"structure"` @@ -8290,7 +8786,8 @@ type PutSubscriptionFilterInput struct { // A name for the subscription filter. If you are updating an existing filter, // you must specify the correct name in filterName. Otherwise, the call fails // because you cannot associate a second filter with a log group. To find the - // name of the filter currently associated with a log group, use DescribeSubscriptionFilters. + // name of the filter currently associated with a log group, use DescribeSubscriptionFilters + // (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_DescribeSubscriptionFilters.html). // // FilterName is a required field FilterName *string `locationName:"filterName" min:"1" type:"string" required:"true"` @@ -8472,6 +8969,60 @@ func (s *QueryCompileErrorLocation) SetStartCharOffset(v int64) *QueryCompileErr return s } +type QueryDefinition struct { + _ struct{} `type:"structure"` + + LastModified *int64 `locationName:"lastModified" type:"long"` + + LogGroupNames []*string `locationName:"logGroupNames" type:"list"` + + Name *string `locationName:"name" min:"1" type:"string"` + + QueryDefinitionId *string `locationName:"queryDefinitionId" type:"string"` + + QueryString *string `locationName:"queryString" min:"1" type:"string"` +} + +// String returns the string representation +func (s QueryDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QueryDefinition) GoString() string { + return s.String() +} + +// SetLastModified sets the LastModified field's value. +func (s *QueryDefinition) SetLastModified(v int64) *QueryDefinition { + s.LastModified = &v + return s +} + +// SetLogGroupNames sets the LogGroupNames field's value. +func (s *QueryDefinition) SetLogGroupNames(v []*string) *QueryDefinition { + s.LogGroupNames = v + return s +} + +// SetName sets the Name field's value. +func (s *QueryDefinition) SetName(v string) *QueryDefinition { + s.Name = &v + return s +} + +// SetQueryDefinitionId sets the QueryDefinitionId field's value. +func (s *QueryDefinition) SetQueryDefinitionId(v string) *QueryDefinition { + s.QueryDefinitionId = &v + return s +} + +// SetQueryString sets the QueryString field's value. +func (s *QueryDefinition) SetQueryString(v string) *QueryDefinition { + s.QueryString = &v + return s +} + // Information about one CloudWatch Logs Insights query that matches the request // in a DescribeQueries operation. type QueryInfo struct { @@ -8778,6 +9329,9 @@ func (s *ResourcePolicy) SetPolicyName(v string) *ResourcePolicy { // Contains one field from one log event returned by a CloudWatch Logs Insights // query, along with the value of that field. +// +// For more information about the fields that are generated by CloudWatch logs, +// see Supported Logs and Discovered Fields (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData-discoverable-fields.html). type ResultField struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/errors.go b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/errors.go index c6e23336d00..39c9cd5eafe 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cloudwatchlogs/errors.go @@ -43,7 +43,7 @@ const ( // "MalformedQueryException". // // The query string is not valid. Details about this error are displayed in - // a QueryCompileError object. For more information, see . + // a QueryCompileError object. For more information, see QueryCompileError (https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_QueryCompileError.html)"/>. // // For more information about valid query syntax, see CloudWatch Logs Insights // Query Syntax (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html). diff --git a/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go b/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go index 48ec22795e9..cc89d30723e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go @@ -92,6 +92,85 @@ func (c *CodeBuild) BatchDeleteBuildsWithContext(ctx aws.Context, input *BatchDe return out, req.Send() } +const opBatchGetBuildBatches = "BatchGetBuildBatches" + +// BatchGetBuildBatchesRequest generates a "aws/request.Request" representing the +// client's request for the BatchGetBuildBatches operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchGetBuildBatches for more information on using the BatchGetBuildBatches +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchGetBuildBatchesRequest method. +// req, resp := client.BatchGetBuildBatchesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetBuildBatches +func (c *CodeBuild) BatchGetBuildBatchesRequest(input *BatchGetBuildBatchesInput) (req *request.Request, output *BatchGetBuildBatchesOutput) { + op := &request.Operation{ + Name: opBatchGetBuildBatches, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchGetBuildBatchesInput{} + } + + output = &BatchGetBuildBatchesOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchGetBuildBatches API operation for AWS CodeBuild. +// +// Retrieves information about one or more batch builds. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation BatchGetBuildBatches for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetBuildBatches +func (c *CodeBuild) BatchGetBuildBatches(input *BatchGetBuildBatchesInput) (*BatchGetBuildBatchesOutput, error) { + req, out := c.BatchGetBuildBatchesRequest(input) + return out, req.Send() +} + +// BatchGetBuildBatchesWithContext is the same as BatchGetBuildBatches with the addition of +// the ability to pass a context and additional request options. +// +// See BatchGetBuildBatches for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) BatchGetBuildBatchesWithContext(ctx aws.Context, input *BatchGetBuildBatchesInput, opts ...request.Option) (*BatchGetBuildBatchesOutput, error) { + req, out := c.BatchGetBuildBatchesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opBatchGetBuilds = "BatchGetBuilds" // BatchGetBuildsRequest generates a "aws/request.Request" representing the @@ -680,6 +759,85 @@ func (c *CodeBuild) CreateWebhookWithContext(ctx aws.Context, input *CreateWebho return out, req.Send() } +const opDeleteBuildBatch = "DeleteBuildBatch" + +// DeleteBuildBatchRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBuildBatch operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteBuildBatch for more information on using the DeleteBuildBatch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteBuildBatchRequest method. +// req, resp := client.DeleteBuildBatchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteBuildBatch +func (c *CodeBuild) DeleteBuildBatchRequest(input *DeleteBuildBatchInput) (req *request.Request, output *DeleteBuildBatchOutput) { + op := &request.Operation{ + Name: opDeleteBuildBatch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteBuildBatchInput{} + } + + output = &DeleteBuildBatchOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteBuildBatch API operation for AWS CodeBuild. +// +// Deletes a batch build. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation DeleteBuildBatch for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteBuildBatch +func (c *CodeBuild) DeleteBuildBatch(input *DeleteBuildBatchInput) (*DeleteBuildBatchOutput, error) { + req, out := c.DeleteBuildBatchRequest(input) + return out, req.Send() +} + +// DeleteBuildBatchWithContext is the same as DeleteBuildBatch with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteBuildBatch for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) DeleteBuildBatchWithContext(ctx aws.Context, input *DeleteBuildBatchInput, opts ...request.Option) (*DeleteBuildBatchOutput, error) { + req, out := c.DeleteBuildBatchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteProject = "DeleteProject" // DeleteProjectRequest generates a "aws/request.Request" representing the @@ -1174,6 +1332,143 @@ func (c *CodeBuild) DeleteWebhookWithContext(ctx aws.Context, input *DeleteWebho return out, req.Send() } +const opDescribeCodeCoverages = "DescribeCodeCoverages" + +// DescribeCodeCoveragesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCodeCoverages operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeCodeCoverages for more information on using the DescribeCodeCoverages +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeCodeCoveragesRequest method. +// req, resp := client.DescribeCodeCoveragesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DescribeCodeCoverages +func (c *CodeBuild) DescribeCodeCoveragesRequest(input *DescribeCodeCoveragesInput) (req *request.Request, output *DescribeCodeCoveragesOutput) { + op := &request.Operation{ + Name: opDescribeCodeCoverages, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeCodeCoveragesInput{} + } + + output = &DescribeCodeCoveragesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeCodeCoverages API operation for AWS CodeBuild. +// +// Retrieves one or more code coverage reports. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation DescribeCodeCoverages for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DescribeCodeCoverages +func (c *CodeBuild) DescribeCodeCoverages(input *DescribeCodeCoveragesInput) (*DescribeCodeCoveragesOutput, error) { + req, out := c.DescribeCodeCoveragesRequest(input) + return out, req.Send() +} + +// DescribeCodeCoveragesWithContext is the same as DescribeCodeCoverages with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeCodeCoverages for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) DescribeCodeCoveragesWithContext(ctx aws.Context, input *DescribeCodeCoveragesInput, opts ...request.Option) (*DescribeCodeCoveragesOutput, error) { + req, out := c.DescribeCodeCoveragesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeCodeCoveragesPages iterates over the pages of a DescribeCodeCoverages operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeCodeCoverages 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 DescribeCodeCoverages operation. +// pageNum := 0 +// err := client.DescribeCodeCoveragesPages(params, +// func(page *codebuild.DescribeCodeCoveragesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeBuild) DescribeCodeCoveragesPages(input *DescribeCodeCoveragesInput, fn func(*DescribeCodeCoveragesOutput, bool) bool) error { + return c.DescribeCodeCoveragesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeCodeCoveragesPagesWithContext same as DescribeCodeCoveragesPages 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 *CodeBuild) DescribeCodeCoveragesPagesWithContext(ctx aws.Context, input *DescribeCodeCoveragesInput, fn func(*DescribeCodeCoveragesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeCodeCoveragesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeCodeCoveragesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeCodeCoveragesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeTestCases = "DescribeTestCases" // DescribeTestCasesRequest generates a "aws/request.Request" representing the @@ -1205,6 +1500,12 @@ func (c *CodeBuild) DescribeTestCasesRequest(input *DescribeTestCasesInput) (req Name: opDescribeTestCases, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -1256,6 +1557,58 @@ func (c *CodeBuild) DescribeTestCasesWithContext(ctx aws.Context, input *Describ return out, req.Send() } +// DescribeTestCasesPages iterates over the pages of a DescribeTestCases operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeTestCases 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 DescribeTestCases operation. +// pageNum := 0 +// err := client.DescribeTestCasesPages(params, +// func(page *codebuild.DescribeTestCasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeBuild) DescribeTestCasesPages(input *DescribeTestCasesInput, fn func(*DescribeTestCasesOutput, bool) bool) error { + return c.DescribeTestCasesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeTestCasesPagesWithContext same as DescribeTestCasesPages 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 *CodeBuild) DescribeTestCasesPagesWithContext(ctx aws.Context, input *DescribeTestCasesInput, fn func(*DescribeTestCasesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeTestCasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeTestCasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeTestCasesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetResourcePolicy = "GetResourcePolicy" // GetResourcePolicyRequest generates a "aws/request.Request" representing the @@ -1508,96 +1861,431 @@ func (c *CodeBuild) InvalidateProjectCacheWithContext(ctx aws.Context, input *In return out, req.Send() } -const opListBuilds = "ListBuilds" +const opListBuildBatches = "ListBuildBatches" -// ListBuildsRequest generates a "aws/request.Request" representing the -// client's request for the ListBuilds operation. The "output" return +// ListBuildBatchesRequest generates a "aws/request.Request" representing the +// client's request for the ListBuildBatches operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListBuilds for more information on using the ListBuilds +// See ListBuildBatches for more information on using the ListBuildBatches // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListBuildsRequest method. -// req, resp := client.ListBuildsRequest(params) +// // Example sending a request using the ListBuildBatchesRequest method. +// req, resp := client.ListBuildBatchesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuilds -func (c *CodeBuild) ListBuildsRequest(input *ListBuildsInput) (req *request.Request, output *ListBuildsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildBatches +func (c *CodeBuild) ListBuildBatchesRequest(input *ListBuildBatchesInput) (req *request.Request, output *ListBuildBatchesOutput) { op := &request.Operation{ - Name: opListBuilds, + Name: opListBuildBatches, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListBuildsInput{} + input = &ListBuildBatchesInput{} } - output = &ListBuildsOutput{} + output = &ListBuildBatchesOutput{} req = c.newRequest(op, input, output) return } -// ListBuilds API operation for AWS CodeBuild. +// ListBuildBatches API operation for AWS CodeBuild. // -// Gets a list of build IDs, with each build ID representing a single build. +// Retrieves the identifiers of your build batches in 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 AWS CodeBuild's -// API operation ListBuilds for usage and error information. +// API operation ListBuildBatches for usage and error information. // // Returned Error Types: // * InvalidInputException // The input value that was provided is not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuilds -func (c *CodeBuild) ListBuilds(input *ListBuildsInput) (*ListBuildsOutput, error) { - req, out := c.ListBuildsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildBatches +func (c *CodeBuild) ListBuildBatches(input *ListBuildBatchesInput) (*ListBuildBatchesOutput, error) { + req, out := c.ListBuildBatchesRequest(input) return out, req.Send() } -// ListBuildsWithContext is the same as ListBuilds with the addition of +// ListBuildBatchesWithContext is the same as ListBuildBatches with the addition of // the ability to pass a context and additional request options. // -// See ListBuilds for details on how to use this API operation. +// See ListBuildBatches for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeBuild) ListBuildsWithContext(ctx aws.Context, input *ListBuildsInput, opts ...request.Option) (*ListBuildsOutput, error) { - req, out := c.ListBuildsRequest(input) +func (c *CodeBuild) ListBuildBatchesWithContext(ctx aws.Context, input *ListBuildBatchesInput, opts ...request.Option) (*ListBuildBatchesOutput, error) { + req, out := c.ListBuildBatchesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListBuildsForProject = "ListBuildsForProject" +// ListBuildBatchesPages iterates over the pages of a ListBuildBatches operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBuildBatches 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 ListBuildBatches operation. +// pageNum := 0 +// err := client.ListBuildBatchesPages(params, +// func(page *codebuild.ListBuildBatchesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeBuild) ListBuildBatchesPages(input *ListBuildBatchesInput, fn func(*ListBuildBatchesOutput, bool) bool) error { + return c.ListBuildBatchesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// ListBuildsForProjectRequest generates a "aws/request.Request" representing the -// client's request for the ListBuildsForProject operation. The "output" return +// ListBuildBatchesPagesWithContext same as ListBuildBatchesPages 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 *CodeBuild) ListBuildBatchesPagesWithContext(ctx aws.Context, input *ListBuildBatchesInput, fn func(*ListBuildBatchesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBuildBatchesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBuildBatchesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListBuildBatchesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListBuildBatchesForProject = "ListBuildBatchesForProject" + +// ListBuildBatchesForProjectRequest generates a "aws/request.Request" representing the +// client's request for the ListBuildBatchesForProject operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListBuildsForProject for more information on using the ListBuildsForProject +// See ListBuildBatchesForProject for more information on using the ListBuildBatchesForProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListBuildBatchesForProjectRequest method. +// req, resp := client.ListBuildBatchesForProjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildBatchesForProject +func (c *CodeBuild) ListBuildBatchesForProjectRequest(input *ListBuildBatchesForProjectInput) (req *request.Request, output *ListBuildBatchesForProjectOutput) { + op := &request.Operation{ + Name: opListBuildBatchesForProject, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListBuildBatchesForProjectInput{} + } + + output = &ListBuildBatchesForProjectOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBuildBatchesForProject API operation for AWS CodeBuild. +// +// Retrieves the identifiers of the build batches for a specific project. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation ListBuildBatchesForProject for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// * ResourceNotFoundException +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildBatchesForProject +func (c *CodeBuild) ListBuildBatchesForProject(input *ListBuildBatchesForProjectInput) (*ListBuildBatchesForProjectOutput, error) { + req, out := c.ListBuildBatchesForProjectRequest(input) + return out, req.Send() +} + +// ListBuildBatchesForProjectWithContext is the same as ListBuildBatchesForProject with the addition of +// the ability to pass a context and additional request options. +// +// See ListBuildBatchesForProject for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) ListBuildBatchesForProjectWithContext(ctx aws.Context, input *ListBuildBatchesForProjectInput, opts ...request.Option) (*ListBuildBatchesForProjectOutput, error) { + req, out := c.ListBuildBatchesForProjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListBuildBatchesForProjectPages iterates over the pages of a ListBuildBatchesForProject operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBuildBatchesForProject 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 ListBuildBatchesForProject operation. +// pageNum := 0 +// err := client.ListBuildBatchesForProjectPages(params, +// func(page *codebuild.ListBuildBatchesForProjectOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeBuild) ListBuildBatchesForProjectPages(input *ListBuildBatchesForProjectInput, fn func(*ListBuildBatchesForProjectOutput, bool) bool) error { + return c.ListBuildBatchesForProjectPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBuildBatchesForProjectPagesWithContext same as ListBuildBatchesForProjectPages 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 *CodeBuild) ListBuildBatchesForProjectPagesWithContext(ctx aws.Context, input *ListBuildBatchesForProjectInput, fn func(*ListBuildBatchesForProjectOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBuildBatchesForProjectInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBuildBatchesForProjectRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListBuildBatchesForProjectOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListBuilds = "ListBuilds" + +// ListBuildsRequest generates a "aws/request.Request" representing the +// client's request for the ListBuilds operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListBuilds for more information on using the ListBuilds +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListBuildsRequest method. +// req, resp := client.ListBuildsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuilds +func (c *CodeBuild) ListBuildsRequest(input *ListBuildsInput) (req *request.Request, output *ListBuildsOutput) { + op := &request.Operation{ + Name: opListBuilds, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListBuildsInput{} + } + + output = &ListBuildsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBuilds API operation for AWS CodeBuild. +// +// Gets a list of build IDs, with each build ID representing a single build. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation ListBuilds for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuilds +func (c *CodeBuild) ListBuilds(input *ListBuildsInput) (*ListBuildsOutput, error) { + req, out := c.ListBuildsRequest(input) + return out, req.Send() +} + +// ListBuildsWithContext is the same as ListBuilds with the addition of +// the ability to pass a context and additional request options. +// +// See ListBuilds for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) ListBuildsWithContext(ctx aws.Context, input *ListBuildsInput, opts ...request.Option) (*ListBuildsOutput, error) { + req, out := c.ListBuildsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListBuildsPages iterates over the pages of a ListBuilds operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBuilds 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 ListBuilds operation. +// pageNum := 0 +// err := client.ListBuildsPages(params, +// func(page *codebuild.ListBuildsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeBuild) ListBuildsPages(input *ListBuildsInput, fn func(*ListBuildsOutput, bool) bool) error { + return c.ListBuildsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBuildsPagesWithContext same as ListBuildsPages 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 *CodeBuild) ListBuildsPagesWithContext(ctx aws.Context, input *ListBuildsInput, fn func(*ListBuildsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBuildsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBuildsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListBuildsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListBuildsForProject = "ListBuildsForProject" + +// ListBuildsForProjectRequest generates a "aws/request.Request" representing the +// client's request for the ListBuildsForProject operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListBuildsForProject for more information on using the ListBuildsForProject // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration @@ -1618,6 +2306,12 @@ func (c *CodeBuild) ListBuildsForProjectRequest(input *ListBuildsForProjectInput Name: opListBuildsForProject, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { @@ -1670,6 +2364,58 @@ func (c *CodeBuild) ListBuildsForProjectWithContext(ctx aws.Context, input *List return out, req.Send() } +// ListBuildsForProjectPages iterates over the pages of a ListBuildsForProject operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBuildsForProject 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 ListBuildsForProject operation. +// pageNum := 0 +// err := client.ListBuildsForProjectPages(params, +// func(page *codebuild.ListBuildsForProjectOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeBuild) ListBuildsForProjectPages(input *ListBuildsForProjectInput, fn func(*ListBuildsForProjectOutput, bool) bool) error { + return c.ListBuildsForProjectPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBuildsForProjectPagesWithContext same as ListBuildsForProjectPages 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 *CodeBuild) ListBuildsForProjectPagesWithContext(ctx aws.Context, input *ListBuildsForProjectInput, fn func(*ListBuildsForProjectOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBuildsForProjectInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBuildsForProjectRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListBuildsForProjectOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListCuratedEnvironmentImages = "ListCuratedEnvironmentImages" // ListCuratedEnvironmentImagesRequest generates a "aws/request.Request" representing the @@ -1775,6 +2521,12 @@ func (c *CodeBuild) ListProjectsRequest(input *ListProjectsInput) (req *request. Name: opListProjects, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { @@ -1824,6 +2576,58 @@ func (c *CodeBuild) ListProjectsWithContext(ctx aws.Context, input *ListProjects return out, req.Send() } +// ListProjectsPages iterates over the pages of a ListProjects operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProjects 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 ListProjects operation. +// pageNum := 0 +// err := client.ListProjectsPages(params, +// func(page *codebuild.ListProjectsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeBuild) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error { + return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListProjectsPagesWithContext same as ListProjectsPages 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 *CodeBuild) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProjectsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProjectsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListProjectsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListReportGroups = "ListReportGroups" // ListReportGroupsRequest generates a "aws/request.Request" representing the @@ -1855,6 +2659,12 @@ func (c *CodeBuild) ListReportGroupsRequest(input *ListReportGroupsInput) (req * Name: opListReportGroups, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -1903,6 +2713,58 @@ func (c *CodeBuild) ListReportGroupsWithContext(ctx aws.Context, input *ListRepo return out, req.Send() } +// ListReportGroupsPages iterates over the pages of a ListReportGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListReportGroups 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 ListReportGroups operation. +// pageNum := 0 +// err := client.ListReportGroupsPages(params, +// func(page *codebuild.ListReportGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeBuild) ListReportGroupsPages(input *ListReportGroupsInput, fn func(*ListReportGroupsOutput, bool) bool) error { + return c.ListReportGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListReportGroupsPagesWithContext same as ListReportGroupsPages 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 *CodeBuild) ListReportGroupsPagesWithContext(ctx aws.Context, input *ListReportGroupsInput, fn func(*ListReportGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListReportGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListReportGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListReportGroupsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListReports = "ListReports" // ListReportsRequest generates a "aws/request.Request" representing the @@ -1934,6 +2796,12 @@ func (c *CodeBuild) ListReportsRequest(input *ListReportsInput) (req *request.Re Name: opListReports, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -1982,25 +2850,77 @@ func (c *CodeBuild) ListReportsWithContext(ctx aws.Context, input *ListReportsIn return out, req.Send() } -const opListReportsForReportGroup = "ListReportsForReportGroup" - -// ListReportsForReportGroupRequest generates a "aws/request.Request" representing the -// client's request for the ListReportsForReportGroup operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. +// ListReportsPages iterates over the pages of a ListReports operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// See ListReportsForReportGroup for more information on using the ListReportsForReportGroup -// API call, and error handling. +// See ListReports method for more information on how to use this operation. // -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// Note: This operation can generate multiple requests to a service. // +// // Example iterating over at most 3 pages of a ListReports operation. +// pageNum := 0 +// err := client.ListReportsPages(params, +// func(page *codebuild.ListReportsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) // -// // Example sending a request using the ListReportsForReportGroupRequest method. -// req, resp := client.ListReportsForReportGroupRequest(params) +func (c *CodeBuild) ListReportsPages(input *ListReportsInput, fn func(*ListReportsOutput, bool) bool) error { + return c.ListReportsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListReportsPagesWithContext same as ListReportsPages 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 *CodeBuild) ListReportsPagesWithContext(ctx aws.Context, input *ListReportsInput, fn func(*ListReportsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListReportsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListReportsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListReportsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListReportsForReportGroup = "ListReportsForReportGroup" + +// ListReportsForReportGroupRequest generates a "aws/request.Request" representing the +// client's request for the ListReportsForReportGroup operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListReportsForReportGroup for more information on using the ListReportsForReportGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListReportsForReportGroupRequest method. +// req, resp := client.ListReportsForReportGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled @@ -2013,6 +2933,12 @@ func (c *CodeBuild) ListReportsForReportGroupRequest(input *ListReportsForReport Name: opListReportsForReportGroup, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -2064,6 +2990,58 @@ func (c *CodeBuild) ListReportsForReportGroupWithContext(ctx aws.Context, input return out, req.Send() } +// ListReportsForReportGroupPages iterates over the pages of a ListReportsForReportGroup operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListReportsForReportGroup 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 ListReportsForReportGroup operation. +// pageNum := 0 +// err := client.ListReportsForReportGroupPages(params, +// func(page *codebuild.ListReportsForReportGroupOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeBuild) ListReportsForReportGroupPages(input *ListReportsForReportGroupInput, fn func(*ListReportsForReportGroupOutput, bool) bool) error { + return c.ListReportsForReportGroupPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListReportsForReportGroupPagesWithContext same as ListReportsForReportGroupPages 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 *CodeBuild) ListReportsForReportGroupPagesWithContext(ctx aws.Context, input *ListReportsForReportGroupInput, fn func(*ListReportsForReportGroupOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListReportsForReportGroupInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListReportsForReportGroupRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListReportsForReportGroupOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListSharedProjects = "ListSharedProjects" // ListSharedProjectsRequest generates a "aws/request.Request" representing the @@ -2095,6 +3073,12 @@ func (c *CodeBuild) ListSharedProjectsRequest(input *ListSharedProjectsInput) (r Name: opListSharedProjects, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -2143,6 +3127,58 @@ func (c *CodeBuild) ListSharedProjectsWithContext(ctx aws.Context, input *ListSh return out, req.Send() } +// ListSharedProjectsPages iterates over the pages of a ListSharedProjects operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSharedProjects 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 ListSharedProjects operation. +// pageNum := 0 +// err := client.ListSharedProjectsPages(params, +// func(page *codebuild.ListSharedProjectsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeBuild) ListSharedProjectsPages(input *ListSharedProjectsInput, fn func(*ListSharedProjectsOutput, bool) bool) error { + return c.ListSharedProjectsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSharedProjectsPagesWithContext same as ListSharedProjectsPages 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 *CodeBuild) ListSharedProjectsPagesWithContext(ctx aws.Context, input *ListSharedProjectsInput, fn func(*ListSharedProjectsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSharedProjectsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSharedProjectsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSharedProjectsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListSharedReportGroups = "ListSharedReportGroups" // ListSharedReportGroupsRequest generates a "aws/request.Request" representing the @@ -2174,6 +3210,12 @@ func (c *CodeBuild) ListSharedReportGroupsRequest(input *ListSharedReportGroupsI Name: opListSharedReportGroups, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -2222,6 +3264,58 @@ func (c *CodeBuild) ListSharedReportGroupsWithContext(ctx aws.Context, input *Li return out, req.Send() } +// ListSharedReportGroupsPages iterates over the pages of a ListSharedReportGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSharedReportGroups 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 ListSharedReportGroups operation. +// pageNum := 0 +// err := client.ListSharedReportGroupsPages(params, +// func(page *codebuild.ListSharedReportGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeBuild) ListSharedReportGroupsPages(input *ListSharedReportGroupsInput, fn func(*ListSharedReportGroupsOutput, bool) bool) error { + return c.ListSharedReportGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSharedReportGroupsPagesWithContext same as ListSharedReportGroupsPages 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 *CodeBuild) ListSharedReportGroupsPagesWithContext(ctx aws.Context, input *ListSharedReportGroupsInput, fn func(*ListSharedReportGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSharedReportGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSharedReportGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSharedReportGroupsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListSourceCredentials = "ListSourceCredentials" // ListSourceCredentialsRequest generates a "aws/request.Request" representing the @@ -2274,6 +3368,11 @@ func (c *CodeBuild) ListSourceCredentialsRequest(input *ListSourceCredentialsInp // // See the AWS API reference guide for AWS CodeBuild's // API operation ListSourceCredentials for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSourceCredentials func (c *CodeBuild) ListSourceCredentials(input *ListSourceCredentialsInput) (*ListSourceCredentialsOutput, error) { req, out := c.ListSourceCredentialsRequest(input) @@ -2378,58 +3477,58 @@ func (c *CodeBuild) PutResourcePolicyWithContext(ctx aws.Context, input *PutReso return out, req.Send() } -const opStartBuild = "StartBuild" +const opRetryBuild = "RetryBuild" -// StartBuildRequest generates a "aws/request.Request" representing the -// client's request for the StartBuild operation. The "output" return +// RetryBuildRequest generates a "aws/request.Request" representing the +// client's request for the RetryBuild operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StartBuild for more information on using the StartBuild +// See RetryBuild for more information on using the RetryBuild // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the StartBuildRequest method. -// req, resp := client.StartBuildRequest(params) +// // Example sending a request using the RetryBuildRequest method. +// req, resp := client.RetryBuildRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StartBuild -func (c *CodeBuild) StartBuildRequest(input *StartBuildInput) (req *request.Request, output *StartBuildOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/RetryBuild +func (c *CodeBuild) RetryBuildRequest(input *RetryBuildInput) (req *request.Request, output *RetryBuildOutput) { op := &request.Operation{ - Name: opStartBuild, + Name: opRetryBuild, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StartBuildInput{} + input = &RetryBuildInput{} } - output = &StartBuildOutput{} + output = &RetryBuildOutput{} req = c.newRequest(op, input, output) return } -// StartBuild API operation for AWS CodeBuild. +// RetryBuild API operation for AWS CodeBuild. // -// Starts running a build. +// Restarts a build. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeBuild's -// API operation StartBuild for usage and error information. +// API operation RetryBuild for usage and error information. // // Returned Error Types: // * InvalidInputException @@ -2441,80 +3540,80 @@ func (c *CodeBuild) StartBuildRequest(input *StartBuildInput) (req *request.Requ // * AccountLimitExceededException // An AWS service limit was exceeded for the calling AWS account. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StartBuild -func (c *CodeBuild) StartBuild(input *StartBuildInput) (*StartBuildOutput, error) { - req, out := c.StartBuildRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/RetryBuild +func (c *CodeBuild) RetryBuild(input *RetryBuildInput) (*RetryBuildOutput, error) { + req, out := c.RetryBuildRequest(input) return out, req.Send() } -// StartBuildWithContext is the same as StartBuild with the addition of +// RetryBuildWithContext is the same as RetryBuild with the addition of // the ability to pass a context and additional request options. // -// See StartBuild for details on how to use this API operation. +// See RetryBuild for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeBuild) StartBuildWithContext(ctx aws.Context, input *StartBuildInput, opts ...request.Option) (*StartBuildOutput, error) { - req, out := c.StartBuildRequest(input) +func (c *CodeBuild) RetryBuildWithContext(ctx aws.Context, input *RetryBuildInput, opts ...request.Option) (*RetryBuildOutput, error) { + req, out := c.RetryBuildRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStopBuild = "StopBuild" +const opRetryBuildBatch = "RetryBuildBatch" -// StopBuildRequest generates a "aws/request.Request" representing the -// client's request for the StopBuild operation. The "output" return +// RetryBuildBatchRequest generates a "aws/request.Request" representing the +// client's request for the RetryBuildBatch operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StopBuild for more information on using the StopBuild +// See RetryBuildBatch for more information on using the RetryBuildBatch // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the StopBuildRequest method. -// req, resp := client.StopBuildRequest(params) +// // Example sending a request using the RetryBuildBatchRequest method. +// req, resp := client.RetryBuildBatchRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StopBuild -func (c *CodeBuild) StopBuildRequest(input *StopBuildInput) (req *request.Request, output *StopBuildOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/RetryBuildBatch +func (c *CodeBuild) RetryBuildBatchRequest(input *RetryBuildBatchInput) (req *request.Request, output *RetryBuildBatchOutput) { op := &request.Operation{ - Name: opStopBuild, + Name: opRetryBuildBatch, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StopBuildInput{} + input = &RetryBuildBatchInput{} } - output = &StopBuildOutput{} + output = &RetryBuildBatchOutput{} req = c.newRequest(op, input, output) return } -// StopBuild API operation for AWS CodeBuild. +// RetryBuildBatch API operation for AWS CodeBuild. // -// Attempts to stop running a build. +// Restarts a batch build. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeBuild's -// API operation StopBuild for usage and error information. +// API operation RetryBuildBatch for usage and error information. // // Returned Error Types: // * InvalidInputException @@ -2523,80 +3622,80 @@ func (c *CodeBuild) StopBuildRequest(input *StopBuildInput) (req *request.Reques // * ResourceNotFoundException // The specified AWS resource cannot be found. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StopBuild -func (c *CodeBuild) StopBuild(input *StopBuildInput) (*StopBuildOutput, error) { - req, out := c.StopBuildRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/RetryBuildBatch +func (c *CodeBuild) RetryBuildBatch(input *RetryBuildBatchInput) (*RetryBuildBatchOutput, error) { + req, out := c.RetryBuildBatchRequest(input) return out, req.Send() } -// StopBuildWithContext is the same as StopBuild with the addition of +// RetryBuildBatchWithContext is the same as RetryBuildBatch with the addition of // the ability to pass a context and additional request options. // -// See StopBuild for details on how to use this API operation. +// See RetryBuildBatch for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeBuild) StopBuildWithContext(ctx aws.Context, input *StopBuildInput, opts ...request.Option) (*StopBuildOutput, error) { - req, out := c.StopBuildRequest(input) +func (c *CodeBuild) RetryBuildBatchWithContext(ctx aws.Context, input *RetryBuildBatchInput, opts ...request.Option) (*RetryBuildBatchOutput, error) { + req, out := c.RetryBuildBatchRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateProject = "UpdateProject" +const opStartBuild = "StartBuild" -// UpdateProjectRequest generates a "aws/request.Request" representing the -// client's request for the UpdateProject operation. The "output" return +// StartBuildRequest generates a "aws/request.Request" representing the +// client's request for the StartBuild operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateProject for more information on using the UpdateProject +// See StartBuild for more information on using the StartBuild // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateProjectRequest method. -// req, resp := client.UpdateProjectRequest(params) +// // Example sending a request using the StartBuildRequest method. +// req, resp := client.StartBuildRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateProject -func (c *CodeBuild) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StartBuild +func (c *CodeBuild) StartBuildRequest(input *StartBuildInput) (req *request.Request, output *StartBuildOutput) { op := &request.Operation{ - Name: opUpdateProject, + Name: opStartBuild, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateProjectInput{} + input = &StartBuildInput{} } - output = &UpdateProjectOutput{} + output = &StartBuildOutput{} req = c.newRequest(op, input, output) return } -// UpdateProject API operation for AWS CodeBuild. +// StartBuild API operation for AWS CodeBuild. // -// Changes the settings of a build project. +// Starts running a build. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeBuild's -// API operation UpdateProject for usage and error information. +// API operation StartBuild for usage and error information. // // Returned Error Types: // * InvalidInputException @@ -2605,80 +3704,83 @@ func (c *CodeBuild) UpdateProjectRequest(input *UpdateProjectInput) (req *reques // * ResourceNotFoundException // The specified AWS resource cannot be found. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateProject -func (c *CodeBuild) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) { - req, out := c.UpdateProjectRequest(input) +// * AccountLimitExceededException +// An AWS service limit was exceeded for the calling AWS account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StartBuild +func (c *CodeBuild) StartBuild(input *StartBuildInput) (*StartBuildOutput, error) { + req, out := c.StartBuildRequest(input) return out, req.Send() } -// UpdateProjectWithContext is the same as UpdateProject with the addition of +// StartBuildWithContext is the same as StartBuild with the addition of // the ability to pass a context and additional request options. // -// See UpdateProject for details on how to use this API operation. +// See StartBuild for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeBuild) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) { - req, out := c.UpdateProjectRequest(input) +func (c *CodeBuild) StartBuildWithContext(ctx aws.Context, input *StartBuildInput, opts ...request.Option) (*StartBuildOutput, error) { + req, out := c.StartBuildRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateReportGroup = "UpdateReportGroup" +const opStartBuildBatch = "StartBuildBatch" -// UpdateReportGroupRequest generates a "aws/request.Request" representing the -// client's request for the UpdateReportGroup operation. The "output" return +// StartBuildBatchRequest generates a "aws/request.Request" representing the +// client's request for the StartBuildBatch operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateReportGroup for more information on using the UpdateReportGroup +// See StartBuildBatch for more information on using the StartBuildBatch // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateReportGroupRequest method. -// req, resp := client.UpdateReportGroupRequest(params) +// // Example sending a request using the StartBuildBatchRequest method. +// req, resp := client.StartBuildBatchRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateReportGroup -func (c *CodeBuild) UpdateReportGroupRequest(input *UpdateReportGroupInput) (req *request.Request, output *UpdateReportGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StartBuildBatch +func (c *CodeBuild) StartBuildBatchRequest(input *StartBuildBatchInput) (req *request.Request, output *StartBuildBatchOutput) { op := &request.Operation{ - Name: opUpdateReportGroup, + Name: opStartBuildBatch, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateReportGroupInput{} + input = &StartBuildBatchInput{} } - output = &UpdateReportGroupOutput{} + output = &StartBuildBatchOutput{} req = c.newRequest(op, input, output) return } -// UpdateReportGroup API operation for AWS CodeBuild. +// StartBuildBatch API operation for AWS CodeBuild. // -// Updates a report group. +// Starts a batch build for a project. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeBuild's -// API operation UpdateReportGroup for usage and error information. +// API operation StartBuildBatch for usage and error information. // // Returned Error Types: // * InvalidInputException @@ -2687,82 +3789,80 @@ func (c *CodeBuild) UpdateReportGroupRequest(input *UpdateReportGroupInput) (req // * ResourceNotFoundException // The specified AWS resource cannot be found. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateReportGroup -func (c *CodeBuild) UpdateReportGroup(input *UpdateReportGroupInput) (*UpdateReportGroupOutput, error) { - req, out := c.UpdateReportGroupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StartBuildBatch +func (c *CodeBuild) StartBuildBatch(input *StartBuildBatchInput) (*StartBuildBatchOutput, error) { + req, out := c.StartBuildBatchRequest(input) return out, req.Send() } -// UpdateReportGroupWithContext is the same as UpdateReportGroup with the addition of +// StartBuildBatchWithContext is the same as StartBuildBatch with the addition of // the ability to pass a context and additional request options. // -// See UpdateReportGroup for details on how to use this API operation. +// See StartBuildBatch for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeBuild) UpdateReportGroupWithContext(ctx aws.Context, input *UpdateReportGroupInput, opts ...request.Option) (*UpdateReportGroupOutput, error) { - req, out := c.UpdateReportGroupRequest(input) +func (c *CodeBuild) StartBuildBatchWithContext(ctx aws.Context, input *StartBuildBatchInput, opts ...request.Option) (*StartBuildBatchOutput, error) { + req, out := c.StartBuildBatchRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateWebhook = "UpdateWebhook" +const opStopBuild = "StopBuild" -// UpdateWebhookRequest generates a "aws/request.Request" representing the -// client's request for the UpdateWebhook operation. The "output" return +// StopBuildRequest generates a "aws/request.Request" representing the +// client's request for the StopBuild operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateWebhook for more information on using the UpdateWebhook +// See StopBuild for more information on using the StopBuild // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateWebhookRequest method. -// req, resp := client.UpdateWebhookRequest(params) +// // Example sending a request using the StopBuildRequest method. +// req, resp := client.StopBuildRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateWebhook -func (c *CodeBuild) UpdateWebhookRequest(input *UpdateWebhookInput) (req *request.Request, output *UpdateWebhookOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StopBuild +func (c *CodeBuild) StopBuildRequest(input *StopBuildInput) (req *request.Request, output *StopBuildOutput) { op := &request.Operation{ - Name: opUpdateWebhook, + Name: opStopBuild, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateWebhookInput{} + input = &StopBuildInput{} } - output = &UpdateWebhookOutput{} + output = &StopBuildOutput{} req = c.newRequest(op, input, output) return } -// UpdateWebhook API operation for AWS CodeBuild. -// -// Updates the webhook associated with an AWS CodeBuild build project. +// StopBuild API operation for AWS CodeBuild. // -// If you use Bitbucket for your repository, rotateSecret is ignored. +// Attempts to stop running a build. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CodeBuild's -// API operation UpdateWebhook for usage and error information. +// API operation StopBuild for usage and error information. // // Returned Error Types: // * InvalidInputException @@ -2771,187 +3871,2677 @@ func (c *CodeBuild) UpdateWebhookRequest(input *UpdateWebhookInput) (req *reques // * ResourceNotFoundException // The specified AWS resource cannot be found. // -// * OAuthProviderException -// There was a problem with the underlying OAuth provider. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateWebhook -func (c *CodeBuild) UpdateWebhook(input *UpdateWebhookInput) (*UpdateWebhookOutput, error) { - req, out := c.UpdateWebhookRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StopBuild +func (c *CodeBuild) StopBuild(input *StopBuildInput) (*StopBuildOutput, error) { + req, out := c.StopBuildRequest(input) return out, req.Send() } -// UpdateWebhookWithContext is the same as UpdateWebhook with the addition of +// StopBuildWithContext is the same as StopBuild with the addition of // the ability to pass a context and additional request options. // -// See UpdateWebhook for details on how to use this API operation. +// See StopBuild for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CodeBuild) UpdateWebhookWithContext(ctx aws.Context, input *UpdateWebhookInput, opts ...request.Option) (*UpdateWebhookOutput, error) { - req, out := c.UpdateWebhookRequest(input) +func (c *CodeBuild) StopBuildWithContext(ctx aws.Context, input *StopBuildInput, opts ...request.Option) (*StopBuildOutput, error) { + req, out := c.StopBuildRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// An AWS service limit was exceeded for the calling AWS account. -type AccountLimitExceededException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"message" type:"string"` -} +const opStopBuildBatch = "StopBuildBatch" + +// StopBuildBatchRequest generates a "aws/request.Request" representing the +// client's request for the StopBuildBatch operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopBuildBatch for more information on using the StopBuildBatch +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopBuildBatchRequest method. +// req, resp := client.StopBuildBatchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StopBuildBatch +func (c *CodeBuild) StopBuildBatchRequest(input *StopBuildBatchInput) (req *request.Request, output *StopBuildBatchOutput) { + op := &request.Operation{ + Name: opStopBuildBatch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopBuildBatchInput{} + } + + output = &StopBuildBatchOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopBuildBatch API operation for AWS CodeBuild. +// +// Stops a running batch build. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation StopBuildBatch for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// * ResourceNotFoundException +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StopBuildBatch +func (c *CodeBuild) StopBuildBatch(input *StopBuildBatchInput) (*StopBuildBatchOutput, error) { + req, out := c.StopBuildBatchRequest(input) + return out, req.Send() +} + +// StopBuildBatchWithContext is the same as StopBuildBatch with the addition of +// the ability to pass a context and additional request options. +// +// See StopBuildBatch for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) StopBuildBatchWithContext(ctx aws.Context, input *StopBuildBatchInput, opts ...request.Option) (*StopBuildBatchOutput, error) { + req, out := c.StopBuildBatchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateProject = "UpdateProject" + +// UpdateProjectRequest generates a "aws/request.Request" representing the +// client's request for the UpdateProject operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateProject for more information on using the UpdateProject +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateProjectRequest method. +// req, resp := client.UpdateProjectRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateProject +func (c *CodeBuild) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) { + op := &request.Operation{ + Name: opUpdateProject, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateProjectInput{} + } + + output = &UpdateProjectOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateProject API operation for AWS CodeBuild. +// +// Changes the settings of a build project. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation UpdateProject for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// * ResourceNotFoundException +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateProject +func (c *CodeBuild) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) { + req, out := c.UpdateProjectRequest(input) + return out, req.Send() +} + +// UpdateProjectWithContext is the same as UpdateProject with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateProject for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) { + req, out := c.UpdateProjectRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateReportGroup = "UpdateReportGroup" + +// UpdateReportGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateReportGroup operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateReportGroup for more information on using the UpdateReportGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateReportGroupRequest method. +// req, resp := client.UpdateReportGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateReportGroup +func (c *CodeBuild) UpdateReportGroupRequest(input *UpdateReportGroupInput) (req *request.Request, output *UpdateReportGroupOutput) { + op := &request.Operation{ + Name: opUpdateReportGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateReportGroupInput{} + } + + output = &UpdateReportGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateReportGroup API operation for AWS CodeBuild. +// +// Updates a report group. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation UpdateReportGroup for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// * ResourceNotFoundException +// The specified AWS resource cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateReportGroup +func (c *CodeBuild) UpdateReportGroup(input *UpdateReportGroupInput) (*UpdateReportGroupOutput, error) { + req, out := c.UpdateReportGroupRequest(input) + return out, req.Send() +} + +// UpdateReportGroupWithContext is the same as UpdateReportGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateReportGroup for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) UpdateReportGroupWithContext(ctx aws.Context, input *UpdateReportGroupInput, opts ...request.Option) (*UpdateReportGroupOutput, error) { + req, out := c.UpdateReportGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateWebhook = "UpdateWebhook" + +// UpdateWebhookRequest generates a "aws/request.Request" representing the +// client's request for the UpdateWebhook operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateWebhook for more information on using the UpdateWebhook +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateWebhookRequest method. +// req, resp := client.UpdateWebhookRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateWebhook +func (c *CodeBuild) UpdateWebhookRequest(input *UpdateWebhookInput) (req *request.Request, output *UpdateWebhookOutput) { + op := &request.Operation{ + Name: opUpdateWebhook, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateWebhookInput{} + } + + output = &UpdateWebhookOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateWebhook API operation for AWS CodeBuild. +// +// Updates the webhook associated with an AWS CodeBuild build project. +// +// If you use Bitbucket for your repository, rotateSecret is ignored. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeBuild's +// API operation UpdateWebhook for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input value that was provided is not valid. +// +// * ResourceNotFoundException +// The specified AWS resource cannot be found. +// +// * OAuthProviderException +// There was a problem with the underlying OAuth provider. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateWebhook +func (c *CodeBuild) UpdateWebhook(input *UpdateWebhookInput) (*UpdateWebhookOutput, error) { + req, out := c.UpdateWebhookRequest(input) + return out, req.Send() +} + +// UpdateWebhookWithContext is the same as UpdateWebhook with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateWebhook for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeBuild) UpdateWebhookWithContext(ctx aws.Context, input *UpdateWebhookInput, opts ...request.Option) (*UpdateWebhookOutput, error) { + req, out := c.UpdateWebhookRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// An AWS service limit was exceeded for the calling AWS account. +type AccountLimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s AccountLimitExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountLimitExceededException) GoString() string { + return s.String() +} + +func newErrorAccountLimitExceededException(v protocol.ResponseMetadata) error { + return &AccountLimitExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccountLimitExceededException) Code() string { + return "AccountLimitExceededException" +} + +// Message returns the exception's message. +func (s *AccountLimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccountLimitExceededException) OrigErr() error { + return nil +} + +func (s *AccountLimitExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccountLimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccountLimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type BatchDeleteBuildsInput struct { + _ struct{} `type:"structure"` + + // The IDs of the builds to delete. + // + // Ids is a required field + Ids []*string `locationName:"ids" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchDeleteBuildsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteBuildsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDeleteBuildsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDeleteBuildsInput"} + if s.Ids == nil { + invalidParams.Add(request.NewErrParamRequired("Ids")) + } + if s.Ids != nil && len(s.Ids) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Ids", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIds sets the Ids field's value. +func (s *BatchDeleteBuildsInput) SetIds(v []*string) *BatchDeleteBuildsInput { + s.Ids = v + return s +} + +type BatchDeleteBuildsOutput struct { + _ struct{} `type:"structure"` + + // The IDs of the builds that were successfully deleted. + BuildsDeleted []*string `locationName:"buildsDeleted" min:"1" type:"list"` + + // Information about any builds that could not be successfully deleted. + BuildsNotDeleted []*BuildNotDeleted `locationName:"buildsNotDeleted" type:"list"` +} + +// String returns the string representation +func (s BatchDeleteBuildsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDeleteBuildsOutput) GoString() string { + return s.String() +} + +// SetBuildsDeleted sets the BuildsDeleted field's value. +func (s *BatchDeleteBuildsOutput) SetBuildsDeleted(v []*string) *BatchDeleteBuildsOutput { + s.BuildsDeleted = v + return s +} + +// SetBuildsNotDeleted sets the BuildsNotDeleted field's value. +func (s *BatchDeleteBuildsOutput) SetBuildsNotDeleted(v []*BuildNotDeleted) *BatchDeleteBuildsOutput { + s.BuildsNotDeleted = v + return s +} + +type BatchGetBuildBatchesInput struct { + _ struct{} `type:"structure"` + + // An array that contains the batch build identifiers to retrieve. + // + // Ids is a required field + Ids []*string `locationName:"ids" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchGetBuildBatchesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetBuildBatchesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetBuildBatchesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetBuildBatchesInput"} + if s.Ids == nil { + invalidParams.Add(request.NewErrParamRequired("Ids")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIds sets the Ids field's value. +func (s *BatchGetBuildBatchesInput) SetIds(v []*string) *BatchGetBuildBatchesInput { + s.Ids = v + return s +} + +type BatchGetBuildBatchesOutput struct { + _ struct{} `type:"structure"` + + // An array of BuildBatch objects that represent the retrieved batch builds. + BuildBatches []*BuildBatch `locationName:"buildBatches" type:"list"` + + // An array that contains the identifiers of any batch builds that are not found. + BuildBatchesNotFound []*string `locationName:"buildBatchesNotFound" type:"list"` +} + +// String returns the string representation +func (s BatchGetBuildBatchesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetBuildBatchesOutput) GoString() string { + return s.String() +} + +// SetBuildBatches sets the BuildBatches field's value. +func (s *BatchGetBuildBatchesOutput) SetBuildBatches(v []*BuildBatch) *BatchGetBuildBatchesOutput { + s.BuildBatches = v + return s +} + +// SetBuildBatchesNotFound sets the BuildBatchesNotFound field's value. +func (s *BatchGetBuildBatchesOutput) SetBuildBatchesNotFound(v []*string) *BatchGetBuildBatchesOutput { + s.BuildBatchesNotFound = v + return s +} + +type BatchGetBuildsInput struct { + _ struct{} `type:"structure"` + + // The IDs of the builds. + // + // Ids is a required field + Ids []*string `locationName:"ids" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchGetBuildsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetBuildsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetBuildsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetBuildsInput"} + if s.Ids == nil { + invalidParams.Add(request.NewErrParamRequired("Ids")) + } + if s.Ids != nil && len(s.Ids) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Ids", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIds sets the Ids field's value. +func (s *BatchGetBuildsInput) SetIds(v []*string) *BatchGetBuildsInput { + s.Ids = v + return s +} + +type BatchGetBuildsOutput struct { + _ struct{} `type:"structure"` + + // Information about the requested builds. + Builds []*Build `locationName:"builds" type:"list"` + + // The IDs of builds for which information could not be found. + BuildsNotFound []*string `locationName:"buildsNotFound" min:"1" type:"list"` +} + +// String returns the string representation +func (s BatchGetBuildsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetBuildsOutput) GoString() string { + return s.String() +} + +// SetBuilds sets the Builds field's value. +func (s *BatchGetBuildsOutput) SetBuilds(v []*Build) *BatchGetBuildsOutput { + s.Builds = v + return s +} + +// SetBuildsNotFound sets the BuildsNotFound field's value. +func (s *BatchGetBuildsOutput) SetBuildsNotFound(v []*string) *BatchGetBuildsOutput { + s.BuildsNotFound = v + return s +} + +type BatchGetProjectsInput struct { + _ struct{} `type:"structure"` + + // The names or ARNs of the build projects. To get information about a project + // shared with your AWS account, its ARN must be specified. You cannot specify + // a shared project using its name. + // + // Names is a required field + Names []*string `locationName:"names" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchGetProjectsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetProjectsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetProjectsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetProjectsInput"} + if s.Names == nil { + invalidParams.Add(request.NewErrParamRequired("Names")) + } + if s.Names != nil && len(s.Names) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Names", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNames sets the Names field's value. +func (s *BatchGetProjectsInput) SetNames(v []*string) *BatchGetProjectsInput { + s.Names = v + return s +} + +type BatchGetProjectsOutput struct { + _ struct{} `type:"structure"` + + // Information about the requested build projects. + Projects []*Project `locationName:"projects" type:"list"` + + // The names of build projects for which information could not be found. + ProjectsNotFound []*string `locationName:"projectsNotFound" min:"1" type:"list"` +} + +// String returns the string representation +func (s BatchGetProjectsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetProjectsOutput) GoString() string { + return s.String() +} + +// SetProjects sets the Projects field's value. +func (s *BatchGetProjectsOutput) SetProjects(v []*Project) *BatchGetProjectsOutput { + s.Projects = v + return s +} + +// SetProjectsNotFound sets the ProjectsNotFound field's value. +func (s *BatchGetProjectsOutput) SetProjectsNotFound(v []*string) *BatchGetProjectsOutput { + s.ProjectsNotFound = v + return s +} + +type BatchGetReportGroupsInput struct { + _ struct{} `type:"structure"` + + // An array of report group ARNs that identify the report groups to return. + // + // ReportGroupArns is a required field + ReportGroupArns []*string `locationName:"reportGroupArns" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchGetReportGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetReportGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetReportGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetReportGroupsInput"} + if s.ReportGroupArns == nil { + invalidParams.Add(request.NewErrParamRequired("ReportGroupArns")) + } + if s.ReportGroupArns != nil && len(s.ReportGroupArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReportGroupArns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReportGroupArns sets the ReportGroupArns field's value. +func (s *BatchGetReportGroupsInput) SetReportGroupArns(v []*string) *BatchGetReportGroupsInput { + s.ReportGroupArns = v + return s +} + +type BatchGetReportGroupsOutput struct { + _ struct{} `type:"structure"` + + // The array of report groups returned by BatchGetReportGroups. + ReportGroups []*ReportGroup `locationName:"reportGroups" min:"1" type:"list"` + + // An array of ARNs passed to BatchGetReportGroups that are not associated with + // a ReportGroup. + ReportGroupsNotFound []*string `locationName:"reportGroupsNotFound" min:"1" type:"list"` +} + +// String returns the string representation +func (s BatchGetReportGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetReportGroupsOutput) GoString() string { + return s.String() +} + +// SetReportGroups sets the ReportGroups field's value. +func (s *BatchGetReportGroupsOutput) SetReportGroups(v []*ReportGroup) *BatchGetReportGroupsOutput { + s.ReportGroups = v + return s +} + +// SetReportGroupsNotFound sets the ReportGroupsNotFound field's value. +func (s *BatchGetReportGroupsOutput) SetReportGroupsNotFound(v []*string) *BatchGetReportGroupsOutput { + s.ReportGroupsNotFound = v + return s +} + +type BatchGetReportsInput struct { + _ struct{} `type:"structure"` + + // An array of ARNs that identify the Report objects to return. + // + // ReportArns is a required field + ReportArns []*string `locationName:"reportArns" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchGetReportsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetReportsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetReportsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetReportsInput"} + if s.ReportArns == nil { + invalidParams.Add(request.NewErrParamRequired("ReportArns")) + } + if s.ReportArns != nil && len(s.ReportArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReportArns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReportArns sets the ReportArns field's value. +func (s *BatchGetReportsInput) SetReportArns(v []*string) *BatchGetReportsInput { + s.ReportArns = v + return s +} + +type BatchGetReportsOutput struct { + _ struct{} `type:"structure"` + + // The array of Report objects returned by BatchGetReports. + Reports []*Report `locationName:"reports" min:"1" type:"list"` + + // An array of ARNs passed to BatchGetReportGroups that are not associated with + // a Report. + ReportsNotFound []*string `locationName:"reportsNotFound" min:"1" type:"list"` +} + +// String returns the string representation +func (s BatchGetReportsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchGetReportsOutput) GoString() string { + return s.String() +} + +// SetReports sets the Reports field's value. +func (s *BatchGetReportsOutput) SetReports(v []*Report) *BatchGetReportsOutput { + s.Reports = v + return s +} + +// SetReportsNotFound sets the ReportsNotFound field's value. +func (s *BatchGetReportsOutput) SetReportsNotFound(v []*string) *BatchGetReportsOutput { + s.ReportsNotFound = v + return s +} + +// Specifies restrictions for the batch build. +type BatchRestrictions struct { + _ struct{} `type:"structure"` + + // An array of strings that specify the compute types that are allowed for the + // batch build. See Build environment compute types (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) + // in the AWS CodeBuild User Guide for these values. + ComputeTypesAllowed []*string `locationName:"computeTypesAllowed" type:"list"` + + // Specifies the maximum number of builds allowed. + MaximumBuildsAllowed *int64 `locationName:"maximumBuildsAllowed" type:"integer"` +} + +// String returns the string representation +func (s BatchRestrictions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchRestrictions) GoString() string { + return s.String() +} + +// SetComputeTypesAllowed sets the ComputeTypesAllowed field's value. +func (s *BatchRestrictions) SetComputeTypesAllowed(v []*string) *BatchRestrictions { + s.ComputeTypesAllowed = v + return s +} + +// SetMaximumBuildsAllowed sets the MaximumBuildsAllowed field's value. +func (s *BatchRestrictions) SetMaximumBuildsAllowed(v int64) *BatchRestrictions { + s.MaximumBuildsAllowed = &v + return s +} + +// Information about a build. +type Build struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the build. + Arn *string `locationName:"arn" min:"1" type:"string"` + + // Information about the output artifacts for the build. + Artifacts *BuildArtifacts `locationName:"artifacts" type:"structure"` + + // The ARN of the batch build that this build is a member of, if applicable. + BuildBatchArn *string `locationName:"buildBatchArn" type:"string"` + + // Whether the build is complete. True if complete; otherwise, false. + BuildComplete *bool `locationName:"buildComplete" type:"boolean"` + + // The number of the build. For each project, the buildNumber of its first build + // is 1. The buildNumber of each subsequent build is incremented by 1. If a + // build is deleted, the buildNumber of other builds does not change. + BuildNumber *int64 `locationName:"buildNumber" type:"long"` + + // The current status of the build. Valid values include: + // + // * FAILED: The build failed. + // + // * FAULT: The build faulted. + // + // * IN_PROGRESS: The build is still in progress. + // + // * STOPPED: The build stopped. + // + // * SUCCEEDED: The build succeeded. + // + // * TIMED_OUT: The build timed out. + BuildStatus *string `locationName:"buildStatus" type:"string" enum:"StatusType"` + + // Information about the cache for the build. + Cache *ProjectCache `locationName:"cache" type:"structure"` + + // The current build phase. + CurrentPhase *string `locationName:"currentPhase" type:"string"` + + // Contains information about the debug session for this build. + DebugSession *DebugSession `locationName:"debugSession" type:"structure"` + + // The AWS Key Management Service (AWS KMS) customer master key (CMK) to be + // used for encrypting the build output artifacts. + // + // You can use a cross-account KMS key to encrypt the build output artifacts + // if your service role has permission to that key. + // + // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, + // the CMK's alias (using the format alias/alias-name ). + EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` + + // When the build process ended, expressed in Unix time format. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // Information about the build environment for this build. + Environment *ProjectEnvironment `locationName:"environment" type:"structure"` + + // A list of exported environment variables for this build. + ExportedEnvironmentVariables []*ExportedEnvironmentVariable `locationName:"exportedEnvironmentVariables" type:"list"` + + // An array of ProjectFileSystemLocation objects for a CodeBuild build project. + // A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, + // mountPoint, and type of a file system created using Amazon Elastic File System. + FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"` + + // The unique ID for the build. + Id *string `locationName:"id" min:"1" type:"string"` + + // The entity that started the build. Valid values include: + // + // * If AWS CodePipeline started the build, the pipeline's name (for example, + // codepipeline/my-demo-pipeline). + // + // * If an AWS Identity and Access Management (IAM) user started the build, + // the user's name (for example, MyUserName). + // + // * If the Jenkins plugin for AWS CodeBuild started the build, the string + // CodeBuild-Jenkins-Plugin. + Initiator *string `locationName:"initiator" type:"string"` + + // Information about the build's logs in Amazon CloudWatch Logs. + Logs *LogsLocation `locationName:"logs" type:"structure"` + + // Describes a network interface. + NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"` + + // Information about all previous build phases that are complete and information + // about any current build phase that is not yet complete. + Phases []*BuildPhase `locationName:"phases" type:"list"` + + // The name of the AWS CodeBuild project. + ProjectName *string `locationName:"projectName" min:"1" type:"string"` + + // The number of minutes a build is allowed to be queued before it times out. + QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" type:"integer"` + + // An array of the ARNs associated with this build's reports. + ReportArns []*string `locationName:"reportArns" type:"list"` + + // An identifier for the version of this build's source code. + // + // * For AWS CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit + // ID. + // + // * For AWS CodePipeline, the source revision provided by AWS CodePipeline. + // + // * For Amazon Simple Storage Service (Amazon S3), this does not apply. + ResolvedSourceVersion *string `locationName:"resolvedSourceVersion" min:"1" type:"string"` + + // An array of ProjectArtifacts objects. + SecondaryArtifacts []*BuildArtifacts `locationName:"secondaryArtifacts" type:"list"` + + // An array of ProjectSourceVersion objects. Each ProjectSourceVersion must + // be one of: + // + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. + // + // * For GitHub: the commit ID, pull request ID, branch name, or tag name + // that corresponds to the version of the source code you want to build. + // If a pull request ID is specified, it must use the format pr/pull-request-ID + // (for example, pr/25). If a branch name is specified, the branch's HEAD + // commit ID is used. If not specified, the default branch's HEAD commit + // ID is used. + // + // * For Bitbucket: the commit ID, branch name, or tag name that corresponds + // to the version of the source code you want to build. If a branch name + // is specified, the branch's HEAD commit ID is used. If not specified, the + // default branch's HEAD commit ID is used. + // + // * For Amazon Simple Storage Service (Amazon S3): the version ID of the + // object that represents the build input ZIP file to use. + SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"` + + // An array of ProjectSource objects. + SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"` + + // The name of a service role used for this build. + ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"` + + // Information about the source code to be built. + Source *ProjectSource `locationName:"source" type:"structure"` + + // Any version identifier for the version of the source code to be built. If + // sourceVersion is specified at the project level, then this sourceVersion + // (at the build level) takes precedence. + // + // For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) + // in the AWS CodeBuild User Guide. + SourceVersion *string `locationName:"sourceVersion" min:"1" type:"string"` + + // When the build process started, expressed in Unix time format. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` + + // How long, in minutes, for AWS CodeBuild to wait before timing out this build + // if it does not get marked as completed. + TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" type:"integer"` + + // If your AWS CodeBuild project accesses resources in an Amazon VPC, you provide + // this parameter that identifies the VPC ID and the list of security group + // IDs and subnet IDs. The security groups and subnets must belong to the same + // VPC. You must provide at least one security group and one subnet ID. + VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` +} + +// String returns the string representation +func (s Build) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Build) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Build) SetArn(v string) *Build { + s.Arn = &v + return s +} + +// SetArtifacts sets the Artifacts field's value. +func (s *Build) SetArtifacts(v *BuildArtifacts) *Build { + s.Artifacts = v + return s +} + +// SetBuildBatchArn sets the BuildBatchArn field's value. +func (s *Build) SetBuildBatchArn(v string) *Build { + s.BuildBatchArn = &v + return s +} + +// SetBuildComplete sets the BuildComplete field's value. +func (s *Build) SetBuildComplete(v bool) *Build { + s.BuildComplete = &v + return s +} + +// SetBuildNumber sets the BuildNumber field's value. +func (s *Build) SetBuildNumber(v int64) *Build { + s.BuildNumber = &v + return s +} + +// SetBuildStatus sets the BuildStatus field's value. +func (s *Build) SetBuildStatus(v string) *Build { + s.BuildStatus = &v + return s +} + +// SetCache sets the Cache field's value. +func (s *Build) SetCache(v *ProjectCache) *Build { + s.Cache = v + return s +} + +// SetCurrentPhase sets the CurrentPhase field's value. +func (s *Build) SetCurrentPhase(v string) *Build { + s.CurrentPhase = &v + return s +} + +// SetDebugSession sets the DebugSession field's value. +func (s *Build) SetDebugSession(v *DebugSession) *Build { + s.DebugSession = v + return s +} + +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *Build) SetEncryptionKey(v string) *Build { + s.EncryptionKey = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *Build) SetEndTime(v time.Time) *Build { + s.EndTime = &v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *Build) SetEnvironment(v *ProjectEnvironment) *Build { + s.Environment = v + return s +} + +// SetExportedEnvironmentVariables sets the ExportedEnvironmentVariables field's value. +func (s *Build) SetExportedEnvironmentVariables(v []*ExportedEnvironmentVariable) *Build { + s.ExportedEnvironmentVariables = v + return s +} + +// SetFileSystemLocations sets the FileSystemLocations field's value. +func (s *Build) SetFileSystemLocations(v []*ProjectFileSystemLocation) *Build { + s.FileSystemLocations = v + return s +} + +// SetId sets the Id field's value. +func (s *Build) SetId(v string) *Build { + s.Id = &v + return s +} + +// SetInitiator sets the Initiator field's value. +func (s *Build) SetInitiator(v string) *Build { + s.Initiator = &v + return s +} + +// SetLogs sets the Logs field's value. +func (s *Build) SetLogs(v *LogsLocation) *Build { + s.Logs = v + return s +} + +// SetNetworkInterface sets the NetworkInterface field's value. +func (s *Build) SetNetworkInterface(v *NetworkInterface) *Build { + s.NetworkInterface = v + return s +} + +// SetPhases sets the Phases field's value. +func (s *Build) SetPhases(v []*BuildPhase) *Build { + s.Phases = v + return s +} + +// SetProjectName sets the ProjectName field's value. +func (s *Build) SetProjectName(v string) *Build { + s.ProjectName = &v + return s +} + +// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. +func (s *Build) SetQueuedTimeoutInMinutes(v int64) *Build { + s.QueuedTimeoutInMinutes = &v + return s +} + +// SetReportArns sets the ReportArns field's value. +func (s *Build) SetReportArns(v []*string) *Build { + s.ReportArns = v + return s +} + +// SetResolvedSourceVersion sets the ResolvedSourceVersion field's value. +func (s *Build) SetResolvedSourceVersion(v string) *Build { + s.ResolvedSourceVersion = &v + return s +} + +// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. +func (s *Build) SetSecondaryArtifacts(v []*BuildArtifacts) *Build { + s.SecondaryArtifacts = v + return s +} + +// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. +func (s *Build) SetSecondarySourceVersions(v []*ProjectSourceVersion) *Build { + s.SecondarySourceVersions = v + return s +} + +// SetSecondarySources sets the SecondarySources field's value. +func (s *Build) SetSecondarySources(v []*ProjectSource) *Build { + s.SecondarySources = v + return s +} + +// SetServiceRole sets the ServiceRole field's value. +func (s *Build) SetServiceRole(v string) *Build { + s.ServiceRole = &v + return s +} + +// SetSource sets the Source field's value. +func (s *Build) SetSource(v *ProjectSource) *Build { + s.Source = v + return s +} + +// SetSourceVersion sets the SourceVersion field's value. +func (s *Build) SetSourceVersion(v string) *Build { + s.SourceVersion = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *Build) SetStartTime(v time.Time) *Build { + s.StartTime = &v + return s +} + +// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. +func (s *Build) SetTimeoutInMinutes(v int64) *Build { + s.TimeoutInMinutes = &v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *Build) SetVpcConfig(v *VpcConfig) *Build { + s.VpcConfig = v + return s +} + +// Information about build output artifacts. +type BuildArtifacts struct { + _ struct{} `type:"structure"` + + // An identifier for this artifact definition. + ArtifactIdentifier *string `locationName:"artifactIdentifier" type:"string"` + + // Information that tells you if encryption for build artifacts is disabled. + EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` + + // Information about the location of the build artifacts. + Location *string `locationName:"location" type:"string"` + + // The MD5 hash of the build artifact. + // + // You can use this hash along with a checksum tool to confirm file integrity + // and authenticity. + // + // This value is available only if the build project's packaging value is set + // to ZIP. + Md5sum *string `locationName:"md5sum" type:"string"` + + // If this flag is set, a name specified in the buildspec file overrides the + // artifact name. The name specified in a buildspec file is calculated at build + // time and uses the Shell Command Language. For example, you can append a date + // and time to your artifact name so that it is always unique. + OverrideArtifactName *bool `locationName:"overrideArtifactName" type:"boolean"` + + // The SHA-256 hash of the build artifact. + // + // You can use this hash along with a checksum tool to confirm file integrity + // and authenticity. + // + // This value is available only if the build project's packaging value is set + // to ZIP. + Sha256sum *string `locationName:"sha256sum" type:"string"` +} + +// String returns the string representation +func (s BuildArtifacts) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BuildArtifacts) GoString() string { + return s.String() +} + +// SetArtifactIdentifier sets the ArtifactIdentifier field's value. +func (s *BuildArtifacts) SetArtifactIdentifier(v string) *BuildArtifacts { + s.ArtifactIdentifier = &v + return s +} + +// SetEncryptionDisabled sets the EncryptionDisabled field's value. +func (s *BuildArtifacts) SetEncryptionDisabled(v bool) *BuildArtifacts { + s.EncryptionDisabled = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *BuildArtifacts) SetLocation(v string) *BuildArtifacts { + s.Location = &v + return s +} + +// SetMd5sum sets the Md5sum field's value. +func (s *BuildArtifacts) SetMd5sum(v string) *BuildArtifacts { + s.Md5sum = &v + return s +} + +// SetOverrideArtifactName sets the OverrideArtifactName field's value. +func (s *BuildArtifacts) SetOverrideArtifactName(v bool) *BuildArtifacts { + s.OverrideArtifactName = &v + return s +} + +// SetSha256sum sets the Sha256sum field's value. +func (s *BuildArtifacts) SetSha256sum(v string) *BuildArtifacts { + s.Sha256sum = &v + return s +} + +// Contains information about a batch build. +type BuildBatch struct { + _ struct{} `type:"structure"` + + // The ARN of the batch build. + Arn *string `locationName:"arn" min:"1" type:"string"` + + // A BuildArtifacts object the defines the build artifacts for this batch build. + Artifacts *BuildArtifacts `locationName:"artifacts" type:"structure"` + + // Contains configuration information about a batch build project. + BuildBatchConfig *ProjectBuildBatchConfig `locationName:"buildBatchConfig" type:"structure"` + + // The number of the batch build. For each project, the buildBatchNumber of + // its first batch build is 1. The buildBatchNumber of each subsequent batch + // build is incremented by 1. If a batch build is deleted, the buildBatchNumber + // of other batch builds does not change. + BuildBatchNumber *int64 `locationName:"buildBatchNumber" type:"long"` + + // The status of the batch build. + BuildBatchStatus *string `locationName:"buildBatchStatus" type:"string" enum:"StatusType"` + + // An array of BuildGroup objects that define the build groups for the batch + // build. + BuildGroups []*BuildGroup `locationName:"buildGroups" type:"list"` + + // Specifies the maximum amount of time, in minutes, that the build in a batch + // must be completed in. + BuildTimeoutInMinutes *int64 `locationName:"buildTimeoutInMinutes" type:"integer"` + + // Information about the cache for the build project. + Cache *ProjectCache `locationName:"cache" type:"structure"` + + // Indicates if the batch build is complete. + Complete *bool `locationName:"complete" type:"boolean"` + + // The current phase of the batch build. + CurrentPhase *string `locationName:"currentPhase" type:"string"` + + // The AWS Key Management Service (AWS KMS) customer master key (CMK) to be + // used for encrypting the batch build output artifacts. + // + // You can use a cross-account KMS key to encrypt the build output artifacts + // if your service role has permission to that key. + // + // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, + // the CMK's alias (using the format alias/alias-name ). + EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` + + // The date and time that the batch build ended. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // Information about the build environment of the build project. + Environment *ProjectEnvironment `locationName:"environment" type:"structure"` + + // An array of ProjectFileSystemLocation objects for the batch build project. + // A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, + // mountPoint, and type of a file system created using Amazon Elastic File System. + FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"` + + // The identifier of the batch build. + Id *string `locationName:"id" min:"1" type:"string"` + + // The entity that started the batch build. Valid values include: + // + // * If AWS CodePipeline started the build, the pipeline's name (for example, + // codepipeline/my-demo-pipeline). + // + // * If an AWS Identity and Access Management (IAM) user started the build, + // the user's name. + // + // * If the Jenkins plugin for AWS CodeBuild started the build, the string + // CodeBuild-Jenkins-Plugin. + Initiator *string `locationName:"initiator" type:"string"` + + // Information about logs for a build project. These can be logs in Amazon CloudWatch + // Logs, built in a specified S3 bucket, or both. + LogConfig *LogsConfig `locationName:"logConfig" type:"structure"` + + // An array of BuildBatchPhase objects the specify the phases of the batch build. + Phases []*BuildBatchPhase `locationName:"phases" type:"list"` + + // The name of the batch build project. + ProjectName *string `locationName:"projectName" min:"1" type:"string"` + + // Specifies the amount of time, in minutes, that the batch build is allowed + // to be queued before it times out. + QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" type:"integer"` + + // The identifier of the resolved version of this batch build's source code. + // + // * For AWS CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit + // ID. + // + // * For AWS CodePipeline, the source revision provided by AWS CodePipeline. + // + // * For Amazon Simple Storage Service (Amazon S3), this does not apply. + ResolvedSourceVersion *string `locationName:"resolvedSourceVersion" min:"1" type:"string"` + + // An array of BuildArtifacts objects the define the build artifacts for this + // batch build. + SecondaryArtifacts []*BuildArtifacts `locationName:"secondaryArtifacts" type:"list"` + + // An array of ProjectSourceVersion objects. Each ProjectSourceVersion must + // be one of: + // + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. + // + // * For GitHub: the commit ID, pull request ID, branch name, or tag name + // that corresponds to the version of the source code you want to build. + // If a pull request ID is specified, it must use the format pr/pull-request-ID + // (for example, pr/25). If a branch name is specified, the branch's HEAD + // commit ID is used. If not specified, the default branch's HEAD commit + // ID is used. + // + // * For Bitbucket: the commit ID, branch name, or tag name that corresponds + // to the version of the source code you want to build. If a branch name + // is specified, the branch's HEAD commit ID is used. If not specified, the + // default branch's HEAD commit ID is used. + // + // * For Amazon Simple Storage Service (Amazon S3): the version ID of the + // object that represents the build input ZIP file to use. + SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"` + + // An array of ProjectSource objects that define the sources for the batch build. + SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"` + + // The name of a service role used for builds in the batch. + ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"` + + // Information about the build input source code for the build project. + Source *ProjectSource `locationName:"source" type:"structure"` + + // The identifier of the version of the source code to be built. + SourceVersion *string `locationName:"sourceVersion" min:"1" type:"string"` + + // The date and time that the batch build started. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` + + // Information about the VPC configuration that AWS CodeBuild accesses. + VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` +} + +// String returns the string representation +func (s BuildBatch) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BuildBatch) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *BuildBatch) SetArn(v string) *BuildBatch { + s.Arn = &v + return s +} + +// SetArtifacts sets the Artifacts field's value. +func (s *BuildBatch) SetArtifacts(v *BuildArtifacts) *BuildBatch { + s.Artifacts = v + return s +} + +// SetBuildBatchConfig sets the BuildBatchConfig field's value. +func (s *BuildBatch) SetBuildBatchConfig(v *ProjectBuildBatchConfig) *BuildBatch { + s.BuildBatchConfig = v + return s +} + +// SetBuildBatchNumber sets the BuildBatchNumber field's value. +func (s *BuildBatch) SetBuildBatchNumber(v int64) *BuildBatch { + s.BuildBatchNumber = &v + return s +} + +// SetBuildBatchStatus sets the BuildBatchStatus field's value. +func (s *BuildBatch) SetBuildBatchStatus(v string) *BuildBatch { + s.BuildBatchStatus = &v + return s +} + +// SetBuildGroups sets the BuildGroups field's value. +func (s *BuildBatch) SetBuildGroups(v []*BuildGroup) *BuildBatch { + s.BuildGroups = v + return s +} + +// SetBuildTimeoutInMinutes sets the BuildTimeoutInMinutes field's value. +func (s *BuildBatch) SetBuildTimeoutInMinutes(v int64) *BuildBatch { + s.BuildTimeoutInMinutes = &v + return s +} + +// SetCache sets the Cache field's value. +func (s *BuildBatch) SetCache(v *ProjectCache) *BuildBatch { + s.Cache = v + return s +} + +// SetComplete sets the Complete field's value. +func (s *BuildBatch) SetComplete(v bool) *BuildBatch { + s.Complete = &v + return s +} + +// SetCurrentPhase sets the CurrentPhase field's value. +func (s *BuildBatch) SetCurrentPhase(v string) *BuildBatch { + s.CurrentPhase = &v + return s +} + +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *BuildBatch) SetEncryptionKey(v string) *BuildBatch { + s.EncryptionKey = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *BuildBatch) SetEndTime(v time.Time) *BuildBatch { + s.EndTime = &v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *BuildBatch) SetEnvironment(v *ProjectEnvironment) *BuildBatch { + s.Environment = v + return s +} + +// SetFileSystemLocations sets the FileSystemLocations field's value. +func (s *BuildBatch) SetFileSystemLocations(v []*ProjectFileSystemLocation) *BuildBatch { + s.FileSystemLocations = v + return s +} + +// SetId sets the Id field's value. +func (s *BuildBatch) SetId(v string) *BuildBatch { + s.Id = &v + return s +} + +// SetInitiator sets the Initiator field's value. +func (s *BuildBatch) SetInitiator(v string) *BuildBatch { + s.Initiator = &v + return s +} + +// SetLogConfig sets the LogConfig field's value. +func (s *BuildBatch) SetLogConfig(v *LogsConfig) *BuildBatch { + s.LogConfig = v + return s +} + +// SetPhases sets the Phases field's value. +func (s *BuildBatch) SetPhases(v []*BuildBatchPhase) *BuildBatch { + s.Phases = v + return s +} + +// SetProjectName sets the ProjectName field's value. +func (s *BuildBatch) SetProjectName(v string) *BuildBatch { + s.ProjectName = &v + return s +} + +// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. +func (s *BuildBatch) SetQueuedTimeoutInMinutes(v int64) *BuildBatch { + s.QueuedTimeoutInMinutes = &v + return s +} + +// SetResolvedSourceVersion sets the ResolvedSourceVersion field's value. +func (s *BuildBatch) SetResolvedSourceVersion(v string) *BuildBatch { + s.ResolvedSourceVersion = &v + return s +} + +// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. +func (s *BuildBatch) SetSecondaryArtifacts(v []*BuildArtifacts) *BuildBatch { + s.SecondaryArtifacts = v + return s +} + +// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. +func (s *BuildBatch) SetSecondarySourceVersions(v []*ProjectSourceVersion) *BuildBatch { + s.SecondarySourceVersions = v + return s +} + +// SetSecondarySources sets the SecondarySources field's value. +func (s *BuildBatch) SetSecondarySources(v []*ProjectSource) *BuildBatch { + s.SecondarySources = v + return s +} + +// SetServiceRole sets the ServiceRole field's value. +func (s *BuildBatch) SetServiceRole(v string) *BuildBatch { + s.ServiceRole = &v + return s +} + +// SetSource sets the Source field's value. +func (s *BuildBatch) SetSource(v *ProjectSource) *BuildBatch { + s.Source = v + return s +} + +// SetSourceVersion sets the SourceVersion field's value. +func (s *BuildBatch) SetSourceVersion(v string) *BuildBatch { + s.SourceVersion = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *BuildBatch) SetStartTime(v time.Time) *BuildBatch { + s.StartTime = &v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *BuildBatch) SetVpcConfig(v *VpcConfig) *BuildBatch { + s.VpcConfig = v + return s +} + +// Specifies filters when retrieving batch builds. +type BuildBatchFilter struct { + _ struct{} `type:"structure"` + + // The status of the batch builds to retrieve. Only batch builds that have this + // status will be retrieved. + Status *string `locationName:"status" type:"string" enum:"StatusType"` +} + +// String returns the string representation +func (s BuildBatchFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BuildBatchFilter) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *BuildBatchFilter) SetStatus(v string) *BuildBatchFilter { + s.Status = &v + return s +} + +// Contains information about a stage for a batch build. +type BuildBatchPhase struct { + _ struct{} `type:"structure"` + + // Additional information about the batch build phase. Especially to help troubleshoot + // a failed btach build. + Contexts []*PhaseContext `locationName:"contexts" type:"list"` + + // How long, in seconds, between the starting and ending times of the batch + // build's phase. + DurationInSeconds *int64 `locationName:"durationInSeconds" type:"long"` + + // When the batch build phase ended, expressed in Unix time format. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // The current status of the batch build phase. Valid values include: + // + // FAILED + // + // The build phase failed. + // + // FAULT + // + // The build phase faulted. + // + // IN_PROGRESS + // + // The build phase is still in progress. + // + // QUEUED + // + // The build has been submitted and is queued behind other submitted builds. + // + // STOPPED + // + // The build phase stopped. + // + // SUCCEEDED + // + // The build phase succeeded. + // + // TIMED_OUT + // + // The build phase timed out. + PhaseStatus *string `locationName:"phaseStatus" type:"string" enum:"StatusType"` + + // The name of the batch build phase. Valid values include: + // + // COMBINE_ARTIFACTS + // + // Build output artifacts are being combined and uploaded to the output location. + // + // DOWNLOAD_BATCHSPEC + // + // The batch build specification is being downloaded. + // + // FAILED + // + // One or more of the builds failed. + // + // IN_PROGRESS + // + // The batch build is in progress. + // + // STOPPED + // + // The batch build was stopped. + // + // SUBMITTED + // + // The btach build has been submitted. + // + // SUCCEEDED + // + // The batch build succeeded. + PhaseType *string `locationName:"phaseType" type:"string" enum:"BuildBatchPhaseType"` + + // When the batch build phase started, expressed in Unix time format. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` +} + +// String returns the string representation +func (s BuildBatchPhase) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BuildBatchPhase) GoString() string { + return s.String() +} + +// SetContexts sets the Contexts field's value. +func (s *BuildBatchPhase) SetContexts(v []*PhaseContext) *BuildBatchPhase { + s.Contexts = v + return s +} + +// SetDurationInSeconds sets the DurationInSeconds field's value. +func (s *BuildBatchPhase) SetDurationInSeconds(v int64) *BuildBatchPhase { + s.DurationInSeconds = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *BuildBatchPhase) SetEndTime(v time.Time) *BuildBatchPhase { + s.EndTime = &v + return s +} + +// SetPhaseStatus sets the PhaseStatus field's value. +func (s *BuildBatchPhase) SetPhaseStatus(v string) *BuildBatchPhase { + s.PhaseStatus = &v + return s +} + +// SetPhaseType sets the PhaseType field's value. +func (s *BuildBatchPhase) SetPhaseType(v string) *BuildBatchPhase { + s.PhaseType = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *BuildBatchPhase) SetStartTime(v time.Time) *BuildBatchPhase { + s.StartTime = &v + return s +} + +// Contains information about a batch build build group. Build groups are used +// to combine builds that can run in parallel, while still being able to set +// dependencies on other build groups. +type BuildGroup struct { + _ struct{} `type:"structure"` + + // A BuildSummary object that contains a summary of the current build group. + CurrentBuildSummary *BuildSummary `locationName:"currentBuildSummary" type:"structure"` + + // An array of strings that contain the identifiers of the build groups that + // this build group depends on. + DependsOn []*string `locationName:"dependsOn" type:"list"` + + // Contains the identifier of the build group. + Identifier *string `locationName:"identifier" type:"string"` + + // Specifies if failures in this build group can be ignored. + IgnoreFailure *bool `locationName:"ignoreFailure" type:"boolean"` + + // An array of BuildSummary objects that contain summaries of previous build + // groups. + PriorBuildSummaryList []*BuildSummary `locationName:"priorBuildSummaryList" type:"list"` +} + +// String returns the string representation +func (s BuildGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BuildGroup) GoString() string { + return s.String() +} + +// SetCurrentBuildSummary sets the CurrentBuildSummary field's value. +func (s *BuildGroup) SetCurrentBuildSummary(v *BuildSummary) *BuildGroup { + s.CurrentBuildSummary = v + return s +} + +// SetDependsOn sets the DependsOn field's value. +func (s *BuildGroup) SetDependsOn(v []*string) *BuildGroup { + s.DependsOn = v + return s +} + +// SetIdentifier sets the Identifier field's value. +func (s *BuildGroup) SetIdentifier(v string) *BuildGroup { + s.Identifier = &v + return s +} + +// SetIgnoreFailure sets the IgnoreFailure field's value. +func (s *BuildGroup) SetIgnoreFailure(v bool) *BuildGroup { + s.IgnoreFailure = &v + return s +} + +// SetPriorBuildSummaryList sets the PriorBuildSummaryList field's value. +func (s *BuildGroup) SetPriorBuildSummaryList(v []*BuildSummary) *BuildGroup { + s.PriorBuildSummaryList = v + return s +} + +// Information about a build that could not be successfully deleted. +type BuildNotDeleted struct { + _ struct{} `type:"structure"` + + // The ID of the build that could not be successfully deleted. + Id *string `locationName:"id" min:"1" type:"string"` + + // Additional information about the build that could not be successfully deleted. + StatusCode *string `locationName:"statusCode" type:"string"` +} + +// String returns the string representation +func (s BuildNotDeleted) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BuildNotDeleted) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *BuildNotDeleted) SetId(v string) *BuildNotDeleted { + s.Id = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *BuildNotDeleted) SetStatusCode(v string) *BuildNotDeleted { + s.StatusCode = &v + return s +} + +// Information about a stage for a build. +type BuildPhase struct { + _ struct{} `type:"structure"` + + // Additional information about a build phase, especially to help troubleshoot + // a failed build. + Contexts []*PhaseContext `locationName:"contexts" type:"list"` + + // How long, in seconds, between the starting and ending times of the build's + // phase. + DurationInSeconds *int64 `locationName:"durationInSeconds" type:"long"` + + // When the build phase ended, expressed in Unix time format. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // The current status of the build phase. Valid values include: + // + // FAILED + // + // The build phase failed. + // + // FAULT + // + // The build phase faulted. + // + // IN_PROGRESS + // + // The build phase is still in progress. + // + // QUEUED + // + // The build has been submitted and is queued behind other submitted builds. + // + // STOPPED + // + // The build phase stopped. + // + // SUCCEEDED + // + // The build phase succeeded. + // + // TIMED_OUT + // + // The build phase timed out. + PhaseStatus *string `locationName:"phaseStatus" type:"string" enum:"StatusType"` + + // The name of the build phase. Valid values include: + // + // * BUILD: Core build activities typically occur in this build phase. + // + // * COMPLETED: The build has been completed. + // + // * DOWNLOAD_SOURCE: Source code is being downloaded in this build phase. + // + // * FINALIZING: The build process is completing in this build phase. + // + // * INSTALL: Installation activities typically occur in this build phase. + // + // * POST_BUILD: Post-build activities typically occur in this build phase. + // + // * PRE_BUILD: Pre-build activities typically occur in this build phase. + // + // * PROVISIONING: The build environment is being set up. + // + // * QUEUED: The build has been submitted and is queued behind other submitted + // builds. + // + // * SUBMITTED: The build has been submitted. + // + // * UPLOAD_ARTIFACTS: Build output artifacts are being uploaded to the output + // location. + PhaseType *string `locationName:"phaseType" type:"string" enum:"BuildPhaseType"` + + // When the build phase started, expressed in Unix time format. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` +} // String returns the string representation -func (s AccountLimitExceededException) String() string { +func (s BuildPhase) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AccountLimitExceededException) GoString() string { +func (s BuildPhase) GoString() string { return s.String() } -func newErrorAccountLimitExceededException(v protocol.ResponseMetadata) error { - return &AccountLimitExceededException{ - RespMetadata: v, - } +// SetContexts sets the Contexts field's value. +func (s *BuildPhase) SetContexts(v []*PhaseContext) *BuildPhase { + s.Contexts = v + return s } -// Code returns the exception type name. -func (s *AccountLimitExceededException) Code() string { - return "AccountLimitExceededException" +// SetDurationInSeconds sets the DurationInSeconds field's value. +func (s *BuildPhase) SetDurationInSeconds(v int64) *BuildPhase { + s.DurationInSeconds = &v + return s } -// Message returns the exception's message. -func (s *AccountLimitExceededException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetEndTime sets the EndTime field's value. +func (s *BuildPhase) SetEndTime(v time.Time) *BuildPhase { + s.EndTime = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccountLimitExceededException) OrigErr() error { +// SetPhaseStatus sets the PhaseStatus field's value. +func (s *BuildPhase) SetPhaseStatus(v string) *BuildPhase { + s.PhaseStatus = &v + return s +} + +// SetPhaseType sets the PhaseType field's value. +func (s *BuildPhase) SetPhaseType(v string) *BuildPhase { + s.PhaseType = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *BuildPhase) SetStartTime(v time.Time) *BuildPhase { + s.StartTime = &v + return s +} + +// Contains information that defines how the AWS CodeBuild build project reports +// the build status to the source provider. +type BuildStatusConfig struct { + _ struct{} `type:"structure"` + + // Specifies the context of the build status CodeBuild sends to the source provider. + // The usage of this parameter depends on the source provider. + // + // Bitbucket + // + // This parameter is used for the name parameter in the Bitbucket commit status. + // For more information, see build (https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) + // in the Bitbucket API documentation. + // + // GitHub/GitHub Enterprise Server + // + // This parameter is used for the context parameter in the GitHub commit status. + // For more information, see Create a commit status (https://developer.github.com/v3/repos/statuses/#create-a-commit-status) + // in the GitHub developer guide. + Context *string `locationName:"context" type:"string"` + + // Specifies the target url of the build status CodeBuild sends to the source + // provider. The usage of this parameter depends on the source provider. + // + // Bitbucket + // + // This parameter is used for the url parameter in the Bitbucket commit status. + // For more information, see build (https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build) + // in the Bitbucket API documentation. + // + // GitHub/GitHub Enterprise Server + // + // This parameter is used for the target_url parameter in the GitHub commit + // status. For more information, see Create a commit status (https://developer.github.com/v3/repos/statuses/#create-a-commit-status) + // in the GitHub developer guide. + TargetUrl *string `locationName:"targetUrl" type:"string"` +} + +// String returns the string representation +func (s BuildStatusConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BuildStatusConfig) GoString() string { + return s.String() +} + +// SetContext sets the Context field's value. +func (s *BuildStatusConfig) SetContext(v string) *BuildStatusConfig { + s.Context = &v + return s +} + +// SetTargetUrl sets the TargetUrl field's value. +func (s *BuildStatusConfig) SetTargetUrl(v string) *BuildStatusConfig { + s.TargetUrl = &v + return s +} + +// Contains summary information about a batch build group. +type BuildSummary struct { + _ struct{} `type:"structure"` + + // The batch build ARN. + Arn *string `locationName:"arn" type:"string"` + + // The status of the build group. + // + // FAILED + // + // The build group failed. + // + // FAULT + // + // The build group faulted. + // + // IN_PROGRESS + // + // The build group is still in progress. + // + // STOPPED + // + // The build group stopped. + // + // SUCCEEDED + // + // The build group succeeded. + // + // TIMED_OUT + // + // The build group timed out. + BuildStatus *string `locationName:"buildStatus" type:"string" enum:"StatusType"` + + // A ResolvedArtifact object that represents the primary build artifacts for + // the build group. + PrimaryArtifact *ResolvedArtifact `locationName:"primaryArtifact" type:"structure"` + + // When the build was started, expressed in Unix time format. + RequestedOn *time.Time `locationName:"requestedOn" type:"timestamp"` + + // An array of ResolvedArtifact objects that represents the secondary build + // artifacts for the build group. + SecondaryArtifacts []*ResolvedArtifact `locationName:"secondaryArtifacts" type:"list"` +} + +// String returns the string representation +func (s BuildSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BuildSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *BuildSummary) SetArn(v string) *BuildSummary { + s.Arn = &v + return s +} + +// SetBuildStatus sets the BuildStatus field's value. +func (s *BuildSummary) SetBuildStatus(v string) *BuildSummary { + s.BuildStatus = &v + return s +} + +// SetPrimaryArtifact sets the PrimaryArtifact field's value. +func (s *BuildSummary) SetPrimaryArtifact(v *ResolvedArtifact) *BuildSummary { + s.PrimaryArtifact = v + return s +} + +// SetRequestedOn sets the RequestedOn field's value. +func (s *BuildSummary) SetRequestedOn(v time.Time) *BuildSummary { + s.RequestedOn = &v + return s +} + +// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. +func (s *BuildSummary) SetSecondaryArtifacts(v []*ResolvedArtifact) *BuildSummary { + s.SecondaryArtifacts = v + return s +} + +// Information about Amazon CloudWatch Logs for a build project. +type CloudWatchLogsConfig struct { + _ struct{} `type:"structure"` + + // The group name of the logs in Amazon CloudWatch Logs. For more information, + // see Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html). + GroupName *string `locationName:"groupName" type:"string"` + + // The current status of the logs in Amazon CloudWatch Logs for a build project. + // Valid values are: + // + // * ENABLED: Amazon CloudWatch Logs are enabled for this build project. + // + // * DISABLED: Amazon CloudWatch Logs are not enabled for this build project. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"LogsConfigStatusType"` + + // The prefix of the stream name of the Amazon CloudWatch Logs. For more information, + // see Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html). + StreamName *string `locationName:"streamName" type:"string"` +} + +// String returns the string representation +func (s CloudWatchLogsConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloudWatchLogsConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CloudWatchLogsConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloudWatchLogsConfig"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *AccountLimitExceededException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetGroupName sets the GroupName field's value. +func (s *CloudWatchLogsConfig) SetGroupName(v string) *CloudWatchLogsConfig { + s.GroupName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CloudWatchLogsConfig) SetStatus(v string) *CloudWatchLogsConfig { + s.Status = &v + return s +} + +// SetStreamName sets the StreamName field's value. +func (s *CloudWatchLogsConfig) SetStreamName(v string) *CloudWatchLogsConfig { + s.StreamName = &v + return s +} + +// Contains code coverage report information. +// +// Line coverage measures how many statements your tests cover. A statement +// is a single instruction, not including comments, conditionals, etc. +// +// Branch coverage determines if your tests cover every possible branch of a +// control structure, such as an if or case statement. +type CodeCoverage struct { + _ struct{} `type:"structure"` + + // The percentage of branches that are covered by your tests. + BranchCoveragePercentage *float64 `locationName:"branchCoveragePercentage" type:"double"` + + // The number of conditional branches that are covered by your tests. + BranchesCovered *int64 `locationName:"branchesCovered" type:"integer"` + + // The number of conditional branches that are not covered by your tests. + BranchesMissed *int64 `locationName:"branchesMissed" type:"integer"` + + // The date and time that the tests were run. + Expired *time.Time `locationName:"expired" type:"timestamp"` + + // The path of the test report file. + FilePath *string `locationName:"filePath" min:"1" type:"string"` + + // The identifier of the code coverage report. + Id *string `locationName:"id" min:"1" type:"string"` + + // The percentage of lines that are covered by your tests. + LineCoveragePercentage *float64 `locationName:"lineCoveragePercentage" type:"double"` + + // The number of lines that are covered by your tests. + LinesCovered *int64 `locationName:"linesCovered" type:"integer"` + + // The number of lines that are not covered by your tests. + LinesMissed *int64 `locationName:"linesMissed" type:"integer"` + + // The ARN of the report. + ReportARN *string `locationName:"reportARN" min:"1" type:"string"` +} + +// String returns the string representation +func (s CodeCoverage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CodeCoverage) GoString() string { + return s.String() +} + +// SetBranchCoveragePercentage sets the BranchCoveragePercentage field's value. +func (s *CodeCoverage) SetBranchCoveragePercentage(v float64) *CodeCoverage { + s.BranchCoveragePercentage = &v + return s +} + +// SetBranchesCovered sets the BranchesCovered field's value. +func (s *CodeCoverage) SetBranchesCovered(v int64) *CodeCoverage { + s.BranchesCovered = &v + return s +} + +// SetBranchesMissed sets the BranchesMissed field's value. +func (s *CodeCoverage) SetBranchesMissed(v int64) *CodeCoverage { + s.BranchesMissed = &v + return s +} + +// SetExpired sets the Expired field's value. +func (s *CodeCoverage) SetExpired(v time.Time) *CodeCoverage { + s.Expired = &v + return s +} + +// SetFilePath sets the FilePath field's value. +func (s *CodeCoverage) SetFilePath(v string) *CodeCoverage { + s.FilePath = &v + return s +} + +// SetId sets the Id field's value. +func (s *CodeCoverage) SetId(v string) *CodeCoverage { + s.Id = &v + return s +} + +// SetLineCoveragePercentage sets the LineCoveragePercentage field's value. +func (s *CodeCoverage) SetLineCoveragePercentage(v float64) *CodeCoverage { + s.LineCoveragePercentage = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *AccountLimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetLinesCovered sets the LinesCovered field's value. +func (s *CodeCoverage) SetLinesCovered(v int64) *CodeCoverage { + s.LinesCovered = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *AccountLimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetLinesMissed sets the LinesMissed field's value. +func (s *CodeCoverage) SetLinesMissed(v int64) *CodeCoverage { + s.LinesMissed = &v + return s } -type BatchDeleteBuildsInput struct { +// SetReportARN sets the ReportARN field's value. +func (s *CodeCoverage) SetReportARN(v string) *CodeCoverage { + s.ReportARN = &v + return s +} + +// Contains a summary of a code coverage report. +// +// Line coverage measures how many statements your tests cover. A statement +// is a single instruction, not including comments, conditionals, etc. +// +// Branch coverage determines if your tests cover every possible branch of a +// control structure, such as an if or case statement. +type CodeCoverageReportSummary struct { _ struct{} `type:"structure"` - // The IDs of the builds to delete. - // - // Ids is a required field - Ids []*string `locationName:"ids" min:"1" type:"list" required:"true"` + // The percentage of branches that are covered by your tests. + BranchCoveragePercentage *float64 `locationName:"branchCoveragePercentage" type:"double"` + + // The number of conditional branches that are covered by your tests. + BranchesCovered *int64 `locationName:"branchesCovered" type:"integer"` + + // The number of conditional branches that are not covered by your tests. + BranchesMissed *int64 `locationName:"branchesMissed" type:"integer"` + + // The percentage of lines that are covered by your tests. + LineCoveragePercentage *float64 `locationName:"lineCoveragePercentage" type:"double"` + + // The number of lines that are covered by your tests. + LinesCovered *int64 `locationName:"linesCovered" type:"integer"` + + // The number of lines that are not covered by your tests. + LinesMissed *int64 `locationName:"linesMissed" type:"integer"` } // String returns the string representation -func (s BatchDeleteBuildsInput) String() string { +func (s CodeCoverageReportSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchDeleteBuildsInput) GoString() string { +func (s CodeCoverageReportSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchDeleteBuildsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchDeleteBuildsInput"} - if s.Ids == nil { - invalidParams.Add(request.NewErrParamRequired("Ids")) - } - if s.Ids != nil && len(s.Ids) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Ids", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetIds sets the Ids field's value. -func (s *BatchDeleteBuildsInput) SetIds(v []*string) *BatchDeleteBuildsInput { - s.Ids = v +// SetBranchCoveragePercentage sets the BranchCoveragePercentage field's value. +func (s *CodeCoverageReportSummary) SetBranchCoveragePercentage(v float64) *CodeCoverageReportSummary { + s.BranchCoveragePercentage = &v return s } -type BatchDeleteBuildsOutput struct { - _ struct{} `type:"structure"` - - // The IDs of the builds that were successfully deleted. - BuildsDeleted []*string `locationName:"buildsDeleted" min:"1" type:"list"` - - // Information about any builds that could not be successfully deleted. - BuildsNotDeleted []*BuildNotDeleted `locationName:"buildsNotDeleted" type:"list"` +// SetBranchesCovered sets the BranchesCovered field's value. +func (s *CodeCoverageReportSummary) SetBranchesCovered(v int64) *CodeCoverageReportSummary { + s.BranchesCovered = &v + return s } -// String returns the string representation -func (s BatchDeleteBuildsOutput) String() string { - return awsutil.Prettify(s) +// SetBranchesMissed sets the BranchesMissed field's value. +func (s *CodeCoverageReportSummary) SetBranchesMissed(v int64) *CodeCoverageReportSummary { + s.BranchesMissed = &v + return s } -// GoString returns the string representation -func (s BatchDeleteBuildsOutput) GoString() string { - return s.String() +// SetLineCoveragePercentage sets the LineCoveragePercentage field's value. +func (s *CodeCoverageReportSummary) SetLineCoveragePercentage(v float64) *CodeCoverageReportSummary { + s.LineCoveragePercentage = &v + return s } -// SetBuildsDeleted sets the BuildsDeleted field's value. -func (s *BatchDeleteBuildsOutput) SetBuildsDeleted(v []*string) *BatchDeleteBuildsOutput { - s.BuildsDeleted = v +// SetLinesCovered sets the LinesCovered field's value. +func (s *CodeCoverageReportSummary) SetLinesCovered(v int64) *CodeCoverageReportSummary { + s.LinesCovered = &v return s } -// SetBuildsNotDeleted sets the BuildsNotDeleted field's value. -func (s *BatchDeleteBuildsOutput) SetBuildsNotDeleted(v []*BuildNotDeleted) *BatchDeleteBuildsOutput { - s.BuildsNotDeleted = v +// SetLinesMissed sets the LinesMissed field's value. +func (s *CodeCoverageReportSummary) SetLinesMissed(v int64) *CodeCoverageReportSummary { + s.LinesMissed = &v return s } -type BatchGetBuildsInput struct { +type CreateProjectInput struct { _ struct{} `type:"structure"` - // The IDs of the builds. + // Information about the build output artifacts for the build project. // - // Ids is a required field - Ids []*string `locationName:"ids" min:"1" type:"list" required:"true"` + // Artifacts is a required field + Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure" required:"true"` + + // Set this to true to generate a publicly accessible URL for your project's + // build badge. + BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"` + + // A ProjectBuildBatchConfig object that defines the batch build options for + // the project. + BuildBatchConfig *ProjectBuildBatchConfig `locationName:"buildBatchConfig" type:"structure"` + + // Stores recently used information so that it can be quickly accessed at a + // later time. + Cache *ProjectCache `locationName:"cache" type:"structure"` + + // A description that makes the build project easy to identify. + Description *string `locationName:"description" type:"string"` + + // The AWS Key Management Service (AWS KMS) customer master key (CMK) to be + // used for encrypting the build output artifacts. + // + // You can use a cross-account KMS key to encrypt the build output artifacts + // if your service role has permission to that key. + // + // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, + // the CMK's alias (using the format alias/alias-name ). + EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` + + // Information about the build environment for the build project. + // + // Environment is a required field + Environment *ProjectEnvironment `locationName:"environment" type:"structure" required:"true"` + + // An array of ProjectFileSystemLocation objects for a CodeBuild build project. + // A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, + // mountPoint, and type of a file system created using Amazon Elastic File System. + FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"` + + // Information about logs for the build project. These can be logs in Amazon + // CloudWatch Logs, logs uploaded to a specified S3 bucket, or both. + LogsConfig *LogsConfig `locationName:"logsConfig" type:"structure"` + + // The name of the build project. + // + // Name is a required field + Name *string `locationName:"name" min:"2" type:"string" required:"true"` + + // The number of minutes a build is allowed to be queued before it times out. + QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" min:"5" type:"integer"` + + // An array of ProjectArtifacts objects. + SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"` + + // An array of ProjectSourceVersion objects. If secondarySourceVersions is specified + // at the build level, then they take precedence over these secondarySourceVersions + // (at the project level). + SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"` + + // An array of ProjectSource objects. + SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"` + + // The ARN of the AWS Identity and Access Management (IAM) role that enables + // AWS CodeBuild to interact with dependent AWS services on behalf of the AWS + // account. + // + // ServiceRole is a required field + ServiceRole *string `locationName:"serviceRole" min:"1" type:"string" required:"true"` + + // Information about the build input source code for the build project. + // + // Source is a required field + Source *ProjectSource `locationName:"source" type:"structure" required:"true"` + + // A version of the build input to be built for this project. If not specified, + // the latest version is used. If specified, it must be one of: + // + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. + // + // * For GitHub: the commit ID, pull request ID, branch name, or tag name + // that corresponds to the version of the source code you want to build. + // If a pull request ID is specified, it must use the format pr/pull-request-ID + // (for example pr/25). If a branch name is specified, the branch's HEAD + // commit ID is used. If not specified, the default branch's HEAD commit + // ID is used. + // + // * For Bitbucket: the commit ID, branch name, or tag name that corresponds + // to the version of the source code you want to build. If a branch name + // is specified, the branch's HEAD commit ID is used. If not specified, the + // default branch's HEAD commit ID is used. + // + // * For Amazon Simple Storage Service (Amazon S3): the version ID of the + // object that represents the build input ZIP file to use. + // + // If sourceVersion is specified at the build level, then that version takes + // precedence over this sourceVersion (at the project level). + // + // For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) + // in the AWS CodeBuild User Guide. + SourceVersion *string `locationName:"sourceVersion" type:"string"` + + // A list of tag key and value pairs associated with this build project. + // + // These tags are available for use by AWS services that support AWS CodeBuild + // build project tags. + Tags []*Tag `locationName:"tags" type:"list"` + + // How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait + // before it times out any build that has not been marked as completed. The + // default is 60 minutes. + TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"5" type:"integer"` + + // VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC. + VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` } // String returns the string representation -func (s BatchGetBuildsInput) String() string { +func (s CreateProjectInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchGetBuildsInput) GoString() string { +func (s CreateProjectInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetBuildsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetBuildsInput"} - if s.Ids == nil { - invalidParams.Add(request.NewErrParamRequired("Ids")) +func (s *CreateProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"} + if s.Artifacts == nil { + invalidParams.Add(request.NewErrParamRequired("Artifacts")) + } + if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1)) + } + if s.Environment == nil { + invalidParams.Add(request.NewErrParamRequired("Environment")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Name", 2)) + } + if s.QueuedTimeoutInMinutes != nil && *s.QueuedTimeoutInMinutes < 5 { + invalidParams.Add(request.NewErrParamMinValue("QueuedTimeoutInMinutes", 5)) + } + if s.ServiceRole == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceRole")) + } + if s.ServiceRole != nil && len(*s.ServiceRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceRole", 1)) + } + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.TimeoutInMinutes != nil && *s.TimeoutInMinutes < 5 { + invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutes", 5)) + } + if s.Artifacts != nil { + if err := s.Artifacts.Validate(); err != nil { + invalidParams.AddNested("Artifacts", err.(request.ErrInvalidParams)) + } + } + if s.BuildBatchConfig != nil { + if err := s.BuildBatchConfig.Validate(); err != nil { + invalidParams.AddNested("BuildBatchConfig", err.(request.ErrInvalidParams)) + } + } + if s.Cache != nil { + if err := s.Cache.Validate(); err != nil { + invalidParams.AddNested("Cache", err.(request.ErrInvalidParams)) + } + } + if s.Environment != nil { + if err := s.Environment.Validate(); err != nil { + invalidParams.AddNested("Environment", err.(request.ErrInvalidParams)) + } + } + if s.LogsConfig != nil { + if err := s.LogsConfig.Validate(); err != nil { + invalidParams.AddNested("LogsConfig", err.(request.ErrInvalidParams)) + } + } + if s.SecondaryArtifacts != nil { + for i, v := range s.SecondaryArtifacts { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondaryArtifacts", i), err.(request.ErrInvalidParams)) + } + } } - if s.Ids != nil && len(s.Ids) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Ids", 1)) + if s.SecondarySourceVersions != nil { + for i, v := range s.SecondarySourceVersions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourceVersions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SecondarySources != nil { + for i, v := range s.SecondarySources { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySources", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Source != nil { + if err := s.Source.Validate(); err != nil { + invalidParams.AddNested("Source", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.VpcConfig != nil { + if err := s.VpcConfig.Validate(); err != nil { + invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -2960,220 +6550,214 @@ func (s *BatchGetBuildsInput) Validate() error { return nil } -// SetIds sets the Ids field's value. -func (s *BatchGetBuildsInput) SetIds(v []*string) *BatchGetBuildsInput { - s.Ids = v +// SetArtifacts sets the Artifacts field's value. +func (s *CreateProjectInput) SetArtifacts(v *ProjectArtifacts) *CreateProjectInput { + s.Artifacts = v return s } -type BatchGetBuildsOutput struct { - _ struct{} `type:"structure"` - - // Information about the requested builds. - Builds []*Build `locationName:"builds" type:"list"` - - // The IDs of builds for which information could not be found. - BuildsNotFound []*string `locationName:"buildsNotFound" min:"1" type:"list"` -} - -// String returns the string representation -func (s BatchGetBuildsOutput) String() string { - return awsutil.Prettify(s) +// SetBadgeEnabled sets the BadgeEnabled field's value. +func (s *CreateProjectInput) SetBadgeEnabled(v bool) *CreateProjectInput { + s.BadgeEnabled = &v + return s } -// GoString returns the string representation -func (s BatchGetBuildsOutput) GoString() string { - return s.String() +// SetBuildBatchConfig sets the BuildBatchConfig field's value. +func (s *CreateProjectInput) SetBuildBatchConfig(v *ProjectBuildBatchConfig) *CreateProjectInput { + s.BuildBatchConfig = v + return s } -// SetBuilds sets the Builds field's value. -func (s *BatchGetBuildsOutput) SetBuilds(v []*Build) *BatchGetBuildsOutput { - s.Builds = v +// SetCache sets the Cache field's value. +func (s *CreateProjectInput) SetCache(v *ProjectCache) *CreateProjectInput { + s.Cache = v return s } -// SetBuildsNotFound sets the BuildsNotFound field's value. -func (s *BatchGetBuildsOutput) SetBuildsNotFound(v []*string) *BatchGetBuildsOutput { - s.BuildsNotFound = v +// SetDescription sets the Description field's value. +func (s *CreateProjectInput) SetDescription(v string) *CreateProjectInput { + s.Description = &v return s } -type BatchGetProjectsInput struct { - _ struct{} `type:"structure"` - - // The names or ARNs of the build projects. To get information about a project - // shared with your AWS account, its ARN must be specified. You cannot specify - // a shared project using its name. - // - // Names is a required field - Names []*string `locationName:"names" min:"1" type:"list" required:"true"` +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *CreateProjectInput) SetEncryptionKey(v string) *CreateProjectInput { + s.EncryptionKey = &v + return s } -// String returns the string representation -func (s BatchGetProjectsInput) String() string { - return awsutil.Prettify(s) +// SetEnvironment sets the Environment field's value. +func (s *CreateProjectInput) SetEnvironment(v *ProjectEnvironment) *CreateProjectInput { + s.Environment = v + return s } -// GoString returns the string representation -func (s BatchGetProjectsInput) GoString() string { - return s.String() +// SetFileSystemLocations sets the FileSystemLocations field's value. +func (s *CreateProjectInput) SetFileSystemLocations(v []*ProjectFileSystemLocation) *CreateProjectInput { + s.FileSystemLocations = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetProjectsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetProjectsInput"} - if s.Names == nil { - invalidParams.Add(request.NewErrParamRequired("Names")) - } - if s.Names != nil && len(s.Names) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Names", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetLogsConfig sets the LogsConfig field's value. +func (s *CreateProjectInput) SetLogsConfig(v *LogsConfig) *CreateProjectInput { + s.LogsConfig = v + return s } -// SetNames sets the Names field's value. -func (s *BatchGetProjectsInput) SetNames(v []*string) *BatchGetProjectsInput { - s.Names = v +// SetName sets the Name field's value. +func (s *CreateProjectInput) SetName(v string) *CreateProjectInput { + s.Name = &v return s } -type BatchGetProjectsOutput struct { - _ struct{} `type:"structure"` - - // Information about the requested build projects. - Projects []*Project `locationName:"projects" type:"list"` - - // The names of build projects for which information could not be found. - ProjectsNotFound []*string `locationName:"projectsNotFound" min:"1" type:"list"` +// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. +func (s *CreateProjectInput) SetQueuedTimeoutInMinutes(v int64) *CreateProjectInput { + s.QueuedTimeoutInMinutes = &v + return s } -// String returns the string representation -func (s BatchGetProjectsOutput) String() string { - return awsutil.Prettify(s) +// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. +func (s *CreateProjectInput) SetSecondaryArtifacts(v []*ProjectArtifacts) *CreateProjectInput { + s.SecondaryArtifacts = v + return s } -// GoString returns the string representation -func (s BatchGetProjectsOutput) GoString() string { - return s.String() +// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. +func (s *CreateProjectInput) SetSecondarySourceVersions(v []*ProjectSourceVersion) *CreateProjectInput { + s.SecondarySourceVersions = v + return s } -// SetProjects sets the Projects field's value. -func (s *BatchGetProjectsOutput) SetProjects(v []*Project) *BatchGetProjectsOutput { - s.Projects = v +// SetSecondarySources sets the SecondarySources field's value. +func (s *CreateProjectInput) SetSecondarySources(v []*ProjectSource) *CreateProjectInput { + s.SecondarySources = v return s } -// SetProjectsNotFound sets the ProjectsNotFound field's value. -func (s *BatchGetProjectsOutput) SetProjectsNotFound(v []*string) *BatchGetProjectsOutput { - s.ProjectsNotFound = v +// SetServiceRole sets the ServiceRole field's value. +func (s *CreateProjectInput) SetServiceRole(v string) *CreateProjectInput { + s.ServiceRole = &v return s } -type BatchGetReportGroupsInput struct { - _ struct{} `type:"structure"` - - // An array of report group ARNs that identify the report groups to return. - // - // ReportGroupArns is a required field - ReportGroupArns []*string `locationName:"reportGroupArns" min:"1" type:"list" required:"true"` +// SetSource sets the Source field's value. +func (s *CreateProjectInput) SetSource(v *ProjectSource) *CreateProjectInput { + s.Source = v + return s } -// String returns the string representation -func (s BatchGetReportGroupsInput) String() string { - return awsutil.Prettify(s) +// SetSourceVersion sets the SourceVersion field's value. +func (s *CreateProjectInput) SetSourceVersion(v string) *CreateProjectInput { + s.SourceVersion = &v + return s } -// GoString returns the string representation -func (s BatchGetReportGroupsInput) GoString() string { - return s.String() +// SetTags sets the Tags field's value. +func (s *CreateProjectInput) SetTags(v []*Tag) *CreateProjectInput { + s.Tags = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetReportGroupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetReportGroupsInput"} - if s.ReportGroupArns == nil { - invalidParams.Add(request.NewErrParamRequired("ReportGroupArns")) - } - if s.ReportGroupArns != nil && len(s.ReportGroupArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ReportGroupArns", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. +func (s *CreateProjectInput) SetTimeoutInMinutes(v int64) *CreateProjectInput { + s.TimeoutInMinutes = &v + return s } -// SetReportGroupArns sets the ReportGroupArns field's value. -func (s *BatchGetReportGroupsInput) SetReportGroupArns(v []*string) *BatchGetReportGroupsInput { - s.ReportGroupArns = v +// SetVpcConfig sets the VpcConfig field's value. +func (s *CreateProjectInput) SetVpcConfig(v *VpcConfig) *CreateProjectInput { + s.VpcConfig = v return s } -type BatchGetReportGroupsOutput struct { +type CreateProjectOutput struct { _ struct{} `type:"structure"` - // The array of report groups returned by BatchGetReportGroups. - ReportGroups []*ReportGroup `locationName:"reportGroups" min:"1" type:"list"` - - // An array of ARNs passed to BatchGetReportGroups that are not associated with - // a ReportGroup. - ReportGroupsNotFound []*string `locationName:"reportGroupsNotFound" min:"1" type:"list"` + // Information about the build project that was created. + Project *Project `locationName:"project" type:"structure"` } // String returns the string representation -func (s BatchGetReportGroupsOutput) String() string { +func (s CreateProjectOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchGetReportGroupsOutput) GoString() string { +func (s CreateProjectOutput) GoString() string { return s.String() } -// SetReportGroups sets the ReportGroups field's value. -func (s *BatchGetReportGroupsOutput) SetReportGroups(v []*ReportGroup) *BatchGetReportGroupsOutput { - s.ReportGroups = v +// SetProject sets the Project field's value. +func (s *CreateProjectOutput) SetProject(v *Project) *CreateProjectOutput { + s.Project = v return s } -// SetReportGroupsNotFound sets the ReportGroupsNotFound field's value. -func (s *BatchGetReportGroupsOutput) SetReportGroupsNotFound(v []*string) *BatchGetReportGroupsOutput { - s.ReportGroupsNotFound = v - return s -} +type CreateReportGroupInput struct { + _ struct{} `type:"structure"` + + // A ReportExportConfig object that contains information about where the report + // group test results are exported. + // + // ExportConfig is a required field + ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure" required:"true"` + + // The name of the report group. + // + // Name is a required field + Name *string `locationName:"name" min:"2" type:"string" required:"true"` -type BatchGetReportsInput struct { - _ struct{} `type:"structure"` + // A list of tag key and value pairs associated with this report group. + // + // These tags are available for use by AWS services that support AWS CodeBuild + // report group tags. + Tags []*Tag `locationName:"tags" type:"list"` - // An array of ARNs that identify the Report objects to return. + // The type of report group. // - // ReportArns is a required field - ReportArns []*string `locationName:"reportArns" min:"1" type:"list" required:"true"` + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ReportType"` } // String returns the string representation -func (s BatchGetReportsInput) String() string { +func (s CreateReportGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchGetReportsInput) GoString() string { +func (s CreateReportGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetReportsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetReportsInput"} - if s.ReportArns == nil { - invalidParams.Add(request.NewErrParamRequired("ReportArns")) +func (s *CreateReportGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateReportGroupInput"} + if s.ExportConfig == nil { + invalidParams.Add(request.NewErrParamRequired("ExportConfig")) } - if s.ReportArns != nil && len(s.ReportArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ReportArns", 1)) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Name", 2)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.ExportConfig != nil { + if err := s.ExportConfig.Validate(); err != nil { + invalidParams.AddNested("ExportConfig", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -3182,662 +6766,672 @@ func (s *BatchGetReportsInput) Validate() error { return nil } -// SetReportArns sets the ReportArns field's value. -func (s *BatchGetReportsInput) SetReportArns(v []*string) *BatchGetReportsInput { - s.ReportArns = v +// SetExportConfig sets the ExportConfig field's value. +func (s *CreateReportGroupInput) SetExportConfig(v *ReportExportConfig) *CreateReportGroupInput { + s.ExportConfig = v return s } -type BatchGetReportsOutput struct { - _ struct{} `type:"structure"` +// SetName sets the Name field's value. +func (s *CreateReportGroupInput) SetName(v string) *CreateReportGroupInput { + s.Name = &v + return s +} - // The array of Report objects returned by BatchGetReports. - Reports []*Report `locationName:"reports" min:"1" type:"list"` +// SetTags sets the Tags field's value. +func (s *CreateReportGroupInput) SetTags(v []*Tag) *CreateReportGroupInput { + s.Tags = v + return s +} - // An array of ARNs passed to BatchGetReportGroups that are not associated with - // a Report. - ReportsNotFound []*string `locationName:"reportsNotFound" min:"1" type:"list"` +// SetType sets the Type field's value. +func (s *CreateReportGroupInput) SetType(v string) *CreateReportGroupInput { + s.Type = &v + return s +} + +type CreateReportGroupOutput struct { + _ struct{} `type:"structure"` + + // Information about the report group that was created. + ReportGroup *ReportGroup `locationName:"reportGroup" type:"structure"` } // String returns the string representation -func (s BatchGetReportsOutput) String() string { +func (s CreateReportGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchGetReportsOutput) GoString() string { +func (s CreateReportGroupOutput) GoString() string { return s.String() } -// SetReports sets the Reports field's value. -func (s *BatchGetReportsOutput) SetReports(v []*Report) *BatchGetReportsOutput { - s.Reports = v - return s -} - -// SetReportsNotFound sets the ReportsNotFound field's value. -func (s *BatchGetReportsOutput) SetReportsNotFound(v []*string) *BatchGetReportsOutput { - s.ReportsNotFound = v +// SetReportGroup sets the ReportGroup field's value. +func (s *CreateReportGroupOutput) SetReportGroup(v *ReportGroup) *CreateReportGroupOutput { + s.ReportGroup = v return s } -// Information about a build. -type Build struct { +type CreateWebhookInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the build. - Arn *string `locationName:"arn" min:"1" type:"string"` - - // Information about the output artifacts for the build. - Artifacts *BuildArtifacts `locationName:"artifacts" type:"structure"` - - // Whether the build is complete. True if complete; otherwise, false. - BuildComplete *bool `locationName:"buildComplete" type:"boolean"` - - // The number of the build. For each project, the buildNumber of its first build - // is 1. The buildNumber of each subsequent build is incremented by 1. If a - // build is deleted, the buildNumber of other builds does not change. - BuildNumber *int64 `locationName:"buildNumber" type:"long"` - - // The current status of the build. Valid values include: - // - // * FAILED: The build failed. - // - // * FAULT: The build faulted. - // - // * IN_PROGRESS: The build is still in progress. - // - // * STOPPED: The build stopped. - // - // * SUCCEEDED: The build succeeded. - // - // * TIMED_OUT: The build timed out. - BuildStatus *string `locationName:"buildStatus" type:"string" enum:"StatusType"` - - // Information about the cache for the build. - Cache *ProjectCache `locationName:"cache" type:"structure"` - - // The current build phase. - CurrentPhase *string `locationName:"currentPhase" type:"string"` - - // The AWS Key Management Service (AWS KMS) customer master key (CMK) to be - // used for encrypting the build output artifacts. - // - // You can use a cross-account KMS key to encrypt the build output artifacts - // if your service role has permission to that key. - // - // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, - // the CMK's alias (using the format alias/alias-name ). - EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` - - // When the build process ended, expressed in Unix time format. - EndTime *time.Time `locationName:"endTime" type:"timestamp"` - - // Information about the build environment for this build. - Environment *ProjectEnvironment `locationName:"environment" type:"structure"` - - // A list of exported environment variables for this build. - ExportedEnvironmentVariables []*ExportedEnvironmentVariable `locationName:"exportedEnvironmentVariables" type:"list"` - - // An array of ProjectFileSystemLocation objects for a CodeBuild build project. - // A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, - // mountPoint, and type of a file system created using Amazon Elastic File System. - FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"` - - // The unique ID for the build. - Id *string `locationName:"id" min:"1" type:"string"` - - // The entity that started the build. Valid values include: - // - // * If AWS CodePipeline started the build, the pipeline's name (for example, - // codepipeline/my-demo-pipeline). - // - // * If an AWS Identity and Access Management (IAM) user started the build, - // the user's name (for example, MyUserName). - // - // * If the Jenkins plugin for AWS CodeBuild started the build, the string - // CodeBuild-Jenkins-Plugin. - Initiator *string `locationName:"initiator" type:"string"` - - // Information about the build's logs in Amazon CloudWatch Logs. - Logs *LogsLocation `locationName:"logs" type:"structure"` - - // Describes a network interface. - NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"` - - // Information about all previous build phases that are complete and information - // about any current build phase that is not yet complete. - Phases []*BuildPhase `locationName:"phases" type:"list"` - - // The name of the AWS CodeBuild project. - ProjectName *string `locationName:"projectName" min:"1" type:"string"` - - // The number of minutes a build is allowed to be queued before it times out. - QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" type:"integer"` - - // An array of the ARNs associated with this build's reports. - ReportArns []*string `locationName:"reportArns" type:"list"` - - // An identifier for the version of this build's source code. - // - // * For AWS CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit - // ID. - // - // * For AWS CodePipeline, the source revision provided by AWS CodePipeline. - // - // * For Amazon Simple Storage Service (Amazon S3), this does not apply. - ResolvedSourceVersion *string `locationName:"resolvedSourceVersion" min:"1" type:"string"` - - // An array of ProjectArtifacts objects. - SecondaryArtifacts []*BuildArtifacts `locationName:"secondaryArtifacts" type:"list"` - - // An array of ProjectSourceVersion objects. Each ProjectSourceVersion must - // be one of: - // - // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. - // - // * For GitHub: the commit ID, pull request ID, branch name, or tag name - // that corresponds to the version of the source code you want to build. - // If a pull request ID is specified, it must use the format pr/pull-request-ID - // (for example, pr/25). If a branch name is specified, the branch's HEAD - // commit ID is used. If not specified, the default branch's HEAD commit - // ID is used. - // - // * For Bitbucket: the commit ID, branch name, or tag name that corresponds - // to the version of the source code you want to build. If a branch name - // is specified, the branch's HEAD commit ID is used. If not specified, the - // default branch's HEAD commit ID is used. - // - // * For Amazon Simple Storage Service (Amazon S3): the version ID of the - // object that represents the build input ZIP file to use. - SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"` - - // An array of ProjectSource objects. - SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"` - - // The name of a service role used for this build. - ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"` - - // Information about the source code to be built. - Source *ProjectSource `locationName:"source" type:"structure"` - - // Any version identifier for the version of the source code to be built. If - // sourceVersion is specified at the project level, then this sourceVersion - // (at the build level) takes precedence. + // A regular expression used to determine which repository branches are built + // when a webhook is triggered. If the name of a branch matches the regular + // expression, then it is built. If branchFilter is empty, then all branches + // are built. // - // For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) - // in the AWS CodeBuild User Guide. - SourceVersion *string `locationName:"sourceVersion" min:"1" type:"string"` + // It is recommended that you use filterGroups instead of branchFilter. + BranchFilter *string `locationName:"branchFilter" type:"string"` - // When the build process started, expressed in Unix time format. - StartTime *time.Time `locationName:"startTime" type:"timestamp"` + // Specifies the type of build this webhook will trigger. + BuildType *string `locationName:"buildType" type:"string" enum:"WebhookBuildType"` - // How long, in minutes, for AWS CodeBuild to wait before timing out this build - // if it does not get marked as completed. - TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" type:"integer"` + // An array of arrays of WebhookFilter objects used to determine which webhooks + // are triggered. At least one WebhookFilter in the array must specify EVENT + // as its type. + // + // For a build to be triggered, at least one filter group in the filterGroups + // array must pass. For a filter group to pass, each of its filters must pass. + FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"` - // If your AWS CodeBuild project accesses resources in an Amazon VPC, you provide - // this parameter that identifies the VPC ID and the list of security group - // IDs and subnet IDs. The security groups and subnets must belong to the same - // VPC. You must provide at least one security group and one subnet ID. - VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` + // The name of the AWS CodeBuild project. + // + // ProjectName is a required field + ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"` } // String returns the string representation -func (s Build) String() string { +func (s CreateWebhookInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Build) GoString() string { +func (s CreateWebhookInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Build) SetArn(v string) *Build { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWebhookInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWebhookInput"} + if s.ProjectName == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectName")) + } + if s.ProjectName != nil && len(*s.ProjectName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetArtifacts sets the Artifacts field's value. -func (s *Build) SetArtifacts(v *BuildArtifacts) *Build { - s.Artifacts = v +// SetBranchFilter sets the BranchFilter field's value. +func (s *CreateWebhookInput) SetBranchFilter(v string) *CreateWebhookInput { + s.BranchFilter = &v return s } -// SetBuildComplete sets the BuildComplete field's value. -func (s *Build) SetBuildComplete(v bool) *Build { - s.BuildComplete = &v +// SetBuildType sets the BuildType field's value. +func (s *CreateWebhookInput) SetBuildType(v string) *CreateWebhookInput { + s.BuildType = &v return s } -// SetBuildNumber sets the BuildNumber field's value. -func (s *Build) SetBuildNumber(v int64) *Build { - s.BuildNumber = &v +// SetFilterGroups sets the FilterGroups field's value. +func (s *CreateWebhookInput) SetFilterGroups(v [][]*WebhookFilter) *CreateWebhookInput { + s.FilterGroups = v return s } -// SetBuildStatus sets the BuildStatus field's value. -func (s *Build) SetBuildStatus(v string) *Build { - s.BuildStatus = &v +// SetProjectName sets the ProjectName field's value. +func (s *CreateWebhookInput) SetProjectName(v string) *CreateWebhookInput { + s.ProjectName = &v return s } -// SetCache sets the Cache field's value. -func (s *Build) SetCache(v *ProjectCache) *Build { - s.Cache = v - return s +type CreateWebhookOutput struct { + _ struct{} `type:"structure"` + + // Information about a webhook that connects repository events to a build project + // in AWS CodeBuild. + Webhook *Webhook `locationName:"webhook" type:"structure"` } -// SetCurrentPhase sets the CurrentPhase field's value. -func (s *Build) SetCurrentPhase(v string) *Build { - s.CurrentPhase = &v - return s +// String returns the string representation +func (s CreateWebhookOutput) String() string { + return awsutil.Prettify(s) } -// SetEncryptionKey sets the EncryptionKey field's value. -func (s *Build) SetEncryptionKey(v string) *Build { - s.EncryptionKey = &v - return s +// GoString returns the string representation +func (s CreateWebhookOutput) GoString() string { + return s.String() } -// SetEndTime sets the EndTime field's value. -func (s *Build) SetEndTime(v time.Time) *Build { - s.EndTime = &v +// SetWebhook sets the Webhook field's value. +func (s *CreateWebhookOutput) SetWebhook(v *Webhook) *CreateWebhookOutput { + s.Webhook = v return s } -// SetEnvironment sets the Environment field's value. -func (s *Build) SetEnvironment(v *ProjectEnvironment) *Build { - s.Environment = v - return s +// Contains information about the debug session for a build. For more information, +// see Viewing a running build in Session Manager (https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html). +type DebugSession struct { + _ struct{} `type:"structure"` + + // Specifies if session debugging is enabled for this build. + SessionEnabled *bool `locationName:"sessionEnabled" type:"boolean"` + + // Contains the identifier of the Session Manager session used for the build. + // To work with the paused build, you open this session to examine, control, + // and resume the build. + SessionTarget *string `locationName:"sessionTarget" min:"1" type:"string"` } -// SetExportedEnvironmentVariables sets the ExportedEnvironmentVariables field's value. -func (s *Build) SetExportedEnvironmentVariables(v []*ExportedEnvironmentVariable) *Build { - s.ExportedEnvironmentVariables = v +// String returns the string representation +func (s DebugSession) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DebugSession) GoString() string { + return s.String() +} + +// SetSessionEnabled sets the SessionEnabled field's value. +func (s *DebugSession) SetSessionEnabled(v bool) *DebugSession { + s.SessionEnabled = &v return s } -// SetFileSystemLocations sets the FileSystemLocations field's value. -func (s *Build) SetFileSystemLocations(v []*ProjectFileSystemLocation) *Build { - s.FileSystemLocations = v +// SetSessionTarget sets the SessionTarget field's value. +func (s *DebugSession) SetSessionTarget(v string) *DebugSession { + s.SessionTarget = &v return s } +type DeleteBuildBatchInput struct { + _ struct{} `type:"structure"` + + // The identifier of the batch build to delete. + // + // Id is a required field + Id *string `locationName:"id" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteBuildBatchInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteBuildBatchInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteBuildBatchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBuildBatchInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetId sets the Id field's value. -func (s *Build) SetId(v string) *Build { +func (s *DeleteBuildBatchInput) SetId(v string) *DeleteBuildBatchInput { s.Id = &v return s } -// SetInitiator sets the Initiator field's value. -func (s *Build) SetInitiator(v string) *Build { - s.Initiator = &v - return s +type DeleteBuildBatchOutput struct { + _ struct{} `type:"structure"` + + // An array of strings that contain the identifiers of the builds that were + // deleted. + BuildsDeleted []*string `locationName:"buildsDeleted" min:"1" type:"list"` + + // An array of BuildNotDeleted objects that specify the builds that could not + // be deleted. + BuildsNotDeleted []*BuildNotDeleted `locationName:"buildsNotDeleted" type:"list"` + + // The status code. + StatusCode *string `locationName:"statusCode" type:"string"` } -// SetLogs sets the Logs field's value. -func (s *Build) SetLogs(v *LogsLocation) *Build { - s.Logs = v - return s +// String returns the string representation +func (s DeleteBuildBatchOutput) String() string { + return awsutil.Prettify(s) } -// SetNetworkInterface sets the NetworkInterface field's value. -func (s *Build) SetNetworkInterface(v *NetworkInterface) *Build { - s.NetworkInterface = v - return s +// GoString returns the string representation +func (s DeleteBuildBatchOutput) GoString() string { + return s.String() } -// SetPhases sets the Phases field's value. -func (s *Build) SetPhases(v []*BuildPhase) *Build { - s.Phases = v +// SetBuildsDeleted sets the BuildsDeleted field's value. +func (s *DeleteBuildBatchOutput) SetBuildsDeleted(v []*string) *DeleteBuildBatchOutput { + s.BuildsDeleted = v return s } -// SetProjectName sets the ProjectName field's value. -func (s *Build) SetProjectName(v string) *Build { - s.ProjectName = &v +// SetBuildsNotDeleted sets the BuildsNotDeleted field's value. +func (s *DeleteBuildBatchOutput) SetBuildsNotDeleted(v []*BuildNotDeleted) *DeleteBuildBatchOutput { + s.BuildsNotDeleted = v return s } -// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. -func (s *Build) SetQueuedTimeoutInMinutes(v int64) *Build { - s.QueuedTimeoutInMinutes = &v +// SetStatusCode sets the StatusCode field's value. +func (s *DeleteBuildBatchOutput) SetStatusCode(v string) *DeleteBuildBatchOutput { + s.StatusCode = &v return s } -// SetReportArns sets the ReportArns field's value. -func (s *Build) SetReportArns(v []*string) *Build { - s.ReportArns = v - return s +type DeleteProjectInput struct { + _ struct{} `type:"structure"` + + // The name of the build project. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` } -// SetResolvedSourceVersion sets the ResolvedSourceVersion field's value. -func (s *Build) SetResolvedSourceVersion(v string) *Build { - s.ResolvedSourceVersion = &v - return s +// String returns the string representation +func (s DeleteProjectInput) String() string { + return awsutil.Prettify(s) } -// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. -func (s *Build) SetSecondaryArtifacts(v []*BuildArtifacts) *Build { - s.SecondaryArtifacts = v - return s +// GoString returns the string representation +func (s DeleteProjectInput) GoString() string { + return s.String() } -// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. -func (s *Build) SetSecondarySourceVersions(v []*ProjectSourceVersion) *Build { - s.SecondarySourceVersions = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetSecondarySources sets the SecondarySources field's value. -func (s *Build) SetSecondarySources(v []*ProjectSource) *Build { - s.SecondarySources = v +// SetName sets the Name field's value. +func (s *DeleteProjectInput) SetName(v string) *DeleteProjectInput { + s.Name = &v return s } -// SetServiceRole sets the ServiceRole field's value. -func (s *Build) SetServiceRole(v string) *Build { - s.ServiceRole = &v - return s +type DeleteProjectOutput struct { + _ struct{} `type:"structure"` } -// SetSource sets the Source field's value. -func (s *Build) SetSource(v *ProjectSource) *Build { - s.Source = v - return s +// String returns the string representation +func (s DeleteProjectOutput) String() string { + return awsutil.Prettify(s) } -// SetSourceVersion sets the SourceVersion field's value. -func (s *Build) SetSourceVersion(v string) *Build { - s.SourceVersion = &v - return s +// GoString returns the string representation +func (s DeleteProjectOutput) GoString() string { + return s.String() +} + +type DeleteReportGroupInput struct { + _ struct{} `type:"structure"` + + // The ARN of the report group to delete. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteReportGroupInput) String() string { + return awsutil.Prettify(s) } -// SetStartTime sets the StartTime field's value. -func (s *Build) SetStartTime(v time.Time) *Build { - s.StartTime = &v - return s +// GoString returns the string representation +func (s DeleteReportGroupInput) GoString() string { + return s.String() } -// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. -func (s *Build) SetTimeoutInMinutes(v int64) *Build { - s.TimeoutInMinutes = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReportGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReportGroupInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetVpcConfig sets the VpcConfig field's value. -func (s *Build) SetVpcConfig(v *VpcConfig) *Build { - s.VpcConfig = v +// SetArn sets the Arn field's value. +func (s *DeleteReportGroupInput) SetArn(v string) *DeleteReportGroupInput { + s.Arn = &v return s } -// Information about build output artifacts. -type BuildArtifacts struct { +type DeleteReportGroupOutput struct { _ struct{} `type:"structure"` +} - // An identifier for this artifact definition. - ArtifactIdentifier *string `locationName:"artifactIdentifier" type:"string"` - - // Information that tells you if encryption for build artifacts is disabled. - EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` - - // Information about the location of the build artifacts. - Location *string `locationName:"location" type:"string"` +// String returns the string representation +func (s DeleteReportGroupOutput) String() string { + return awsutil.Prettify(s) +} - // The MD5 hash of the build artifact. - // - // You can use this hash along with a checksum tool to confirm file integrity - // and authenticity. - // - // This value is available only if the build project's packaging value is set - // to ZIP. - Md5sum *string `locationName:"md5sum" type:"string"` +// GoString returns the string representation +func (s DeleteReportGroupOutput) GoString() string { + return s.String() +} - // If this flag is set, a name specified in the buildspec file overrides the - // artifact name. The name specified in a buildspec file is calculated at build - // time and uses the Shell Command Language. For example, you can append a date - // and time to your artifact name so that it is always unique. - OverrideArtifactName *bool `locationName:"overrideArtifactName" type:"boolean"` +type DeleteReportInput struct { + _ struct{} `type:"structure"` - // The SHA-256 hash of the build artifact. - // - // You can use this hash along with a checksum tool to confirm file integrity - // and authenticity. + // The ARN of the report to delete. // - // This value is available only if the build project's packaging value is set - // to ZIP. - Sha256sum *string `locationName:"sha256sum" type:"string"` + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s BuildArtifacts) String() string { +func (s DeleteReportInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BuildArtifacts) GoString() string { +func (s DeleteReportInput) GoString() string { return s.String() } -// SetArtifactIdentifier sets the ArtifactIdentifier field's value. -func (s *BuildArtifacts) SetArtifactIdentifier(v string) *BuildArtifacts { - s.ArtifactIdentifier = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReportInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } -// SetEncryptionDisabled sets the EncryptionDisabled field's value. -func (s *BuildArtifacts) SetEncryptionDisabled(v bool) *BuildArtifacts { - s.EncryptionDisabled = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLocation sets the Location field's value. -func (s *BuildArtifacts) SetLocation(v string) *BuildArtifacts { - s.Location = &v +// SetArn sets the Arn field's value. +func (s *DeleteReportInput) SetArn(v string) *DeleteReportInput { + s.Arn = &v return s } -// SetMd5sum sets the Md5sum field's value. -func (s *BuildArtifacts) SetMd5sum(v string) *BuildArtifacts { - s.Md5sum = &v - return s +type DeleteReportOutput struct { + _ struct{} `type:"structure"` } -// SetOverrideArtifactName sets the OverrideArtifactName field's value. -func (s *BuildArtifacts) SetOverrideArtifactName(v bool) *BuildArtifacts { - s.OverrideArtifactName = &v - return s +// String returns the string representation +func (s DeleteReportOutput) String() string { + return awsutil.Prettify(s) } -// SetSha256sum sets the Sha256sum field's value. -func (s *BuildArtifacts) SetSha256sum(v string) *BuildArtifacts { - s.Sha256sum = &v - return s +// GoString returns the string representation +func (s DeleteReportOutput) GoString() string { + return s.String() } -// Information about a build that could not be successfully deleted. -type BuildNotDeleted struct { +type DeleteResourcePolicyInput struct { _ struct{} `type:"structure"` - // The ID of the build that could not be successfully deleted. - Id *string `locationName:"id" min:"1" type:"string"` - - // Additional information about the build that could not be successfully deleted. - StatusCode *string `locationName:"statusCode" type:"string"` + // The ARN of the resource that is associated with the resource policy. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s BuildNotDeleted) String() string { +func (s DeleteResourcePolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BuildNotDeleted) GoString() string { +func (s DeleteResourcePolicyInput) GoString() string { return s.String() } -// SetId sets the Id field's value. -func (s *BuildNotDeleted) SetId(v string) *BuildNotDeleted { - s.Id = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStatusCode sets the StatusCode field's value. -func (s *BuildNotDeleted) SetStatusCode(v string) *BuildNotDeleted { - s.StatusCode = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput { + s.ResourceArn = &v return s } -// Information about a stage for a build. -type BuildPhase struct { +type DeleteResourcePolicyOutput struct { _ struct{} `type:"structure"` +} - // Additional information about a build phase, especially to help troubleshoot - // a failed build. - Contexts []*PhaseContext `locationName:"contexts" type:"list"` +// String returns the string representation +func (s DeleteResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} - // How long, in seconds, between the starting and ending times of the build's - // phase. - DurationInSeconds *int64 `locationName:"durationInSeconds" type:"long"` +// GoString returns the string representation +func (s DeleteResourcePolicyOutput) GoString() string { + return s.String() +} - // When the build phase ended, expressed in Unix time format. - EndTime *time.Time `locationName:"endTime" type:"timestamp"` +type DeleteSourceCredentialsInput struct { + _ struct{} `type:"structure"` - // The current status of the build phase. Valid values include: - // - // * FAILED: The build phase failed. - // - // * FAULT: The build phase faulted. - // - // * IN_PROGRESS: The build phase is still in progress. - // - // * QUEUED: The build has been submitted and is queued behind other submitted - // builds. - // - // * STOPPED: The build phase stopped. - // - // * SUCCEEDED: The build phase succeeded. + // The Amazon Resource Name (ARN) of the token. // - // * TIMED_OUT: The build phase timed out. - PhaseStatus *string `locationName:"phaseStatus" type:"string" enum:"StatusType"` + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` +} - // The name of the build phase. Valid values include: - // - // * BUILD: Core build activities typically occur in this build phase. - // - // * COMPLETED: The build has been completed. - // - // * DOWNLOAD_SOURCE: Source code is being downloaded in this build phase. - // - // * FINALIZING: The build process is completing in this build phase. - // - // * INSTALL: Installation activities typically occur in this build phase. - // - // * POST_BUILD: Post-build activities typically occur in this build phase. - // - // * PRE_BUILD: Pre-build activities typically occur in this build phase. - // - // * PROVISIONING: The build environment is being set up. - // - // * QUEUED: The build has been submitted and is queued behind other submitted - // builds. - // - // * SUBMITTED: The build has been submitted. - // - // * UPLOAD_ARTIFACTS: Build output artifacts are being uploaded to the output - // location. - PhaseType *string `locationName:"phaseType" type:"string" enum:"BuildPhaseType"` +// String returns the string representation +func (s DeleteSourceCredentialsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSourceCredentialsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSourceCredentialsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSourceCredentialsInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // When the build phase started, expressed in Unix time format. - StartTime *time.Time `locationName:"startTime" type:"timestamp"` +// SetArn sets the Arn field's value. +func (s *DeleteSourceCredentialsInput) SetArn(v string) *DeleteSourceCredentialsInput { + s.Arn = &v + return s +} + +type DeleteSourceCredentialsOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the token. + Arn *string `locationName:"arn" min:"1" type:"string"` } // String returns the string representation -func (s BuildPhase) String() string { +func (s DeleteSourceCredentialsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BuildPhase) GoString() string { +func (s DeleteSourceCredentialsOutput) GoString() string { return s.String() } -// SetContexts sets the Contexts field's value. -func (s *BuildPhase) SetContexts(v []*PhaseContext) *BuildPhase { - s.Contexts = v +// SetArn sets the Arn field's value. +func (s *DeleteSourceCredentialsOutput) SetArn(v string) *DeleteSourceCredentialsOutput { + s.Arn = &v return s } -// SetDurationInSeconds sets the DurationInSeconds field's value. -func (s *BuildPhase) SetDurationInSeconds(v int64) *BuildPhase { - s.DurationInSeconds = &v - return s +type DeleteWebhookInput struct { + _ struct{} `type:"structure"` + + // The name of the AWS CodeBuild project. + // + // ProjectName is a required field + ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"` } -// SetEndTime sets the EndTime field's value. -func (s *BuildPhase) SetEndTime(v time.Time) *BuildPhase { - s.EndTime = &v - return s +// String returns the string representation +func (s DeleteWebhookInput) String() string { + return awsutil.Prettify(s) } -// SetPhaseStatus sets the PhaseStatus field's value. -func (s *BuildPhase) SetPhaseStatus(v string) *BuildPhase { - s.PhaseStatus = &v - return s +// GoString returns the string representation +func (s DeleteWebhookInput) GoString() string { + return s.String() } -// SetPhaseType sets the PhaseType field's value. -func (s *BuildPhase) SetPhaseType(v string) *BuildPhase { - s.PhaseType = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWebhookInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWebhookInput"} + if s.ProjectName == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectName")) + } + if s.ProjectName != nil && len(*s.ProjectName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStartTime sets the StartTime field's value. -func (s *BuildPhase) SetStartTime(v time.Time) *BuildPhase { - s.StartTime = &v +// SetProjectName sets the ProjectName field's value. +func (s *DeleteWebhookInput) SetProjectName(v string) *DeleteWebhookInput { + s.ProjectName = &v return s } -// Information about Amazon CloudWatch Logs for a build project. -type CloudWatchLogsConfig struct { +type DeleteWebhookOutput struct { _ struct{} `type:"structure"` +} - // The group name of the logs in Amazon CloudWatch Logs. For more information, - // see Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html). - GroupName *string `locationName:"groupName" type:"string"` +// String returns the string representation +func (s DeleteWebhookOutput) String() string { + return awsutil.Prettify(s) +} - // The current status of the logs in Amazon CloudWatch Logs for a build project. - // Valid values are: +// GoString returns the string representation +func (s DeleteWebhookOutput) GoString() string { + return s.String() +} + +type DescribeCodeCoveragesInput struct { + _ struct{} `type:"structure"` + + // The maximum line coverage percentage to report. + MaxLineCoveragePercentage *float64 `locationName:"maxLineCoveragePercentage" type:"double"` + + // The maximum number of results to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The minimum line coverage percentage to report. + MinLineCoveragePercentage *float64 `locationName:"minLineCoveragePercentage" type:"double"` + + // The nextToken value returned from a previous call to DescribeCodeCoverages. + // This specifies the next item to return. To return the beginning of the list, + // exclude this parameter. + NextToken *string `locationName:"nextToken" type:"string"` + + // The ARN of the report for which test cases are returned. // - // * ENABLED: Amazon CloudWatch Logs are enabled for this build project. + // ReportArn is a required field + ReportArn *string `locationName:"reportArn" min:"1" type:"string" required:"true"` + + // Specifies how the results are sorted. Possible values are: // - // * DISABLED: Amazon CloudWatch Logs are not enabled for this build project. + // FILE_PATH // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"LogsConfigStatusType"` + // The results are sorted by file path. + // + // LINE_COVERAGE_PERCENTAGE + // + // The results are sorted by the percentage of lines that are covered. + SortBy *string `locationName:"sortBy" type:"string" enum:"ReportCodeCoverageSortByType"` - // The prefix of the stream name of the Amazon CloudWatch Logs. For more information, - // see Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html). - StreamName *string `locationName:"streamName" type:"string"` + // Specifies if the results are sorted in ascending or descending order. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s CloudWatchLogsConfig) String() string { +func (s DescribeCodeCoveragesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CloudWatchLogsConfig) GoString() string { +func (s DescribeCodeCoveragesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CloudWatchLogsConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CloudWatchLogsConfig"} - if s.Status == nil { - invalidParams.Add(request.NewErrParamRequired("Status")) +func (s *DescribeCodeCoveragesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCodeCoveragesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ReportArn == nil { + invalidParams.Add(request.NewErrParamRequired("ReportArn")) + } + if s.ReportArn != nil && len(*s.ReportArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReportArn", 1)) } if invalidParams.Len() > 0 { @@ -3846,252 +7440,125 @@ func (s *CloudWatchLogsConfig) Validate() error { return nil } -// SetGroupName sets the GroupName field's value. -func (s *CloudWatchLogsConfig) SetGroupName(v string) *CloudWatchLogsConfig { - s.GroupName = &v +// SetMaxLineCoveragePercentage sets the MaxLineCoveragePercentage field's value. +func (s *DescribeCodeCoveragesInput) SetMaxLineCoveragePercentage(v float64) *DescribeCodeCoveragesInput { + s.MaxLineCoveragePercentage = &v return s } -// SetStatus sets the Status field's value. -func (s *CloudWatchLogsConfig) SetStatus(v string) *CloudWatchLogsConfig { - s.Status = &v +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeCodeCoveragesInput) SetMaxResults(v int64) *DescribeCodeCoveragesInput { + s.MaxResults = &v return s } -// SetStreamName sets the StreamName field's value. -func (s *CloudWatchLogsConfig) SetStreamName(v string) *CloudWatchLogsConfig { - s.StreamName = &v +// SetMinLineCoveragePercentage sets the MinLineCoveragePercentage field's value. +func (s *DescribeCodeCoveragesInput) SetMinLineCoveragePercentage(v float64) *DescribeCodeCoveragesInput { + s.MinLineCoveragePercentage = &v return s } -type CreateProjectInput struct { - _ struct{} `type:"structure"` - - // Information about the build output artifacts for the build project. - // - // Artifacts is a required field - Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure" required:"true"` - - // Set this to true to generate a publicly accessible URL for your project's - // build badge. - BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"` - - // Stores recently used information so that it can be quickly accessed at a - // later time. - Cache *ProjectCache `locationName:"cache" type:"structure"` - - // A description that makes the build project easy to identify. - Description *string `locationName:"description" type:"string"` - - // The AWS Key Management Service (AWS KMS) customer master key (CMK) to be - // used for encrypting the build output artifacts. - // - // You can use a cross-account KMS key to encrypt the build output artifacts - // if your service role has permission to that key. - // - // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, - // the CMK's alias (using the format alias/alias-name ). - EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` - - // Information about the build environment for the build project. - // - // Environment is a required field - Environment *ProjectEnvironment `locationName:"environment" type:"structure" required:"true"` +// SetNextToken sets the NextToken field's value. +func (s *DescribeCodeCoveragesInput) SetNextToken(v string) *DescribeCodeCoveragesInput { + s.NextToken = &v + return s +} - // An array of ProjectFileSystemLocation objects for a CodeBuild build project. - // A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, - // mountPoint, and type of a file system created using Amazon Elastic File System. - FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"` +// SetReportArn sets the ReportArn field's value. +func (s *DescribeCodeCoveragesInput) SetReportArn(v string) *DescribeCodeCoveragesInput { + s.ReportArn = &v + return s +} - // Information about logs for the build project. These can be logs in Amazon - // CloudWatch Logs, logs uploaded to a specified S3 bucket, or both. - LogsConfig *LogsConfig `locationName:"logsConfig" type:"structure"` +// SetSortBy sets the SortBy field's value. +func (s *DescribeCodeCoveragesInput) SetSortBy(v string) *DescribeCodeCoveragesInput { + s.SortBy = &v + return s +} - // The name of the build project. - // - // Name is a required field - Name *string `locationName:"name" min:"2" type:"string" required:"true"` +// SetSortOrder sets the SortOrder field's value. +func (s *DescribeCodeCoveragesInput) SetSortOrder(v string) *DescribeCodeCoveragesInput { + s.SortOrder = &v + return s +} - // The number of minutes a build is allowed to be queued before it times out. - QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" min:"5" type:"integer"` +type DescribeCodeCoveragesOutput struct { + _ struct{} `type:"structure"` - // An array of ProjectArtifacts objects. - SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"` + // An array of CodeCoverage objects that contain the results. + CodeCoverages []*CodeCoverage `locationName:"codeCoverages" type:"list"` - // An array of ProjectSourceVersion objects. If secondarySourceVersions is specified - // at the build level, then they take precedence over these secondarySourceVersions - // (at the project level). - SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"` + // If there are more items to return, this contains a token that is passed to + // a subsequent call to DescribeCodeCoverages to retrieve the next set of items. + NextToken *string `locationName:"nextToken" type:"string"` +} - // An array of ProjectSource objects. - SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"` +// String returns the string representation +func (s DescribeCodeCoveragesOutput) String() string { + return awsutil.Prettify(s) +} - // The ARN of the AWS Identity and Access Management (IAM) role that enables - // AWS CodeBuild to interact with dependent AWS services on behalf of the AWS - // account. - // - // ServiceRole is a required field - ServiceRole *string `locationName:"serviceRole" min:"1" type:"string" required:"true"` +// GoString returns the string representation +func (s DescribeCodeCoveragesOutput) GoString() string { + return s.String() +} - // Information about the build input source code for the build project. - // - // Source is a required field - Source *ProjectSource `locationName:"source" type:"structure" required:"true"` +// SetCodeCoverages sets the CodeCoverages field's value. +func (s *DescribeCodeCoveragesOutput) SetCodeCoverages(v []*CodeCoverage) *DescribeCodeCoveragesOutput { + s.CodeCoverages = v + return s +} - // A version of the build input to be built for this project. If not specified, - // the latest version is used. If specified, it must be one of: - // - // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. - // - // * For GitHub: the commit ID, pull request ID, branch name, or tag name - // that corresponds to the version of the source code you want to build. - // If a pull request ID is specified, it must use the format pr/pull-request-ID - // (for example pr/25). If a branch name is specified, the branch's HEAD - // commit ID is used. If not specified, the default branch's HEAD commit - // ID is used. - // - // * For Bitbucket: the commit ID, branch name, or tag name that corresponds - // to the version of the source code you want to build. If a branch name - // is specified, the branch's HEAD commit ID is used. If not specified, the - // default branch's HEAD commit ID is used. - // - // * For Amazon Simple Storage Service (Amazon S3): the version ID of the - // object that represents the build input ZIP file to use. - // - // If sourceVersion is specified at the build level, then that version takes - // precedence over this sourceVersion (at the project level). - // - // For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) - // in the AWS CodeBuild User Guide. - SourceVersion *string `locationName:"sourceVersion" type:"string"` +// SetNextToken sets the NextToken field's value. +func (s *DescribeCodeCoveragesOutput) SetNextToken(v string) *DescribeCodeCoveragesOutput { + s.NextToken = &v + return s +} - // A set of tags for this build project. - // - // These tags are available for use by AWS services that support AWS CodeBuild - // build project tags. - Tags []*Tag `locationName:"tags" type:"list"` +type DescribeTestCasesInput struct { + _ struct{} `type:"structure"` - // How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait - // before it times out any build that has not been marked as completed. The - // default is 60 minutes. - TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"5" type:"integer"` + // A TestCaseFilter object used to filter the returned reports. + Filter *TestCaseFilter `locationName:"filter" type:"structure"` - // VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC. - VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` + // The maximum number of paginated test cases returned per response. Use nextToken + // to iterate pages in the list of returned TestCase objects. The default value + // is 100. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The ARN of the report for which test cases are returned. + // + // ReportArn is a required field + ReportArn *string `locationName:"reportArn" type:"string" required:"true"` } // String returns the string representation -func (s CreateProjectInput) String() string { +func (s DescribeTestCasesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateProjectInput) GoString() string { +func (s DescribeTestCasesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateProjectInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"} - if s.Artifacts == nil { - invalidParams.Add(request.NewErrParamRequired("Artifacts")) - } - if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1)) - } - if s.Environment == nil { - invalidParams.Add(request.NewErrParamRequired("Environment")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 2 { - invalidParams.Add(request.NewErrParamMinLen("Name", 2)) - } - if s.QueuedTimeoutInMinutes != nil && *s.QueuedTimeoutInMinutes < 5 { - invalidParams.Add(request.NewErrParamMinValue("QueuedTimeoutInMinutes", 5)) - } - if s.ServiceRole == nil { - invalidParams.Add(request.NewErrParamRequired("ServiceRole")) - } - if s.ServiceRole != nil && len(*s.ServiceRole) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ServiceRole", 1)) - } - if s.Source == nil { - invalidParams.Add(request.NewErrParamRequired("Source")) - } - if s.TimeoutInMinutes != nil && *s.TimeoutInMinutes < 5 { - invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutes", 5)) - } - if s.Artifacts != nil { - if err := s.Artifacts.Validate(); err != nil { - invalidParams.AddNested("Artifacts", err.(request.ErrInvalidParams)) - } - } - if s.Cache != nil { - if err := s.Cache.Validate(); err != nil { - invalidParams.AddNested("Cache", err.(request.ErrInvalidParams)) - } - } - if s.Environment != nil { - if err := s.Environment.Validate(); err != nil { - invalidParams.AddNested("Environment", err.(request.ErrInvalidParams)) - } - } - if s.LogsConfig != nil { - if err := s.LogsConfig.Validate(); err != nil { - invalidParams.AddNested("LogsConfig", err.(request.ErrInvalidParams)) - } - } - if s.SecondaryArtifacts != nil { - for i, v := range s.SecondaryArtifacts { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondaryArtifacts", i), err.(request.ErrInvalidParams)) - } - } - } - if s.SecondarySourceVersions != nil { - for i, v := range s.SecondarySourceVersions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourceVersions", i), err.(request.ErrInvalidParams)) - } - } - } - if s.SecondarySources != nil { - for i, v := range s.SecondarySources { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySources", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Source != nil { - if err := s.Source.Validate(); err != nil { - invalidParams.AddNested("Source", err.(request.ErrInvalidParams)) - } - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } +func (s *DescribeTestCasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTestCasesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.VpcConfig != nil { - if err := s.VpcConfig.Validate(); err != nil { - invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams)) - } + if s.ReportArn == nil { + invalidParams.Add(request.NewErrParamRequired("ReportArn")) } if invalidParams.Len() > 0 { @@ -4100,192 +7567,234 @@ func (s *CreateProjectInput) Validate() error { return nil } -// SetArtifacts sets the Artifacts field's value. -func (s *CreateProjectInput) SetArtifacts(v *ProjectArtifacts) *CreateProjectInput { - s.Artifacts = v +// SetFilter sets the Filter field's value. +func (s *DescribeTestCasesInput) SetFilter(v *TestCaseFilter) *DescribeTestCasesInput { + s.Filter = v return s } -// SetBadgeEnabled sets the BadgeEnabled field's value. -func (s *CreateProjectInput) SetBadgeEnabled(v bool) *CreateProjectInput { - s.BadgeEnabled = &v +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeTestCasesInput) SetMaxResults(v int64) *DescribeTestCasesInput { + s.MaxResults = &v return s } -// SetCache sets the Cache field's value. -func (s *CreateProjectInput) SetCache(v *ProjectCache) *CreateProjectInput { - s.Cache = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeTestCasesInput) SetNextToken(v string) *DescribeTestCasesInput { + s.NextToken = &v return s } -// SetDescription sets the Description field's value. -func (s *CreateProjectInput) SetDescription(v string) *CreateProjectInput { - s.Description = &v +// SetReportArn sets the ReportArn field's value. +func (s *DescribeTestCasesInput) SetReportArn(v string) *DescribeTestCasesInput { + s.ReportArn = &v return s } -// SetEncryptionKey sets the EncryptionKey field's value. -func (s *CreateProjectInput) SetEncryptionKey(v string) *CreateProjectInput { - s.EncryptionKey = &v - return s +type DescribeTestCasesOutput struct { + _ struct{} `type:"structure"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The returned list of test cases. + TestCases []*TestCase `locationName:"testCases" type:"list"` } -// SetEnvironment sets the Environment field's value. -func (s *CreateProjectInput) SetEnvironment(v *ProjectEnvironment) *CreateProjectInput { - s.Environment = v - return s +// String returns the string representation +func (s DescribeTestCasesOutput) String() string { + return awsutil.Prettify(s) } -// SetFileSystemLocations sets the FileSystemLocations field's value. -func (s *CreateProjectInput) SetFileSystemLocations(v []*ProjectFileSystemLocation) *CreateProjectInput { - s.FileSystemLocations = v - return s +// GoString returns the string representation +func (s DescribeTestCasesOutput) GoString() string { + return s.String() } -// SetLogsConfig sets the LogsConfig field's value. -func (s *CreateProjectInput) SetLogsConfig(v *LogsConfig) *CreateProjectInput { - s.LogsConfig = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeTestCasesOutput) SetNextToken(v string) *DescribeTestCasesOutput { + s.NextToken = &v return s } -// SetName sets the Name field's value. -func (s *CreateProjectInput) SetName(v string) *CreateProjectInput { - s.Name = &v +// SetTestCases sets the TestCases field's value. +func (s *DescribeTestCasesOutput) SetTestCases(v []*TestCase) *DescribeTestCasesOutput { + s.TestCases = v return s } -// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. -func (s *CreateProjectInput) SetQueuedTimeoutInMinutes(v int64) *CreateProjectInput { - s.QueuedTimeoutInMinutes = &v - return s +// Information about a Docker image that is managed by AWS CodeBuild. +type EnvironmentImage struct { + _ struct{} `type:"structure"` + + // The description of the Docker image. + Description *string `locationName:"description" type:"string"` + + // The name of the Docker image. + Name *string `locationName:"name" type:"string"` + + // A list of environment image versions. + Versions []*string `locationName:"versions" type:"list"` } -// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. -func (s *CreateProjectInput) SetSecondaryArtifacts(v []*ProjectArtifacts) *CreateProjectInput { - s.SecondaryArtifacts = v - return s +// String returns the string representation +func (s EnvironmentImage) String() string { + return awsutil.Prettify(s) } -// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. -func (s *CreateProjectInput) SetSecondarySourceVersions(v []*ProjectSourceVersion) *CreateProjectInput { - s.SecondarySourceVersions = v +// GoString returns the string representation +func (s EnvironmentImage) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *EnvironmentImage) SetDescription(v string) *EnvironmentImage { + s.Description = &v return s } -// SetSecondarySources sets the SecondarySources field's value. -func (s *CreateProjectInput) SetSecondarySources(v []*ProjectSource) *CreateProjectInput { - s.SecondarySources = v +// SetName sets the Name field's value. +func (s *EnvironmentImage) SetName(v string) *EnvironmentImage { + s.Name = &v return s } -// SetServiceRole sets the ServiceRole field's value. -func (s *CreateProjectInput) SetServiceRole(v string) *CreateProjectInput { - s.ServiceRole = &v +// SetVersions sets the Versions field's value. +func (s *EnvironmentImage) SetVersions(v []*string) *EnvironmentImage { + s.Versions = v return s } -// SetSource sets the Source field's value. -func (s *CreateProjectInput) SetSource(v *ProjectSource) *CreateProjectInput { - s.Source = v - return s +// A set of Docker images that are related by programming language and are managed +// by AWS CodeBuild. +type EnvironmentLanguage struct { + _ struct{} `type:"structure"` + + // The list of Docker images that are related by the specified programming language. + Images []*EnvironmentImage `locationName:"images" type:"list"` + + // The programming language for the Docker images. + Language *string `locationName:"language" type:"string" enum:"LanguageType"` } -// SetSourceVersion sets the SourceVersion field's value. -func (s *CreateProjectInput) SetSourceVersion(v string) *CreateProjectInput { - s.SourceVersion = &v - return s +// String returns the string representation +func (s EnvironmentLanguage) String() string { + return awsutil.Prettify(s) } -// SetTags sets the Tags field's value. -func (s *CreateProjectInput) SetTags(v []*Tag) *CreateProjectInput { - s.Tags = v - return s +// GoString returns the string representation +func (s EnvironmentLanguage) GoString() string { + return s.String() } -// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. -func (s *CreateProjectInput) SetTimeoutInMinutes(v int64) *CreateProjectInput { - s.TimeoutInMinutes = &v +// SetImages sets the Images field's value. +func (s *EnvironmentLanguage) SetImages(v []*EnvironmentImage) *EnvironmentLanguage { + s.Images = v return s } -// SetVpcConfig sets the VpcConfig field's value. -func (s *CreateProjectInput) SetVpcConfig(v *VpcConfig) *CreateProjectInput { - s.VpcConfig = v +// SetLanguage sets the Language field's value. +func (s *EnvironmentLanguage) SetLanguage(v string) *EnvironmentLanguage { + s.Language = &v return s } -type CreateProjectOutput struct { +// A set of Docker images that are related by platform and are managed by AWS +// CodeBuild. +type EnvironmentPlatform struct { _ struct{} `type:"structure"` - // Information about the build project that was created. - Project *Project `locationName:"project" type:"structure"` + // The list of programming languages that are available for the specified platform. + Languages []*EnvironmentLanguage `locationName:"languages" type:"list"` + + // The platform's name. + Platform *string `locationName:"platform" type:"string" enum:"PlatformType"` } // String returns the string representation -func (s CreateProjectOutput) String() string { +func (s EnvironmentPlatform) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateProjectOutput) GoString() string { +func (s EnvironmentPlatform) GoString() string { return s.String() } -// SetProject sets the Project field's value. -func (s *CreateProjectOutput) SetProject(v *Project) *CreateProjectOutput { - s.Project = v +// SetLanguages sets the Languages field's value. +func (s *EnvironmentPlatform) SetLanguages(v []*EnvironmentLanguage) *EnvironmentPlatform { + s.Languages = v return s } -type CreateReportGroupInput struct { +// SetPlatform sets the Platform field's value. +func (s *EnvironmentPlatform) SetPlatform(v string) *EnvironmentPlatform { + s.Platform = &v + return s +} + +// Information about an environment variable for a build project or a build. +type EnvironmentVariable struct { _ struct{} `type:"structure"` - // A ReportExportConfig object that contains information about where the report - // group test results are exported. + // The name or key of the environment variable. // - // ExportConfig is a required field - ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure" required:"true"` + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The name of the report group. + // The type of environment variable. Valid values include: // - // Name is a required field - Name *string `locationName:"name" min:"2" type:"string" required:"true"` + // * PARAMETER_STORE: An environment variable stored in Amazon EC2 Systems + // Manager Parameter Store. To learn how to specify a parameter store environment + // variable, see parameter store reference-key in the buildspec file (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#parameter-store-build-spec). + // + // * PLAINTEXT: An environment variable in plain text format. This is the + // default value. + // + // * SECRETS_MANAGER: An environment variable stored in AWS Secrets Manager. + // To learn how to specify a secrets manager environment variable, see secrets + // manager reference-key in the buildspec file (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#secrets-manager-build-spec). + Type *string `locationName:"type" type:"string" enum:"EnvironmentVariableType"` - // The type of report group. + // The value of the environment variable. // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"ReportType"` + // We strongly discourage the use of PLAINTEXT environment variables to store + // sensitive values, especially AWS secret key IDs and secret access keys. PLAINTEXT + // environment variables can be displayed in plain text using the AWS CodeBuild + // console and the AWS Command Line Interface (AWS CLI). For sensitive values, + // we recommend you use an environment variable of type PARAMETER_STORE or SECRETS_MANAGER. + // + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true"` } // String returns the string representation -func (s CreateReportGroupInput) String() string { +func (s EnvironmentVariable) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateReportGroupInput) GoString() string { +func (s EnvironmentVariable) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateReportGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateReportGroupInput"} - if s.ExportConfig == nil { - invalidParams.Add(request.NewErrParamRequired("ExportConfig")) - } +func (s *EnvironmentVariable) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnvironmentVariable"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.Name != nil && len(*s.Name) < 2 { - invalidParams.Add(request.NewErrParamMinLen("Name", 2)) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.ExportConfig != nil { - if err := s.ExportConfig.Validate(); err != nil { - invalidParams.AddNested("ExportConfig", err.(request.ErrInvalidParams)) - } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) } if invalidParams.Len() > 0 { @@ -4294,90 +7803,152 @@ func (s *CreateReportGroupInput) Validate() error { return nil } -// SetExportConfig sets the ExportConfig field's value. -func (s *CreateReportGroupInput) SetExportConfig(v *ReportExportConfig) *CreateReportGroupInput { - s.ExportConfig = v - return s -} - // SetName sets the Name field's value. -func (s *CreateReportGroupInput) SetName(v string) *CreateReportGroupInput { +func (s *EnvironmentVariable) SetName(v string) *EnvironmentVariable { s.Name = &v return s } // SetType sets the Type field's value. -func (s *CreateReportGroupInput) SetType(v string) *CreateReportGroupInput { +func (s *EnvironmentVariable) SetType(v string) *EnvironmentVariable { s.Type = &v return s } -type CreateReportGroupOutput struct { +// SetValue sets the Value field's value. +func (s *EnvironmentVariable) SetValue(v string) *EnvironmentVariable { + s.Value = &v + return s +} + +// Information about an exported environment variable. +type ExportedEnvironmentVariable struct { _ struct{} `type:"structure"` - // Information about the report group that was created. - ReportGroup *ReportGroup `locationName:"reportGroup" type:"structure"` + // The name of this exported environment variable. + Name *string `locationName:"name" min:"1" type:"string"` + + // The value assigned to this exported environment variable. + // + // During a build, the value of a variable is available starting with the install + // phase. It can be updated between the start of the install phase and the end + // of the post_build phase. After the post_build phase ends, the value of exported + // variables cannot change. + Value *string `locationName:"value" type:"string"` } // String returns the string representation -func (s CreateReportGroupOutput) String() string { +func (s ExportedEnvironmentVariable) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateReportGroupOutput) GoString() string { +func (s ExportedEnvironmentVariable) GoString() string { return s.String() } -// SetReportGroup sets the ReportGroup field's value. -func (s *CreateReportGroupOutput) SetReportGroup(v *ReportGroup) *CreateReportGroupOutput { - s.ReportGroup = v +// SetName sets the Name field's value. +func (s *ExportedEnvironmentVariable) SetName(v string) *ExportedEnvironmentVariable { + s.Name = &v return s } -type CreateWebhookInput struct { +// SetValue sets the Value field's value. +func (s *ExportedEnvironmentVariable) SetValue(v string) *ExportedEnvironmentVariable { + s.Value = &v + return s +} + +type GetResourcePolicyInput struct { _ struct{} `type:"structure"` - // A regular expression used to determine which repository branches are built - // when a webhook is triggered. If the name of a branch matches the regular - // expression, then it is built. If branchFilter is empty, then all branches - // are built. + // The ARN of the resource that is associated with the resource policy. // - // It is recommended that you use filterGroups instead of branchFilter. - BranchFilter *string `locationName:"branchFilter" type:"string"` + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` +} - // An array of arrays of WebhookFilter objects used to determine which webhooks - // are triggered. At least one WebhookFilter in the array must specify EVENT - // as its type. - // - // For a build to be triggered, at least one filter group in the filterGroups - // array must pass. For a filter group to pass, each of its filters must pass. - FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"` +// String returns the string representation +func (s GetResourcePolicyInput) String() string { + return awsutil.Prettify(s) +} - // The name of the AWS CodeBuild project. +// GoString returns the string representation +func (s GetResourcePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourcePolicyInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput { + s.ResourceArn = &v + return s +} + +type GetResourcePolicyOutput struct { + _ struct{} `type:"structure"` + + // The resource policy for the resource identified by the input ARN parameter. + Policy *string `locationName:"policy" min:"1" type:"string"` +} + +// String returns the string representation +func (s GetResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourcePolicyOutput) GoString() string { + return s.String() +} + +// SetPolicy sets the Policy field's value. +func (s *GetResourcePolicyOutput) SetPolicy(v string) *GetResourcePolicyOutput { + s.Policy = &v + return s +} + +// Information about the Git submodules configuration for an AWS CodeBuild build +// project. +type GitSubmodulesConfig struct { + _ struct{} `type:"structure"` + + // Set to true to fetch Git submodules for your AWS CodeBuild build project. // - // ProjectName is a required field - ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"` + // FetchSubmodules is a required field + FetchSubmodules *bool `locationName:"fetchSubmodules" type:"boolean" required:"true"` } // String returns the string representation -func (s CreateWebhookInput) String() string { +func (s GitSubmodulesConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateWebhookInput) GoString() string { +func (s GitSubmodulesConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateWebhookInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateWebhookInput"} - if s.ProjectName == nil { - invalidParams.Add(request.NewErrParamRequired("ProjectName")) - } - if s.ProjectName != nil && len(*s.ProjectName) < 2 { - invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2)) +func (s *GitSubmodulesConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GitSubmodulesConfig"} + if s.FetchSubmodules == nil { + invalidParams.Add(request.NewErrParamRequired("FetchSubmodules")) } if invalidParams.Len() > 0 { @@ -4386,75 +7957,70 @@ func (s *CreateWebhookInput) Validate() error { return nil } -// SetBranchFilter sets the BranchFilter field's value. -func (s *CreateWebhookInput) SetBranchFilter(v string) *CreateWebhookInput { - s.BranchFilter = &v - return s -} - -// SetFilterGroups sets the FilterGroups field's value. -func (s *CreateWebhookInput) SetFilterGroups(v [][]*WebhookFilter) *CreateWebhookInput { - s.FilterGroups = v - return s -} - -// SetProjectName sets the ProjectName field's value. -func (s *CreateWebhookInput) SetProjectName(v string) *CreateWebhookInput { - s.ProjectName = &v +// SetFetchSubmodules sets the FetchSubmodules field's value. +func (s *GitSubmodulesConfig) SetFetchSubmodules(v bool) *GitSubmodulesConfig { + s.FetchSubmodules = &v return s } -type CreateWebhookOutput struct { +type ImportSourceCredentialsInput struct { _ struct{} `type:"structure"` - // Information about a webhook that connects repository events to a build project - // in AWS CodeBuild. - Webhook *Webhook `locationName:"webhook" type:"structure"` -} - -// String returns the string representation -func (s CreateWebhookOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateWebhookOutput) GoString() string { - return s.String() -} + // The type of authentication used to connect to a GitHub, GitHub Enterprise, + // or Bitbucket repository. An OAUTH connection is not supported by the API + // and must be created using the AWS CodeBuild console. + // + // AuthType is a required field + AuthType *string `locationName:"authType" type:"string" required:"true" enum:"AuthType"` -// SetWebhook sets the Webhook field's value. -func (s *CreateWebhookOutput) SetWebhook(v *Webhook) *CreateWebhookOutput { - s.Webhook = v - return s -} + // The source provider used for this project. + // + // ServerType is a required field + ServerType *string `locationName:"serverType" type:"string" required:"true" enum:"ServerType"` -type DeleteProjectInput struct { - _ struct{} `type:"structure"` + // Set to false to prevent overwriting the repository source credentials. Set + // to true to overwrite the repository source credentials. The default value + // is true. + ShouldOverwrite *bool `locationName:"shouldOverwrite" type:"boolean"` - // The name of the build project. + // For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket, + // this is the app password. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // Token is a required field + Token *string `locationName:"token" min:"1" type:"string" required:"true" sensitive:"true"` + + // The Bitbucket username when the authType is BASIC_AUTH. This parameter is + // not valid for other types of source providers or connections. + Username *string `locationName:"username" min:"1" type:"string"` } // String returns the string representation -func (s DeleteProjectInput) String() string { +func (s ImportSourceCredentialsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteProjectInput) GoString() string { +func (s ImportSourceCredentialsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteProjectInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *ImportSourceCredentialsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportSourceCredentialsInput"} + if s.AuthType == nil { + invalidParams.Add(request.NewErrParamRequired("AuthType")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.ServerType == nil { + invalidParams.Add(request.NewErrParamRequired("ServerType")) + } + if s.Token == nil { + invalidParams.Add(request.NewErrParamRequired("Token")) + } + if s.Token != nil && len(*s.Token) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Token", 1)) + } + if s.Username != nil && len(*s.Username) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Username", 1)) } if invalidParams.Len() > 0 { @@ -4463,108 +8029,142 @@ func (s *DeleteProjectInput) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *DeleteProjectInput) SetName(v string) *DeleteProjectInput { - s.Name = &v +// SetAuthType sets the AuthType field's value. +func (s *ImportSourceCredentialsInput) SetAuthType(v string) *ImportSourceCredentialsInput { + s.AuthType = &v return s } -type DeleteProjectOutput struct { +// SetServerType sets the ServerType field's value. +func (s *ImportSourceCredentialsInput) SetServerType(v string) *ImportSourceCredentialsInput { + s.ServerType = &v + return s +} + +// SetShouldOverwrite sets the ShouldOverwrite field's value. +func (s *ImportSourceCredentialsInput) SetShouldOverwrite(v bool) *ImportSourceCredentialsInput { + s.ShouldOverwrite = &v + return s +} + +// SetToken sets the Token field's value. +func (s *ImportSourceCredentialsInput) SetToken(v string) *ImportSourceCredentialsInput { + s.Token = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *ImportSourceCredentialsInput) SetUsername(v string) *ImportSourceCredentialsInput { + s.Username = &v + return s +} + +type ImportSourceCredentialsOutput struct { _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the token. + Arn *string `locationName:"arn" min:"1" type:"string"` } // String returns the string representation -func (s DeleteProjectOutput) String() string { +func (s ImportSourceCredentialsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteProjectOutput) GoString() string { +func (s ImportSourceCredentialsOutput) GoString() string { return s.String() } -type DeleteReportGroupInput struct { - _ struct{} `type:"structure"` +// SetArn sets the Arn field's value. +func (s *ImportSourceCredentialsOutput) SetArn(v string) *ImportSourceCredentialsOutput { + s.Arn = &v + return s +} - // The ARN of the report group to delete. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` +// The input value that was provided is not valid. +type InvalidInputException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation -func (s DeleteReportGroupInput) String() string { +func (s InvalidInputException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteReportGroupInput) GoString() string { +func (s InvalidInputException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteReportGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteReportGroupInput"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) - } - if s.Arn != nil && len(*s.Arn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) +func newErrorInvalidInputException(v protocol.ResponseMetadata) error { + return &InvalidInputException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *InvalidInputException) Code() string { + return "InvalidInputException" +} + +// Message returns the exception's message. +func (s *InvalidInputException) Message() string { + if s.Message_ != nil { + return *s.Message_ } - return nil + return "" } -// SetArn sets the Arn field's value. -func (s *DeleteReportGroupInput) SetArn(v string) *DeleteReportGroupInput { - s.Arn = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidInputException) OrigErr() error { + return nil } -type DeleteReportGroupOutput struct { - _ struct{} `type:"structure"` +func (s *InvalidInputException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// String returns the string representation -func (s DeleteReportGroupOutput) String() string { - return awsutil.Prettify(s) +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidInputException) StatusCode() int { + return s.RespMetadata.StatusCode } -// GoString returns the string representation -func (s DeleteReportGroupOutput) GoString() string { - return s.String() +// RequestID returns the service's response RequestID for request. +func (s *InvalidInputException) RequestID() string { + return s.RespMetadata.RequestID } -type DeleteReportInput struct { +type InvalidateProjectCacheInput struct { _ struct{} `type:"structure"` - // The ARN of the report to delete. + // The name of the AWS CodeBuild build project that the cache is reset for. // - // Arn is a required field - Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` + // ProjectName is a required field + ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteReportInput) String() string { +func (s InvalidateProjectCacheInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteReportInput) GoString() string { +func (s InvalidateProjectCacheInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteReportInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteReportInput"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) +func (s *InvalidateProjectCacheInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InvalidateProjectCacheInput"} + if s.ProjectName == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectName")) } - if s.Arn != nil && len(*s.Arn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + if s.ProjectName != nil && len(*s.ProjectName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) } if invalidParams.Len() > 0 { @@ -4573,53 +8173,70 @@ func (s *DeleteReportInput) Validate() error { return nil } -// SetArn sets the Arn field's value. -func (s *DeleteReportInput) SetArn(v string) *DeleteReportInput { - s.Arn = &v +// SetProjectName sets the ProjectName field's value. +func (s *InvalidateProjectCacheInput) SetProjectName(v string) *InvalidateProjectCacheInput { + s.ProjectName = &v return s } -type DeleteReportOutput struct { +type InvalidateProjectCacheOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s DeleteReportOutput) String() string { +func (s InvalidateProjectCacheOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteReportOutput) GoString() string { +func (s InvalidateProjectCacheOutput) GoString() string { return s.String() } -type DeleteResourcePolicyInput struct { - _ struct{} `type:"structure"` +type ListBuildBatchesForProjectInput struct { + _ struct{} `type:"structure"` + + // A BuildBatchFilter object that specifies the filters for the search. + Filter *BuildBatchFilter `locationName:"filter" type:"structure"` + + // The maximum number of results to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The nextToken value returned from a previous call to ListBuildBatchesForProject. + // This specifies the next item to return. To return the beginning of the list, + // exclude this parameter. + NextToken *string `locationName:"nextToken" type:"string"` + + // The name of the project. + ProjectName *string `locationName:"projectName" min:"1" type:"string"` - // The ARN of the resource that is associated with the resource policy. + // Specifies the sort order of the returned items. Valid values include: // - // ResourceArn is a required field - ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` + // * ASCENDING: List the batch build identifiers in ascending order by identifier. + // + // * DESCENDING: List the batch build identifiers in descending order by + // identifier. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s DeleteResourcePolicyInput) String() string { +func (s ListBuildBatchesForProjectInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteResourcePolicyInput) GoString() string { +func (s ListBuildBatchesForProjectInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteResourcePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) +func (s *ListBuildBatchesForProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBuildBatchesForProjectInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + if s.ProjectName != nil && len(*s.ProjectName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) } if invalidParams.Len() > 0 { @@ -4628,53 +8245,108 @@ func (s *DeleteResourcePolicyInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput { - s.ResourceArn = &v +// SetFilter sets the Filter field's value. +func (s *ListBuildBatchesForProjectInput) SetFilter(v *BuildBatchFilter) *ListBuildBatchesForProjectInput { + s.Filter = v return s } -type DeleteResourcePolicyOutput struct { +// SetMaxResults sets the MaxResults field's value. +func (s *ListBuildBatchesForProjectInput) SetMaxResults(v int64) *ListBuildBatchesForProjectInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBuildBatchesForProjectInput) SetNextToken(v string) *ListBuildBatchesForProjectInput { + s.NextToken = &v + return s +} + +// SetProjectName sets the ProjectName field's value. +func (s *ListBuildBatchesForProjectInput) SetProjectName(v string) *ListBuildBatchesForProjectInput { + s.ProjectName = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListBuildBatchesForProjectInput) SetSortOrder(v string) *ListBuildBatchesForProjectInput { + s.SortOrder = &v + return s +} + +type ListBuildBatchesForProjectOutput struct { _ struct{} `type:"structure"` + + // An array of strings that contains the batch build identifiers. + Ids []*string `locationName:"ids" type:"list"` + + // If there are more items to return, this contains a token that is passed to + // a subsequent call to ListBuildBatchesForProject to retrieve the next set + // of items. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s DeleteResourcePolicyOutput) String() string { +func (s ListBuildBatchesForProjectOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteResourcePolicyOutput) GoString() string { +func (s ListBuildBatchesForProjectOutput) GoString() string { return s.String() } -type DeleteSourceCredentialsInput struct { +// SetIds sets the Ids field's value. +func (s *ListBuildBatchesForProjectOutput) SetIds(v []*string) *ListBuildBatchesForProjectOutput { + s.Ids = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBuildBatchesForProjectOutput) SetNextToken(v string) *ListBuildBatchesForProjectOutput { + s.NextToken = &v + return s +} + +type ListBuildBatchesInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the token. + // A BuildBatchFilter object that specifies the filters for the search. + Filter *BuildBatchFilter `locationName:"filter" type:"structure"` + + // The maximum number of results to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The nextToken value returned from a previous call to ListBuildBatches. This + // specifies the next item to return. To return the beginning of the list, exclude + // this parameter. + NextToken *string `locationName:"nextToken" type:"string"` + + // Specifies the sort order of the returned items. Valid values include: // - // Arn is a required field - Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` + // * ASCENDING: List the batch build identifiers in ascending order by identifier. + // + // * DESCENDING: List the batch build identifiers in descending order by + // identifier. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s DeleteSourceCredentialsInput) String() string { +func (s ListBuildBatchesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteSourceCredentialsInput) GoString() string { +func (s ListBuildBatchesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteSourceCredentialsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteSourceCredentialsInput"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) - } - if s.Arn != nil && len(*s.Arn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) +func (s *ListBuildBatchesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBuildBatchesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -4683,62 +8355,105 @@ func (s *DeleteSourceCredentialsInput) Validate() error { return nil } -// SetArn sets the Arn field's value. -func (s *DeleteSourceCredentialsInput) SetArn(v string) *DeleteSourceCredentialsInput { - s.Arn = &v +// SetFilter sets the Filter field's value. +func (s *ListBuildBatchesInput) SetFilter(v *BuildBatchFilter) *ListBuildBatchesInput { + s.Filter = v return s } -type DeleteSourceCredentialsOutput struct { +// SetMaxResults sets the MaxResults field's value. +func (s *ListBuildBatchesInput) SetMaxResults(v int64) *ListBuildBatchesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBuildBatchesInput) SetNextToken(v string) *ListBuildBatchesInput { + s.NextToken = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListBuildBatchesInput) SetSortOrder(v string) *ListBuildBatchesInput { + s.SortOrder = &v + return s +} + +type ListBuildBatchesOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the token. - Arn *string `locationName:"arn" min:"1" type:"string"` + // An array of strings that contains the batch build identifiers. + Ids []*string `locationName:"ids" type:"list"` + + // If there are more items to return, this contains a token that is passed to + // a subsequent call to ListBuildBatches to retrieve the next set of items. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s DeleteSourceCredentialsOutput) String() string { +func (s ListBuildBatchesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteSourceCredentialsOutput) GoString() string { +func (s ListBuildBatchesOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DeleteSourceCredentialsOutput) SetArn(v string) *DeleteSourceCredentialsOutput { - s.Arn = &v +// SetIds sets the Ids field's value. +func (s *ListBuildBatchesOutput) SetIds(v []*string) *ListBuildBatchesOutput { + s.Ids = v return s } -type DeleteWebhookInput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListBuildBatchesOutput) SetNextToken(v string) *ListBuildBatchesOutput { + s.NextToken = &v + return s +} + +type ListBuildsForProjectInput struct { _ struct{} `type:"structure"` + // During a previous call, if there are more than 100 items in the list, only + // the first 100 items are returned, along with a unique string called a nextToken. + // To get the next batch of items in the list, call this operation again, adding + // the next token to the call. To get all of the items in the list, keep calling + // this operation with each subsequent next token that is returned, until no + // more next tokens are returned. + NextToken *string `locationName:"nextToken" type:"string"` + // The name of the AWS CodeBuild project. // // ProjectName is a required field - ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"` + ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` + + // The order to list build IDs. Valid values include: + // + // * ASCENDING: List the build IDs in ascending order by build ID. + // + // * DESCENDING: List the build IDs in descending order by build ID. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s DeleteWebhookInput) String() string { +func (s ListBuildsForProjectInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteWebhookInput) GoString() string { +func (s ListBuildsForProjectInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteWebhookInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteWebhookInput"} +func (s *ListBuildsForProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBuildsForProjectInput"} if s.ProjectName == nil { invalidParams.Add(request.NewErrParamRequired("ProjectName")) } - if s.ProjectName != nil && len(*s.ProjectName) < 2 { - invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2)) + if s.ProjectName != nil && len(*s.ProjectName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) } if invalidParams.Len() > 0 { @@ -4747,303 +8462,331 @@ func (s *DeleteWebhookInput) Validate() error { return nil } +// SetNextToken sets the NextToken field's value. +func (s *ListBuildsForProjectInput) SetNextToken(v string) *ListBuildsForProjectInput { + s.NextToken = &v + return s +} + // SetProjectName sets the ProjectName field's value. -func (s *DeleteWebhookInput) SetProjectName(v string) *DeleteWebhookInput { +func (s *ListBuildsForProjectInput) SetProjectName(v string) *ListBuildsForProjectInput { s.ProjectName = &v return s } -type DeleteWebhookOutput struct { +// SetSortOrder sets the SortOrder field's value. +func (s *ListBuildsForProjectInput) SetSortOrder(v string) *ListBuildsForProjectInput { + s.SortOrder = &v + return s +} + +type ListBuildsForProjectOutput struct { _ struct{} `type:"structure"` + + // A list of build IDs for the specified build project, with each build ID representing + // a single build. + Ids []*string `locationName:"ids" min:"1" type:"list"` + + // If there are more than 100 items in the list, only the first 100 items are + // returned, along with a unique string called a nextToken. To get the next + // batch of items in the list, call this operation again, adding the next token + // to the call. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s DeleteWebhookOutput) String() string { +func (s ListBuildsForProjectOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteWebhookOutput) GoString() string { +func (s ListBuildsForProjectOutput) GoString() string { return s.String() } -type DescribeTestCasesInput struct { - _ struct{} `type:"structure"` +// SetIds sets the Ids field's value. +func (s *ListBuildsForProjectOutput) SetIds(v []*string) *ListBuildsForProjectOutput { + s.Ids = v + return s +} - // A TestCaseFilter object used to filter the returned reports. - Filter *TestCaseFilter `locationName:"filter" type:"structure"` +// SetNextToken sets the NextToken field's value. +func (s *ListBuildsForProjectOutput) SetNextToken(v string) *ListBuildsForProjectOutput { + s.NextToken = &v + return s +} - // The maximum number of paginated test cases returned per response. Use nextToken - // to iterate pages in the list of returned TestCase objects. The default value - // is 100. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` +type ListBuildsInput struct { + _ struct{} `type:"structure"` - // During a previous call, the maximum number of items that can be returned - // is the value specified in maxResults. If there more items in the list, then - // a unique string called a nextToken is returned. To get the next batch of - // items in the list, call this operation again, adding the next token to the - // call. To get all of the items in the list, keep calling this operation with - // each subsequent next token that is returned, until no more next tokens are - // returned. + // During a previous call, if there are more than 100 items in the list, only + // the first 100 items are returned, along with a unique string called a nextToken. + // To get the next batch of items in the list, call this operation again, adding + // the next token to the call. To get all of the items in the list, keep calling + // this operation with each subsequent next token that is returned, until no + // more next tokens are returned. NextToken *string `locationName:"nextToken" type:"string"` - // The ARN of the report for which test cases are returned. + // The order to list build IDs. Valid values include: // - // ReportArn is a required field - ReportArn *string `locationName:"reportArn" type:"string" required:"true"` + // * ASCENDING: List the build IDs in ascending order by build ID. + // + // * DESCENDING: List the build IDs in descending order by build ID. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s DescribeTestCasesInput) String() string { +func (s ListBuildsInput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s DescribeTestCasesInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeTestCasesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeTestCasesInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.ReportArn == nil { - invalidParams.Add(request.NewErrParamRequired("ReportArn")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetFilter sets the Filter field's value. -func (s *DescribeTestCasesInput) SetFilter(v *TestCaseFilter) *DescribeTestCasesInput { - s.Filter = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeTestCasesInput) SetMaxResults(v int64) *DescribeTestCasesInput { - s.MaxResults = &v - return s +// GoString returns the string representation +func (s ListBuildsInput) GoString() string { + return s.String() } // SetNextToken sets the NextToken field's value. -func (s *DescribeTestCasesInput) SetNextToken(v string) *DescribeTestCasesInput { +func (s *ListBuildsInput) SetNextToken(v string) *ListBuildsInput { s.NextToken = &v return s } -// SetReportArn sets the ReportArn field's value. -func (s *DescribeTestCasesInput) SetReportArn(v string) *DescribeTestCasesInput { - s.ReportArn = &v +// SetSortOrder sets the SortOrder field's value. +func (s *ListBuildsInput) SetSortOrder(v string) *ListBuildsInput { + s.SortOrder = &v return s } -type DescribeTestCasesOutput struct { +type ListBuildsOutput struct { _ struct{} `type:"structure"` - // During a previous call, the maximum number of items that can be returned - // is the value specified in maxResults. If there more items in the list, then - // a unique string called a nextToken is returned. To get the next batch of - // items in the list, call this operation again, adding the next token to the - // call. To get all of the items in the list, keep calling this operation with - // each subsequent next token that is returned, until no more next tokens are - // returned. - NextToken *string `locationName:"nextToken" type:"string"` + // A list of build IDs, with each build ID representing a single build. + Ids []*string `locationName:"ids" min:"1" type:"list"` - // The returned list of test cases. - TestCases []*TestCase `locationName:"testCases" type:"list"` + // If there are more than 100 items in the list, only the first 100 items are + // returned, along with a unique string called a nextToken. To get the next + // batch of items in the list, call this operation again, adding the next token + // to the call. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s DescribeTestCasesOutput) String() string { +func (s ListBuildsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTestCasesOutput) GoString() string { +func (s ListBuildsOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *DescribeTestCasesOutput) SetNextToken(v string) *DescribeTestCasesOutput { - s.NextToken = &v +// SetIds sets the Ids field's value. +func (s *ListBuildsOutput) SetIds(v []*string) *ListBuildsOutput { + s.Ids = v return s } -// SetTestCases sets the TestCases field's value. -func (s *DescribeTestCasesOutput) SetTestCases(v []*TestCase) *DescribeTestCasesOutput { - s.TestCases = v +// SetNextToken sets the NextToken field's value. +func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput { + s.NextToken = &v return s } -// Information about a Docker image that is managed by AWS CodeBuild. -type EnvironmentImage struct { +type ListCuratedEnvironmentImagesInput struct { _ struct{} `type:"structure"` - - // The description of the Docker image. - Description *string `locationName:"description" type:"string"` - - // The name of the Docker image. - Name *string `locationName:"name" type:"string"` - - // A list of environment image versions. - Versions []*string `locationName:"versions" type:"list"` } // String returns the string representation -func (s EnvironmentImage) String() string { +func (s ListCuratedEnvironmentImagesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EnvironmentImage) GoString() string { +func (s ListCuratedEnvironmentImagesInput) GoString() string { return s.String() } -// SetDescription sets the Description field's value. -func (s *EnvironmentImage) SetDescription(v string) *EnvironmentImage { - s.Description = &v - return s +type ListCuratedEnvironmentImagesOutput struct { + _ struct{} `type:"structure"` + + // Information about supported platforms for Docker images that are managed + // by AWS CodeBuild. + Platforms []*EnvironmentPlatform `locationName:"platforms" type:"list"` } -// SetName sets the Name field's value. -func (s *EnvironmentImage) SetName(v string) *EnvironmentImage { - s.Name = &v - return s +// String returns the string representation +func (s ListCuratedEnvironmentImagesOutput) String() string { + return awsutil.Prettify(s) } -// SetVersions sets the Versions field's value. -func (s *EnvironmentImage) SetVersions(v []*string) *EnvironmentImage { - s.Versions = v +// GoString returns the string representation +func (s ListCuratedEnvironmentImagesOutput) GoString() string { + return s.String() +} + +// SetPlatforms sets the Platforms field's value. +func (s *ListCuratedEnvironmentImagesOutput) SetPlatforms(v []*EnvironmentPlatform) *ListCuratedEnvironmentImagesOutput { + s.Platforms = v return s } -// A set of Docker images that are related by programming language and are managed -// by AWS CodeBuild. -type EnvironmentLanguage struct { +type ListProjectsInput struct { _ struct{} `type:"structure"` - // The list of Docker images that are related by the specified programming language. - Images []*EnvironmentImage `locationName:"images" type:"list"` + // During a previous call, if there are more than 100 items in the list, only + // the first 100 items are returned, along with a unique string called a nextToken. + // To get the next batch of items in the list, call this operation again, adding + // the next token to the call. To get all of the items in the list, keep calling + // this operation with each subsequent next token that is returned, until no + // more next tokens are returned. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // The programming language for the Docker images. - Language *string `locationName:"language" type:"string" enum:"LanguageType"` + // The criterion to be used to list build project names. Valid values include: + // + // * CREATED_TIME: List based on when each build project was created. + // + // * LAST_MODIFIED_TIME: List based on when information about each build + // project was last changed. + // + // * NAME: List based on each build project's name. + // + // Use sortOrder to specify in what order to list the build project names based + // on the preceding criteria. + SortBy *string `locationName:"sortBy" type:"string" enum:"ProjectSortByType"` + + // The order in which to list build projects. Valid values include: + // + // * ASCENDING: List in ascending order. + // + // * DESCENDING: List in descending order. + // + // Use sortBy to specify the criterion to be used to list build project names. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s EnvironmentLanguage) String() string { +func (s ListProjectsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EnvironmentLanguage) GoString() string { +func (s ListProjectsInput) GoString() string { return s.String() } -// SetImages sets the Images field's value. -func (s *EnvironmentLanguage) SetImages(v []*EnvironmentImage) *EnvironmentLanguage { - s.Images = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProjectsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput { + s.NextToken = &v return s } -// SetLanguage sets the Language field's value. -func (s *EnvironmentLanguage) SetLanguage(v string) *EnvironmentLanguage { - s.Language = &v +// SetSortBy sets the SortBy field's value. +func (s *ListProjectsInput) SetSortBy(v string) *ListProjectsInput { + s.SortBy = &v return s } -// A set of Docker images that are related by platform and are managed by AWS -// CodeBuild. -type EnvironmentPlatform struct { +// SetSortOrder sets the SortOrder field's value. +func (s *ListProjectsInput) SetSortOrder(v string) *ListProjectsInput { + s.SortOrder = &v + return s +} + +type ListProjectsOutput struct { _ struct{} `type:"structure"` - // The list of programming languages that are available for the specified platform. - Languages []*EnvironmentLanguage `locationName:"languages" type:"list"` + // If there are more than 100 items in the list, only the first 100 items are + // returned, along with a unique string called a nextToken. To get the next + // batch of items in the list, call this operation again, adding the next token + // to the call. + NextToken *string `locationName:"nextToken" type:"string"` - // The platform's name. - Platform *string `locationName:"platform" type:"string" enum:"PlatformType"` + // The list of build project names, with each build project name representing + // a single build project. + Projects []*string `locationName:"projects" min:"1" type:"list"` } // String returns the string representation -func (s EnvironmentPlatform) String() string { +func (s ListProjectsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EnvironmentPlatform) GoString() string { +func (s ListProjectsOutput) GoString() string { return s.String() } -// SetLanguages sets the Languages field's value. -func (s *EnvironmentPlatform) SetLanguages(v []*EnvironmentLanguage) *EnvironmentPlatform { - s.Languages = v +// SetNextToken sets the NextToken field's value. +func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput { + s.NextToken = &v return s } -// SetPlatform sets the Platform field's value. -func (s *EnvironmentPlatform) SetPlatform(v string) *EnvironmentPlatform { - s.Platform = &v +// SetProjects sets the Projects field's value. +func (s *ListProjectsOutput) SetProjects(v []*string) *ListProjectsOutput { + s.Projects = v return s } -// Information about an environment variable for a build project or a build. -type EnvironmentVariable struct { +type ListReportGroupsInput struct { _ struct{} `type:"structure"` - // The name or key of the environment variable. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // The maximum number of paginated report groups returned per response. Use + // nextToken to iterate pages in the list of returned ReportGroup objects. The + // default value is 100. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // The type of environment variable. Valid values include: + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The criterion to be used to list build report groups. Valid values include: // - // * PARAMETER_STORE: An environment variable stored in Amazon EC2 Systems - // Manager Parameter Store. + // * CREATED_TIME: List based on when each report group was created. // - // * PLAINTEXT: An environment variable in plain text format. This is the - // default value. + // * LAST_MODIFIED_TIME: List based on when each report group was last changed. // - // * SECRETS_MANAGER: An environment variable stored in AWS Secrets Manager. - Type *string `locationName:"type" type:"string" enum:"EnvironmentVariableType"` + // * NAME: List based on each report group's name. + SortBy *string `locationName:"sortBy" type:"string" enum:"ReportGroupSortByType"` - // The value of the environment variable. - // - // We strongly discourage the use of PLAINTEXT environment variables to store - // sensitive values, especially AWS secret key IDs and secret access keys. PLAINTEXT - // environment variables can be displayed in plain text using the AWS CodeBuild - // console and the AWS Command Line Interface (AWS CLI). For sensitive values, - // we recommend you use an environment variable of type PARAMETER_STORE or SECRETS_MANAGER. - // - // Value is a required field - Value *string `locationName:"value" type:"string" required:"true"` + // Used to specify the order to sort the list of returned report groups. Valid + // values are ASCENDING and DESCENDING. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s EnvironmentVariable) String() string { +func (s ListReportGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EnvironmentVariable) GoString() string { +func (s ListReportGroupsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EnvironmentVariable) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EnvironmentVariable"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) +func (s *ListReportGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListReportGroupsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -5052,89 +8795,116 @@ func (s *EnvironmentVariable) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *EnvironmentVariable) SetName(v string) *EnvironmentVariable { - s.Name = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListReportGroupsInput) SetMaxResults(v int64) *ListReportGroupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReportGroupsInput) SetNextToken(v string) *ListReportGroupsInput { + s.NextToken = &v return s } -// SetType sets the Type field's value. -func (s *EnvironmentVariable) SetType(v string) *EnvironmentVariable { - s.Type = &v +// SetSortBy sets the SortBy field's value. +func (s *ListReportGroupsInput) SetSortBy(v string) *ListReportGroupsInput { + s.SortBy = &v return s } -// SetValue sets the Value field's value. -func (s *EnvironmentVariable) SetValue(v string) *EnvironmentVariable { - s.Value = &v +// SetSortOrder sets the SortOrder field's value. +func (s *ListReportGroupsInput) SetSortOrder(v string) *ListReportGroupsInput { + s.SortOrder = &v return s } -// Information about an exported environment variable. -type ExportedEnvironmentVariable struct { +type ListReportGroupsOutput struct { _ struct{} `type:"structure"` - // The name of this exported environment variable. - Name *string `locationName:"name" min:"1" type:"string"` + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` - // The value assigned to this exported environment variable. - // - // During a build, the value of a variable is available starting with the install - // phase. It can be updated between the start of the install phase and the end - // of the post_build phase. After the post_build phase ends, the value of exported - // variables cannot change. - Value *string `locationName:"value" type:"string"` + // The list of ARNs for the report groups in the current AWS account. + ReportGroups []*string `locationName:"reportGroups" min:"1" type:"list"` } // String returns the string representation -func (s ExportedEnvironmentVariable) String() string { +func (s ListReportGroupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportedEnvironmentVariable) GoString() string { +func (s ListReportGroupsOutput) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *ExportedEnvironmentVariable) SetName(v string) *ExportedEnvironmentVariable { - s.Name = &v +// SetNextToken sets the NextToken field's value. +func (s *ListReportGroupsOutput) SetNextToken(v string) *ListReportGroupsOutput { + s.NextToken = &v return s } -// SetValue sets the Value field's value. -func (s *ExportedEnvironmentVariable) SetValue(v string) *ExportedEnvironmentVariable { - s.Value = &v +// SetReportGroups sets the ReportGroups field's value. +func (s *ListReportGroupsOutput) SetReportGroups(v []*string) *ListReportGroupsOutput { + s.ReportGroups = v return s } -type GetResourcePolicyInput struct { +type ListReportsForReportGroupInput struct { _ struct{} `type:"structure"` - // The ARN of the resource that is associated with the resource policy. + // A ReportFilter object used to filter the returned reports. + Filter *ReportFilter `locationName:"filter" type:"structure"` + + // The maximum number of paginated reports in this report group returned per + // response. Use nextToken to iterate pages in the list of returned Report objects. + // The default value is 100. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The ARN of the report group for which you want to return report ARNs. // - // ResourceArn is a required field - ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` + // ReportGroupArn is a required field + ReportGroupArn *string `locationName:"reportGroupArn" type:"string" required:"true"` + + // Use to specify whether the results are returned in ascending or descending + // order. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s GetResourcePolicyInput) String() string { +func (s ListReportsForReportGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResourcePolicyInput) GoString() string { +func (s ListReportsForReportGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetResourcePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetResourcePolicyInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) +func (s *ListReportsForReportGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListReportsForReportGroupInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + if s.ReportGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("ReportGroupArn")) } if invalidParams.Len() > 0 { @@ -5143,133 +8913,119 @@ func (s *GetResourcePolicyInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput { - s.ResourceArn = &v +// SetFilter sets the Filter field's value. +func (s *ListReportsForReportGroupInput) SetFilter(v *ReportFilter) *ListReportsForReportGroupInput { + s.Filter = v return s } -type GetResourcePolicyOutput struct { - _ struct{} `type:"structure"` - - // The resource policy for the resource identified by the input ARN parameter. - Policy *string `locationName:"policy" min:"1" type:"string"` +// SetMaxResults sets the MaxResults field's value. +func (s *ListReportsForReportGroupInput) SetMaxResults(v int64) *ListReportsForReportGroupInput { + s.MaxResults = &v + return s } -// String returns the string representation -func (s GetResourcePolicyOutput) String() string { - return awsutil.Prettify(s) +// SetNextToken sets the NextToken field's value. +func (s *ListReportsForReportGroupInput) SetNextToken(v string) *ListReportsForReportGroupInput { + s.NextToken = &v + return s } -// GoString returns the string representation -func (s GetResourcePolicyOutput) GoString() string { - return s.String() +// SetReportGroupArn sets the ReportGroupArn field's value. +func (s *ListReportsForReportGroupInput) SetReportGroupArn(v string) *ListReportsForReportGroupInput { + s.ReportGroupArn = &v + return s } -// SetPolicy sets the Policy field's value. -func (s *GetResourcePolicyOutput) SetPolicy(v string) *GetResourcePolicyOutput { - s.Policy = &v +// SetSortOrder sets the SortOrder field's value. +func (s *ListReportsForReportGroupInput) SetSortOrder(v string) *ListReportsForReportGroupInput { + s.SortOrder = &v return s } -// Information about the Git submodules configuration for an AWS CodeBuild build -// project. -type GitSubmodulesConfig struct { +type ListReportsForReportGroupOutput struct { _ struct{} `type:"structure"` - // Set to true to fetch Git submodules for your AWS CodeBuild build project. - // - // FetchSubmodules is a required field - FetchSubmodules *bool `locationName:"fetchSubmodules" type:"boolean" required:"true"` + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The list of report ARNs. + Reports []*string `locationName:"reports" min:"1" type:"list"` } // String returns the string representation -func (s GitSubmodulesConfig) String() string { +func (s ListReportsForReportGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GitSubmodulesConfig) GoString() string { +func (s ListReportsForReportGroupOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GitSubmodulesConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GitSubmodulesConfig"} - if s.FetchSubmodules == nil { - invalidParams.Add(request.NewErrParamRequired("FetchSubmodules")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetNextToken sets the NextToken field's value. +func (s *ListReportsForReportGroupOutput) SetNextToken(v string) *ListReportsForReportGroupOutput { + s.NextToken = &v + return s } -// SetFetchSubmodules sets the FetchSubmodules field's value. -func (s *GitSubmodulesConfig) SetFetchSubmodules(v bool) *GitSubmodulesConfig { - s.FetchSubmodules = &v +// SetReports sets the Reports field's value. +func (s *ListReportsForReportGroupOutput) SetReports(v []*string) *ListReportsForReportGroupOutput { + s.Reports = v return s } -type ImportSourceCredentialsInput struct { +type ListReportsInput struct { _ struct{} `type:"structure"` - // The type of authentication used to connect to a GitHub, GitHub Enterprise, - // or Bitbucket repository. An OAUTH connection is not supported by the API - // and must be created using the AWS CodeBuild console. - // - // AuthType is a required field - AuthType *string `locationName:"authType" type:"string" required:"true" enum:"AuthType"` + // A ReportFilter object used to filter the returned reports. + Filter *ReportFilter `locationName:"filter" type:"structure"` - // The source provider used for this project. - // - // ServerType is a required field - ServerType *string `locationName:"serverType" type:"string" required:"true" enum:"ServerType"` + // The maximum number of paginated reports returned per response. Use nextToken + // to iterate pages in the list of returned Report objects. The default value + // is 100. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // Set to false to prevent overwriting the repository source credentials. Set - // to true to overwrite the repository source credentials. The default value - // is true. - ShouldOverwrite *bool `locationName:"shouldOverwrite" type:"boolean"` + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` - // For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket, - // this is the app password. + // Specifies the sort order for the list of returned reports. Valid values are: // - // Token is a required field - Token *string `locationName:"token" min:"1" type:"string" required:"true" sensitive:"true"` - - // The Bitbucket username when the authType is BASIC_AUTH. This parameter is - // not valid for other types of source providers or connections. - Username *string `locationName:"username" min:"1" type:"string"` + // * ASCENDING: return reports in chronological order based on their creation + // date. + // + // * DESCENDING: return reports in the reverse chronological order based + // on their creation date. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s ImportSourceCredentialsInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ImportSourceCredentialsInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ImportSourceCredentialsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ImportSourceCredentialsInput"} - if s.AuthType == nil { - invalidParams.Add(request.NewErrParamRequired("AuthType")) - } - if s.ServerType == nil { - invalidParams.Add(request.NewErrParamRequired("ServerType")) - } - if s.Token == nil { - invalidParams.Add(request.NewErrParamRequired("Token")) - } - if s.Token != nil && len(*s.Token) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Token", 1)) - } - if s.Username != nil && len(*s.Username) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Username", 1)) +func (s ListReportsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReportsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListReportsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListReportsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -5278,212 +9034,240 @@ func (s *ImportSourceCredentialsInput) Validate() error { return nil } -// SetAuthType sets the AuthType field's value. -func (s *ImportSourceCredentialsInput) SetAuthType(v string) *ImportSourceCredentialsInput { - s.AuthType = &v - return s -} - -// SetServerType sets the ServerType field's value. -func (s *ImportSourceCredentialsInput) SetServerType(v string) *ImportSourceCredentialsInput { - s.ServerType = &v +// SetFilter sets the Filter field's value. +func (s *ListReportsInput) SetFilter(v *ReportFilter) *ListReportsInput { + s.Filter = v return s } -// SetShouldOverwrite sets the ShouldOverwrite field's value. -func (s *ImportSourceCredentialsInput) SetShouldOverwrite(v bool) *ImportSourceCredentialsInput { - s.ShouldOverwrite = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListReportsInput) SetMaxResults(v int64) *ListReportsInput { + s.MaxResults = &v return s } -// SetToken sets the Token field's value. -func (s *ImportSourceCredentialsInput) SetToken(v string) *ImportSourceCredentialsInput { - s.Token = &v +// SetNextToken sets the NextToken field's value. +func (s *ListReportsInput) SetNextToken(v string) *ListReportsInput { + s.NextToken = &v return s } -// SetUsername sets the Username field's value. -func (s *ImportSourceCredentialsInput) SetUsername(v string) *ImportSourceCredentialsInput { - s.Username = &v +// SetSortOrder sets the SortOrder field's value. +func (s *ListReportsInput) SetSortOrder(v string) *ListReportsInput { + s.SortOrder = &v return s } -type ImportSourceCredentialsOutput struct { +type ListReportsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the token. - Arn *string `locationName:"arn" min:"1" type:"string"` + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The list of returned ARNs for the reports in the current AWS account. + Reports []*string `locationName:"reports" min:"1" type:"list"` } // String returns the string representation -func (s ImportSourceCredentialsOutput) String() string { +func (s ListReportsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ImportSourceCredentialsOutput) GoString() string { +func (s ListReportsOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ImportSourceCredentialsOutput) SetArn(v string) *ImportSourceCredentialsOutput { - s.Arn = &v +// SetNextToken sets the NextToken field's value. +func (s *ListReportsOutput) SetNextToken(v string) *ListReportsOutput { + s.NextToken = &v return s } -// The input value that was provided is not valid. -type InvalidInputException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetReports sets the Reports field's value. +func (s *ListReportsOutput) SetReports(v []*string) *ListReportsOutput { + s.Reports = v + return s +} - Message_ *string `locationName:"message" type:"string"` +type ListSharedProjectsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of paginated shared build projects returned per response. + // Use nextToken to iterate pages in the list of returned Project objects. The + // default value is 100. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The criterion to be used to list build projects shared with the current AWS + // account or user. Valid values include: + // + // * ARN: List based on the ARN. + // + // * MODIFIED_TIME: List based on when information about the shared project + // was last changed. + SortBy *string `locationName:"sortBy" type:"string" enum:"SharedResourceSortByType"` + + // The order in which to list shared build projects. Valid values include: + // + // * ASCENDING: List in ascending order. + // + // * DESCENDING: List in descending order. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s InvalidInputException) String() string { +func (s ListSharedProjectsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidInputException) GoString() string { +func (s ListSharedProjectsInput) GoString() string { return s.String() } -func newErrorInvalidInputException(v protocol.ResponseMetadata) error { - return &InvalidInputException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSharedProjectsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSharedProjectsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } -} - -// Code returns the exception type name. -func (s *InvalidInputException) Code() string { - return "InvalidInputException" -} -// Message returns the exception's message. -func (s *InvalidInputException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidInputException) OrigErr() error { - return nil +// SetMaxResults sets the MaxResults field's value. +func (s *ListSharedProjectsInput) SetMaxResults(v int64) *ListSharedProjectsInput { + s.MaxResults = &v + return s } -func (s *InvalidInputException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetNextToken sets the NextToken field's value. +func (s *ListSharedProjectsInput) SetNextToken(v string) *ListSharedProjectsInput { + s.NextToken = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidInputException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetSortBy sets the SortBy field's value. +func (s *ListSharedProjectsInput) SetSortBy(v string) *ListSharedProjectsInput { + s.SortBy = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidInputException) RequestID() string { - return s.RespMetadata.RequestID +// SetSortOrder sets the SortOrder field's value. +func (s *ListSharedProjectsInput) SetSortOrder(v string) *ListSharedProjectsInput { + s.SortOrder = &v + return s } -type InvalidateProjectCacheInput struct { +type ListSharedProjectsOutput struct { _ struct{} `type:"structure"` - // The name of the AWS CodeBuild build project that the cache is reset for. - // - // ProjectName is a required field - ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. + NextToken *string `locationName:"nextToken" type:"string"` + + // The list of ARNs for the build projects shared with the current AWS account + // or user. + Projects []*string `locationName:"projects" min:"1" type:"list"` } // String returns the string representation -func (s InvalidateProjectCacheInput) String() string { +func (s ListSharedProjectsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidateProjectCacheInput) GoString() string { +func (s ListSharedProjectsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *InvalidateProjectCacheInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InvalidateProjectCacheInput"} - if s.ProjectName == nil { - invalidParams.Add(request.NewErrParamRequired("ProjectName")) - } - if s.ProjectName != nil && len(*s.ProjectName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetNextToken sets the NextToken field's value. +func (s *ListSharedProjectsOutput) SetNextToken(v string) *ListSharedProjectsOutput { + s.NextToken = &v + return s } -// SetProjectName sets the ProjectName field's value. -func (s *InvalidateProjectCacheInput) SetProjectName(v string) *InvalidateProjectCacheInput { - s.ProjectName = &v +// SetProjects sets the Projects field's value. +func (s *ListSharedProjectsOutput) SetProjects(v []*string) *ListSharedProjectsOutput { + s.Projects = v return s } -type InvalidateProjectCacheOutput struct { +type ListSharedReportGroupsInput struct { _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s InvalidateProjectCacheOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s InvalidateProjectCacheOutput) GoString() string { - return s.String() -} -type ListBuildsForProjectInput struct { - _ struct{} `type:"structure"` + // The maximum number of paginated shared report groups per response. Use nextToken + // to iterate pages in the list of returned ReportGroup objects. The default + // value is 100. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // During a previous call, if there are more than 100 items in the list, only - // the first 100 items are returned, along with a unique string called a nextToken. - // To get the next batch of items in the list, call this operation again, adding - // the next token to the call. To get all of the items in the list, keep calling - // this operation with each subsequent next token that is returned, until no - // more next tokens are returned. + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. NextToken *string `locationName:"nextToken" type:"string"` - // The name of the AWS CodeBuild project. + // The criterion to be used to list report groups shared with the current AWS + // account or user. Valid values include: // - // ProjectName is a required field - ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` + // * ARN: List based on the ARN. + // + // * MODIFIED_TIME: List based on when information about the shared report + // group was last changed. + SortBy *string `locationName:"sortBy" type:"string" enum:"SharedResourceSortByType"` - // The order to list build IDs. Valid values include: + // The order in which to list shared report groups. Valid values include: // - // * ASCENDING: List the build IDs in ascending order by build ID. + // * ASCENDING: List in ascending order. // - // * DESCENDING: List the build IDs in descending order by build ID. + // * DESCENDING: List in descending order. SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s ListBuildsForProjectInput) String() string { +func (s ListSharedReportGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListBuildsForProjectInput) GoString() string { +func (s ListSharedReportGroupsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListBuildsForProjectInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListBuildsForProjectInput"} - if s.ProjectName == nil { - invalidParams.Add(request.NewErrParamRequired("ProjectName")) - } - if s.ProjectName != nil && len(*s.ProjectName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) +func (s *ListSharedReportGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSharedReportGroupsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -5492,692 +9276,791 @@ func (s *ListBuildsForProjectInput) Validate() error { return nil } +// SetMaxResults sets the MaxResults field's value. +func (s *ListSharedReportGroupsInput) SetMaxResults(v int64) *ListSharedReportGroupsInput { + s.MaxResults = &v + return s +} + // SetNextToken sets the NextToken field's value. -func (s *ListBuildsForProjectInput) SetNextToken(v string) *ListBuildsForProjectInput { +func (s *ListSharedReportGroupsInput) SetNextToken(v string) *ListSharedReportGroupsInput { s.NextToken = &v return s } -// SetProjectName sets the ProjectName field's value. -func (s *ListBuildsForProjectInput) SetProjectName(v string) *ListBuildsForProjectInput { - s.ProjectName = &v +// SetSortBy sets the SortBy field's value. +func (s *ListSharedReportGroupsInput) SetSortBy(v string) *ListSharedReportGroupsInput { + s.SortBy = &v return s } // SetSortOrder sets the SortOrder field's value. -func (s *ListBuildsForProjectInput) SetSortOrder(v string) *ListBuildsForProjectInput { +func (s *ListSharedReportGroupsInput) SetSortOrder(v string) *ListSharedReportGroupsInput { s.SortOrder = &v return s } -type ListBuildsForProjectOutput struct { +type ListSharedReportGroupsOutput struct { _ struct{} `type:"structure"` - // A list of build IDs for the specified build project, with each build ID representing - // a single build. - Ids []*string `locationName:"ids" min:"1" type:"list"` - - // If there are more than 100 items in the list, only the first 100 items are - // returned, along with a unique string called a nextToken. To get the next - // batch of items in the list, call this operation again, adding the next token - // to the call. + // During a previous call, the maximum number of items that can be returned + // is the value specified in maxResults. If there more items in the list, then + // a unique string called a nextToken is returned. To get the next batch of + // items in the list, call this operation again, adding the next token to the + // call. To get all of the items in the list, keep calling this operation with + // each subsequent next token that is returned, until no more next tokens are + // returned. NextToken *string `locationName:"nextToken" type:"string"` + + // The list of ARNs for the report groups shared with the current AWS account + // or user. + ReportGroups []*string `locationName:"reportGroups" min:"1" type:"list"` } // String returns the string representation -func (s ListBuildsForProjectOutput) String() string { +func (s ListSharedReportGroupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListBuildsForProjectOutput) GoString() string { +func (s ListSharedReportGroupsOutput) GoString() string { return s.String() } -// SetIds sets the Ids field's value. -func (s *ListBuildsForProjectOutput) SetIds(v []*string) *ListBuildsForProjectOutput { - s.Ids = v +// SetNextToken sets the NextToken field's value. +func (s *ListSharedReportGroupsOutput) SetNextToken(v string) *ListSharedReportGroupsOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListBuildsForProjectOutput) SetNextToken(v string) *ListBuildsForProjectOutput { - s.NextToken = &v +// SetReportGroups sets the ReportGroups field's value. +func (s *ListSharedReportGroupsOutput) SetReportGroups(v []*string) *ListSharedReportGroupsOutput { + s.ReportGroups = v return s } -type ListBuildsInput struct { +type ListSourceCredentialsInput struct { _ struct{} `type:"structure"` - - // During a previous call, if there are more than 100 items in the list, only - // the first 100 items are returned, along with a unique string called a nextToken. - // To get the next batch of items in the list, call this operation again, adding - // the next token to the call. To get all of the items in the list, keep calling - // this operation with each subsequent next token that is returned, until no - // more next tokens are returned. - NextToken *string `locationName:"nextToken" type:"string"` - - // The order to list build IDs. Valid values include: - // - // * ASCENDING: List the build IDs in ascending order by build ID. - // - // * DESCENDING: List the build IDs in descending order by build ID. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` } // String returns the string representation -func (s ListBuildsInput) String() string { +func (s ListSourceCredentialsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListBuildsInput) GoString() string { +func (s ListSourceCredentialsInput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListBuildsInput) SetNextToken(v string) *ListBuildsInput { - s.NextToken = &v - return s +type ListSourceCredentialsOutput struct { + _ struct{} `type:"structure"` + + // A list of SourceCredentialsInfo objects. Each SourceCredentialsInfo object + // includes the authentication type, token ARN, and type of source provider + // for one set of credentials. + SourceCredentialsInfos []*SourceCredentialsInfo `locationName:"sourceCredentialsInfos" type:"list"` } -// SetSortOrder sets the SortOrder field's value. -func (s *ListBuildsInput) SetSortOrder(v string) *ListBuildsInput { - s.SortOrder = &v +// String returns the string representation +func (s ListSourceCredentialsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSourceCredentialsOutput) GoString() string { + return s.String() +} + +// SetSourceCredentialsInfos sets the SourceCredentialsInfos field's value. +func (s *ListSourceCredentialsOutput) SetSourceCredentialsInfos(v []*SourceCredentialsInfo) *ListSourceCredentialsOutput { + s.SourceCredentialsInfos = v return s } -type ListBuildsOutput struct { +// Information about logs for a build project. These can be logs in Amazon CloudWatch +// Logs, built in a specified S3 bucket, or both. +type LogsConfig struct { _ struct{} `type:"structure"` - // A list of build IDs, with each build ID representing a single build. - Ids []*string `locationName:"ids" min:"1" type:"list"` + // Information about Amazon CloudWatch Logs for a build project. Amazon CloudWatch + // Logs are enabled by default. + CloudWatchLogs *CloudWatchLogsConfig `locationName:"cloudWatchLogs" type:"structure"` - // If there are more than 100 items in the list, only the first 100 items are - // returned, along with a unique string called a nextToken. To get the next - // batch of items in the list, call this operation again, adding the next token - // to the call. - NextToken *string `locationName:"nextToken" type:"string"` + // Information about logs built to an S3 bucket for a build project. S3 logs + // are not enabled by default. + S3Logs *S3LogsConfig `locationName:"s3Logs" type:"structure"` } // String returns the string representation -func (s ListBuildsOutput) String() string { +func (s LogsConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListBuildsOutput) GoString() string { +func (s LogsConfig) GoString() string { return s.String() } -// SetIds sets the Ids field's value. -func (s *ListBuildsOutput) SetIds(v []*string) *ListBuildsOutput { - s.Ids = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *LogsConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LogsConfig"} + if s.CloudWatchLogs != nil { + if err := s.CloudWatchLogs.Validate(); err != nil { + invalidParams.AddNested("CloudWatchLogs", err.(request.ErrInvalidParams)) + } + } + if s.S3Logs != nil { + if err := s.S3Logs.Validate(); err != nil { + invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCloudWatchLogs sets the CloudWatchLogs field's value. +func (s *LogsConfig) SetCloudWatchLogs(v *CloudWatchLogsConfig) *LogsConfig { + s.CloudWatchLogs = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput { - s.NextToken = &v +// SetS3Logs sets the S3Logs field's value. +func (s *LogsConfig) SetS3Logs(v *S3LogsConfig) *LogsConfig { + s.S3Logs = v return s } -type ListCuratedEnvironmentImagesInput struct { +// Information about build logs in Amazon CloudWatch Logs. +type LogsLocation struct { _ struct{} `type:"structure"` -} -// String returns the string representation -func (s ListCuratedEnvironmentImagesInput) String() string { - return awsutil.Prettify(s) -} + // Information about Amazon CloudWatch Logs for a build project. + CloudWatchLogs *CloudWatchLogsConfig `locationName:"cloudWatchLogs" type:"structure"` -// GoString returns the string representation -func (s ListCuratedEnvironmentImagesInput) GoString() string { - return s.String() -} + // The ARN of Amazon CloudWatch Logs for a build project. Its format is arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}. + // For more information, see Resources Defined by Amazon CloudWatch Logs (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatchlogs.html#amazoncloudwatchlogs-resources-for-iam-policies). + CloudWatchLogsArn *string `locationName:"cloudWatchLogsArn" type:"string"` -type ListCuratedEnvironmentImagesOutput struct { - _ struct{} `type:"structure"` + // The URL to an individual build log in Amazon CloudWatch Logs. + DeepLink *string `locationName:"deepLink" type:"string"` - // Information about supported platforms for Docker images that are managed - // by AWS CodeBuild. - Platforms []*EnvironmentPlatform `locationName:"platforms" type:"list"` + // The name of the Amazon CloudWatch Logs group for the build logs. + GroupName *string `locationName:"groupName" type:"string"` + + // The URL to a build log in an S3 bucket. + S3DeepLink *string `locationName:"s3DeepLink" type:"string"` + + // Information about S3 logs for a build project. + S3Logs *S3LogsConfig `locationName:"s3Logs" type:"structure"` + + // The ARN of S3 logs for a build project. Its format is arn:${Partition}:s3:::${BucketName}/${ObjectName}. + // For more information, see Resources Defined by Amazon S3 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazons3.html#amazons3-resources-for-iam-policies). + S3LogsArn *string `locationName:"s3LogsArn" type:"string"` + + // The name of the Amazon CloudWatch Logs stream for the build logs. + StreamName *string `locationName:"streamName" type:"string"` } // String returns the string representation -func (s ListCuratedEnvironmentImagesOutput) String() string { +func (s LogsLocation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListCuratedEnvironmentImagesOutput) GoString() string { +func (s LogsLocation) GoString() string { return s.String() } -// SetPlatforms sets the Platforms field's value. -func (s *ListCuratedEnvironmentImagesOutput) SetPlatforms(v []*EnvironmentPlatform) *ListCuratedEnvironmentImagesOutput { - s.Platforms = v +// SetCloudWatchLogs sets the CloudWatchLogs field's value. +func (s *LogsLocation) SetCloudWatchLogs(v *CloudWatchLogsConfig) *LogsLocation { + s.CloudWatchLogs = v return s } -type ListProjectsInput struct { - _ struct{} `type:"structure"` - - // During a previous call, if there are more than 100 items in the list, only - // the first 100 items are returned, along with a unique string called a nextToken. - // To get the next batch of items in the list, call this operation again, adding - // the next token to the call. To get all of the items in the list, keep calling - // this operation with each subsequent next token that is returned, until no - // more next tokens are returned. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` - - // The criterion to be used to list build project names. Valid values include: - // - // * CREATED_TIME: List based on when each build project was created. - // - // * LAST_MODIFIED_TIME: List based on when information about each build - // project was last changed. - // - // * NAME: List based on each build project's name. - // - // Use sortOrder to specify in what order to list the build project names based - // on the preceding criteria. - SortBy *string `locationName:"sortBy" type:"string" enum:"ProjectSortByType"` - - // The order in which to list build projects. Valid values include: - // - // * ASCENDING: List in ascending order. - // - // * DESCENDING: List in descending order. - // - // Use sortBy to specify the criterion to be used to list build project names. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` +// SetCloudWatchLogsArn sets the CloudWatchLogsArn field's value. +func (s *LogsLocation) SetCloudWatchLogsArn(v string) *LogsLocation { + s.CloudWatchLogsArn = &v + return s } -// String returns the string representation -func (s ListProjectsInput) String() string { - return awsutil.Prettify(s) +// SetDeepLink sets the DeepLink field's value. +func (s *LogsLocation) SetDeepLink(v string) *LogsLocation { + s.DeepLink = &v + return s } -// GoString returns the string representation -func (s ListProjectsInput) GoString() string { - return s.String() +// SetGroupName sets the GroupName field's value. +func (s *LogsLocation) SetGroupName(v string) *LogsLocation { + s.GroupName = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListProjectsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"} - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetS3DeepLink sets the S3DeepLink field's value. +func (s *LogsLocation) SetS3DeepLink(v string) *LogsLocation { + s.S3DeepLink = &v + return s } -// SetNextToken sets the NextToken field's value. -func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput { - s.NextToken = &v +// SetS3Logs sets the S3Logs field's value. +func (s *LogsLocation) SetS3Logs(v *S3LogsConfig) *LogsLocation { + s.S3Logs = v return s } -// SetSortBy sets the SortBy field's value. -func (s *ListProjectsInput) SetSortBy(v string) *ListProjectsInput { - s.SortBy = &v +// SetS3LogsArn sets the S3LogsArn field's value. +func (s *LogsLocation) SetS3LogsArn(v string) *LogsLocation { + s.S3LogsArn = &v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *ListProjectsInput) SetSortOrder(v string) *ListProjectsInput { - s.SortOrder = &v +// SetStreamName sets the StreamName field's value. +func (s *LogsLocation) SetStreamName(v string) *LogsLocation { + s.StreamName = &v return s } -type ListProjectsOutput struct { +// Describes a network interface. +type NetworkInterface struct { _ struct{} `type:"structure"` - // If there are more than 100 items in the list, only the first 100 items are - // returned, along with a unique string called a nextToken. To get the next - // batch of items in the list, call this operation again, adding the next token - // to the call. - NextToken *string `locationName:"nextToken" type:"string"` + // The ID of the network interface. + NetworkInterfaceId *string `locationName:"networkInterfaceId" min:"1" type:"string"` - // The list of build project names, with each build project name representing - // a single build project. - Projects []*string `locationName:"projects" min:"1" type:"list"` + // The ID of the subnet. + SubnetId *string `locationName:"subnetId" min:"1" type:"string"` } // String returns the string representation -func (s ListProjectsOutput) String() string { +func (s NetworkInterface) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListProjectsOutput) GoString() string { +func (s NetworkInterface) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput { - s.NextToken = &v +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface { + s.NetworkInterfaceId = &v return s } -// SetProjects sets the Projects field's value. -func (s *ListProjectsOutput) SetProjects(v []*string) *ListProjectsOutput { - s.Projects = v +// SetSubnetId sets the SubnetId field's value. +func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface { + s.SubnetId = &v return s } -type ListReportGroupsInput struct { - _ struct{} `type:"structure"` - - // The maximum number of paginated report groups returned per response. Use - // nextToken to iterate pages in the list of returned ReportGroup objects. The - // default value is 100. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - - // During a previous call, the maximum number of items that can be returned - // is the value specified in maxResults. If there more items in the list, then - // a unique string called a nextToken is returned. To get the next batch of - // items in the list, call this operation again, adding the next token to the - // call. To get all of the items in the list, keep calling this operation with - // each subsequent next token that is returned, until no more next tokens are - // returned. - NextToken *string `locationName:"nextToken" type:"string"` - - // The criterion to be used to list build report groups. Valid values include: - // - // * CREATED_TIME: List based on when each report group was created. - // - // * LAST_MODIFIED_TIME: List based on when each report group was last changed. - // - // * NAME: List based on each report group's name. - SortBy *string `locationName:"sortBy" type:"string" enum:"ReportGroupSortByType"` +// There was a problem with the underlying OAuth provider. +type OAuthProviderException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // Used to specify the order to sort the list of returned report groups. Valid - // values are ASCENDING and DESCENDING. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation -func (s ListReportGroupsInput) String() string { +func (s OAuthProviderException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReportGroupsInput) GoString() string { +func (s OAuthProviderException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListReportGroupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListReportGroupsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func newErrorOAuthProviderException(v protocol.ResponseMetadata) error { + return &OAuthProviderException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *OAuthProviderException) Code() string { + return "OAuthProviderException" +} + +// Message returns the exception's message. +func (s *OAuthProviderException) Message() string { + if s.Message_ != nil { + return *s.Message_ } - return nil + return "" } -// SetMaxResults sets the MaxResults field's value. -func (s *ListReportGroupsInput) SetMaxResults(v int64) *ListReportGroupsInput { - s.MaxResults = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *OAuthProviderException) OrigErr() error { + return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListReportGroupsInput) SetNextToken(v string) *ListReportGroupsInput { - s.NextToken = &v - return s +func (s *OAuthProviderException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetSortBy sets the SortBy field's value. -func (s *ListReportGroupsInput) SetSortBy(v string) *ListReportGroupsInput { - s.SortBy = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *OAuthProviderException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetSortOrder sets the SortOrder field's value. -func (s *ListReportGroupsInput) SetSortOrder(v string) *ListReportGroupsInput { - s.SortOrder = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *OAuthProviderException) RequestID() string { + return s.RespMetadata.RequestID } -type ListReportGroupsOutput struct { +// Additional information about a build phase that has an error. You can use +// this information for troubleshooting. +type PhaseContext struct { _ struct{} `type:"structure"` - // During a previous call, the maximum number of items that can be returned - // is the value specified in maxResults. If there more items in the list, then - // a unique string called a nextToken is returned. To get the next batch of - // items in the list, call this operation again, adding the next token to the - // call. To get all of the items in the list, keep calling this operation with - // each subsequent next token that is returned, until no more next tokens are - // returned. - NextToken *string `locationName:"nextToken" type:"string"` + // An explanation of the build phase's context. This might include a command + // ID and an exit code. + Message *string `locationName:"message" type:"string"` - // The list of ARNs for the report groups in the current AWS account. - ReportGroups []*string `locationName:"reportGroups" min:"1" type:"list"` + // The status code for the context of the build phase. + StatusCode *string `locationName:"statusCode" type:"string"` } // String returns the string representation -func (s ListReportGroupsOutput) String() string { +func (s PhaseContext) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReportGroupsOutput) GoString() string { +func (s PhaseContext) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListReportGroupsOutput) SetNextToken(v string) *ListReportGroupsOutput { - s.NextToken = &v - return s -} +// SetMessage sets the Message field's value. +func (s *PhaseContext) SetMessage(v string) *PhaseContext { + s.Message = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *PhaseContext) SetStatusCode(v string) *PhaseContext { + s.StatusCode = &v + return s +} + +// Information about a build project. +type Project struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the build project. + Arn *string `locationName:"arn" type:"string"` + + // Information about the build output artifacts for the build project. + Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure"` + + // Information about the build badge for the build project. + Badge *ProjectBadge `locationName:"badge" type:"structure"` + + // A ProjectBuildBatchConfig object that defines the batch build options for + // the project. + BuildBatchConfig *ProjectBuildBatchConfig `locationName:"buildBatchConfig" type:"structure"` + + // Information about the cache for the build project. + Cache *ProjectCache `locationName:"cache" type:"structure"` + + // When the build project was created, expressed in Unix time format. + Created *time.Time `locationName:"created" type:"timestamp"` + + // A description that makes the build project easy to identify. + Description *string `locationName:"description" type:"string"` + + // The AWS Key Management Service (AWS KMS) customer master key (CMK) to be + // used for encrypting the build output artifacts. + // + // You can use a cross-account KMS key to encrypt the build output artifacts + // if your service role has permission to that key. + // + // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, + // the CMK's alias (using the format alias/alias-name ). + EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` + + // Information about the build environment for this build project. + Environment *ProjectEnvironment `locationName:"environment" type:"structure"` + + // An array of ProjectFileSystemLocation objects for a CodeBuild build project. + // A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, + // mountPoint, and type of a file system created using Amazon Elastic File System. + FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"` + + // When the build project's settings were last modified, expressed in Unix time + // format. + LastModified *time.Time `locationName:"lastModified" type:"timestamp"` + + // Information about logs for the build project. A project can create logs in + // Amazon CloudWatch Logs, an S3 bucket, or both. + LogsConfig *LogsConfig `locationName:"logsConfig" type:"structure"` + + // The name of the build project. + Name *string `locationName:"name" min:"2" type:"string"` + + // The number of minutes a build is allowed to be queued before it times out. + QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" min:"5" type:"integer"` + + // An array of ProjectArtifacts objects. + SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"` -// SetReportGroups sets the ReportGroups field's value. -func (s *ListReportGroupsOutput) SetReportGroups(v []*string) *ListReportGroupsOutput { - s.ReportGroups = v - return s -} + // An array of ProjectSourceVersion objects. If secondarySourceVersions is specified + // at the build level, then they take over these secondarySourceVersions (at + // the project level). + SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"` -type ListReportsForReportGroupInput struct { - _ struct{} `type:"structure"` + // An array of ProjectSource objects. + SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"` - // A ReportFilter object used to filter the returned reports. - Filter *ReportFilter `locationName:"filter" type:"structure"` + // The ARN of the AWS Identity and Access Management (IAM) role that enables + // AWS CodeBuild to interact with dependent AWS services on behalf of the AWS + // account. + ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"` - // The maximum number of paginated reports in this report group returned per - // response. Use nextToken to iterate pages in the list of returned Report objects. - // The default value is 100. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // Information about the build input source code for this build project. + Source *ProjectSource `locationName:"source" type:"structure"` - // During a previous call, the maximum number of items that can be returned - // is the value specified in maxResults. If there more items in the list, then - // a unique string called a nextToken is returned. To get the next batch of - // items in the list, call this operation again, adding the next token to the - // call. To get all of the items in the list, keep calling this operation with - // each subsequent next token that is returned, until no more next tokens are - // returned. - NextToken *string `locationName:"nextToken" type:"string"` + // A version of the build input to be built for this project. If not specified, + // the latest version is used. If specified, it must be one of: + // + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. + // + // * For GitHub: the commit ID, pull request ID, branch name, or tag name + // that corresponds to the version of the source code you want to build. + // If a pull request ID is specified, it must use the format pr/pull-request-ID + // (for example pr/25). If a branch name is specified, the branch's HEAD + // commit ID is used. If not specified, the default branch's HEAD commit + // ID is used. + // + // * For Bitbucket: the commit ID, branch name, or tag name that corresponds + // to the version of the source code you want to build. If a branch name + // is specified, the branch's HEAD commit ID is used. If not specified, the + // default branch's HEAD commit ID is used. + // + // * For Amazon Simple Storage Service (Amazon S3): the version ID of the + // object that represents the build input ZIP file to use. + // + // If sourceVersion is specified at the build level, then that version takes + // precedence over this sourceVersion (at the project level). + // + // For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) + // in the AWS CodeBuild User Guide. + SourceVersion *string `locationName:"sourceVersion" type:"string"` - // The ARN of the report group for which you want to return report ARNs. + // A list of tag key and value pairs associated with this build project. // - // ReportGroupArn is a required field - ReportGroupArn *string `locationName:"reportGroupArn" type:"string" required:"true"` + // These tags are available for use by AWS services that support AWS CodeBuild + // build project tags. + Tags []*Tag `locationName:"tags" type:"list"` - // Use to specify whether the results are returned in ascending or descending - // order. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` + // How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait + // before timing out any related build that did not get marked as completed. + // The default is 60 minutes. + TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"5" type:"integer"` + + // Information about the VPC configuration that AWS CodeBuild accesses. + VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` + + // Information about a webhook that connects repository events to a build project + // in AWS CodeBuild. + Webhook *Webhook `locationName:"webhook" type:"structure"` } // String returns the string representation -func (s ListReportsForReportGroupInput) String() string { +func (s Project) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReportsForReportGroupInput) GoString() string { +func (s Project) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListReportsForReportGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListReportsForReportGroupInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.ReportGroupArn == nil { - invalidParams.Add(request.NewErrParamRequired("ReportGroupArn")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *Project) SetArn(v string) *Project { + s.Arn = &v + return s } -// SetFilter sets the Filter field's value. -func (s *ListReportsForReportGroupInput) SetFilter(v *ReportFilter) *ListReportsForReportGroupInput { - s.Filter = v +// SetArtifacts sets the Artifacts field's value. +func (s *Project) SetArtifacts(v *ProjectArtifacts) *Project { + s.Artifacts = v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListReportsForReportGroupInput) SetMaxResults(v int64) *ListReportsForReportGroupInput { - s.MaxResults = &v +// SetBadge sets the Badge field's value. +func (s *Project) SetBadge(v *ProjectBadge) *Project { + s.Badge = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListReportsForReportGroupInput) SetNextToken(v string) *ListReportsForReportGroupInput { - s.NextToken = &v +// SetBuildBatchConfig sets the BuildBatchConfig field's value. +func (s *Project) SetBuildBatchConfig(v *ProjectBuildBatchConfig) *Project { + s.BuildBatchConfig = v return s } -// SetReportGroupArn sets the ReportGroupArn field's value. -func (s *ListReportsForReportGroupInput) SetReportGroupArn(v string) *ListReportsForReportGroupInput { - s.ReportGroupArn = &v +// SetCache sets the Cache field's value. +func (s *Project) SetCache(v *ProjectCache) *Project { + s.Cache = v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *ListReportsForReportGroupInput) SetSortOrder(v string) *ListReportsForReportGroupInput { - s.SortOrder = &v +// SetCreated sets the Created field's value. +func (s *Project) SetCreated(v time.Time) *Project { + s.Created = &v return s } -type ListReportsForReportGroupOutput struct { - _ struct{} `type:"structure"` - - // During a previous call, the maximum number of items that can be returned - // is the value specified in maxResults. If there more items in the list, then - // a unique string called a nextToken is returned. To get the next batch of - // items in the list, call this operation again, adding the next token to the - // call. To get all of the items in the list, keep calling this operation with - // each subsequent next token that is returned, until no more next tokens are - // returned. - NextToken *string `locationName:"nextToken" type:"string"` - - // The list of returned report group ARNs. - Reports []*string `locationName:"reports" min:"1" type:"list"` +// SetDescription sets the Description field's value. +func (s *Project) SetDescription(v string) *Project { + s.Description = &v + return s } -// String returns the string representation -func (s ListReportsForReportGroupOutput) String() string { - return awsutil.Prettify(s) +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *Project) SetEncryptionKey(v string) *Project { + s.EncryptionKey = &v + return s } -// GoString returns the string representation -func (s ListReportsForReportGroupOutput) GoString() string { - return s.String() +// SetEnvironment sets the Environment field's value. +func (s *Project) SetEnvironment(v *ProjectEnvironment) *Project { + s.Environment = v + return s } -// SetNextToken sets the NextToken field's value. -func (s *ListReportsForReportGroupOutput) SetNextToken(v string) *ListReportsForReportGroupOutput { - s.NextToken = &v +// SetFileSystemLocations sets the FileSystemLocations field's value. +func (s *Project) SetFileSystemLocations(v []*ProjectFileSystemLocation) *Project { + s.FileSystemLocations = v return s } -// SetReports sets the Reports field's value. -func (s *ListReportsForReportGroupOutput) SetReports(v []*string) *ListReportsForReportGroupOutput { - s.Reports = v +// SetLastModified sets the LastModified field's value. +func (s *Project) SetLastModified(v time.Time) *Project { + s.LastModified = &v return s } -type ListReportsInput struct { - _ struct{} `type:"structure"` - - // A ReportFilter object used to filter the returned reports. - Filter *ReportFilter `locationName:"filter" type:"structure"` - - // The maximum number of paginated reports returned per response. Use nextToken - // to iterate pages in the list of returned Report objects. The default value - // is 100. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - - // During a previous call, the maximum number of items that can be returned - // is the value specified in maxResults. If there more items in the list, then - // a unique string called a nextToken is returned. To get the next batch of - // items in the list, call this operation again, adding the next token to the - // call. To get all of the items in the list, keep calling this operation with - // each subsequent next token that is returned, until no more next tokens are - // returned. - NextToken *string `locationName:"nextToken" type:"string"` - - // Specifies the sort order for the list of returned reports. Valid values are: - // - // * ASCENDING: return reports in chronological order based on their creation - // date. - // - // * DESCENDING: return reports in the reverse chronological order based - // on their creation date. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` +// SetLogsConfig sets the LogsConfig field's value. +func (s *Project) SetLogsConfig(v *LogsConfig) *Project { + s.LogsConfig = v + return s } -// String returns the string representation -func (s ListReportsInput) String() string { - return awsutil.Prettify(s) +// SetName sets the Name field's value. +func (s *Project) SetName(v string) *Project { + s.Name = &v + return s } -// GoString returns the string representation -func (s ListReportsInput) GoString() string { - return s.String() +// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. +func (s *Project) SetQueuedTimeoutInMinutes(v int64) *Project { + s.QueuedTimeoutInMinutes = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListReportsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListReportsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. +func (s *Project) SetSecondaryArtifacts(v []*ProjectArtifacts) *Project { + s.SecondaryArtifacts = v + return s } -// SetFilter sets the Filter field's value. -func (s *ListReportsInput) SetFilter(v *ReportFilter) *ListReportsInput { - s.Filter = v +// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. +func (s *Project) SetSecondarySourceVersions(v []*ProjectSourceVersion) *Project { + s.SecondarySourceVersions = v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListReportsInput) SetMaxResults(v int64) *ListReportsInput { - s.MaxResults = &v +// SetSecondarySources sets the SecondarySources field's value. +func (s *Project) SetSecondarySources(v []*ProjectSource) *Project { + s.SecondarySources = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListReportsInput) SetNextToken(v string) *ListReportsInput { - s.NextToken = &v +// SetServiceRole sets the ServiceRole field's value. +func (s *Project) SetServiceRole(v string) *Project { + s.ServiceRole = &v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *ListReportsInput) SetSortOrder(v string) *ListReportsInput { - s.SortOrder = &v +// SetSource sets the Source field's value. +func (s *Project) SetSource(v *ProjectSource) *Project { + s.Source = v return s } -type ListReportsOutput struct { - _ struct{} `type:"structure"` - - // During a previous call, the maximum number of items that can be returned - // is the value specified in maxResults. If there more items in the list, then - // a unique string called a nextToken is returned. To get the next batch of - // items in the list, call this operation again, adding the next token to the - // call. To get all of the items in the list, keep calling this operation with - // each subsequent next token that is returned, until no more next tokens are - // returned. - NextToken *string `locationName:"nextToken" type:"string"` - - // The list of returned ARNs for the reports in the current AWS account. - Reports []*string `locationName:"reports" min:"1" type:"list"` +// SetSourceVersion sets the SourceVersion field's value. +func (s *Project) SetSourceVersion(v string) *Project { + s.SourceVersion = &v + return s } -// String returns the string representation -func (s ListReportsOutput) String() string { - return awsutil.Prettify(s) +// SetTags sets the Tags field's value. +func (s *Project) SetTags(v []*Tag) *Project { + s.Tags = v + return s } -// GoString returns the string representation -func (s ListReportsOutput) GoString() string { - return s.String() +// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. +func (s *Project) SetTimeoutInMinutes(v int64) *Project { + s.TimeoutInMinutes = &v + return s } -// SetNextToken sets the NextToken field's value. -func (s *ListReportsOutput) SetNextToken(v string) *ListReportsOutput { - s.NextToken = &v +// SetVpcConfig sets the VpcConfig field's value. +func (s *Project) SetVpcConfig(v *VpcConfig) *Project { + s.VpcConfig = v return s } -// SetReports sets the Reports field's value. -func (s *ListReportsOutput) SetReports(v []*string) *ListReportsOutput { - s.Reports = v +// SetWebhook sets the Webhook field's value. +func (s *Project) SetWebhook(v *Webhook) *Project { + s.Webhook = v return s } -type ListSharedProjectsInput struct { +// Information about the build output artifacts for the build project. +type ProjectArtifacts struct { _ struct{} `type:"structure"` - // The maximum number of paginated shared build projects returned per response. - // Use nextToken to iterate pages in the list of returned Project objects. The - // default value is 100. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // An identifier for this artifact definition. + ArtifactIdentifier *string `locationName:"artifactIdentifier" type:"string"` - // During a previous call, the maximum number of items that can be returned - // is the value specified in maxResults. If there more items in the list, then - // a unique string called a nextToken is returned. To get the next batch of - // items in the list, call this operation again, adding the next token to the - // call. To get all of the items in the list, keep calling this operation with - // each subsequent next token that is returned, until no more next tokens are - // returned. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + // Set to true if you do not want your output artifacts encrypted. This option + // is valid only if your artifacts type is Amazon Simple Storage Service (Amazon + // S3). If this is set with another artifacts type, an invalidInputException + // is thrown. + EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` - // The criterion to be used to list build projects shared with the current AWS - // account or user. Valid values include: + // Information about the build output artifact location: // - // * ARN: List based on the ARN. + // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value + // if specified. This is because AWS CodePipeline manages its build output + // locations instead of AWS CodeBuild. // - // * MODIFIED_TIME: List based on when information about the shared project - // was last changed. - SortBy *string `locationName:"sortBy" type:"string" enum:"SharedResourceSortByType"` + // * If type is set to NO_ARTIFACTS, this value is ignored if specified, + // because no build output is produced. + // + // * If type is set to S3, this is the name of the output bucket. + Location *string `locationName:"location" type:"string"` - // The order in which to list shared build projects. Valid values include: + // Along with path and namespaceType, the pattern that AWS CodeBuild uses to + // name and store the output artifact: // - // * ASCENDING: List in ascending order. + // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value + // if specified. This is because AWS CodePipeline manages its build output + // names instead of AWS CodeBuild. // - // * DESCENDING: List in descending order. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` + // * If type is set to NO_ARTIFACTS, this value is ignored if specified, + // because no build output is produced. + // + // * If type is set to S3, this is the name of the output artifact object. + // If you set the name to be a forward slash ("/"), the artifact is stored + // in the root of the output bucket. + // + // For example: + // + // * If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and + // name is set to MyArtifact.zip, then the output artifact is stored in MyArtifacts/build-ID/MyArtifact.zip. + // + // * If path is empty, namespaceType is set to NONE, and name is set to "/", + // the output artifact is stored in the root of the output bucket. + // + // * If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and + // name is set to "/", the output artifact is stored in MyArtifacts/build-ID . + Name *string `locationName:"name" type:"string"` + + // Along with path and name, the pattern that AWS CodeBuild uses to determine + // the name and location to store the output artifact: + // + // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value + // if specified. This is because AWS CodePipeline manages its build output + // names instead of AWS CodeBuild. + // + // * If type is set to NO_ARTIFACTS, this value is ignored if specified, + // because no build output is produced. + // + // * If type is set to S3, valid values include: BUILD_ID: Include the build + // ID in the location of the build output artifact. NONE: Do not include + // the build ID. This is the default if namespaceType is not specified. + // + // For example, if path is set to MyArtifacts, namespaceType is set to BUILD_ID, + // and name is set to MyArtifact.zip, the output artifact is stored in MyArtifacts/build-ID/MyArtifact.zip. + NamespaceType *string `locationName:"namespaceType" type:"string" enum:"ArtifactNamespace"` + + // If this flag is set, a name specified in the buildspec file overrides the + // artifact name. The name specified in a buildspec file is calculated at build + // time and uses the Shell Command Language. For example, you can append a date + // and time to your artifact name so that it is always unique. + OverrideArtifactName *bool `locationName:"overrideArtifactName" type:"boolean"` + + // The type of build output artifact to create: + // + // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value + // if specified. This is because AWS CodePipeline manages its build output + // artifacts instead of AWS CodeBuild. + // + // * If type is set to NO_ARTIFACTS, this value is ignored if specified, + // because no build output is produced. + // + // * If type is set to S3, valid values include: NONE: AWS CodeBuild creates + // in the output bucket a folder that contains the build output. This is + // the default if packaging is not specified. ZIP: AWS CodeBuild creates + // in the output bucket a ZIP file that contains the build output. + Packaging *string `locationName:"packaging" type:"string" enum:"ArtifactPackaging"` + + // Along with namespaceType and name, the pattern that AWS CodeBuild uses to + // name and store the output artifact: + // + // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value + // if specified. This is because AWS CodePipeline manages its build output + // names instead of AWS CodeBuild. + // + // * If type is set to NO_ARTIFACTS, this value is ignored if specified, + // because no build output is produced. + // + // * If type is set to S3, this is the path to the output artifact. If path + // is not specified, path is not used. + // + // For example, if path is set to MyArtifacts, namespaceType is set to NONE, + // and name is set to MyArtifact.zip, the output artifact is stored in the output + // bucket at MyArtifacts/MyArtifact.zip. + Path *string `locationName:"path" type:"string"` + + // The type of build output artifact. Valid values include: + // + // * CODEPIPELINE: The build project has build output generated through AWS + // CodePipeline. The CODEPIPELINE type is not supported for secondaryArtifacts. + // + // * NO_ARTIFACTS: The build project does not produce any build output. + // + // * S3: The build project stores build output in Amazon Simple Storage Service + // (Amazon S3). + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ArtifactsType"` } // String returns the string representation -func (s ListSharedProjectsInput) String() string { +func (s ProjectArtifacts) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListSharedProjectsInput) GoString() string { +func (s ProjectArtifacts) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListSharedProjectsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListSharedProjectsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) +func (s *ProjectArtifacts) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProjectArtifacts"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) } if invalidParams.Len() > 0 { @@ -6186,118 +10069,133 @@ func (s *ListSharedProjectsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListSharedProjectsInput) SetMaxResults(v int64) *ListSharedProjectsInput { - s.MaxResults = &v +// SetArtifactIdentifier sets the ArtifactIdentifier field's value. +func (s *ProjectArtifacts) SetArtifactIdentifier(v string) *ProjectArtifacts { + s.ArtifactIdentifier = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListSharedProjectsInput) SetNextToken(v string) *ListSharedProjectsInput { - s.NextToken = &v +// SetEncryptionDisabled sets the EncryptionDisabled field's value. +func (s *ProjectArtifacts) SetEncryptionDisabled(v bool) *ProjectArtifacts { + s.EncryptionDisabled = &v return s } -// SetSortBy sets the SortBy field's value. -func (s *ListSharedProjectsInput) SetSortBy(v string) *ListSharedProjectsInput { - s.SortBy = &v +// SetLocation sets the Location field's value. +func (s *ProjectArtifacts) SetLocation(v string) *ProjectArtifacts { + s.Location = &v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *ListSharedProjectsInput) SetSortOrder(v string) *ListSharedProjectsInput { - s.SortOrder = &v +// SetName sets the Name field's value. +func (s *ProjectArtifacts) SetName(v string) *ProjectArtifacts { + s.Name = &v return s } -type ListSharedProjectsOutput struct { +// SetNamespaceType sets the NamespaceType field's value. +func (s *ProjectArtifacts) SetNamespaceType(v string) *ProjectArtifacts { + s.NamespaceType = &v + return s +} + +// SetOverrideArtifactName sets the OverrideArtifactName field's value. +func (s *ProjectArtifacts) SetOverrideArtifactName(v bool) *ProjectArtifacts { + s.OverrideArtifactName = &v + return s +} + +// SetPackaging sets the Packaging field's value. +func (s *ProjectArtifacts) SetPackaging(v string) *ProjectArtifacts { + s.Packaging = &v + return s +} + +// SetPath sets the Path field's value. +func (s *ProjectArtifacts) SetPath(v string) *ProjectArtifacts { + s.Path = &v + return s +} + +// SetType sets the Type field's value. +func (s *ProjectArtifacts) SetType(v string) *ProjectArtifacts { + s.Type = &v + return s +} + +// Information about the build badge for the build project. +type ProjectBadge struct { _ struct{} `type:"structure"` - // During a previous call, the maximum number of items that can be returned - // is the value specified in maxResults. If there more items in the list, then - // a unique string called a nextToken is returned. To get the next batch of - // items in the list, call this operation again, adding the next token to the - // call. To get all of the items in the list, keep calling this operation with - // each subsequent next token that is returned, until no more next tokens are - // returned. - NextToken *string `locationName:"nextToken" type:"string"` + // Set this to true to generate a publicly accessible URL for your project's + // build badge. + BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"` - // The list of ARNs for the build projects shared with the current AWS account - // or user. - Projects []*string `locationName:"projects" min:"1" type:"list"` + // The publicly-accessible URL through which you can access the build badge + // for your project. + // + // The publicly accessible URL through which you can access the build badge + // for your project. + BadgeRequestUrl *string `locationName:"badgeRequestUrl" type:"string"` } // String returns the string representation -func (s ListSharedProjectsOutput) String() string { +func (s ProjectBadge) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListSharedProjectsOutput) GoString() string { +func (s ProjectBadge) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListSharedProjectsOutput) SetNextToken(v string) *ListSharedProjectsOutput { - s.NextToken = &v +// SetBadgeEnabled sets the BadgeEnabled field's value. +func (s *ProjectBadge) SetBadgeEnabled(v bool) *ProjectBadge { + s.BadgeEnabled = &v return s } -// SetProjects sets the Projects field's value. -func (s *ListSharedProjectsOutput) SetProjects(v []*string) *ListSharedProjectsOutput { - s.Projects = v +// SetBadgeRequestUrl sets the BadgeRequestUrl field's value. +func (s *ProjectBadge) SetBadgeRequestUrl(v string) *ProjectBadge { + s.BadgeRequestUrl = &v return s } -type ListSharedReportGroupsInput struct { +// Contains configuration information about a batch build project. +type ProjectBuildBatchConfig struct { _ struct{} `type:"structure"` - // The maximum number of paginated shared report groups per response. Use nextToken - // to iterate pages in the list of returned ReportGroup objects. The default - // value is 100. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // Specifies if the build artifacts for the batch build should be combined into + // a single artifact location. + CombineArtifacts *bool `locationName:"combineArtifacts" type:"boolean"` - // During a previous call, the maximum number of items that can be returned - // is the value specified in maxResults. If there more items in the list, then - // a unique string called a nextToken is returned. To get the next batch of - // items in the list, call this operation again, adding the next token to the - // call. To get all of the items in the list, keep calling this operation with - // each subsequent next token that is returned, until no more next tokens are - // returned. - NextToken *string `locationName:"nextToken" type:"string"` + // A BatchRestrictions object that specifies the restrictions for the batch + // build. + Restrictions *BatchRestrictions `locationName:"restrictions" type:"structure"` - // The criterion to be used to list report groups shared with the current AWS - // account or user. Valid values include: - // - // * ARN: List based on the ARN. - // - // * MODIFIED_TIME: List based on when information about the shared report - // group was last changed. - SortBy *string `locationName:"sortBy" type:"string" enum:"SharedResourceSortByType"` + // Specifies the service role ARN for the batch build project. + ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"` - // The order in which to list shared report groups. Valid values include: - // - // * ASCENDING: List in ascending order. - // - // * DESCENDING: List in descending order. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` + // Specifies the maximum amount of time, in minutes, that the batch build must + // be completed in. + TimeoutInMins *int64 `locationName:"timeoutInMins" type:"integer"` } // String returns the string representation -func (s ListSharedReportGroupsInput) String() string { +func (s ProjectBuildBatchConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListSharedReportGroupsInput) GoString() string { +func (s ProjectBuildBatchConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListSharedReportGroupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListSharedReportGroupsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *ProjectBuildBatchConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProjectBuildBatchConfig"} + if s.ServiceRole != nil && len(*s.ServiceRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceRole", 1)) } if invalidParams.Len() > 0 { @@ -6306,143 +10204,281 @@ func (s *ListSharedReportGroupsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListSharedReportGroupsInput) SetMaxResults(v int64) *ListSharedReportGroupsInput { - s.MaxResults = &v +// SetCombineArtifacts sets the CombineArtifacts field's value. +func (s *ProjectBuildBatchConfig) SetCombineArtifacts(v bool) *ProjectBuildBatchConfig { + s.CombineArtifacts = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListSharedReportGroupsInput) SetNextToken(v string) *ListSharedReportGroupsInput { - s.NextToken = &v +// SetRestrictions sets the Restrictions field's value. +func (s *ProjectBuildBatchConfig) SetRestrictions(v *BatchRestrictions) *ProjectBuildBatchConfig { + s.Restrictions = v return s } -// SetSortBy sets the SortBy field's value. -func (s *ListSharedReportGroupsInput) SetSortBy(v string) *ListSharedReportGroupsInput { - s.SortBy = &v +// SetServiceRole sets the ServiceRole field's value. +func (s *ProjectBuildBatchConfig) SetServiceRole(v string) *ProjectBuildBatchConfig { + s.ServiceRole = &v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *ListSharedReportGroupsInput) SetSortOrder(v string) *ListSharedReportGroupsInput { - s.SortOrder = &v +// SetTimeoutInMins sets the TimeoutInMins field's value. +func (s *ProjectBuildBatchConfig) SetTimeoutInMins(v int64) *ProjectBuildBatchConfig { + s.TimeoutInMins = &v return s } -type ListSharedReportGroupsOutput struct { +// Information about the cache for the build project. +type ProjectCache struct { _ struct{} `type:"structure"` - // During a previous call, the maximum number of items that can be returned - // is the value specified in maxResults. If there more items in the list, then - // a unique string called a nextToken is returned. To get the next batch of - // items in the list, call this operation again, adding the next token to the - // call. To get all of the items in the list, keep calling this operation with - // each subsequent next token that is returned, until no more next tokens are - // returned. - NextToken *string `locationName:"nextToken" type:"string"` + // Information about the cache location: + // + // * NO_CACHE or LOCAL: This value is ignored. + // + // * S3: This is the S3 bucket name/prefix. + Location *string `locationName:"location" type:"string"` - // The list of ARNs for the report groups shared with the current AWS account - // or user. - ReportGroups []*string `locationName:"reportGroups" min:"1" type:"list"` + // If you use a LOCAL cache, the local cache mode. You can use one or more local + // cache modes at the same time. + // + // * LOCAL_SOURCE_CACHE mode caches Git metadata for primary and secondary + // sources. After the cache is created, subsequent builds pull only the change + // between commits. This mode is a good choice for projects with a clean + // working directory and a source that is a large Git repository. If you + // choose this option and your project does not use a Git repository (GitHub, + // GitHub Enterprise, or Bitbucket), the option is ignored. + // + // * LOCAL_DOCKER_LAYER_CACHE mode caches existing Docker layers. This mode + // is a good choice for projects that build or pull large Docker images. + // It can prevent the performance issues caused by pulling large Docker images + // down from the network. You can use a Docker layer cache in the Linux environment + // only. The privileged flag must be set so that your project has the required + // Docker permissions. You should consider the security implications before + // you use a Docker layer cache. + // + // * LOCAL_CUSTOM_CACHE mode caches directories you specify in the buildspec + // file. This mode is a good choice if your build scenario is not suited + // to one of the other three local cache modes. If you use a custom cache: + // Only directories can be specified for caching. You cannot specify individual + // files. Symlinks are used to reference cached directories. Cached directories + // are linked to your build before it downloads its project sources. Cached + // items are overridden if a source item has the same name. Directories are + // specified using cache paths in the buildspec file. + Modes []*string `locationName:"modes" type:"list"` + + // The type of cache used by the build project. Valid values include: + // + // * NO_CACHE: The build project does not use any cache. + // + // * S3: The build project reads and writes from and to S3. + // + // * LOCAL: The build project stores a cache locally on a build host that + // is only available to that build host. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"CacheType"` } // String returns the string representation -func (s ListSharedReportGroupsOutput) String() string { +func (s ProjectCache) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListSharedReportGroupsOutput) GoString() string { +func (s ProjectCache) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListSharedReportGroupsOutput) SetNextToken(v string) *ListSharedReportGroupsOutput { - s.NextToken = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProjectCache) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProjectCache"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } -// SetReportGroups sets the ReportGroups field's value. -func (s *ListSharedReportGroupsOutput) SetReportGroups(v []*string) *ListSharedReportGroupsOutput { - s.ReportGroups = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -type ListSourceCredentialsInput struct { - _ struct{} `type:"structure"` +// SetLocation sets the Location field's value. +func (s *ProjectCache) SetLocation(v string) *ProjectCache { + s.Location = &v + return s } -// String returns the string representation -func (s ListSourceCredentialsInput) String() string { - return awsutil.Prettify(s) +// SetModes sets the Modes field's value. +func (s *ProjectCache) SetModes(v []*string) *ProjectCache { + s.Modes = v + return s } -// GoString returns the string representation -func (s ListSourceCredentialsInput) GoString() string { - return s.String() +// SetType sets the Type field's value. +func (s *ProjectCache) SetType(v string) *ProjectCache { + s.Type = &v + return s } -type ListSourceCredentialsOutput struct { +// Information about the build environment of the build project. +type ProjectEnvironment struct { _ struct{} `type:"structure"` - // A list of SourceCredentialsInfo objects. Each SourceCredentialsInfo object - // includes the authentication type, token ARN, and type of source provider - // for one set of credentials. - SourceCredentialsInfos []*SourceCredentialsInfo `locationName:"sourceCredentialsInfos" type:"list"` -} + // The certificate to use with this build project. + Certificate *string `locationName:"certificate" type:"string"` -// String returns the string representation -func (s ListSourceCredentialsOutput) String() string { - return awsutil.Prettify(s) -} + // Information about the compute resources the build project uses. Available + // values include: + // + // * BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds. + // + // * BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds. + // + // * BUILD_GENERAL1_LARGE: Use up to 16 GB memory and 8 vCPUs for builds, + // depending on your environment type. + // + // * BUILD_GENERAL1_2XLARGE: Use up to 145 GB memory, 72 vCPUs, and 824 GB + // of SSD storage for builds. This compute type supports Docker images up + // to 100 GB uncompressed. + // + // If you use BUILD_GENERAL1_LARGE: + // + // * For environment type LINUX_CONTAINER, you can use up to 15 GB memory + // and 8 vCPUs for builds. + // + // * For environment type LINUX_GPU_CONTAINER, you can use up to 255 GB memory, + // 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + // + // * For environment type ARM_CONTAINER, you can use up to 16 GB memory and + // 8 vCPUs on ARM-based processors for builds. + // + // For more information, see Build Environment Compute Types (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) + // in the AWS CodeBuild User Guide. + // + // ComputeType is a required field + ComputeType *string `locationName:"computeType" type:"string" required:"true" enum:"ComputeType"` -// GoString returns the string representation -func (s ListSourceCredentialsOutput) GoString() string { - return s.String() -} + // A set of environment variables to make available to builds for this build + // project. + EnvironmentVariables []*EnvironmentVariable `locationName:"environmentVariables" type:"list"` -// SetSourceCredentialsInfos sets the SourceCredentialsInfos field's value. -func (s *ListSourceCredentialsOutput) SetSourceCredentialsInfos(v []*SourceCredentialsInfo) *ListSourceCredentialsOutput { - s.SourceCredentialsInfos = v - return s -} + // The image tag or image digest that identifies the Docker image to use for + // this build project. Use the following formats: + // + // * For an image tag: registry/repository:tag. For example, to specify an + // image with the tag "latest," use registry/repository:latest. + // + // * For an image digest: registry/repository@digest. For example, to specify + // an image with the digest "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf," + // use registry/repository@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf. + // + // Image is a required field + Image *string `locationName:"image" min:"1" type:"string" required:"true"` -// Information about logs for a build project. These can be logs in Amazon CloudWatch -// Logs, built in a specified S3 bucket, or both. -type LogsConfig struct { - _ struct{} `type:"structure"` + // The type of credentials AWS CodeBuild uses to pull images in your build. + // There are two valid values: + // + // * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This + // requires that you modify your ECR repository policy to trust AWS CodeBuild's + // service principal. + // + // * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's + // service role. + // + // When you use a cross-account or private registry image, you must use SERVICE_ROLE + // credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD + // credentials. + ImagePullCredentialsType *string `locationName:"imagePullCredentialsType" type:"string" enum:"ImagePullCredentialsType"` - // Information about Amazon CloudWatch Logs for a build project. Amazon CloudWatch - // Logs are enabled by default. - CloudWatchLogs *CloudWatchLogsConfig `locationName:"cloudWatchLogs" type:"structure"` + // Enables running the Docker daemon inside a Docker container. Set to true + // only if the build project is used to build Docker images. Otherwise, a build + // that attempts to interact with the Docker daemon fails. The default setting + // is false. + // + // You can initialize the Docker daemon during the install phase of your build + // by adding one of the following sets of commands to the install phase of your + // buildspec file: + // + // If the operating system's base image is Ubuntu Linux: + // + // - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 + // --storage-driver=overlay& + // + // - timeout 15 sh -c "until docker info; do echo .; sleep 1; done" + // + // If the operating system's base image is Alpine Linux and the previous command + // does not work, add the -t argument to timeout: + // + // - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 + // --storage-driver=overlay& + // + // - timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done" + PrivilegedMode *bool `locationName:"privilegedMode" type:"boolean"` - // Information about logs built to an S3 bucket for a build project. S3 logs - // are not enabled by default. - S3Logs *S3LogsConfig `locationName:"s3Logs" type:"structure"` + // The credentials for access to a private registry. + RegistryCredential *RegistryCredential `locationName:"registryCredential" type:"structure"` + + // The type of build environment to use for related builds. + // + // * The environment type ARM_CONTAINER is available only in regions US East + // (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific + // (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and EU (Frankfurt). + // + // * The environment type LINUX_CONTAINER with compute type build.general1.2xlarge + // is available only in regions US East (N. Virginia), US East (Ohio), US + // West (Oregon), Canada (Central), EU (Ireland), EU (London), EU (Frankfurt), + // Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), + // Asia Pacific (Sydney), China (Beijing), and China (Ningxia). + // + // * The environment type LINUX_GPU_CONTAINER is available only in regions + // US East (N. Virginia), US East (Ohio), US West (Oregon), Canada (Central), + // EU (Ireland), EU (London), EU (Frankfurt), Asia Pacific (Tokyo), Asia + // Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney) , China + // (Beijing), and China (Ningxia). + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"EnvironmentType"` } // String returns the string representation -func (s LogsConfig) String() string { +func (s ProjectEnvironment) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LogsConfig) GoString() string { +func (s ProjectEnvironment) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LogsConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LogsConfig"} - if s.CloudWatchLogs != nil { - if err := s.CloudWatchLogs.Validate(); err != nil { - invalidParams.AddNested("CloudWatchLogs", err.(request.ErrInvalidParams)) +func (s *ProjectEnvironment) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProjectEnvironment"} + if s.ComputeType == nil { + invalidParams.Add(request.NewErrParamRequired("ComputeType")) + } + if s.Image == nil { + invalidParams.Add(request.NewErrParamRequired("Image")) + } + if s.Image != nil && len(*s.Image) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Image", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.EnvironmentVariables != nil { + for i, v := range s.EnvironmentVariables { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentVariables", i), err.(request.ErrInvalidParams)) + } } } - if s.S3Logs != nil { - if err := s.S3Logs.Validate(); err != nil { - invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams)) + if s.RegistryCredential != nil { + if err := s.RegistryCredential.Validate(); err != nil { + invalidParams.AddNested("RegistryCredential", err.(request.ErrInvalidParams)) } } @@ -6452,313 +10488,358 @@ func (s *LogsConfig) Validate() error { return nil } -// SetCloudWatchLogs sets the CloudWatchLogs field's value. -func (s *LogsConfig) SetCloudWatchLogs(v *CloudWatchLogsConfig) *LogsConfig { - s.CloudWatchLogs = v - return s -} - -// SetS3Logs sets the S3Logs field's value. -func (s *LogsConfig) SetS3Logs(v *S3LogsConfig) *LogsConfig { - s.S3Logs = v - return s -} - -// Information about build logs in Amazon CloudWatch Logs. -type LogsLocation struct { - _ struct{} `type:"structure"` - - // Information about Amazon CloudWatch Logs for a build project. - CloudWatchLogs *CloudWatchLogsConfig `locationName:"cloudWatchLogs" type:"structure"` - - // The ARN of Amazon CloudWatch Logs for a build project. Its format is arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}. - // For more information, see Resources Defined by Amazon CloudWatch Logs (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatchlogs.html#amazoncloudwatchlogs-resources-for-iam-policies). - CloudWatchLogsArn *string `locationName:"cloudWatchLogsArn" type:"string"` - - // The URL to an individual build log in Amazon CloudWatch Logs. - DeepLink *string `locationName:"deepLink" type:"string"` - - // The name of the Amazon CloudWatch Logs group for the build logs. - GroupName *string `locationName:"groupName" type:"string"` - - // The URL to a build log in an S3 bucket. - S3DeepLink *string `locationName:"s3DeepLink" type:"string"` - - // Information about S3 logs for a build project. - S3Logs *S3LogsConfig `locationName:"s3Logs" type:"structure"` - - // The ARN of S3 logs for a build project. Its format is arn:${Partition}:s3:::${BucketName}/${ObjectName}. - // For more information, see Resources Defined by Amazon S3 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazons3.html#amazons3-resources-for-iam-policies). - S3LogsArn *string `locationName:"s3LogsArn" type:"string"` - - // The name of the Amazon CloudWatch Logs stream for the build logs. - StreamName *string `locationName:"streamName" type:"string"` -} - -// String returns the string representation -func (s LogsLocation) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s LogsLocation) GoString() string { - return s.String() -} - -// SetCloudWatchLogs sets the CloudWatchLogs field's value. -func (s *LogsLocation) SetCloudWatchLogs(v *CloudWatchLogsConfig) *LogsLocation { - s.CloudWatchLogs = v +// SetCertificate sets the Certificate field's value. +func (s *ProjectEnvironment) SetCertificate(v string) *ProjectEnvironment { + s.Certificate = &v return s } -// SetCloudWatchLogsArn sets the CloudWatchLogsArn field's value. -func (s *LogsLocation) SetCloudWatchLogsArn(v string) *LogsLocation { - s.CloudWatchLogsArn = &v +// SetComputeType sets the ComputeType field's value. +func (s *ProjectEnvironment) SetComputeType(v string) *ProjectEnvironment { + s.ComputeType = &v return s } -// SetDeepLink sets the DeepLink field's value. -func (s *LogsLocation) SetDeepLink(v string) *LogsLocation { - s.DeepLink = &v +// SetEnvironmentVariables sets the EnvironmentVariables field's value. +func (s *ProjectEnvironment) SetEnvironmentVariables(v []*EnvironmentVariable) *ProjectEnvironment { + s.EnvironmentVariables = v return s } -// SetGroupName sets the GroupName field's value. -func (s *LogsLocation) SetGroupName(v string) *LogsLocation { - s.GroupName = &v +// SetImage sets the Image field's value. +func (s *ProjectEnvironment) SetImage(v string) *ProjectEnvironment { + s.Image = &v return s } -// SetS3DeepLink sets the S3DeepLink field's value. -func (s *LogsLocation) SetS3DeepLink(v string) *LogsLocation { - s.S3DeepLink = &v +// SetImagePullCredentialsType sets the ImagePullCredentialsType field's value. +func (s *ProjectEnvironment) SetImagePullCredentialsType(v string) *ProjectEnvironment { + s.ImagePullCredentialsType = &v return s } -// SetS3Logs sets the S3Logs field's value. -func (s *LogsLocation) SetS3Logs(v *S3LogsConfig) *LogsLocation { - s.S3Logs = v +// SetPrivilegedMode sets the PrivilegedMode field's value. +func (s *ProjectEnvironment) SetPrivilegedMode(v bool) *ProjectEnvironment { + s.PrivilegedMode = &v return s } -// SetS3LogsArn sets the S3LogsArn field's value. -func (s *LogsLocation) SetS3LogsArn(v string) *LogsLocation { - s.S3LogsArn = &v +// SetRegistryCredential sets the RegistryCredential field's value. +func (s *ProjectEnvironment) SetRegistryCredential(v *RegistryCredential) *ProjectEnvironment { + s.RegistryCredential = v return s } -// SetStreamName sets the StreamName field's value. -func (s *LogsLocation) SetStreamName(v string) *LogsLocation { - s.StreamName = &v +// SetType sets the Type field's value. +func (s *ProjectEnvironment) SetType(v string) *ProjectEnvironment { + s.Type = &v return s } -// Describes a network interface. -type NetworkInterface struct { +// Information about a file system created by Amazon Elastic File System (EFS). +// For more information, see What Is Amazon Elastic File System? (https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) +type ProjectFileSystemLocation struct { _ struct{} `type:"structure"` - // The ID of the network interface. - NetworkInterfaceId *string `locationName:"networkInterfaceId" min:"1" type:"string"` - - // The ID of the subnet. - SubnetId *string `locationName:"subnetId" min:"1" 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() -} + // The name used to access a file system created by Amazon EFS. CodeBuild creates + // an environment variable by appending the identifier in all capital letters + // to CODEBUILD_. For example, if you specify my-efs for identifier, a new environment + // variable is create named CODEBUILD_MY-EFS. + // + // The identifier is used to mount your file system. + Identifier *string `locationName:"identifier" type:"string"` -// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. -func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface { - s.NetworkInterfaceId = &v - return s -} + // A string that specifies the location of the file system created by Amazon + // EFS. Its format is efs-dns-name:/directory-path. You can find the DNS name + // of file system when you view it in the AWS EFS console. The directory path + // is a path to a directory in the file system that CodeBuild mounts. For example, + // if the DNS name of a file system is fs-abcd1234.efs.us-west-2.amazonaws.com, + // and its mount directory is my-efs-mount-directory, then the location is fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory. + // + // The directory path in the format efs-dns-name:/directory-path is optional. + // If you do not specify a directory path, the location is only the DNS name + // and CodeBuild mounts the entire file system. + Location *string `locationName:"location" type:"string"` -// SetSubnetId sets the SubnetId field's value. -func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface { - s.SubnetId = &v - return s -} + // The mount options for a file system created by AWS EFS. The default mount + // options used by CodeBuild are nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. + // For more information, see Recommended NFS Mount Options (https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html). + MountOptions *string `locationName:"mountOptions" type:"string"` -// There was a problem with the underlying OAuth provider. -type OAuthProviderException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The location in the container where you mount the file system. + MountPoint *string `locationName:"mountPoint" type:"string"` - Message_ *string `locationName:"message" type:"string"` + // The type of the file system. The one supported type is EFS. + Type *string `locationName:"type" type:"string" enum:"FileSystemType"` } // String returns the string representation -func (s OAuthProviderException) String() string { +func (s ProjectFileSystemLocation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OAuthProviderException) GoString() string { +func (s ProjectFileSystemLocation) GoString() string { return s.String() } -func newErrorOAuthProviderException(v protocol.ResponseMetadata) error { - return &OAuthProviderException{ - RespMetadata: v, - } +// SetIdentifier sets the Identifier field's value. +func (s *ProjectFileSystemLocation) SetIdentifier(v string) *ProjectFileSystemLocation { + s.Identifier = &v + return s } -// Code returns the exception type name. -func (s *OAuthProviderException) Code() string { - return "OAuthProviderException" +// SetLocation sets the Location field's value. +func (s *ProjectFileSystemLocation) SetLocation(v string) *ProjectFileSystemLocation { + s.Location = &v + return s } -// Message returns the exception's message. -func (s *OAuthProviderException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetMountOptions sets the MountOptions field's value. +func (s *ProjectFileSystemLocation) SetMountOptions(v string) *ProjectFileSystemLocation { + s.MountOptions = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *OAuthProviderException) OrigErr() error { - return nil +// SetMountPoint sets the MountPoint field's value. +func (s *ProjectFileSystemLocation) SetMountPoint(v string) *ProjectFileSystemLocation { + s.MountPoint = &v + return s } -func (s *OAuthProviderException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetType sets the Type field's value. +func (s *ProjectFileSystemLocation) SetType(v string) *ProjectFileSystemLocation { + s.Type = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *OAuthProviderException) StatusCode() int { - return s.RespMetadata.StatusCode -} +// Information about the build input source code for the build project. +type ProjectSource struct { + _ struct{} `type:"structure"` -// RequestID returns the service's response RequestID for request. -func (s *OAuthProviderException) RequestID() string { - return s.RespMetadata.RequestID -} + // Information about the authorization settings for AWS CodeBuild to access + // the source code to be built. + // + // This information is for the AWS CodeBuild console's use only. Your code should + // not get or set this information directly. + Auth *SourceAuth `locationName:"auth" type:"structure"` -// Additional information about a build phase that has an error. You can use -// this information for troubleshooting. -type PhaseContext struct { - _ struct{} `type:"structure"` + // Contains information that defines how the build project reports the build + // status to the source provider. This option is only used when the source provider + // is GITHUB, GITHUB_ENTERPRISE, or BITBUCKET. + BuildStatusConfig *BuildStatusConfig `locationName:"buildStatusConfig" type:"structure"` - // An explanation of the build phase's context. This might include a command - // ID and an exit code. - Message *string `locationName:"message" type:"string"` + // The buildspec file declaration to use for the builds in this build project. + // + // If this value is set, it can be either an inline buildspec definition, the + // path to an alternate buildspec file relative to the value of the built-in + // CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The + // bucket must be in the same AWS Region as the build project. Specify the buildspec + // file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). + // If this value is not provided or is set to an empty string, the source code + // must contain a buildspec file in its root directory. For more information, + // see Buildspec File Name and Storage Location (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage). + Buildspec *string `locationName:"buildspec" type:"string"` - // The status code for the context of the build phase. - StatusCode *string `locationName:"statusCode" type:"string"` + // Information about the Git clone depth for the build project. + GitCloneDepth *int64 `locationName:"gitCloneDepth" type:"integer"` + + // Information about the Git submodules configuration for the build project. + GitSubmodulesConfig *GitSubmodulesConfig `locationName:"gitSubmodulesConfig" type:"structure"` + + // Enable this flag to ignore SSL warnings while connecting to the project source + // code. + InsecureSsl *bool `locationName:"insecureSsl" type:"boolean"` + + // Information about the location of the source code to be built. Valid values + // include: + // + // * For source code settings that are specified in the source action of + // a pipeline in AWS CodePipeline, location should not be specified. If it + // is specified, AWS CodePipeline ignores it. This is because AWS CodePipeline + // uses the settings in a pipeline's source action instead of this value. + // + // * For source code in an AWS CodeCommit repository, the HTTPS clone URL + // to the repository that contains the source code and the buildspec file + // (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name + // ). + // + // * For source code in an Amazon Simple Storage Service (Amazon S3) input + // bucket, one of the following. The path to the ZIP file that contains the + // source code (for example, bucket-name/path/to/object-name.zip). The path + // to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/). + // + // * For source code in a GitHub repository, the HTTPS clone URL to the repository + // that contains the source and the buildspec file. You must connect your + // AWS account to your GitHub account. Use the AWS CodeBuild console to start + // creating a build project. When you use the console to connect (or reconnect) + // with GitHub, on the GitHub Authorize application page, for Organization + // access, choose Request access next to each repository you want to allow + // AWS CodeBuild to have access to, and then choose Authorize application. + // (After you have connected to your GitHub account, you do not need to finish + // creating the build project. You can leave the AWS CodeBuild console.) + // To instruct AWS CodeBuild to use this connection, in the source object, + // set the auth object's type value to OAUTH. + // + // * For source code in a Bitbucket repository, the HTTPS clone URL to the + // repository that contains the source and the buildspec file. You must connect + // your AWS account to your Bitbucket account. Use the AWS CodeBuild console + // to start creating a build project. When you use the console to connect + // (or reconnect) with Bitbucket, on the Bitbucket Confirm access to your + // account page, choose Grant access. (After you have connected to your Bitbucket + // account, you do not need to finish creating the build project. You can + // leave the AWS CodeBuild console.) To instruct AWS CodeBuild to use this + // connection, in the source object, set the auth object's type value to + // OAUTH. + Location *string `locationName:"location" type:"string"` + + // Set to true to report the status of a build's start and finish to your source + // provider. This option is valid only when your source provider is GitHub, + // GitHub Enterprise, or Bitbucket. If this is set and you use a different source + // provider, an invalidInputException is thrown. + // + // The status of a build triggered by a webhook is always reported to your source + // provider. + ReportBuildStatus *bool `locationName:"reportBuildStatus" type:"boolean"` + + // An identifier for this project source. + SourceIdentifier *string `locationName:"sourceIdentifier" type:"string"` + + // The type of repository that contains the source code to be built. Valid values + // include: + // + // * BITBUCKET: The source code is in a Bitbucket repository. + // + // * CODECOMMIT: The source code is in an AWS CodeCommit repository. + // + // * CODEPIPELINE: The source code settings are specified in the source action + // of a pipeline in AWS CodePipeline. + // + // * GITHUB: The source code is in a GitHub or GitHub Enterprise Cloud repository. + // + // * GITHUB_ENTERPRISE: The source code is in a GitHub Enterprise Server + // repository. + // + // * NO_SOURCE: The project does not have input source code. + // + // * S3: The source code is in an Amazon Simple Storage Service (Amazon S3) + // input bucket. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"SourceType"` } // String returns the string representation -func (s PhaseContext) String() string { +func (s ProjectSource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PhaseContext) GoString() string { +func (s ProjectSource) GoString() string { return s.String() } -// SetMessage sets the Message field's value. -func (s *PhaseContext) SetMessage(v string) *PhaseContext { - s.Message = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProjectSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProjectSource"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Auth != nil { + if err := s.Auth.Validate(); err != nil { + invalidParams.AddNested("Auth", err.(request.ErrInvalidParams)) + } + } + if s.GitSubmodulesConfig != nil { + if err := s.GitSubmodulesConfig.Validate(); err != nil { + invalidParams.AddNested("GitSubmodulesConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStatusCode sets the StatusCode field's value. -func (s *PhaseContext) SetStatusCode(v string) *PhaseContext { - s.StatusCode = &v +// SetAuth sets the Auth field's value. +func (s *ProjectSource) SetAuth(v *SourceAuth) *ProjectSource { + s.Auth = v return s } -// Information about a build project. -type Project struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the build project. - Arn *string `locationName:"arn" type:"string"` - - // Information about the build output artifacts for the build project. - Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure"` - - // Information about the build badge for the build project. - Badge *ProjectBadge `locationName:"badge" type:"structure"` - - // Information about the cache for the build project. - Cache *ProjectCache `locationName:"cache" type:"structure"` - - // When the build project was created, expressed in Unix time format. - Created *time.Time `locationName:"created" type:"timestamp"` - - // A description that makes the build project easy to identify. - Description *string `locationName:"description" type:"string"` - - // The AWS Key Management Service (AWS KMS) customer master key (CMK) to be - // used for encrypting the build output artifacts. - // - // You can use a cross-account KMS key to encrypt the build output artifacts - // if your service role has permission to that key. - // - // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, - // the CMK's alias (using the format alias/alias-name ). - EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` - - // Information about the build environment for this build project. - Environment *ProjectEnvironment `locationName:"environment" type:"structure"` - - // An array of ProjectFileSystemLocation objects for a CodeBuild build project. - // A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, - // mountPoint, and type of a file system created using Amazon Elastic File System. - FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"` +// SetBuildStatusConfig sets the BuildStatusConfig field's value. +func (s *ProjectSource) SetBuildStatusConfig(v *BuildStatusConfig) *ProjectSource { + s.BuildStatusConfig = v + return s +} - // When the build project's settings were last modified, expressed in Unix time - // format. - LastModified *time.Time `locationName:"lastModified" type:"timestamp"` +// SetBuildspec sets the Buildspec field's value. +func (s *ProjectSource) SetBuildspec(v string) *ProjectSource { + s.Buildspec = &v + return s +} - // Information about logs for the build project. A project can create logs in - // Amazon CloudWatch Logs, an S3 bucket, or both. - LogsConfig *LogsConfig `locationName:"logsConfig" type:"structure"` +// SetGitCloneDepth sets the GitCloneDepth field's value. +func (s *ProjectSource) SetGitCloneDepth(v int64) *ProjectSource { + s.GitCloneDepth = &v + return s +} - // The name of the build project. - Name *string `locationName:"name" min:"2" type:"string"` +// SetGitSubmodulesConfig sets the GitSubmodulesConfig field's value. +func (s *ProjectSource) SetGitSubmodulesConfig(v *GitSubmodulesConfig) *ProjectSource { + s.GitSubmodulesConfig = v + return s +} - // The number of minutes a build is allowed to be queued before it times out. - QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" min:"5" type:"integer"` +// SetInsecureSsl sets the InsecureSsl field's value. +func (s *ProjectSource) SetInsecureSsl(v bool) *ProjectSource { + s.InsecureSsl = &v + return s +} - // An array of ProjectArtifacts objects. - SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"` +// SetLocation sets the Location field's value. +func (s *ProjectSource) SetLocation(v string) *ProjectSource { + s.Location = &v + return s +} - // An array of ProjectSourceVersion objects. If secondarySourceVersions is specified - // at the build level, then they take over these secondarySourceVersions (at - // the project level). - SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"` +// SetReportBuildStatus sets the ReportBuildStatus field's value. +func (s *ProjectSource) SetReportBuildStatus(v bool) *ProjectSource { + s.ReportBuildStatus = &v + return s +} - // An array of ProjectSource objects. - SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"` +// SetSourceIdentifier sets the SourceIdentifier field's value. +func (s *ProjectSource) SetSourceIdentifier(v string) *ProjectSource { + s.SourceIdentifier = &v + return s +} - // The ARN of the AWS Identity and Access Management (IAM) role that enables - // AWS CodeBuild to interact with dependent AWS services on behalf of the AWS - // account. - ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"` +// SetType sets the Type field's value. +func (s *ProjectSource) SetType(v string) *ProjectSource { + s.Type = &v + return s +} - // Information about the build input source code for this build project. - Source *ProjectSource `locationName:"source" type:"structure"` +// A source identifier and its corresponding version. +type ProjectSourceVersion struct { + _ struct{} `type:"structure"` - // A version of the build input to be built for this project. If not specified, - // the latest version is used. If specified, it must be one of: + // An identifier for a source in the build project. + // + // SourceIdentifier is a required field + SourceIdentifier *string `locationName:"sourceIdentifier" type:"string" required:"true"` + + // The source version for the corresponding source identifier. If specified, + // must be one of: // // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // // * For GitHub: the commit ID, pull request ID, branch name, or tag name // that corresponds to the version of the source code you want to build. // If a pull request ID is specified, it must use the format pr/pull-request-ID - // (for example pr/25). If a branch name is specified, the branch's HEAD + // (for example, pr/25). If a branch name is specified, the branch's HEAD // commit ID is used. If not specified, the default branch's HEAD commit // ID is used. // @@ -6770,484 +10851,377 @@ type Project struct { // * For Amazon Simple Storage Service (Amazon S3): the version ID of the // object that represents the build input ZIP file to use. // - // If sourceVersion is specified at the build level, then that version takes - // precedence over this sourceVersion (at the project level). - // // For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) // in the AWS CodeBuild User Guide. - SourceVersion *string `locationName:"sourceVersion" type:"string"` - - // The tags for this build project. // - // These tags are available for use by AWS services that support AWS CodeBuild - // build project tags. - Tags []*Tag `locationName:"tags" type:"list"` - - // How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait - // before timing out any related build that did not get marked as completed. - // The default is 60 minutes. - TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"5" type:"integer"` - - // Information about the VPC configuration that AWS CodeBuild accesses. - VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` - - // Information about a webhook that connects repository events to a build project - // in AWS CodeBuild. - Webhook *Webhook `locationName:"webhook" type:"structure"` + // SourceVersion is a required field + SourceVersion *string `locationName:"sourceVersion" type:"string" required:"true"` } // String returns the string representation -func (s Project) String() string { +func (s ProjectSourceVersion) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Project) GoString() string { +func (s ProjectSourceVersion) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Project) SetArn(v string) *Project { - s.Arn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProjectSourceVersion) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProjectSourceVersion"} + if s.SourceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("SourceIdentifier")) + } + if s.SourceVersion == nil { + invalidParams.Add(request.NewErrParamRequired("SourceVersion")) + } -// SetArtifacts sets the Artifacts field's value. -func (s *Project) SetArtifacts(v *ProjectArtifacts) *Project { - s.Artifacts = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetBadge sets the Badge field's value. -func (s *Project) SetBadge(v *ProjectBadge) *Project { - s.Badge = v +// SetSourceIdentifier sets the SourceIdentifier field's value. +func (s *ProjectSourceVersion) SetSourceIdentifier(v string) *ProjectSourceVersion { + s.SourceIdentifier = &v return s } -// SetCache sets the Cache field's value. -func (s *Project) SetCache(v *ProjectCache) *Project { - s.Cache = v +// SetSourceVersion sets the SourceVersion field's value. +func (s *ProjectSourceVersion) SetSourceVersion(v string) *ProjectSourceVersion { + s.SourceVersion = &v return s } -// SetCreated sets the Created field's value. -func (s *Project) SetCreated(v time.Time) *Project { - s.Created = &v - return s -} +type PutResourcePolicyInput struct { + _ struct{} `type:"structure"` -// SetDescription sets the Description field's value. -func (s *Project) SetDescription(v string) *Project { - s.Description = &v - return s -} + // A JSON-formatted resource policy. For more information, see Sharing a Project + // (https://docs.aws.amazon.com/codebuild/latest/userguide/project-sharing.html#project-sharing-share) + // and Sharing a Report Group (https://docs.aws.amazon.com/codebuild/latest/userguide/report-groups-sharing.html#report-groups-sharing-share) + // in the AWS CodeBuild User Guide. + // + // Policy is a required field + Policy *string `locationName:"policy" min:"1" type:"string" required:"true"` -// SetEncryptionKey sets the EncryptionKey field's value. -func (s *Project) SetEncryptionKey(v string) *Project { - s.EncryptionKey = &v - return s + // The ARN of the Project or ReportGroup resource you want to associate with + // a resource policy. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` } -// SetEnvironment sets the Environment field's value. -func (s *Project) SetEnvironment(v *ProjectEnvironment) *Project { - s.Environment = v - return s +// String returns the string representation +func (s PutResourcePolicyInput) String() string { + return awsutil.Prettify(s) } -// SetFileSystemLocations sets the FileSystemLocations field's value. -func (s *Project) SetFileSystemLocations(v []*ProjectFileSystemLocation) *Project { - s.FileSystemLocations = v - return s +// GoString returns the string representation +func (s PutResourcePolicyInput) GoString() string { + return s.String() } -// SetLastModified sets the LastModified field's value. -func (s *Project) SetLastModified(v time.Time) *Project { - s.LastModified = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"} + if s.Policy == nil { + invalidParams.Add(request.NewErrParamRequired("Policy")) + } + if s.Policy != nil && len(*s.Policy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLogsConfig sets the LogsConfig field's value. -func (s *Project) SetLogsConfig(v *LogsConfig) *Project { - s.LogsConfig = v +// SetPolicy sets the Policy field's value. +func (s *PutResourcePolicyInput) SetPolicy(v string) *PutResourcePolicyInput { + s.Policy = &v return s } -// SetName sets the Name field's value. -func (s *Project) SetName(v string) *Project { - s.Name = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *PutResourcePolicyInput) SetResourceArn(v string) *PutResourcePolicyInput { + s.ResourceArn = &v return s } -// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. -func (s *Project) SetQueuedTimeoutInMinutes(v int64) *Project { - s.QueuedTimeoutInMinutes = &v - return s +type PutResourcePolicyOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the Project or ReportGroup resource that is associated with a + // resource policy. + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"` } -// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. -func (s *Project) SetSecondaryArtifacts(v []*ProjectArtifacts) *Project { - s.SecondaryArtifacts = v - return s +// String returns the string representation +func (s PutResourcePolicyOutput) String() string { + return awsutil.Prettify(s) } -// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. -func (s *Project) SetSecondarySourceVersions(v []*ProjectSourceVersion) *Project { - s.SecondarySourceVersions = v - return s +// GoString returns the string representation +func (s PutResourcePolicyOutput) GoString() string { + return s.String() } -// SetSecondarySources sets the SecondarySources field's value. -func (s *Project) SetSecondarySources(v []*ProjectSource) *Project { - s.SecondarySources = v +// SetResourceArn sets the ResourceArn field's value. +func (s *PutResourcePolicyOutput) SetResourceArn(v string) *PutResourcePolicyOutput { + s.ResourceArn = &v return s } -// SetServiceRole sets the ServiceRole field's value. -func (s *Project) SetServiceRole(v string) *Project { - s.ServiceRole = &v - return s +// Information about credentials that provide access to a private Docker registry. +// When this is set: +// +// * imagePullCredentialsType must be set to SERVICE_ROLE. +// +// * images cannot be curated or an Amazon ECR image. +// +// For more information, see Private Registry with AWS Secrets Manager Sample +// for AWS CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-private-registry.html). +type RegistryCredential struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets + // Manager. + // + // The credential can use the name of the credentials only if they exist in + // your current AWS Region. + // + // Credential is a required field + Credential *string `locationName:"credential" min:"1" type:"string" required:"true"` + + // The service that created the credentials to access a private Docker registry. + // The valid value, SECRETS_MANAGER, is for AWS Secrets Manager. + // + // CredentialProvider is a required field + CredentialProvider *string `locationName:"credentialProvider" type:"string" required:"true" enum:"CredentialProviderType"` } -// SetSource sets the Source field's value. -func (s *Project) SetSource(v *ProjectSource) *Project { - s.Source = v - return s +// String returns the string representation +func (s RegistryCredential) String() string { + return awsutil.Prettify(s) } -// SetSourceVersion sets the SourceVersion field's value. -func (s *Project) SetSourceVersion(v string) *Project { - s.SourceVersion = &v - return s +// GoString returns the string representation +func (s RegistryCredential) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *Project) SetTags(v []*Tag) *Project { - s.Tags = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *RegistryCredential) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegistryCredential"} + if s.Credential == nil { + invalidParams.Add(request.NewErrParamRequired("Credential")) + } + if s.Credential != nil && len(*s.Credential) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Credential", 1)) + } + if s.CredentialProvider == nil { + invalidParams.Add(request.NewErrParamRequired("CredentialProvider")) + } -// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. -func (s *Project) SetTimeoutInMinutes(v int64) *Project { - s.TimeoutInMinutes = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetVpcConfig sets the VpcConfig field's value. -func (s *Project) SetVpcConfig(v *VpcConfig) *Project { - s.VpcConfig = v +// SetCredential sets the Credential field's value. +func (s *RegistryCredential) SetCredential(v string) *RegistryCredential { + s.Credential = &v return s } -// SetWebhook sets the Webhook field's value. -func (s *Project) SetWebhook(v *Webhook) *Project { - s.Webhook = v +// SetCredentialProvider sets the CredentialProvider field's value. +func (s *RegistryCredential) SetCredentialProvider(v string) *RegistryCredential { + s.CredentialProvider = &v return s } -// Information about the build output artifacts for the build project. -type ProjectArtifacts struct { +// Information about the results from running a series of test cases during +// the run of a build project. The test cases are specified in the buildspec +// for the build project using one or more paths to the test case files. You +// can specify any type of tests you want, such as unit tests, integration tests, +// and functional tests. +type Report struct { _ struct{} `type:"structure"` - // An identifier for this artifact definition. - ArtifactIdentifier *string `locationName:"artifactIdentifier" type:"string"` + // The ARN of the report run. + Arn *string `locationName:"arn" min:"1" type:"string"` - // Set to true if you do not want your output artifacts encrypted. This option - // is valid only if your artifacts type is Amazon Simple Storage Service (Amazon - // S3). If this is set with another artifacts type, an invalidInputException - // is thrown. - EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` + // A CodeCoverageReportSummary object that contains a code coverage summary + // for this report. + CodeCoverageSummary *CodeCoverageReportSummary `locationName:"codeCoverageSummary" type:"structure"` - // Information about the build output artifact location: - // - // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value - // if specified. This is because AWS CodePipeline manages its build output - // locations instead of AWS CodeBuild. - // - // * If type is set to NO_ARTIFACTS, this value is ignored if specified, - // because no build output is produced. - // - // * If type is set to S3, this is the name of the output bucket. - Location *string `locationName:"location" type:"string"` + // The date and time this report run occurred. + Created *time.Time `locationName:"created" type:"timestamp"` - // Along with path and namespaceType, the pattern that AWS CodeBuild uses to - // name and store the output artifact: - // - // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value - // if specified. This is because AWS CodePipeline manages its build output - // names instead of AWS CodeBuild. - // - // * If type is set to NO_ARTIFACTS, this value is ignored if specified, - // because no build output is produced. - // - // * If type is set to S3, this is the name of the output artifact object. - // If you set the name to be a forward slash ("/"), the artifact is stored - // in the root of the output bucket. - // - // For example: - // - // * If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and - // name is set to MyArtifact.zip, then the output artifact is stored in MyArtifacts/build-ID/MyArtifact.zip. - // - // * If path is empty, namespaceType is set to NONE, and name is set to "/", - // the output artifact is stored in the root of the output bucket. - // - // * If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and - // name is set to "/", the output artifact is stored in MyArtifacts/build-ID . + // The ARN of the build run that generated this report. + ExecutionId *string `locationName:"executionId" type:"string"` + + // The date and time a report expires. A report expires 30 days after it is + // created. An expired report is not available to view in CodeBuild. + Expired *time.Time `locationName:"expired" type:"timestamp"` + + // Information about where the raw data used to generate this report was exported. + ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"` + + // The name of the report that was run. Name *string `locationName:"name" type:"string"` - // Along with path and name, the pattern that AWS CodeBuild uses to determine - // the name and location to store the output artifact: - // - // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value - // if specified. This is because AWS CodePipeline manages its build output - // names instead of AWS CodeBuild. - // - // * If type is set to NO_ARTIFACTS, this value is ignored if specified, - // because no build output is produced. - // - // * If type is set to S3, valid values include: BUILD_ID: Include the build - // ID in the location of the build output artifact. NONE: Do not include - // the build ID. This is the default if namespaceType is not specified. - // - // For example, if path is set to MyArtifacts, namespaceType is set to BUILD_ID, - // and name is set to MyArtifact.zip, the output artifact is stored in MyArtifacts/build-ID/MyArtifact.zip. - NamespaceType *string `locationName:"namespaceType" type:"string" enum:"ArtifactNamespace"` + // The ARN of the report group associated with this report. + ReportGroupArn *string `locationName:"reportGroupArn" min:"1" type:"string"` - // If this flag is set, a name specified in the buildspec file overrides the - // artifact name. The name specified in a buildspec file is calculated at build - // time and uses the Shell Command Language. For example, you can append a date - // and time to your artifact name so that it is always unique. - OverrideArtifactName *bool `locationName:"overrideArtifactName" type:"boolean"` + // The status of this report. + Status *string `locationName:"status" type:"string" enum:"ReportStatusType"` - // The type of build output artifact to create: - // - // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value - // if specified. This is because AWS CodePipeline manages its build output - // artifacts instead of AWS CodeBuild. - // - // * If type is set to NO_ARTIFACTS, this value is ignored if specified, - // because no build output is produced. - // - // * If type is set to S3, valid values include: NONE: AWS CodeBuild creates - // in the output bucket a folder that contains the build output. This is - // the default if packaging is not specified. ZIP: AWS CodeBuild creates - // in the output bucket a ZIP file that contains the build output. - Packaging *string `locationName:"packaging" type:"string" enum:"ArtifactPackaging"` + // A TestReportSummary object that contains information about this test report. + TestSummary *TestReportSummary `locationName:"testSummary" type:"structure"` - // Along with namespaceType and name, the pattern that AWS CodeBuild uses to - // name and store the output artifact: - // - // * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value - // if specified. This is because AWS CodePipeline manages its build output - // names instead of AWS CodeBuild. - // - // * If type is set to NO_ARTIFACTS, this value is ignored if specified, - // because no build output is produced. - // - // * If type is set to S3, this is the path to the output artifact. If path - // is not specified, path is not used. - // - // For example, if path is set to MyArtifacts, namespaceType is set to NONE, - // and name is set to MyArtifact.zip, the output artifact is stored in the output - // bucket at MyArtifacts/MyArtifact.zip. - Path *string `locationName:"path" type:"string"` + // A boolean that specifies if this report run is truncated. The list of test + // cases is truncated after the maximum number of test cases is reached. + Truncated *bool `locationName:"truncated" type:"boolean"` - // The type of build output artifact. Valid values include: + // The type of the report that was run. // - // * CODEPIPELINE: The build project has build output generated through AWS - // CodePipeline. The CODEPIPELINE type is not supported for secondaryArtifacts. + // CODE_COVERAGE // - // * NO_ARTIFACTS: The build project does not produce any build output. + // A code coverage report. // - // * S3: The build project stores build output in Amazon Simple Storage Service - // (Amazon S3). + // TEST // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"ArtifactsType"` + // A test report. + Type *string `locationName:"type" type:"string" enum:"ReportType"` } // String returns the string representation -func (s ProjectArtifacts) String() string { +func (s Report) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectArtifacts) GoString() string { +func (s Report) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ProjectArtifacts) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ProjectArtifacts"} - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetArtifactIdentifier sets the ArtifactIdentifier field's value. -func (s *ProjectArtifacts) SetArtifactIdentifier(v string) *ProjectArtifacts { - s.ArtifactIdentifier = &v - return s -} - -// SetEncryptionDisabled sets the EncryptionDisabled field's value. -func (s *ProjectArtifacts) SetEncryptionDisabled(v bool) *ProjectArtifacts { - s.EncryptionDisabled = &v - return s -} - -// SetLocation sets the Location field's value. -func (s *ProjectArtifacts) SetLocation(v string) *ProjectArtifacts { - s.Location = &v +// SetArn sets the Arn field's value. +func (s *Report) SetArn(v string) *Report { + s.Arn = &v return s } -// SetName sets the Name field's value. -func (s *ProjectArtifacts) SetName(v string) *ProjectArtifacts { - s.Name = &v +// SetCodeCoverageSummary sets the CodeCoverageSummary field's value. +func (s *Report) SetCodeCoverageSummary(v *CodeCoverageReportSummary) *Report { + s.CodeCoverageSummary = v return s } -// SetNamespaceType sets the NamespaceType field's value. -func (s *ProjectArtifacts) SetNamespaceType(v string) *ProjectArtifacts { - s.NamespaceType = &v +// SetCreated sets the Created field's value. +func (s *Report) SetCreated(v time.Time) *Report { + s.Created = &v return s } -// SetOverrideArtifactName sets the OverrideArtifactName field's value. -func (s *ProjectArtifacts) SetOverrideArtifactName(v bool) *ProjectArtifacts { - s.OverrideArtifactName = &v +// SetExecutionId sets the ExecutionId field's value. +func (s *Report) SetExecutionId(v string) *Report { + s.ExecutionId = &v return s } -// SetPackaging sets the Packaging field's value. -func (s *ProjectArtifacts) SetPackaging(v string) *ProjectArtifacts { - s.Packaging = &v +// SetExpired sets the Expired field's value. +func (s *Report) SetExpired(v time.Time) *Report { + s.Expired = &v return s } -// SetPath sets the Path field's value. -func (s *ProjectArtifacts) SetPath(v string) *ProjectArtifacts { - s.Path = &v +// SetExportConfig sets the ExportConfig field's value. +func (s *Report) SetExportConfig(v *ReportExportConfig) *Report { + s.ExportConfig = v return s } -// SetType sets the Type field's value. -func (s *ProjectArtifacts) SetType(v string) *ProjectArtifacts { - s.Type = &v +// SetName sets the Name field's value. +func (s *Report) SetName(v string) *Report { + s.Name = &v return s } -// Information about the build badge for the build project. -type ProjectBadge struct { - _ struct{} `type:"structure"` - - // Set this to true to generate a publicly accessible URL for your project's - // build badge. - BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"` - - // The publicly-accessible URL through which you can access the build badge - // for your project. - // - // The publicly accessible URL through which you can access the build badge - // for your project. - BadgeRequestUrl *string `locationName:"badgeRequestUrl" type:"string"` +// SetReportGroupArn sets the ReportGroupArn field's value. +func (s *Report) SetReportGroupArn(v string) *Report { + s.ReportGroupArn = &v + return s } -// String returns the string representation -func (s ProjectBadge) String() string { - return awsutil.Prettify(s) +// SetStatus sets the Status field's value. +func (s *Report) SetStatus(v string) *Report { + s.Status = &v + return s } -// GoString returns the string representation -func (s ProjectBadge) GoString() string { - return s.String() +// SetTestSummary sets the TestSummary field's value. +func (s *Report) SetTestSummary(v *TestReportSummary) *Report { + s.TestSummary = v + return s } -// SetBadgeEnabled sets the BadgeEnabled field's value. -func (s *ProjectBadge) SetBadgeEnabled(v bool) *ProjectBadge { - s.BadgeEnabled = &v +// SetTruncated sets the Truncated field's value. +func (s *Report) SetTruncated(v bool) *Report { + s.Truncated = &v return s } -// SetBadgeRequestUrl sets the BadgeRequestUrl field's value. -func (s *ProjectBadge) SetBadgeRequestUrl(v string) *ProjectBadge { - s.BadgeRequestUrl = &v +// SetType sets the Type field's value. +func (s *Report) SetType(v string) *Report { + s.Type = &v return s } -// Information about the cache for the build project. -type ProjectCache struct { +// Information about the location where the run of a report is exported. +type ReportExportConfig struct { _ struct{} `type:"structure"` - // Information about the cache location: - // - // * NO_CACHE or LOCAL: This value is ignored. - // - // * S3: This is the S3 bucket name/prefix. - Location *string `locationName:"location" type:"string"` - - // If you use a LOCAL cache, the local cache mode. You can use one or more local - // cache modes at the same time. - // - // * LOCAL_SOURCE_CACHE mode caches Git metadata for primary and secondary - // sources. After the cache is created, subsequent builds pull only the change - // between commits. This mode is a good choice for projects with a clean - // working directory and a source that is a large Git repository. If you - // choose this option and your project does not use a Git repository (GitHub, - // GitHub Enterprise, or Bitbucket), the option is ignored. + // The export configuration type. Valid values are: // - // * LOCAL_DOCKER_LAYER_CACHE mode caches existing Docker layers. This mode - // is a good choice for projects that build or pull large Docker images. - // It can prevent the performance issues caused by pulling large Docker images - // down from the network. You can use a Docker layer cache in the Linux environment - // only. The privileged flag must be set so that your project has the required - // Docker permissions. You should consider the security implications before - // you use a Docker layer cache. + // * S3: The report results are exported to an S3 bucket. // - // * LOCAL_CUSTOM_CACHE mode caches directories you specify in the buildspec - // file. This mode is a good choice if your build scenario is not suited - // to one of the other three local cache modes. If you use a custom cache: - // Only directories can be specified for caching. You cannot specify individual - // files. Symlinks are used to reference cached directories. Cached directories - // are linked to your build before it downloads its project sources. Cached - // items are overridden if a source item has the same name. Directories are - // specified using cache paths in the buildspec file. - Modes []*string `locationName:"modes" type:"list"` + // * NO_EXPORT: The report results are not exported. + ExportConfigType *string `locationName:"exportConfigType" type:"string" enum:"ReportExportConfigType"` - // The type of cache used by the build project. Valid values include: - // - // * NO_CACHE: The build project does not use any cache. - // - // * S3: The build project reads and writes from and to S3. - // - // * LOCAL: The build project stores a cache locally on a build host that - // is only available to that build host. - // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"CacheType"` + // A S3ReportExportConfig object that contains information about the S3 bucket + // where the run of a report is exported. + S3Destination *S3ReportExportConfig `locationName:"s3Destination" type:"structure"` } // String returns the string representation -func (s ProjectCache) String() string { +func (s ReportExportConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectCache) GoString() string { +func (s ReportExportConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ProjectCache) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ProjectCache"} - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) +func (s *ReportExportConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReportExportConfig"} + if s.S3Destination != nil { + if err := s.S3Destination.Validate(); err != nil { + invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -7256,567 +11230,317 @@ func (s *ProjectCache) Validate() error { return nil } -// SetLocation sets the Location field's value. -func (s *ProjectCache) SetLocation(v string) *ProjectCache { - s.Location = &v - return s -} - -// SetModes sets the Modes field's value. -func (s *ProjectCache) SetModes(v []*string) *ProjectCache { - s.Modes = v +// SetExportConfigType sets the ExportConfigType field's value. +func (s *ReportExportConfig) SetExportConfigType(v string) *ReportExportConfig { + s.ExportConfigType = &v return s } -// SetType sets the Type field's value. -func (s *ProjectCache) SetType(v string) *ProjectCache { - s.Type = &v +// SetS3Destination sets the S3Destination field's value. +func (s *ReportExportConfig) SetS3Destination(v *S3ReportExportConfig) *ReportExportConfig { + s.S3Destination = v return s } -// Information about the build environment of the build project. -type ProjectEnvironment struct { +// A filter used to return reports with the status specified by the input status +// parameter. +type ReportFilter struct { _ struct{} `type:"structure"` - - // The certificate to use with this build project. - Certificate *string `locationName:"certificate" type:"string"` - - // Information about the compute resources the build project uses. Available - // values include: - // - // * BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds. - // - // * BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds. - // - // * BUILD_GENERAL1_LARGE: Use up to 16 GB memory and 8 vCPUs for builds, - // depending on your environment type. - // - // * BUILD_GENERAL1_2XLARGE: Use up to 145 GB memory, 72 vCPUs, and 824 GB - // of SSD storage for builds. This compute type supports Docker images up - // to 100 GB uncompressed. - // - // If you use BUILD_GENERAL1_LARGE: - // - // * For environment type LINUX_CONTAINER, you can use up to 15 GB memory - // and 8 vCPUs for builds. - // - // * For environment type LINUX_GPU_CONTAINER, you can use up to 255 GB memory, - // 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - // - // * For environment type ARM_CONTAINER, you can use up to 16 GB memory and - // 8 vCPUs on ARM-based processors for builds. - // - // For more information, see Build Environment Compute Types (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) - // in the AWS CodeBuild User Guide. - // - // ComputeType is a required field - ComputeType *string `locationName:"computeType" type:"string" required:"true" enum:"ComputeType"` - - // A set of environment variables to make available to builds for this build - // project. - EnvironmentVariables []*EnvironmentVariable `locationName:"environmentVariables" type:"list"` - - // The image tag or image digest that identifies the Docker image to use for - // this build project. Use the following formats: - // - // * For an image tag: registry/repository:tag. For example, to specify an - // image with the tag "latest," use registry/repository:latest. - // - // * For an image digest: registry/repository@digest. For example, to specify - // an image with the digest "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf," - // use registry/repository@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf. - // - // Image is a required field - Image *string `locationName:"image" min:"1" type:"string" required:"true"` - - // The type of credentials AWS CodeBuild uses to pull images in your build. - // There are two valid values: - // - // * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This - // requires that you modify your ECR repository policy to trust AWS CodeBuild's - // service principal. - // - // * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's - // service role. - // - // When you use a cross-account or private registry image, you must use SERVICE_ROLE - // credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD - // credentials. - ImagePullCredentialsType *string `locationName:"imagePullCredentialsType" type:"string" enum:"ImagePullCredentialsType"` - - // Enables running the Docker daemon inside a Docker container. Set to true - // only if the build project is used to build Docker images. Otherwise, a build - // that attempts to interact with the Docker daemon fails. The default setting - // is false. - // - // You can initialize the Docker daemon during the install phase of your build - // by adding one of the following sets of commands to the install phase of your - // buildspec file: - // - // If the operating system's base image is Ubuntu Linux: - // - // - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 - // --storage-driver=overlay& - // - // - timeout 15 sh -c "until docker info; do echo .; sleep 1; done" - // - // If the operating system's base image is Alpine Linux and the previous command - // does not work, add the -t argument to timeout: - // - // - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 - // --storage-driver=overlay& - // - // - timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done" - PrivilegedMode *bool `locationName:"privilegedMode" type:"boolean"` - - // The credentials for access to a private registry. - RegistryCredential *RegistryCredential `locationName:"registryCredential" type:"structure"` - - // The type of build environment to use for related builds. - // - // * The environment type ARM_CONTAINER is available only in regions US East - // (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific - // (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and EU (Frankfurt). - // - // * The environment type LINUX_CONTAINER with compute type build.general1.2xlarge - // is available only in regions US East (N. Virginia), US East (N. Virginia), - // US West (Oregon), Canada (Central), EU (Ireland), EU (London), EU (Frankfurt), - // Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), - // Asia Pacific (Sydney), China (Beijing), and China (Ningxia). - // - // * The environment type LINUX_GPU_CONTAINER is available only in regions - // US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada - // (Central), EU (Ireland), EU (London), EU (Frankfurt), Asia Pacific (Tokyo), - // Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney) - // , China (Beijing), and China (Ningxia). - // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"EnvironmentType"` + + // The status used to filter reports. You can filter using one status only. + Status *string `locationName:"status" type:"string" enum:"ReportStatusType"` } // String returns the string representation -func (s ProjectEnvironment) String() string { +func (s ReportFilter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectEnvironment) GoString() string { +func (s ReportFilter) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ProjectEnvironment) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ProjectEnvironment"} - if s.ComputeType == nil { - invalidParams.Add(request.NewErrParamRequired("ComputeType")) - } - if s.Image == nil { - invalidParams.Add(request.NewErrParamRequired("Image")) - } - if s.Image != nil && len(*s.Image) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Image", 1)) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - if s.EnvironmentVariables != nil { - for i, v := range s.EnvironmentVariables { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentVariables", i), err.(request.ErrInvalidParams)) - } - } - } - if s.RegistryCredential != nil { - if err := s.RegistryCredential.Validate(); err != nil { - invalidParams.AddNested("RegistryCredential", err.(request.ErrInvalidParams)) - } - } +// SetStatus sets the Status field's value. +func (s *ReportFilter) SetStatus(v string) *ReportFilter { + s.Status = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// A series of reports. Each report contains information about the results from +// running a series of test cases. You specify the test cases for a report group +// in the buildspec for a build project using one or more paths to the test +// case files. +type ReportGroup struct { + _ struct{} `type:"structure"` + + // The ARN of a ReportGroup. + Arn *string `locationName:"arn" min:"1" type:"string"` + + // The date and time this ReportGroup was created. + Created *time.Time `locationName:"created" type:"timestamp"` + + // Information about the destination where the raw data of this ReportGroup + // is exported. + ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"` + + // The date and time this ReportGroup was last modified. + LastModified *time.Time `locationName:"lastModified" type:"timestamp"` + + // The name of a ReportGroup. + Name *string `locationName:"name" min:"2" type:"string"` + + // A list of tag key and value pairs associated with this report group. + // + // These tags are available for use by AWS services that support AWS CodeBuild + // report group tags. + Tags []*Tag `locationName:"tags" type:"list"` + + // The type of the ReportGroup. The one valid value is TEST. + Type *string `locationName:"type" type:"string" enum:"ReportType"` } -// SetCertificate sets the Certificate field's value. -func (s *ProjectEnvironment) SetCertificate(v string) *ProjectEnvironment { - s.Certificate = &v - return s +// String returns the string representation +func (s ReportGroup) String() string { + return awsutil.Prettify(s) } -// SetComputeType sets the ComputeType field's value. -func (s *ProjectEnvironment) SetComputeType(v string) *ProjectEnvironment { - s.ComputeType = &v +// GoString returns the string representation +func (s ReportGroup) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ReportGroup) SetArn(v string) *ReportGroup { + s.Arn = &v return s } -// SetEnvironmentVariables sets the EnvironmentVariables field's value. -func (s *ProjectEnvironment) SetEnvironmentVariables(v []*EnvironmentVariable) *ProjectEnvironment { - s.EnvironmentVariables = v +// SetCreated sets the Created field's value. +func (s *ReportGroup) SetCreated(v time.Time) *ReportGroup { + s.Created = &v return s } -// SetImage sets the Image field's value. -func (s *ProjectEnvironment) SetImage(v string) *ProjectEnvironment { - s.Image = &v +// SetExportConfig sets the ExportConfig field's value. +func (s *ReportGroup) SetExportConfig(v *ReportExportConfig) *ReportGroup { + s.ExportConfig = v return s } -// SetImagePullCredentialsType sets the ImagePullCredentialsType field's value. -func (s *ProjectEnvironment) SetImagePullCredentialsType(v string) *ProjectEnvironment { - s.ImagePullCredentialsType = &v +// SetLastModified sets the LastModified field's value. +func (s *ReportGroup) SetLastModified(v time.Time) *ReportGroup { + s.LastModified = &v return s } -// SetPrivilegedMode sets the PrivilegedMode field's value. -func (s *ProjectEnvironment) SetPrivilegedMode(v bool) *ProjectEnvironment { - s.PrivilegedMode = &v +// SetName sets the Name field's value. +func (s *ReportGroup) SetName(v string) *ReportGroup { + s.Name = &v return s } -// SetRegistryCredential sets the RegistryCredential field's value. -func (s *ProjectEnvironment) SetRegistryCredential(v *RegistryCredential) *ProjectEnvironment { - s.RegistryCredential = v +// SetTags sets the Tags field's value. +func (s *ReportGroup) SetTags(v []*Tag) *ReportGroup { + s.Tags = v return s } // SetType sets the Type field's value. -func (s *ProjectEnvironment) SetType(v string) *ProjectEnvironment { +func (s *ReportGroup) SetType(v string) *ReportGroup { s.Type = &v return s } -// Information about a file system created by Amazon Elastic File System (EFS). -// For more information, see What Is Amazon Elastic File System? (https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) -type ProjectFileSystemLocation struct { +// Represents a resolved build artifact. A resolve artifact is an artifact that +// is built and deployed to the destination, such as Amazon Simple Storage Service +// (Amazon S3). +type ResolvedArtifact struct { _ struct{} `type:"structure"` - // The name used to access a file system created by Amazon EFS. CodeBuild creates - // an environment variable by appending the identifier in all capital letters - // to CODEBUILD_. For example, if you specify my-efs for identifier, a new environment - // variable is create named CODEBUILD_MY-EFS. - // - // The identifier is used to mount your file system. + // The identifier of the artifact. Identifier *string `locationName:"identifier" type:"string"` - // A string that specifies the location of the file system created by Amazon - // EFS. Its format is efs-dns-name:/directory-path. You can find the DNS name - // of file system when you view it in the AWS EFS console. The directory path - // is a path to a directory in the file system that CodeBuild mounts. For example, - // if the DNS name of a file system is fs-abcd1234.efs.us-west-2.amazonaws.com, - // and its mount directory is my-efs-mount-directory, then the location is fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory. - // - // The directory path in the format efs-dns-name:/directory-path is optional. - // If you do not specify a directory path, the location is only the DNS name - // and CodeBuild mounts the entire file system. + // The location of the artifact. Location *string `locationName:"location" type:"string"` - // The mount options for a file system created by AWS EFS. The default mount - // options used by CodeBuild are nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. - // For more information, see Recommended NFS Mount Options (https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html). - MountOptions *string `locationName:"mountOptions" type:"string"` - - // The location in the container where you mount the file system. - MountPoint *string `locationName:"mountPoint" type:"string"` - - // The type of the file system. The one supported type is EFS. - Type *string `locationName:"type" type:"string" enum:"FileSystemType"` + // Specifies the type of artifact. + Type *string `locationName:"type" type:"string" enum:"ArtifactsType"` } // String returns the string representation -func (s ProjectFileSystemLocation) String() string { +func (s ResolvedArtifact) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectFileSystemLocation) GoString() string { +func (s ResolvedArtifact) GoString() string { return s.String() } // SetIdentifier sets the Identifier field's value. -func (s *ProjectFileSystemLocation) SetIdentifier(v string) *ProjectFileSystemLocation { +func (s *ResolvedArtifact) SetIdentifier(v string) *ResolvedArtifact { s.Identifier = &v return s } // SetLocation sets the Location field's value. -func (s *ProjectFileSystemLocation) SetLocation(v string) *ProjectFileSystemLocation { +func (s *ResolvedArtifact) SetLocation(v string) *ResolvedArtifact { s.Location = &v return s } -// SetMountOptions sets the MountOptions field's value. -func (s *ProjectFileSystemLocation) SetMountOptions(v string) *ProjectFileSystemLocation { - s.MountOptions = &v - return s -} - -// SetMountPoint sets the MountPoint field's value. -func (s *ProjectFileSystemLocation) SetMountPoint(v string) *ProjectFileSystemLocation { - s.MountPoint = &v - return s -} - // SetType sets the Type field's value. -func (s *ProjectFileSystemLocation) SetType(v string) *ProjectFileSystemLocation { +func (s *ResolvedArtifact) SetType(v string) *ResolvedArtifact { s.Type = &v return s } -// Information about the build input source code for the build project. -type ProjectSource struct { - _ struct{} `type:"structure"` - - // Information about the authorization settings for AWS CodeBuild to access - // the source code to be built. - // - // This information is for the AWS CodeBuild console's use only. Your code should - // not get or set this information directly. - Auth *SourceAuth `locationName:"auth" type:"structure"` - - // The buildspec file declaration to use for the builds in this build project. - // - // If this value is set, it can be either an inline buildspec definition, the - // path to an alternate buildspec file relative to the value of the built-in - // CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The - // bucket must be in the same AWS Region as the build project. Specify the buildspec - // file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). - // If this value is not provided or is set to an empty string, the source code - // must contain a buildspec file in its root directory. For more information, - // see Buildspec File Name and Storage Location (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage). - Buildspec *string `locationName:"buildspec" type:"string"` - - // Information about the Git clone depth for the build project. - GitCloneDepth *int64 `locationName:"gitCloneDepth" type:"integer"` - - // Information about the Git submodules configuration for the build project. - GitSubmodulesConfig *GitSubmodulesConfig `locationName:"gitSubmodulesConfig" type:"structure"` - - // Enable this flag to ignore SSL warnings while connecting to the project source - // code. - InsecureSsl *bool `locationName:"insecureSsl" type:"boolean"` - - // Information about the location of the source code to be built. Valid values - // include: - // - // * For source code settings that are specified in the source action of - // a pipeline in AWS CodePipeline, location should not be specified. If it - // is specified, AWS CodePipeline ignores it. This is because AWS CodePipeline - // uses the settings in a pipeline's source action instead of this value. - // - // * For source code in an AWS CodeCommit repository, the HTTPS clone URL - // to the repository that contains the source code and the buildspec file - // (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name - // ). - // - // * For source code in an Amazon Simple Storage Service (Amazon S3) input - // bucket, one of the following. The path to the ZIP file that contains the - // source code (for example, bucket-name/path/to/object-name.zip). The path - // to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/). - // - // * For source code in a GitHub repository, the HTTPS clone URL to the repository - // that contains the source and the buildspec file. You must connect your - // AWS account to your GitHub account. Use the AWS CodeBuild console to start - // creating a build project. When you use the console to connect (or reconnect) - // with GitHub, on the GitHub Authorize application page, for Organization - // access, choose Request access next to each repository you want to allow - // AWS CodeBuild to have access to, and then choose Authorize application. - // (After you have connected to your GitHub account, you do not need to finish - // creating the build project. You can leave the AWS CodeBuild console.) - // To instruct AWS CodeBuild to use this connection, in the source object, - // set the auth object's type value to OAUTH. - // - // * For source code in a Bitbucket repository, the HTTPS clone URL to the - // repository that contains the source and the buildspec file. You must connect - // your AWS account to your Bitbucket account. Use the AWS CodeBuild console - // to start creating a build project. When you use the console to connect - // (or reconnect) with Bitbucket, on the Bitbucket Confirm access to your - // account page, choose Grant access. (After you have connected to your Bitbucket - // account, you do not need to finish creating the build project. You can - // leave the AWS CodeBuild console.) To instruct AWS CodeBuild to use this - // connection, in the source object, set the auth object's type value to - // OAUTH. - Location *string `locationName:"location" type:"string"` - - // Set to true to report the status of a build's start and finish to your source - // provider. This option is valid only when your source provider is GitHub, - // GitHub Enterprise, or Bitbucket. If this is set and you use a different source - // provider, an invalidInputException is thrown. - // - // The status of a build triggered by a webhook is always reported to your source - // provider. - ReportBuildStatus *bool `locationName:"reportBuildStatus" type:"boolean"` - - // An identifier for this project source. - SourceIdentifier *string `locationName:"sourceIdentifier" type:"string"` +// The specified AWS resource cannot be created, because an AWS resource with +// the same settings already exists. +type ResourceAlreadyExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The type of repository that contains the source code to be built. Valid values - // include: - // - // * BITBUCKET: The source code is in a Bitbucket repository. - // - // * CODECOMMIT: The source code is in an AWS CodeCommit repository. - // - // * CODEPIPELINE: The source code settings are specified in the source action - // of a pipeline in AWS CodePipeline. - // - // * GITHUB: The source code is in a GitHub repository. - // - // * GITHUB_ENTERPRISE: The source code is in a GitHub Enterprise repository. - // - // * NO_SOURCE: The project does not have input source code. - // - // * S3: The source code is in an Amazon Simple Storage Service (Amazon S3) - // input bucket. - // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"SourceType"` + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation -func (s ProjectSource) String() string { +func (s ResourceAlreadyExistsException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectSource) GoString() string { +func (s ResourceAlreadyExistsException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ProjectSource) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ProjectSource"} - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - if s.Auth != nil { - if err := s.Auth.Validate(); err != nil { - invalidParams.AddNested("Auth", err.(request.ErrInvalidParams)) - } - } - if s.GitSubmodulesConfig != nil { - if err := s.GitSubmodulesConfig.Validate(); err != nil { - invalidParams.AddNested("GitSubmodulesConfig", err.(request.ErrInvalidParams)) - } +func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error { + return &ResourceAlreadyExistsException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *ResourceAlreadyExistsException) Code() string { + return "ResourceAlreadyExistsException" +} + +// Message returns the exception's message. +func (s *ResourceAlreadyExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceAlreadyExistsException) OrigErr() error { return nil } -// SetAuth sets the Auth field's value. -func (s *ProjectSource) SetAuth(v *SourceAuth) *ProjectSource { - s.Auth = v - return s +func (s *ResourceAlreadyExistsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetBuildspec sets the Buildspec field's value. -func (s *ProjectSource) SetBuildspec(v string) *ProjectSource { - s.Buildspec = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceAlreadyExistsException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetGitCloneDepth sets the GitCloneDepth field's value. -func (s *ProjectSource) SetGitCloneDepth(v int64) *ProjectSource { - s.GitCloneDepth = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *ResourceAlreadyExistsException) RequestID() string { + return s.RespMetadata.RequestID } -// SetGitSubmodulesConfig sets the GitSubmodulesConfig field's value. -func (s *ProjectSource) SetGitSubmodulesConfig(v *GitSubmodulesConfig) *ProjectSource { - s.GitSubmodulesConfig = v - return s +// The specified AWS resource cannot be found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` } -// SetInsecureSsl sets the InsecureSsl field's value. -func (s *ProjectSource) SetInsecureSsl(v bool) *ProjectSource { - s.InsecureSsl = &v - return s +// String returns the string representation +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) } -// SetLocation sets the Location field's value. -func (s *ProjectSource) SetLocation(v string) *ProjectSource { - s.Location = &v - return s +// GoString returns the string representation +func (s ResourceNotFoundException) GoString() string { + return s.String() } -// SetReportBuildStatus sets the ReportBuildStatus field's value. -func (s *ProjectSource) SetReportBuildStatus(v bool) *ProjectSource { - s.ReportBuildStatus = &v - return s +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } } -// SetSourceIdentifier sets the SourceIdentifier field's value. -func (s *ProjectSource) SetSourceIdentifier(v string) *ProjectSource { - s.SourceIdentifier = &v - return s +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" } -// SetType sets the Type field's value. -func (s *ProjectSource) SetType(v string) *ProjectSource { - s.Type = &v - return s +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// A source identifier and its corresponding version. -type ProjectSourceVersion struct { +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +type RetryBuildBatchInput struct { _ struct{} `type:"structure"` - // An identifier for a source in the build project. - // - // SourceIdentifier is a required field - SourceIdentifier *string `locationName:"sourceIdentifier" type:"string" required:"true"` + // Specifies the identifier of the batch build to restart. + Id *string `locationName:"id" min:"1" type:"string"` - // The source version for the corresponding source identifier. If specified, - // must be one of: - // - // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. - // - // * For GitHub: the commit ID, pull request ID, branch name, or tag name - // that corresponds to the version of the source code you want to build. - // If a pull request ID is specified, it must use the format pr/pull-request-ID - // (for example, pr/25). If a branch name is specified, the branch's HEAD - // commit ID is used. If not specified, the default branch's HEAD commit - // ID is used. - // - // * For Bitbucket: the commit ID, branch name, or tag name that corresponds - // to the version of the source code you want to build. If a branch name - // is specified, the branch's HEAD commit ID is used. If not specified, the - // default branch's HEAD commit ID is used. - // - // * For Amazon Simple Storage Service (Amazon S3): the version ID of the - // object that represents the build input ZIP file to use. - // - // For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) - // in the AWS CodeBuild User Guide. - // - // SourceVersion is a required field - SourceVersion *string `locationName:"sourceVersion" type:"string" required:"true"` + // A unique, case sensitive identifier you provide to ensure the idempotency + // of the RetryBuildBatch request. The token is included in the RetryBuildBatch + // request and is valid for five minutes. If you repeat the RetryBuildBatch + // request with the same token, but change a parameter, AWS CodeBuild returns + // a parameter mismatch error. + IdempotencyToken *string `locationName:"idempotencyToken" type:"string"` + + // Specifies the type of retry to perform. + RetryType *string `locationName:"retryType" type:"string" enum:"RetryBuildBatchType"` } // String returns the string representation -func (s ProjectSourceVersion) String() string { +func (s RetryBuildBatchInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectSourceVersion) GoString() string { +func (s RetryBuildBatchInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ProjectSourceVersion) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ProjectSourceVersion"} - if s.SourceIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("SourceIdentifier")) - } - if s.SourceVersion == nil { - invalidParams.Add(request.NewErrParamRequired("SourceVersion")) +func (s *RetryBuildBatchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RetryBuildBatchInput"} + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -7825,60 +11549,76 @@ func (s *ProjectSourceVersion) Validate() error { return nil } -// SetSourceIdentifier sets the SourceIdentifier field's value. -func (s *ProjectSourceVersion) SetSourceIdentifier(v string) *ProjectSourceVersion { - s.SourceIdentifier = &v +// SetId sets the Id field's value. +func (s *RetryBuildBatchInput) SetId(v string) *RetryBuildBatchInput { + s.Id = &v return s } -// SetSourceVersion sets the SourceVersion field's value. -func (s *ProjectSourceVersion) SetSourceVersion(v string) *ProjectSourceVersion { - s.SourceVersion = &v +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *RetryBuildBatchInput) SetIdempotencyToken(v string) *RetryBuildBatchInput { + s.IdempotencyToken = &v return s } -type PutResourcePolicyInput struct { - _ struct{} `type:"structure"` +// SetRetryType sets the RetryType field's value. +func (s *RetryBuildBatchInput) SetRetryType(v string) *RetryBuildBatchInput { + s.RetryType = &v + return s +} - // A JSON-formatted resource policy. For more information, see Sharing a Project - // (https://docs.aws.amazon.com/codebuild/latest/userguide/project-sharing.html#project-sharing-share) - // and Sharing a Report Group (https://docs.aws.amazon.com/codebuild/latest/userguide/report-groups-sharing.html#report-groups-sharing-share) - // in the AWS CodeBuild User Guide. - // - // Policy is a required field - Policy *string `locationName:"policy" min:"1" type:"string" required:"true"` +type RetryBuildBatchOutput struct { + _ struct{} `type:"structure"` - // The ARN of the Project or ReportGroup resource you want to associate with - // a resource policy. - // - // ResourceArn is a required field - ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` + // Contains information about a batch build. + BuildBatch *BuildBatch `locationName:"buildBatch" type:"structure"` } // String returns the string representation -func (s PutResourcePolicyInput) String() string { +func (s RetryBuildBatchOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PutResourcePolicyInput) GoString() string { +func (s RetryBuildBatchOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *PutResourcePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"} - if s.Policy == nil { - invalidParams.Add(request.NewErrParamRequired("Policy")) - } - if s.Policy != nil && len(*s.Policy) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) - } - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) +// SetBuildBatch sets the BuildBatch field's value. +func (s *RetryBuildBatchOutput) SetBuildBatch(v *BuildBatch) *RetryBuildBatchOutput { + s.BuildBatch = v + return s +} + +type RetryBuildInput struct { + _ struct{} `type:"structure"` + + // Specifies the identifier of the build to restart. + Id *string `locationName:"id" min:"1" type:"string"` + + // A unique, case sensitive identifier you provide to ensure the idempotency + // of the RetryBuild request. The token is included in the RetryBuild request + // and is valid for five minutes. If you repeat the RetryBuild request with + // the same token, but change a parameter, AWS CodeBuild returns a parameter + // mismatch error. + IdempotencyToken *string `locationName:"idempotencyToken" type:"string"` +} + +// String returns the string representation +func (s RetryBuildInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RetryBuildInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RetryBuildInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RetryBuildInput"} + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -7887,91 +11627,79 @@ func (s *PutResourcePolicyInput) Validate() error { return nil } -// SetPolicy sets the Policy field's value. -func (s *PutResourcePolicyInput) SetPolicy(v string) *PutResourcePolicyInput { - s.Policy = &v +// SetId sets the Id field's value. +func (s *RetryBuildInput) SetId(v string) *RetryBuildInput { + s.Id = &v return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *PutResourcePolicyInput) SetResourceArn(v string) *PutResourcePolicyInput { - s.ResourceArn = &v +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *RetryBuildInput) SetIdempotencyToken(v string) *RetryBuildInput { + s.IdempotencyToken = &v return s } -type PutResourcePolicyOutput struct { +type RetryBuildOutput struct { _ struct{} `type:"structure"` - // The ARN of the Project or ReportGroup resource that is associated with a - // resource policy. - ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"` + // Information about a build. + Build *Build `locationName:"build" type:"structure"` } // String returns the string representation -func (s PutResourcePolicyOutput) String() string { +func (s RetryBuildOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PutResourcePolicyOutput) GoString() string { +func (s RetryBuildOutput) GoString() string { return s.String() } -// SetResourceArn sets the ResourceArn field's value. -func (s *PutResourcePolicyOutput) SetResourceArn(v string) *PutResourcePolicyOutput { - s.ResourceArn = &v +// SetBuild sets the Build field's value. +func (s *RetryBuildOutput) SetBuild(v *Build) *RetryBuildOutput { + s.Build = v return s } -// Information about credentials that provide access to a private Docker registry. -// When this is set: -// -// * imagePullCredentialsType must be set to SERVICE_ROLE. -// -// * images cannot be curated or an Amazon ECR image. -// -// For more information, see Private Registry with AWS Secrets Manager Sample -// for AWS CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-private-registry.html). -type RegistryCredential struct { +// Information about S3 logs for a build project. +type S3LogsConfig struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets - // Manager. + // Set to true if you do not want your S3 build log output encrypted. By default + // S3 build logs are encrypted. + EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` + + // The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 + // bucket name is my-bucket, and your path prefix is build-log, then acceptable + // formats are my-bucket/build-log or arn:aws:s3:::my-bucket/build-log. + Location *string `locationName:"location" type:"string"` + + // The current status of the S3 build logs. Valid values are: // - // The credential can use the name of the credentials only if they exist in - // your current AWS Region. + // * ENABLED: S3 build logs are enabled for this build project. // - // Credential is a required field - Credential *string `locationName:"credential" min:"1" type:"string" required:"true"` - - // The service that created the credentials to access a private Docker registry. - // The valid value, SECRETS_MANAGER, is for AWS Secrets Manager. + // * DISABLED: S3 build logs are not enabled for this build project. // - // CredentialProvider is a required field - CredentialProvider *string `locationName:"credentialProvider" type:"string" required:"true" enum:"CredentialProviderType"` + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"LogsConfigStatusType"` } // String returns the string representation -func (s RegistryCredential) String() string { +func (s S3LogsConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RegistryCredential) GoString() string { +func (s S3LogsConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RegistryCredential) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RegistryCredential"} - if s.Credential == nil { - invalidParams.Add(request.NewErrParamRequired("Credential")) - } - if s.Credential != nil && len(*s.Credential) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Credential", 1)) - } - if s.CredentialProvider == nil { - invalidParams.Add(request.NewErrParamRequired("CredentialProvider")) +func (s *S3LogsConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3LogsConfig"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) } if invalidParams.Len() > 0 { @@ -7980,171 +11708,142 @@ func (s *RegistryCredential) Validate() error { return nil } -// SetCredential sets the Credential field's value. -func (s *RegistryCredential) SetCredential(v string) *RegistryCredential { - s.Credential = &v +// SetEncryptionDisabled sets the EncryptionDisabled field's value. +func (s *S3LogsConfig) SetEncryptionDisabled(v bool) *S3LogsConfig { + s.EncryptionDisabled = &v return s } -// SetCredentialProvider sets the CredentialProvider field's value. -func (s *RegistryCredential) SetCredentialProvider(v string) *RegistryCredential { - s.CredentialProvider = &v +// SetLocation sets the Location field's value. +func (s *S3LogsConfig) SetLocation(v string) *S3LogsConfig { + s.Location = &v return s } -// Information about the results from running a series of test cases during -// the run of a build project. The test cases are specified in the buildspec -// for the build project using one or more paths to the test case files. You -// can specify any type of tests you want, such as unit tests, integration tests, -// and functional tests. -type Report struct { - _ struct{} `type:"structure"` - - // The ARN of the report run. - Arn *string `locationName:"arn" min:"1" type:"string"` - - // The date and time this report run occurred. - Created *time.Time `locationName:"created" type:"timestamp"` - - // The ARN of the build run that generated this report. - ExecutionId *string `locationName:"executionId" type:"string"` - - // The date and time a report expires. A report expires 30 days after it is - // created. An expired report is not available to view in CodeBuild. - Expired *time.Time `locationName:"expired" type:"timestamp"` - - // Information about where the raw data used to generate this report was exported. - ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"` +// SetStatus sets the Status field's value. +func (s *S3LogsConfig) SetStatus(v string) *S3LogsConfig { + s.Status = &v + return s +} - // The name of the report that was run. - Name *string `locationName:"name" type:"string"` +// Information about the S3 bucket where the raw data of a report are exported. +type S3ReportExportConfig struct { + _ struct{} `type:"structure"` - // The ARN of the report group associated with this report. - ReportGroupArn *string `locationName:"reportGroupArn" min:"1" type:"string"` + // The name of the S3 bucket where the raw data of a report are exported. + Bucket *string `locationName:"bucket" min:"1" type:"string"` - // The status of this report. - Status *string `locationName:"status" type:"string" enum:"ReportStatusType"` + // A boolean value that specifies if the results of a report are encrypted. + EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` - // A TestReportSummary object that contains information about this test report. - TestSummary *TestReportSummary `locationName:"testSummary" type:"structure"` + // The encryption key for the report's encrypted raw data. + EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` - // A boolean that specifies if this report run is truncated. The list of test - // cases is truncated after the maximum number of test cases is reached. - Truncated *bool `locationName:"truncated" type:"boolean"` + // The type of build output artifact to create. Valid values include: + // + // * NONE: AWS CodeBuild creates the raw data in the output bucket. This + // is the default if packaging is not specified. + // + // * ZIP: AWS CodeBuild creates a ZIP file with the raw data in the output + // bucket. + Packaging *string `locationName:"packaging" type:"string" enum:"ReportPackagingType"` - // The type of the report that was run. - Type *string `locationName:"type" type:"string" enum:"ReportType"` + // The path to the exported report's raw data results. + Path *string `locationName:"path" type:"string"` } // String returns the string representation -func (s Report) String() string { +func (s S3ReportExportConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Report) GoString() string { +func (s S3ReportExportConfig) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Report) SetArn(v string) *Report { - s.Arn = &v - return s -} - -// SetCreated sets the Created field's value. -func (s *Report) SetCreated(v time.Time) *Report { - s.Created = &v - return s -} - -// SetExecutionId sets the ExecutionId field's value. -func (s *Report) SetExecutionId(v string) *Report { - s.ExecutionId = &v - return s -} - -// SetExpired sets the Expired field's value. -func (s *Report) SetExpired(v time.Time) *Report { - s.Expired = &v - return s -} - -// SetExportConfig sets the ExportConfig field's value. -func (s *Report) SetExportConfig(v *ReportExportConfig) *Report { - s.ExportConfig = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3ReportExportConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3ReportExportConfig"} + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) + } + if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1)) + } -// SetName sets the Name field's value. -func (s *Report) SetName(v string) *Report { - s.Name = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetReportGroupArn sets the ReportGroupArn field's value. -func (s *Report) SetReportGroupArn(v string) *Report { - s.ReportGroupArn = &v +// SetBucket sets the Bucket field's value. +func (s *S3ReportExportConfig) SetBucket(v string) *S3ReportExportConfig { + s.Bucket = &v return s } -// SetStatus sets the Status field's value. -func (s *Report) SetStatus(v string) *Report { - s.Status = &v +// SetEncryptionDisabled sets the EncryptionDisabled field's value. +func (s *S3ReportExportConfig) SetEncryptionDisabled(v bool) *S3ReportExportConfig { + s.EncryptionDisabled = &v return s } -// SetTestSummary sets the TestSummary field's value. -func (s *Report) SetTestSummary(v *TestReportSummary) *Report { - s.TestSummary = v +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *S3ReportExportConfig) SetEncryptionKey(v string) *S3ReportExportConfig { + s.EncryptionKey = &v return s } -// SetTruncated sets the Truncated field's value. -func (s *Report) SetTruncated(v bool) *Report { - s.Truncated = &v +// SetPackaging sets the Packaging field's value. +func (s *S3ReportExportConfig) SetPackaging(v string) *S3ReportExportConfig { + s.Packaging = &v return s } -// SetType sets the Type field's value. -func (s *Report) SetType(v string) *Report { - s.Type = &v +// SetPath sets the Path field's value. +func (s *S3ReportExportConfig) SetPath(v string) *S3ReportExportConfig { + s.Path = &v return s } -// Information about the location where the run of a report is exported. -type ReportExportConfig struct { +// Information about the authorization settings for AWS CodeBuild to access +// the source code to be built. +// +// This information is for the AWS CodeBuild console's use only. Your code should +// not get or set this information directly. +type SourceAuth struct { _ struct{} `type:"structure"` - // The export configuration type. Valid values are: + // The resource value that applies to the specified authorization type. + Resource *string `locationName:"resource" type:"string"` + // - // * S3: The report results are exported to an S3 bucket. + // This data type is deprecated and is no longer accurate or used. // - // * NO_EXPORT: The report results are not exported. - ExportConfigType *string `locationName:"exportConfigType" type:"string" enum:"ReportExportConfigType"` - - // A S3ReportExportConfig object that contains information about the S3 bucket - // where the run of a report is exported. - S3Destination *S3ReportExportConfig `locationName:"s3Destination" type:"structure"` + // The authorization type to use. The only valid value is OAUTH, which represents + // the OAuth authorization type. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"SourceAuthType"` } // String returns the string representation -func (s ReportExportConfig) String() string { +func (s SourceAuth) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ReportExportConfig) GoString() string { +func (s SourceAuth) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ReportExportConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ReportExportConfig"} - if s.S3Destination != nil { - if err := s.S3Destination.Validate(); err != nil { - invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams)) - } +func (s *SourceAuth) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SourceAuth"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) } if invalidParams.Len() > 0 { @@ -8153,267 +11852,365 @@ func (s *ReportExportConfig) Validate() error { return nil } -// SetExportConfigType sets the ExportConfigType field's value. -func (s *ReportExportConfig) SetExportConfigType(v string) *ReportExportConfig { - s.ExportConfigType = &v - return s -} - -// SetS3Destination sets the S3Destination field's value. -func (s *ReportExportConfig) SetS3Destination(v *S3ReportExportConfig) *ReportExportConfig { - s.S3Destination = v +// SetResource sets the Resource field's value. +func (s *SourceAuth) SetResource(v string) *SourceAuth { + s.Resource = &v return s } -// A filter used to return reports with the status specified by the input status -// parameter. -type ReportFilter struct { - _ struct{} `type:"structure"` - - // The status used to filter reports. You can filter using one status only. - Status *string `locationName:"status" type:"string" enum:"ReportStatusType"` -} - -// String returns the string representation -func (s ReportFilter) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ReportFilter) GoString() string { - return s.String() -} - -// SetStatus sets the Status field's value. -func (s *ReportFilter) SetStatus(v string) *ReportFilter { - s.Status = &v +// SetType sets the Type field's value. +func (s *SourceAuth) SetType(v string) *SourceAuth { + s.Type = &v return s } -// A series of reports. Each report contains information about the results from -// running a series of test cases. You specify the test cases for a report group -// in the buildspec for a build project using one or more paths to the test -// case files. -type ReportGroup struct { +// Information about the credentials for a GitHub, GitHub Enterprise, or Bitbucket +// repository. +type SourceCredentialsInfo struct { _ struct{} `type:"structure"` - // The ARN of a ReportGroup. + // The Amazon Resource Name (ARN) of the token. Arn *string `locationName:"arn" min:"1" type:"string"` - // The date and time this ReportGroup was created. - Created *time.Time `locationName:"created" type:"timestamp"` - - // Information about the destination where the raw data of this ReportGroup - // is exported. - ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"` - - // The date and time this ReportGroup was last modified. - LastModified *time.Time `locationName:"lastModified" type:"timestamp"` - - // The name of a ReportGroup. - Name *string `locationName:"name" min:"2" type:"string"` + // The type of authentication used by the credentials. Valid options are OAUTH, + // BASIC_AUTH, or PERSONAL_ACCESS_TOKEN. + AuthType *string `locationName:"authType" type:"string" enum:"AuthType"` - // The type of the ReportGroup. The one valid value is TEST. - Type *string `locationName:"type" type:"string" enum:"ReportType"` + // The type of source provider. The valid options are GITHUB, GITHUB_ENTERPRISE, + // or BITBUCKET. + ServerType *string `locationName:"serverType" type:"string" enum:"ServerType"` } // String returns the string representation -func (s ReportGroup) String() string { +func (s SourceCredentialsInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ReportGroup) GoString() string { +func (s SourceCredentialsInfo) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *ReportGroup) SetArn(v string) *ReportGroup { +func (s *SourceCredentialsInfo) SetArn(v string) *SourceCredentialsInfo { s.Arn = &v return s } -// SetCreated sets the Created field's value. -func (s *ReportGroup) SetCreated(v time.Time) *ReportGroup { - s.Created = &v +// SetAuthType sets the AuthType field's value. +func (s *SourceCredentialsInfo) SetAuthType(v string) *SourceCredentialsInfo { + s.AuthType = &v return s } -// SetExportConfig sets the ExportConfig field's value. -func (s *ReportGroup) SetExportConfig(v *ReportExportConfig) *ReportGroup { - s.ExportConfig = v +// SetServerType sets the ServerType field's value. +func (s *SourceCredentialsInfo) SetServerType(v string) *SourceCredentialsInfo { + s.ServerType = &v return s } -// SetLastModified sets the LastModified field's value. -func (s *ReportGroup) SetLastModified(v time.Time) *ReportGroup { - s.LastModified = &v - return s -} +type StartBuildBatchInput struct { + _ struct{} `type:"structure"` -// SetName sets the Name field's value. -func (s *ReportGroup) SetName(v string) *ReportGroup { - s.Name = &v - return s -} + // An array of ProjectArtifacts objects that contains information about the + // build output artifact overrides for the build project. + ArtifactsOverride *ProjectArtifacts `locationName:"artifactsOverride" type:"structure"` -// SetType sets the Type field's value. -func (s *ReportGroup) SetType(v string) *ReportGroup { - s.Type = &v - return s -} + // A BuildBatchConfigOverride object that contains batch build configuration + // overrides. + BuildBatchConfigOverride *ProjectBuildBatchConfig `locationName:"buildBatchConfigOverride" type:"structure"` -// The specified AWS resource cannot be created, because an AWS resource with -// the same settings already exists. -type ResourceAlreadyExistsException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Overrides the build timeout specified in the batch build project. + BuildTimeoutInMinutesOverride *int64 `locationName:"buildTimeoutInMinutesOverride" min:"5" type:"integer"` - Message_ *string `locationName:"message" type:"string"` -} + // A buildspec file declaration that overrides, for this build only, the latest + // one already defined in the build project. + // + // If this value is set, it can be either an inline buildspec definition, the + // path to an alternate buildspec file relative to the value of the built-in + // CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The + // bucket must be in the same AWS Region as the build project. Specify the buildspec + // file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). + // If this value is not provided or is set to an empty string, the source code + // must contain a buildspec file in its root directory. For more information, + // see Buildspec File Name and Storage Location (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage). + BuildspecOverride *string `locationName:"buildspecOverride" type:"string"` -// String returns the string representation -func (s ResourceAlreadyExistsException) String() string { - return awsutil.Prettify(s) -} + // A ProjectCache object that specifies cache overrides. + CacheOverride *ProjectCache `locationName:"cacheOverride" type:"structure"` -// GoString returns the string representation -func (s ResourceAlreadyExistsException) GoString() string { - return s.String() -} + // The name of a certificate for this batch build that overrides the one specified + // in the batch build project. + CertificateOverride *string `locationName:"certificateOverride" type:"string"` -func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error { - return &ResourceAlreadyExistsException{ - RespMetadata: v, - } -} + // The name of a compute type for this batch build that overrides the one specified + // in the batch build project. + ComputeTypeOverride *string `locationName:"computeTypeOverride" type:"string" enum:"ComputeType"` -// Code returns the exception type name. -func (s *ResourceAlreadyExistsException) Code() string { - return "ResourceAlreadyExistsException" -} + // The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides + // the one specified in the batch build project. The CMK key encrypts the build + // output artifacts. + // + // You can use a cross-account KMS key to encrypt the build output artifacts + // if your service role has permission to that key. + // + // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, + // the CMK's alias (using the format alias/alias-name ). + EncryptionKeyOverride *string `locationName:"encryptionKeyOverride" min:"1" type:"string"` -// Message returns the exception's message. -func (s *ResourceAlreadyExistsException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} + // A container type for this batch build that overrides the one specified in + // the batch build project. + EnvironmentTypeOverride *string `locationName:"environmentTypeOverride" type:"string" enum:"EnvironmentType"` -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceAlreadyExistsException) OrigErr() error { - return nil -} + // An array of EnvironmentVariable objects that override, or add to, the environment + // variables defined in the batch build project. + EnvironmentVariablesOverride []*EnvironmentVariable `locationName:"environmentVariablesOverride" type:"list"` -func (s *ResourceAlreadyExistsException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} + // The user-defined depth of history, with a minimum value of 0, that overrides, + // for this batch build only, any previous depth of history defined in the batch + // build project. + GitCloneDepthOverride *int64 `locationName:"gitCloneDepthOverride" type:"integer"` -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceAlreadyExistsException) StatusCode() int { - return s.RespMetadata.StatusCode -} + // A GitSubmodulesConfig object that overrides the Git submodules configuration + // for this batch build. + GitSubmodulesConfigOverride *GitSubmodulesConfig `locationName:"gitSubmodulesConfigOverride" type:"structure"` -// RequestID returns the service's response RequestID for request. -func (s *ResourceAlreadyExistsException) RequestID() string { - return s.RespMetadata.RequestID -} + // A unique, case sensitive identifier you provide to ensure the idempotency + // of the StartBuildBatch request. The token is included in the StartBuildBatch + // request and is valid for five minutes. If you repeat the StartBuildBatch + // request with the same token, but change a parameter, AWS CodeBuild returns + // a parameter mismatch error. + IdempotencyToken *string `locationName:"idempotencyToken" type:"string"` -// The specified AWS resource cannot be found. -type ResourceNotFoundException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The name of an image for this batch build that overrides the one specified + // in the batch build project. + ImageOverride *string `locationName:"imageOverride" min:"1" type:"string"` - Message_ *string `locationName:"message" type:"string"` -} + // The type of credentials AWS CodeBuild uses to pull images in your batch build. + // There are two valid values: + // + // CODEBUILD + // + // Specifies that AWS CodeBuild uses its own credentials. This requires that + // you modify your ECR repository policy to trust AWS CodeBuild's service principal. + // + // SERVICE_ROLE + // + // Specifies that AWS CodeBuild uses your build project's service role. + // + // When using a cross-account or private registry image, you must use SERVICE_ROLE + // credentials. When using an AWS CodeBuild curated image, you must use CODEBUILD + // credentials. + ImagePullCredentialsTypeOverride *string `locationName:"imagePullCredentialsTypeOverride" type:"string" enum:"ImagePullCredentialsType"` -// String returns the string representation -func (s ResourceNotFoundException) String() string { - return awsutil.Prettify(s) -} + // Enable this flag to override the insecure SSL setting that is specified in + // the batch build project. The insecure SSL setting determines whether to ignore + // SSL warnings while connecting to the project source code. This override applies + // only if the build's source is GitHub Enterprise. + InsecureSslOverride *bool `locationName:"insecureSslOverride" type:"boolean"` -// GoString returns the string representation -func (s ResourceNotFoundException) GoString() string { - return s.String() -} + // A LogsConfig object that override the log settings defined in the batch build + // project. + LogsConfigOverride *LogsConfig `locationName:"logsConfigOverride" type:"structure"` -func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { - return &ResourceNotFoundException{ - RespMetadata: v, - } -} + // Enable this flag to override privileged mode in the batch build project. + PrivilegedModeOverride *bool `locationName:"privilegedModeOverride" type:"boolean"` -// Code returns the exception type name. -func (s *ResourceNotFoundException) Code() string { - return "ResourceNotFoundException" -} + // The name of the project. + // + // ProjectName is a required field + ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` -// Message returns the exception's message. -func (s *ResourceNotFoundException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} + // The number of minutes a batch build is allowed to be queued before it times + // out. + QueuedTimeoutInMinutesOverride *int64 `locationName:"queuedTimeoutInMinutesOverride" min:"5" type:"integer"` + + // A RegistryCredential object that overrides credentials for access to a private + // registry. + RegistryCredentialOverride *RegistryCredential `locationName:"registryCredentialOverride" type:"structure"` + + // Set to true to report to your source provider the status of a batch build's + // start and completion. If you use this option with a source provider other + // than GitHub, GitHub Enterprise, or Bitbucket, an invalidInputException is + // thrown. + // + // The status of a build triggered by a webhook is always reported to your source + // provider. + ReportBuildBatchStatusOverride *bool `locationName:"reportBuildBatchStatusOverride" type:"boolean"` -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFoundException) OrigErr() error { - return nil -} + // An array of ProjectArtifacts objects that override the secondary artifacts + // defined in the batch build project. + SecondaryArtifactsOverride []*ProjectArtifacts `locationName:"secondaryArtifactsOverride" type:"list"` -func (s *ResourceNotFoundException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} + // An array of ProjectSource objects that override the secondary sources defined + // in the batch build project. + SecondarySourcesOverride []*ProjectSource `locationName:"secondarySourcesOverride" type:"list"` -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceNotFoundException) StatusCode() int { - return s.RespMetadata.StatusCode -} + // An array of ProjectSourceVersion objects that override the secondary source + // versions in the batch build project. + SecondarySourcesVersionOverride []*ProjectSourceVersion `locationName:"secondarySourcesVersionOverride" type:"list"` -// RequestID returns the service's response RequestID for request. -func (s *ResourceNotFoundException) RequestID() string { - return s.RespMetadata.RequestID -} + // The name of a service role for this batch build that overrides the one specified + // in the batch build project. + ServiceRoleOverride *string `locationName:"serviceRoleOverride" min:"1" type:"string"` -// Information about S3 logs for a build project. -type S3LogsConfig struct { - _ struct{} `type:"structure"` + // A SourceAuth object that overrides the one defined in the batch build project. + // This override applies only if the build project's source is BitBucket or + // GitHub. + SourceAuthOverride *SourceAuth `locationName:"sourceAuthOverride" type:"structure"` - // Set to true if you do not want your S3 build log output encrypted. By default - // S3 build logs are encrypted. - EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` + // A location that overrides, for this batch build, the source location defined + // in the batch build project. + SourceLocationOverride *string `locationName:"sourceLocationOverride" type:"string"` - // The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 - // bucket name is my-bucket, and your path prefix is build-log, then acceptable - // formats are my-bucket/build-log or arn:aws:s3:::my-bucket/build-log. - Location *string `locationName:"location" type:"string"` + // The source input type that overrides the source input defined in the batch + // build project. + SourceTypeOverride *string `locationName:"sourceTypeOverride" type:"string" enum:"SourceType"` - // The current status of the S3 build logs. Valid values are: + // The version of the batch build input to be built, for this build only. If + // not specified, the latest version is used. If specified, the contents depends + // on the source provider: // - // * ENABLED: S3 build logs are enabled for this build project. + // AWS CodeCommit // - // * DISABLED: S3 build logs are not enabled for this build project. + // The commit ID, branch, or Git tag to use. // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"LogsConfigStatusType"` + // GitHub + // + // The commit ID, pull request ID, branch name, or tag name that corresponds + // to the version of the source code you want to build. If a pull request ID + // is specified, it must use the format pr/pull-request-ID (for example pr/25). + // If a branch name is specified, the branch's HEAD commit ID is used. If not + // specified, the default branch's HEAD commit ID is used. + // + // Bitbucket + // + // The commit ID, branch name, or tag name that corresponds to the version of + // the source code you want to build. If a branch name is specified, the branch's + // HEAD commit ID is used. If not specified, the default branch's HEAD commit + // ID is used. + // + // Amazon Simple Storage Service (Amazon S3) + // + // The version ID of the object that represents the build input ZIP file to + // use. + // + // If sourceVersion is specified at the project level, then this sourceVersion + // (at the build level) takes precedence. + // + // For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) + // in the AWS CodeBuild User Guide. + SourceVersion *string `locationName:"sourceVersion" type:"string"` } // String returns the string representation -func (s S3LogsConfig) String() string { +func (s StartBuildBatchInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s S3LogsConfig) GoString() string { +func (s StartBuildBatchInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *S3LogsConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "S3LogsConfig"} - if s.Status == nil { - invalidParams.Add(request.NewErrParamRequired("Status")) +func (s *StartBuildBatchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartBuildBatchInput"} + if s.BuildTimeoutInMinutesOverride != nil && *s.BuildTimeoutInMinutesOverride < 5 { + invalidParams.Add(request.NewErrParamMinValue("BuildTimeoutInMinutesOverride", 5)) + } + if s.EncryptionKeyOverride != nil && len(*s.EncryptionKeyOverride) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyOverride", 1)) + } + if s.ImageOverride != nil && len(*s.ImageOverride) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImageOverride", 1)) + } + if s.ProjectName == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectName")) + } + if s.ProjectName != nil && len(*s.ProjectName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) + } + if s.QueuedTimeoutInMinutesOverride != nil && *s.QueuedTimeoutInMinutesOverride < 5 { + invalidParams.Add(request.NewErrParamMinValue("QueuedTimeoutInMinutesOverride", 5)) + } + if s.ServiceRoleOverride != nil && len(*s.ServiceRoleOverride) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServiceRoleOverride", 1)) + } + if s.ArtifactsOverride != nil { + if err := s.ArtifactsOverride.Validate(); err != nil { + invalidParams.AddNested("ArtifactsOverride", err.(request.ErrInvalidParams)) + } + } + if s.BuildBatchConfigOverride != nil { + if err := s.BuildBatchConfigOverride.Validate(); err != nil { + invalidParams.AddNested("BuildBatchConfigOverride", err.(request.ErrInvalidParams)) + } + } + if s.CacheOverride != nil { + if err := s.CacheOverride.Validate(); err != nil { + invalidParams.AddNested("CacheOverride", err.(request.ErrInvalidParams)) + } + } + if s.EnvironmentVariablesOverride != nil { + for i, v := range s.EnvironmentVariablesOverride { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentVariablesOverride", i), err.(request.ErrInvalidParams)) + } + } + } + if s.GitSubmodulesConfigOverride != nil { + if err := s.GitSubmodulesConfigOverride.Validate(); err != nil { + invalidParams.AddNested("GitSubmodulesConfigOverride", err.(request.ErrInvalidParams)) + } + } + if s.LogsConfigOverride != nil { + if err := s.LogsConfigOverride.Validate(); err != nil { + invalidParams.AddNested("LogsConfigOverride", err.(request.ErrInvalidParams)) + } + } + if s.RegistryCredentialOverride != nil { + if err := s.RegistryCredentialOverride.Validate(); err != nil { + invalidParams.AddNested("RegistryCredentialOverride", err.(request.ErrInvalidParams)) + } + } + if s.SecondaryArtifactsOverride != nil { + for i, v := range s.SecondaryArtifactsOverride { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondaryArtifactsOverride", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SecondarySourcesOverride != nil { + for i, v := range s.SecondarySourcesOverride { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourcesOverride", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SecondarySourcesVersionOverride != nil { + for i, v := range s.SecondarySourcesVersionOverride { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourcesVersionOverride", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SourceAuthOverride != nil { + if err := s.SourceAuthOverride.Validate(); err != nil { + invalidParams.AddNested("SourceAuthOverride", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -8422,204 +12219,206 @@ func (s *S3LogsConfig) Validate() error { return nil } -// SetEncryptionDisabled sets the EncryptionDisabled field's value. -func (s *S3LogsConfig) SetEncryptionDisabled(v bool) *S3LogsConfig { - s.EncryptionDisabled = &v +// SetArtifactsOverride sets the ArtifactsOverride field's value. +func (s *StartBuildBatchInput) SetArtifactsOverride(v *ProjectArtifacts) *StartBuildBatchInput { + s.ArtifactsOverride = v return s } -// SetLocation sets the Location field's value. -func (s *S3LogsConfig) SetLocation(v string) *S3LogsConfig { - s.Location = &v +// SetBuildBatchConfigOverride sets the BuildBatchConfigOverride field's value. +func (s *StartBuildBatchInput) SetBuildBatchConfigOverride(v *ProjectBuildBatchConfig) *StartBuildBatchInput { + s.BuildBatchConfigOverride = v return s } -// SetStatus sets the Status field's value. -func (s *S3LogsConfig) SetStatus(v string) *S3LogsConfig { - s.Status = &v +// SetBuildTimeoutInMinutesOverride sets the BuildTimeoutInMinutesOverride field's value. +func (s *StartBuildBatchInput) SetBuildTimeoutInMinutesOverride(v int64) *StartBuildBatchInput { + s.BuildTimeoutInMinutesOverride = &v return s } -// Information about the S3 bucket where the raw data of a report are exported. -type S3ReportExportConfig struct { - _ struct{} `type:"structure"` +// SetBuildspecOverride sets the BuildspecOverride field's value. +func (s *StartBuildBatchInput) SetBuildspecOverride(v string) *StartBuildBatchInput { + s.BuildspecOverride = &v + return s +} - // The name of the S3 bucket where the raw data of a report are exported. - Bucket *string `locationName:"bucket" min:"1" type:"string"` +// SetCacheOverride sets the CacheOverride field's value. +func (s *StartBuildBatchInput) SetCacheOverride(v *ProjectCache) *StartBuildBatchInput { + s.CacheOverride = v + return s +} - // A boolean value that specifies if the results of a report are encrypted. - EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` +// SetCertificateOverride sets the CertificateOverride field's value. +func (s *StartBuildBatchInput) SetCertificateOverride(v string) *StartBuildBatchInput { + s.CertificateOverride = &v + return s +} - // The encryption key for the report's encrypted raw data. - EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` +// SetComputeTypeOverride sets the ComputeTypeOverride field's value. +func (s *StartBuildBatchInput) SetComputeTypeOverride(v string) *StartBuildBatchInput { + s.ComputeTypeOverride = &v + return s +} - // The type of build output artifact to create. Valid values include: - // - // * NONE: AWS CodeBuild creates the raw data in the output bucket. This - // is the default if packaging is not specified. - // - // * ZIP: AWS CodeBuild creates a ZIP file with the raw data in the output - // bucket. - Packaging *string `locationName:"packaging" type:"string" enum:"ReportPackagingType"` +// SetEncryptionKeyOverride sets the EncryptionKeyOverride field's value. +func (s *StartBuildBatchInput) SetEncryptionKeyOverride(v string) *StartBuildBatchInput { + s.EncryptionKeyOverride = &v + return s +} - // The path to the exported report's raw data results. - Path *string `locationName:"path" type:"string"` +// SetEnvironmentTypeOverride sets the EnvironmentTypeOverride field's value. +func (s *StartBuildBatchInput) SetEnvironmentTypeOverride(v string) *StartBuildBatchInput { + s.EnvironmentTypeOverride = &v + return s } -// String returns the string representation -func (s S3ReportExportConfig) String() string { - return awsutil.Prettify(s) +// SetEnvironmentVariablesOverride sets the EnvironmentVariablesOverride field's value. +func (s *StartBuildBatchInput) SetEnvironmentVariablesOverride(v []*EnvironmentVariable) *StartBuildBatchInput { + s.EnvironmentVariablesOverride = v + return s } -// GoString returns the string representation -func (s S3ReportExportConfig) GoString() string { - return s.String() +// SetGitCloneDepthOverride sets the GitCloneDepthOverride field's value. +func (s *StartBuildBatchInput) SetGitCloneDepthOverride(v int64) *StartBuildBatchInput { + s.GitCloneDepthOverride = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *S3ReportExportConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "S3ReportExportConfig"} - if s.Bucket != nil && len(*s.Bucket) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) - } - if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1)) - } +// SetGitSubmodulesConfigOverride sets the GitSubmodulesConfigOverride field's value. +func (s *StartBuildBatchInput) SetGitSubmodulesConfigOverride(v *GitSubmodulesConfig) *StartBuildBatchInput { + s.GitSubmodulesConfigOverride = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *StartBuildBatchInput) SetIdempotencyToken(v string) *StartBuildBatchInput { + s.IdempotencyToken = &v + return s } -// SetBucket sets the Bucket field's value. -func (s *S3ReportExportConfig) SetBucket(v string) *S3ReportExportConfig { - s.Bucket = &v +// SetImageOverride sets the ImageOverride field's value. +func (s *StartBuildBatchInput) SetImageOverride(v string) *StartBuildBatchInput { + s.ImageOverride = &v + return s +} + +// SetImagePullCredentialsTypeOverride sets the ImagePullCredentialsTypeOverride field's value. +func (s *StartBuildBatchInput) SetImagePullCredentialsTypeOverride(v string) *StartBuildBatchInput { + s.ImagePullCredentialsTypeOverride = &v + return s +} + +// SetInsecureSslOverride sets the InsecureSslOverride field's value. +func (s *StartBuildBatchInput) SetInsecureSslOverride(v bool) *StartBuildBatchInput { + s.InsecureSslOverride = &v + return s +} + +// SetLogsConfigOverride sets the LogsConfigOverride field's value. +func (s *StartBuildBatchInput) SetLogsConfigOverride(v *LogsConfig) *StartBuildBatchInput { + s.LogsConfigOverride = v + return s +} + +// SetPrivilegedModeOverride sets the PrivilegedModeOverride field's value. +func (s *StartBuildBatchInput) SetPrivilegedModeOverride(v bool) *StartBuildBatchInput { + s.PrivilegedModeOverride = &v return s } -// SetEncryptionDisabled sets the EncryptionDisabled field's value. -func (s *S3ReportExportConfig) SetEncryptionDisabled(v bool) *S3ReportExportConfig { - s.EncryptionDisabled = &v +// SetProjectName sets the ProjectName field's value. +func (s *StartBuildBatchInput) SetProjectName(v string) *StartBuildBatchInput { + s.ProjectName = &v return s } -// SetEncryptionKey sets the EncryptionKey field's value. -func (s *S3ReportExportConfig) SetEncryptionKey(v string) *S3ReportExportConfig { - s.EncryptionKey = &v +// SetQueuedTimeoutInMinutesOverride sets the QueuedTimeoutInMinutesOverride field's value. +func (s *StartBuildBatchInput) SetQueuedTimeoutInMinutesOverride(v int64) *StartBuildBatchInput { + s.QueuedTimeoutInMinutesOverride = &v return s } -// SetPackaging sets the Packaging field's value. -func (s *S3ReportExportConfig) SetPackaging(v string) *S3ReportExportConfig { - s.Packaging = &v +// SetRegistryCredentialOverride sets the RegistryCredentialOverride field's value. +func (s *StartBuildBatchInput) SetRegistryCredentialOverride(v *RegistryCredential) *StartBuildBatchInput { + s.RegistryCredentialOverride = v return s } -// SetPath sets the Path field's value. -func (s *S3ReportExportConfig) SetPath(v string) *S3ReportExportConfig { - s.Path = &v +// SetReportBuildBatchStatusOverride sets the ReportBuildBatchStatusOverride field's value. +func (s *StartBuildBatchInput) SetReportBuildBatchStatusOverride(v bool) *StartBuildBatchInput { + s.ReportBuildBatchStatusOverride = &v return s } -// Information about the authorization settings for AWS CodeBuild to access -// the source code to be built. -// -// This information is for the AWS CodeBuild console's use only. Your code should -// not get or set this information directly. -type SourceAuth struct { - _ struct{} `type:"structure"` - - // The resource value that applies to the specified authorization type. - Resource *string `locationName:"resource" type:"string"` +// SetSecondaryArtifactsOverride sets the SecondaryArtifactsOverride field's value. +func (s *StartBuildBatchInput) SetSecondaryArtifactsOverride(v []*ProjectArtifacts) *StartBuildBatchInput { + s.SecondaryArtifactsOverride = v + return s +} - // - // This data type is deprecated and is no longer accurate or used. - // - // The authorization type to use. The only valid value is OAUTH, which represents - // the OAuth authorization type. - // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"SourceAuthType"` +// SetSecondarySourcesOverride sets the SecondarySourcesOverride field's value. +func (s *StartBuildBatchInput) SetSecondarySourcesOverride(v []*ProjectSource) *StartBuildBatchInput { + s.SecondarySourcesOverride = v + return s } -// String returns the string representation -func (s SourceAuth) String() string { - return awsutil.Prettify(s) +// SetSecondarySourcesVersionOverride sets the SecondarySourcesVersionOverride field's value. +func (s *StartBuildBatchInput) SetSecondarySourcesVersionOverride(v []*ProjectSourceVersion) *StartBuildBatchInput { + s.SecondarySourcesVersionOverride = v + return s } -// GoString returns the string representation -func (s SourceAuth) GoString() string { - return s.String() +// SetServiceRoleOverride sets the ServiceRoleOverride field's value. +func (s *StartBuildBatchInput) SetServiceRoleOverride(v string) *StartBuildBatchInput { + s.ServiceRoleOverride = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *SourceAuth) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SourceAuth"} - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } +// SetSourceAuthOverride sets the SourceAuthOverride field's value. +func (s *StartBuildBatchInput) SetSourceAuthOverride(v *SourceAuth) *StartBuildBatchInput { + s.SourceAuthOverride = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSourceLocationOverride sets the SourceLocationOverride field's value. +func (s *StartBuildBatchInput) SetSourceLocationOverride(v string) *StartBuildBatchInput { + s.SourceLocationOverride = &v + return s } -// SetResource sets the Resource field's value. -func (s *SourceAuth) SetResource(v string) *SourceAuth { - s.Resource = &v +// SetSourceTypeOverride sets the SourceTypeOverride field's value. +func (s *StartBuildBatchInput) SetSourceTypeOverride(v string) *StartBuildBatchInput { + s.SourceTypeOverride = &v return s } -// SetType sets the Type field's value. -func (s *SourceAuth) SetType(v string) *SourceAuth { - s.Type = &v +// SetSourceVersion sets the SourceVersion field's value. +func (s *StartBuildBatchInput) SetSourceVersion(v string) *StartBuildBatchInput { + s.SourceVersion = &v return s } -// Information about the credentials for a GitHub, GitHub Enterprise, or Bitbucket -// repository. -type SourceCredentialsInfo struct { +type StartBuildBatchOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the token. - Arn *string `locationName:"arn" min:"1" type:"string"` - - // The type of authentication used by the credentials. Valid options are OAUTH, - // BASIC_AUTH, or PERSONAL_ACCESS_TOKEN. - AuthType *string `locationName:"authType" type:"string" enum:"AuthType"` - - // The type of source provider. The valid options are GITHUB, GITHUB_ENTERPRISE, - // or BITBUCKET. - ServerType *string `locationName:"serverType" type:"string" enum:"ServerType"` + // A BuildBatch object that contains information about the batch build. + BuildBatch *BuildBatch `locationName:"buildBatch" type:"structure"` } // String returns the string representation -func (s SourceCredentialsInfo) String() string { +func (s StartBuildBatchOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SourceCredentialsInfo) GoString() string { +func (s StartBuildBatchOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *SourceCredentialsInfo) SetArn(v string) *SourceCredentialsInfo { - s.Arn = &v - return s -} - -// SetAuthType sets the AuthType field's value. -func (s *SourceCredentialsInfo) SetAuthType(v string) *SourceCredentialsInfo { - s.AuthType = &v - return s -} - -// SetServerType sets the ServerType field's value. -func (s *SourceCredentialsInfo) SetServerType(v string) *SourceCredentialsInfo { - s.ServerType = &v +// SetBuildBatch sets the BuildBatch field's value. +func (s *StartBuildBatchOutput) SetBuildBatch(v *BuildBatch) *StartBuildBatchOutput { + s.BuildBatch = v return s } @@ -8630,6 +12429,11 @@ type StartBuildInput struct { // ones already defined in the build project. ArtifactsOverride *ProjectArtifacts `locationName:"artifactsOverride" type:"structure"` + // Contains information that defines how the build project reports the build + // status to the source provider. This option is only used when the source provider + // is GITHUB, GITHUB_ENTERPRISE, or BITBUCKET. + BuildStatusConfigOverride *BuildStatusConfig `locationName:"buildStatusConfigOverride" type:"structure"` + // A buildspec file declaration that overrides, for this build only, the latest // one already defined in the build project. // @@ -8655,6 +12459,10 @@ type StartBuildInput struct { // in the build project. ComputeTypeOverride *string `locationName:"computeTypeOverride" type:"string" enum:"ComputeType"` + // Specifies if session debugging is enabled for this build. For more information, + // see Viewing a running build in Session Manager (https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html). + DebugSessionEnabled *bool `locationName:"debugSessionEnabled" type:"boolean"` + // The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides // the one specified in the build project. The CMK key encrypts the build output // artifacts. @@ -8684,7 +12492,7 @@ type StartBuildInput struct { // A unique, case sensitive identifier you provide to ensure the idempotency // of the StartBuild request. The token is included in the StartBuild request - // and is valid for 12 hours. If you repeat the StartBuild request with the + // and is valid for 5 minutes. If you repeat the StartBuild request with the // same token, but change a parameter, AWS CodeBuild returns a parameter mismatch // error. IdempotencyToken *string `locationName:"idempotencyToken" type:"string"` @@ -8696,12 +12504,14 @@ type StartBuildInput struct { // The type of credentials AWS CodeBuild uses to pull images in your build. // There are two valid values: // - // * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This - // requires that you modify your ECR repository policy to trust AWS CodeBuild's - // service principal. + // CODEBUILD // - // * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's - // service role. + // Specifies that AWS CodeBuild uses its own credentials. This requires that + // you modify your ECR repository policy to trust AWS CodeBuild's service principal. + // + // SERVICE_ROLE + // + // Specifies that AWS CodeBuild uses your build project's service role. // // When using a cross-account or private registry image, you must use SERVICE_ROLE // credentials. When using an AWS CodeBuild curated image, you must use CODEBUILD @@ -8767,25 +12577,33 @@ type StartBuildInput struct { // in the build project. SourceTypeOverride *string `locationName:"sourceTypeOverride" type:"string" enum:"SourceType"` - // A version of the build input to be built, for this build only. If not specified, - // the latest version is used. If specified, must be one of: + // The version of the build input to be built, for this build only. If not specified, + // the latest version is used. If specified, the contents depends on the source + // provider: // - // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. + // AWS CodeCommit // - // * For GitHub: the commit ID, pull request ID, branch name, or tag name - // that corresponds to the version of the source code you want to build. - // If a pull request ID is specified, it must use the format pr/pull-request-ID - // (for example pr/25). If a branch name is specified, the branch's HEAD - // commit ID is used. If not specified, the default branch's HEAD commit - // ID is used. + // The commit ID, branch, or Git tag to use. // - // * For Bitbucket: the commit ID, branch name, or tag name that corresponds - // to the version of the source code you want to build. If a branch name - // is specified, the branch's HEAD commit ID is used. If not specified, the - // default branch's HEAD commit ID is used. + // GitHub // - // * For Amazon Simple Storage Service (Amazon S3): the version ID of the - // object that represents the build input ZIP file to use. + // The commit ID, pull request ID, branch name, or tag name that corresponds + // to the version of the source code you want to build. If a pull request ID + // is specified, it must use the format pr/pull-request-ID (for example pr/25). + // If a branch name is specified, the branch's HEAD commit ID is used. If not + // specified, the default branch's HEAD commit ID is used. + // + // Bitbucket + // + // The commit ID, branch name, or tag name that corresponds to the version of + // the source code you want to build. If a branch name is specified, the branch's + // HEAD commit ID is used. If not specified, the default branch's HEAD commit + // ID is used. + // + // Amazon Simple Storage Service (Amazon S3) + // + // The version ID of the object that represents the build input ZIP file to + // use. // // If sourceVersion is specified at the project level, then this sourceVersion // (at the build level) takes precedence. @@ -8916,6 +12734,12 @@ func (s *StartBuildInput) SetArtifactsOverride(v *ProjectArtifacts) *StartBuildI return s } +// SetBuildStatusConfigOverride sets the BuildStatusConfigOverride field's value. +func (s *StartBuildInput) SetBuildStatusConfigOverride(v *BuildStatusConfig) *StartBuildInput { + s.BuildStatusConfigOverride = v + return s +} + // SetBuildspecOverride sets the BuildspecOverride field's value. func (s *StartBuildInput) SetBuildspecOverride(v string) *StartBuildInput { s.BuildspecOverride = &v @@ -8940,6 +12764,12 @@ func (s *StartBuildInput) SetComputeTypeOverride(v string) *StartBuildInput { return s } +// SetDebugSessionEnabled sets the DebugSessionEnabled field's value. +func (s *StartBuildInput) SetDebugSessionEnabled(v bool) *StartBuildInput { + s.DebugSessionEnabled = &v + return s +} + // SetEncryptionKeyOverride sets the EncryptionKeyOverride field's value. func (s *StartBuildInput) SetEncryptionKeyOverride(v string) *StartBuildInput { s.EncryptionKeyOverride = &v @@ -9107,6 +12937,70 @@ func (s *StartBuildOutput) SetBuild(v *Build) *StartBuildOutput { return s } +type StopBuildBatchInput struct { + _ struct{} `type:"structure"` + + // The identifier of the batch build to stop. + // + // Id is a required field + Id *string `locationName:"id" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopBuildBatchInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopBuildBatchInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopBuildBatchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopBuildBatchInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *StopBuildBatchInput) SetId(v string) *StopBuildBatchInput { + s.Id = &v + return s +} + +type StopBuildBatchOutput struct { + _ struct{} `type:"structure"` + + // Contains information about a batch build. + BuildBatch *BuildBatch `locationName:"buildBatch" type:"structure"` +} + +// String returns the string representation +func (s StopBuildBatchOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopBuildBatchOutput) GoString() string { + return s.String() +} + +// SetBuildBatch sets the BuildBatch field's value. +func (s *StopBuildBatchOutput) SetBuildBatch(v *BuildBatch) *StopBuildBatchOutput { + s.BuildBatch = v + return s +} + type StopBuildInput struct { _ struct{} `type:"structure"` @@ -9181,7 +13075,7 @@ type Tag struct { Key *string `locationName:"key" min:"1" type:"string"` // The tag's value. - Value *string `locationName:"value" min:"1" type:"string"` + Value *string `locationName:"value" type:"string"` } // String returns the string representation @@ -9200,9 +13094,6 @@ func (s *Tag) Validate() error { if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } - if s.Value != nil && len(*s.Value) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Value", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -9400,6 +13291,9 @@ type UpdateProjectInput struct { // build badge. BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"` + // Contains configuration information about a batch build project. + BuildBatchConfig *ProjectBuildBatchConfig `locationName:"buildBatchConfig" type:"structure"` + // Stores recently used information so that it can be quickly accessed at a // later time. Cache *ProjectCache `locationName:"cache" type:"structure"` @@ -9486,7 +13380,7 @@ type UpdateProjectInput struct { // in the AWS CodeBuild User Guide. SourceVersion *string `locationName:"sourceVersion" type:"string"` - // The replacement set of tags for this build project. + // An updated list of tag key and value pairs associated with this build project. // // These tags are available for use by AWS services that support AWS CodeBuild // build project tags. @@ -9536,6 +13430,11 @@ func (s *UpdateProjectInput) Validate() error { invalidParams.AddNested("Artifacts", err.(request.ErrInvalidParams)) } } + if s.BuildBatchConfig != nil { + if err := s.BuildBatchConfig.Validate(); err != nil { + invalidParams.AddNested("BuildBatchConfig", err.(request.ErrInvalidParams)) + } + } if s.Cache != nil { if err := s.Cache.Validate(); err != nil { invalidParams.AddNested("Cache", err.(request.ErrInvalidParams)) @@ -9620,6 +13519,12 @@ func (s *UpdateProjectInput) SetBadgeEnabled(v bool) *UpdateProjectInput { return s } +// SetBuildBatchConfig sets the BuildBatchConfig field's value. +func (s *UpdateProjectInput) SetBuildBatchConfig(v *ProjectBuildBatchConfig) *UpdateProjectInput { + s.BuildBatchConfig = v + return s +} + // SetCache sets the Cache field's value. func (s *UpdateProjectInput) SetCache(v *ProjectCache) *UpdateProjectInput { s.Cache = v @@ -9759,6 +13664,12 @@ type UpdateReportGroupInput struct { // // * NO_EXPORT: The report results are not exported. ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"` + + // An updated list of tag key and value pairs associated with this report group. + // + // These tags are available for use by AWS services that support AWS CodeBuild + // report group tags. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation @@ -9785,6 +13696,16 @@ func (s *UpdateReportGroupInput) Validate() error { invalidParams.AddNested("ExportConfig", err.(request.ErrInvalidParams)) } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -9804,6 +13725,12 @@ func (s *UpdateReportGroupInput) SetExportConfig(v *ReportExportConfig) *UpdateR return s } +// SetTags sets the Tags field's value. +func (s *UpdateReportGroupInput) SetTags(v []*Tag) *UpdateReportGroupInput { + s.Tags = v + return s +} + type UpdateReportGroupOutput struct { _ struct{} `type:"structure"` @@ -9838,6 +13765,9 @@ type UpdateWebhookInput struct { // It is recommended that you use filterGroups instead of branchFilter. BranchFilter *string `locationName:"branchFilter" type:"string"` + // Specifies the type of build this webhook will trigger. + BuildType *string `locationName:"buildType" type:"string" enum:"WebhookBuildType"` + // An array of arrays of WebhookFilter objects used to determine if a webhook // event can trigger a build. A filter group must contain at least one EVENT // WebhookFilter. @@ -9886,6 +13816,12 @@ func (s *UpdateWebhookInput) SetBranchFilter(v string) *UpdateWebhookInput { return s } +// SetBuildType sets the BuildType field's value. +func (s *UpdateWebhookInput) SetBuildType(v string) *UpdateWebhookInput { + s.BuildType = &v + return s +} + // SetFilterGroups sets the FilterGroups field's value. func (s *UpdateWebhookInput) SetFilterGroups(v [][]*WebhookFilter) *UpdateWebhookInput { s.FilterGroups = v @@ -9996,6 +13932,9 @@ type Webhook struct { // It is recommended that you use filterGroups instead of branchFilter. BranchFilter *string `locationName:"branchFilter" type:"string"` + // Specifies the type of build this webhook will trigger. + BuildType *string `locationName:"buildType" type:"string" enum:"WebhookBuildType"` + // An array of arrays of WebhookFilter objects used to determine which webhooks // are triggered. At least one WebhookFilter in the array must specify EVENT // as its type. @@ -10036,6 +13975,12 @@ func (s *Webhook) SetBranchFilter(v string) *Webhook { return s } +// SetBuildType sets the BuildType field's value. +func (s *Webhook) SetBuildType(v string) *Webhook { + s.BuildType = &v + return s +} + // SetFilterGroups sets the FilterGroups field's value. func (s *Webhook) SetFilterGroups(v [][]*WebhookFilter) *Webhook { s.FilterGroups = v @@ -10089,16 +14034,16 @@ type WebhookFilter struct { // Pattern is a required field Pattern *string `locationName:"pattern" type:"string" required:"true"` - // The type of webhook filter. There are five webhook filter types: EVENT, ACTOR_ACCOUNT_ID, - // HEAD_REF, BASE_REF, and FILE_PATH. + // The type of webhook filter. There are six webhook filter types: EVENT, ACTOR_ACCOUNT_ID, + // HEAD_REF, BASE_REF, FILE_PATH, and COMMIT_MESSAGE. // // EVENT // // A webhook event triggers a build when the provided pattern matches one of - // four event types: PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, and PULL_REQUEST_REOPENED. - // The EVENT patterns are specified as a comma-separated string. For example, - // PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED filters all push, pull request - // created, and pull request updated events. + // five event types: PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED, + // and PULL_REQUEST_MERGED. The EVENT patterns are specified as a comma-separated + // string. For example, PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED filters + // all push, pull request created, and pull request updated events. // // The PULL_REQUEST_REOPENED works with GitHub and GitHub Enterprise only. // @@ -10127,7 +14072,18 @@ type WebhookFilter struct { // A webhook triggers a build when the path of a changed file matches the regular // expression pattern. // - // Works with GitHub and GitHub Enterprise push events only. + // Works with GitHub and Bitbucket events push and pull requests events. Also + // works with GitHub Enterprise push events, but does not work with GitHub Enterprise + // pull request events. + // + // COMMIT_MESSAGE + // + // A webhook triggers a build when the head commit message matches the regular + // expression pattern. + // + // Works with GitHub and Bitbucket events push and pull requests events. Also + // works with GitHub Enterprise push events, but does not work with GitHub Enterprise + // pull request events. // // Type is a required field Type *string `locationName:"type" type:"string" required:"true" enum:"WebhookFilterType"` @@ -10199,6 +14155,29 @@ const ( AuthTypePersonalAccessToken = "PERSONAL_ACCESS_TOKEN" ) +const ( + // BuildBatchPhaseTypeSubmitted is a BuildBatchPhaseType enum value + BuildBatchPhaseTypeSubmitted = "SUBMITTED" + + // BuildBatchPhaseTypeDownloadBatchspec is a BuildBatchPhaseType enum value + BuildBatchPhaseTypeDownloadBatchspec = "DOWNLOAD_BATCHSPEC" + + // BuildBatchPhaseTypeInProgress is a BuildBatchPhaseType enum value + BuildBatchPhaseTypeInProgress = "IN_PROGRESS" + + // BuildBatchPhaseTypeCombineArtifacts is a BuildBatchPhaseType enum value + BuildBatchPhaseTypeCombineArtifacts = "COMBINE_ARTIFACTS" + + // BuildBatchPhaseTypeSucceeded is a BuildBatchPhaseType enum value + BuildBatchPhaseTypeSucceeded = "SUCCEEDED" + + // BuildBatchPhaseTypeFailed is a BuildBatchPhaseType enum value + BuildBatchPhaseTypeFailed = "FAILED" + + // BuildBatchPhaseTypeStopped is a BuildBatchPhaseType enum value + BuildBatchPhaseTypeStopped = "STOPPED" +) + const ( // BuildPhaseTypeSubmitted is a BuildPhaseType enum value BuildPhaseTypeSubmitted = "SUBMITTED" @@ -10287,6 +14266,9 @@ const ( // EnvironmentTypeArmContainer is a EnvironmentType enum value EnvironmentTypeArmContainer = "ARM_CONTAINER" + + // EnvironmentTypeWindowsServer2019Container is a EnvironmentType enum value + EnvironmentTypeWindowsServer2019Container = "WINDOWS_SERVER_2019_CONTAINER" ) const ( @@ -10378,6 +14360,14 @@ const ( ProjectSortByTypeLastModifiedTime = "LAST_MODIFIED_TIME" ) +const ( + // ReportCodeCoverageSortByTypeLineCoveragePercentage is a ReportCodeCoverageSortByType enum value + ReportCodeCoverageSortByTypeLineCoveragePercentage = "LINE_COVERAGE_PERCENTAGE" + + // ReportCodeCoverageSortByTypeFilePath is a ReportCodeCoverageSortByType enum value + ReportCodeCoverageSortByTypeFilePath = "FILE_PATH" +) + const ( // ReportExportConfigTypeS3 is a ReportExportConfigType enum value ReportExportConfigTypeS3 = "S3" @@ -10425,6 +14415,17 @@ const ( const ( // ReportTypeTest is a ReportType enum value ReportTypeTest = "TEST" + + // ReportTypeCodeCoverage is a ReportType enum value + ReportTypeCodeCoverage = "CODE_COVERAGE" +) + +const ( + // RetryBuildBatchTypeRetryAllBuilds is a RetryBuildBatchType enum value + RetryBuildBatchTypeRetryAllBuilds = "RETRY_ALL_BUILDS" + + // RetryBuildBatchTypeRetryFailedBuilds is a RetryBuildBatchType enum value + RetryBuildBatchTypeRetryFailedBuilds = "RETRY_FAILED_BUILDS" ) const ( @@ -10502,6 +14503,14 @@ const ( StatusTypeStopped = "STOPPED" ) +const ( + // WebhookBuildTypeBuild is a WebhookBuildType enum value + WebhookBuildTypeBuild = "BUILD" + + // WebhookBuildTypeBuildBatch is a WebhookBuildType enum value + WebhookBuildTypeBuildBatch = "BUILD_BATCH" +) + const ( // WebhookFilterTypeEvent is a WebhookFilterType enum value WebhookFilterTypeEvent = "EVENT" @@ -10517,4 +14526,7 @@ const ( // WebhookFilterTypeFilePath is a WebhookFilterType enum value WebhookFilterTypeFilePath = "FILE_PATH" + + // WebhookFilterTypeCommitMessage is a WebhookFilterType enum value + WebhookFilterTypeCommitMessage = "COMMIT_MESSAGE" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go b/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go index e79a77db563..ff597abfa85 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codecommit/api.go @@ -922,7 +922,8 @@ func (c *CodeCommit) CreateBranchRequest(input *CreateBranchInput) (req *request // A branch name is required, but was not specified. // // * BranchNameExistsException -// The specified branch name already exists. +// Cannot create the branch with the specified name because the commit conflicts +// with an existing branch with the same name. Branch names must be unique. // // * InvalidBranchNameException // The specified reference name is not valid. @@ -3531,6 +3532,10 @@ func (c *CodeCommit) GetCommentRequest(input *GetCommentInput) (req *request.Req // // Returns the content of a comment made on a change, file, or commit in a repository. // +// Reaction counts might include numbers from user identities who were deleted +// after the reaction was made. For a count of reactions from active identities, +// use GetCommentReactions. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3543,6 +3548,10 @@ func (c *CodeCommit) GetCommentRequest(input *GetCommentInput) (req *request.Req // No comment exists with the provided ID. Verify that you have used the correct // ID, and then try again. // +// * CommentDeletedException +// This comment has already been deleted. You cannot edit or delete a deleted +// comment. +// // * CommentIdRequiredException // The comment ID is missing or null. A comment ID is required. // @@ -3550,9 +3559,20 @@ func (c *CodeCommit) GetCommentRequest(input *GetCommentInput) (req *request.Req // The comment ID is not in a valid format. Make sure that you have provided // the full comment ID. // -// * CommentDeletedException -// This comment has already been deleted. You cannot edit or delete a deleted -// comment. +// * EncryptionIntegrityChecksFailedException +// An encryption integrity check failed. +// +// * EncryptionKeyAccessDeniedException +// An encryption key could not be accessed. +// +// * EncryptionKeyDisabledException +// The encryption key is disabled. +// +// * EncryptionKeyNotFoundException +// No encryption key was found. +// +// * EncryptionKeyUnavailableException +// The encryption key is not available. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetComment func (c *CodeCommit) GetComment(input *GetCommentInput) (*GetCommentOutput, error) { @@ -3576,6 +3596,165 @@ func (c *CodeCommit) GetCommentWithContext(ctx aws.Context, input *GetCommentInp return out, req.Send() } +const opGetCommentReactions = "GetCommentReactions" + +// GetCommentReactionsRequest generates a "aws/request.Request" representing the +// client's request for the GetCommentReactions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCommentReactions for more information on using the GetCommentReactions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetCommentReactionsRequest method. +// req, resp := client.GetCommentReactionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommentReactions +func (c *CodeCommit) GetCommentReactionsRequest(input *GetCommentReactionsInput) (req *request.Request, output *GetCommentReactionsOutput) { + op := &request.Operation{ + Name: opGetCommentReactions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetCommentReactionsInput{} + } + + output = &GetCommentReactionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCommentReactions API operation for AWS CodeCommit. +// +// Returns information about reactions to a specified comment ID. Reactions +// from users who have been deleted will not be included in the count. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation GetCommentReactions for usage and error information. +// +// Returned Error Types: +// * CommentDoesNotExistException +// No comment exists with the provided ID. Verify that you have used the correct +// ID, and then try again. +// +// * CommentIdRequiredException +// The comment ID is missing or null. A comment ID is required. +// +// * InvalidCommentIdException +// The comment ID is not in a valid format. Make sure that you have provided +// the full comment ID. +// +// * InvalidReactionUserArnException +// The Amazon Resource Name (ARN) of the user or identity is not valid. +// +// * InvalidMaxResultsException +// The specified number of maximum results is not valid. +// +// * InvalidContinuationTokenException +// The specified continuation token is not valid. +// +// * CommentDeletedException +// This comment has already been deleted. You cannot edit or delete a deleted +// comment. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommentReactions +func (c *CodeCommit) GetCommentReactions(input *GetCommentReactionsInput) (*GetCommentReactionsOutput, error) { + req, out := c.GetCommentReactionsRequest(input) + return out, req.Send() +} + +// GetCommentReactionsWithContext is the same as GetCommentReactions with the addition of +// the ability to pass a context and additional request options. +// +// See GetCommentReactions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) GetCommentReactionsWithContext(ctx aws.Context, input *GetCommentReactionsInput, opts ...request.Option) (*GetCommentReactionsOutput, error) { + req, out := c.GetCommentReactionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetCommentReactionsPages iterates over the pages of a GetCommentReactions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetCommentReactions 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 GetCommentReactions operation. +// pageNum := 0 +// err := client.GetCommentReactionsPages(params, +// func(page *codecommit.GetCommentReactionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *CodeCommit) GetCommentReactionsPages(input *GetCommentReactionsInput, fn func(*GetCommentReactionsOutput, bool) bool) error { + return c.GetCommentReactionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetCommentReactionsPagesWithContext same as GetCommentReactionsPages 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 *CodeCommit) GetCommentReactionsPagesWithContext(ctx aws.Context, input *GetCommentReactionsInput, fn func(*GetCommentReactionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetCommentReactionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetCommentReactionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetCommentReactionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetCommentsForComparedCommit = "GetCommentsForComparedCommit" // GetCommentsForComparedCommitRequest generates a "aws/request.Request" representing the @@ -3628,6 +3807,10 @@ func (c *CodeCommit) GetCommentsForComparedCommitRequest(input *GetCommentsForCo // // Returns information about comments made on the comparison between two commits. // +// Reaction counts might include numbers from user identities who were deleted +// after the reaction was made. For a count of reactions from active identities, +// use GetCommentReactions. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3806,6 +3989,10 @@ func (c *CodeCommit) GetCommentsForPullRequestRequest(input *GetCommentsForPullR // // Returns comments made on a pull request. // +// Reaction counts might include numbers from user identities who were deleted +// after the reaction was made. For a count of reactions from active identities, +// use GetCommentReactions. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -7986,6 +8173,10 @@ func (c *CodeCommit) PostCommentForComparedCommitRequest(input *PostCommentForCo // * InvalidCommitIdException // The specified commit ID is not valid. // +// * BeforeCommitIdAndAfterCommitIdAreSameException +// The before commit ID and the after commit ID are the same, which is not valid. +// The before commit ID and the after commit ID must be different commit IDs. +// // * EncryptionIntegrityChecksFailedException // An encryption integrity check failed. // @@ -8001,10 +8192,6 @@ func (c *CodeCommit) PostCommentForComparedCommitRequest(input *PostCommentForCo // * EncryptionKeyUnavailableException // The encryption key is not available. // -// * BeforeCommitIdAndAfterCommitIdAreSameException -// The before commit ID and the after commit ID are the same, which is not valid. -// The before commit ID and the after commit ID must be different commit IDs. -// // * CommitDoesNotExistException // The specified commit does not exist or no commit was specified, and the specified // repository has no default branch. @@ -8015,6 +8202,9 @@ func (c *CodeCommit) PostCommentForComparedCommitRequest(input *PostCommentForCo // * PathDoesNotExistException // The specified path does not exist. // +// * PathRequiredException +// The folderPath for a location cannot be null. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentForComparedCommit func (c *CodeCommit) PostCommentForComparedCommit(input *PostCommentForComparedCommitInput) (*PostCommentForComparedCommitOutput, error) { req, out := c.PostCommentForComparedCommitRequest(input) @@ -8163,6 +8353,10 @@ func (c *CodeCommit) PostCommentForPullRequestRequest(input *PostCommentForPullR // * InvalidCommitIdException // The specified commit ID is not valid. // +// * BeforeCommitIdAndAfterCommitIdAreSameException +// The before commit ID and the after commit ID are the same, which is not valid. +// The before commit ID and the after commit ID must be different commit IDs. +// // * EncryptionIntegrityChecksFailedException // An encryption integrity check failed. // @@ -8191,10 +8385,6 @@ func (c *CodeCommit) PostCommentForPullRequestRequest(input *PostCommentForPullR // * PathRequiredException // The folderPath for a location cannot be null. // -// * BeforeCommitIdAndAfterCommitIdAreSameException -// The before commit ID and the after commit ID are the same, which is not valid. -// The before commit ID and the after commit ID must be different commit IDs. -// // See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentForPullRequest func (c *CodeCommit) PostCommentForPullRequest(input *PostCommentForPullRequestInput) (*PostCommentForPullRequestOutput, error) { req, out := c.PostCommentForPullRequestRequest(input) @@ -8326,6 +8516,111 @@ func (c *CodeCommit) PostCommentReplyWithContext(ctx aws.Context, input *PostCom return out, req.Send() } +const opPutCommentReaction = "PutCommentReaction" + +// PutCommentReactionRequest generates a "aws/request.Request" representing the +// client's request for the PutCommentReaction operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutCommentReaction for more information on using the PutCommentReaction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutCommentReactionRequest method. +// req, resp := client.PutCommentReactionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PutCommentReaction +func (c *CodeCommit) PutCommentReactionRequest(input *PutCommentReactionInput) (req *request.Request, output *PutCommentReactionOutput) { + op := &request.Operation{ + Name: opPutCommentReaction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutCommentReactionInput{} + } + + output = &PutCommentReactionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutCommentReaction API operation for AWS CodeCommit. +// +// Adds or updates a reaction to a specified comment for the user whose identity +// is used to make the request. You can only add or update a reaction for yourself. +// You cannot add, modify, or delete a reaction for another user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeCommit's +// API operation PutCommentReaction for usage and error information. +// +// Returned Error Types: +// * CommentDoesNotExistException +// No comment exists with the provided ID. Verify that you have used the correct +// ID, and then try again. +// +// * CommentIdRequiredException +// The comment ID is missing or null. A comment ID is required. +// +// * InvalidCommentIdException +// The comment ID is not in a valid format. Make sure that you have provided +// the full comment ID. +// +// * InvalidReactionValueException +// The value of the reaction is not valid. For more information, see the AWS +// CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html). +// +// * ReactionValueRequiredException +// A reaction value is required. +// +// * ReactionLimitExceededException +// The number of reactions has been exceeded. Reactions are limited to one reaction +// per user for each individual comment ID. +// +// * CommentDeletedException +// This comment has already been deleted. You cannot edit or delete a deleted +// comment. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PutCommentReaction +func (c *CodeCommit) PutCommentReaction(input *PutCommentReactionInput) (*PutCommentReactionOutput, error) { + req, out := c.PutCommentReactionRequest(input) + return out, req.Send() +} + +// PutCommentReactionWithContext is the same as PutCommentReaction with the addition of +// the ability to pass a context and additional request options. +// +// See PutCommentReaction for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeCommit) PutCommentReactionWithContext(ctx aws.Context, input *PutCommentReactionInput, opts ...request.Option) (*PutCommentReactionOutput, error) { + req, out := c.PutCommentReactionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutFile = "PutFile" // PutFileRequest generates a "aws/request.Request" representing the @@ -12500,7 +12795,8 @@ func (s *BranchInfo) SetCommitId(v string) *BranchInfo { return s } -// The specified branch name already exists. +// Cannot create the branch with the specified name because the commit conflicts +// with an existing branch with the same name. Branch names must be unique. type BranchNameExistsException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -12851,6 +13147,10 @@ type Comment struct { // The Amazon Resource Name (ARN) of the person who posted the comment. AuthorArn *string `locationName:"authorArn" type:"string"` + // The emoji reactions to a comment, if any, submitted by the user whose credentials + // are associated with the call to the API. + CallerReactions []*string `locationName:"callerReactions" type:"list"` + // A unique, client-generated idempotency token that, when provided in a request, // ensures the request cannot be repeated with a changed parameter. If a request // is received with the same parameters and a token is included, the request @@ -12874,6 +13174,10 @@ type Comment struct { // The date and time the comment was most recently modified, in timestamp format. LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"` + + // A string to integer map that represents the number of individual users who + // have responded to a comment with the specified reactions. + ReactionCounts map[string]*int64 `locationName:"reactionCounts" type:"map"` } // String returns the string representation @@ -12892,6 +13196,12 @@ func (s *Comment) SetAuthorArn(v string) *Comment { return s } +// SetCallerReactions sets the CallerReactions field's value. +func (s *Comment) SetCallerReactions(v []*string) *Comment { + s.CallerReactions = v + return s +} + // SetClientRequestToken sets the ClientRequestToken field's value. func (s *Comment) SetClientRequestToken(v string) *Comment { s.ClientRequestToken = &v @@ -12934,6 +13244,12 @@ func (s *Comment) SetLastModifiedDate(v time.Time) *Comment { return s } +// SetReactionCounts sets the ReactionCounts field's value. +func (s *Comment) SetReactionCounts(v map[string]*int64) *Comment { + s.ReactionCounts = v + return s +} + // The comment is empty. You must provide some content for a comment. The content // cannot be null. type CommentContentRequiredException struct { @@ -14246,7 +14562,7 @@ type CreateApprovalRuleTemplateInput struct { // Amazon Resource Name (ARN) of the IAM user or role. // // For more information about IAM ARNs, wildcards, and formats, see IAM Identifiers - // (https://docs.aws.amazon.com/iam/latest/UserGuide/reference_identifiers.html) + // (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) // in the IAM User Guide. // // ApprovalRuleTemplateContent is a required field @@ -14678,7 +14994,7 @@ type CreatePullRequestApprovalRuleInput struct { // Amazon Resource Name (ARN) of the IAM user or role. // // For more information about IAM ARNs, wildcards, and formats, see IAM Identifiers - // (https://docs.aws.amazon.com/iam/latest/UserGuide/reference_identifiers.html) + // (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) // in the IAM User Guide. // // ApprovalRuleContent is a required field @@ -17908,16 +18224,119 @@ func (s *GetCommentOutput) SetComment(v *Comment) *GetCommentOutput { return s } -type GetCommentsForComparedCommitInput struct { +type GetCommentReactionsInput struct { _ struct{} `type:"structure"` - // To establish the directionality of the comparison, the full commit ID of - // the after commit. + // The ID of the comment for which you want to get reactions information. // - // AfterCommitId is a required field - AfterCommitId *string `locationName:"afterCommitId" type:"string" required:"true"` + // CommentId is a required field + CommentId *string `locationName:"commentId" type:"string" required:"true"` - // To establish the directionality of the comparison, the full commit ID of + // A non-zero, non-negative integer used to limit the number of returned results. + // The default is the same as the allowed maximum, 1,000. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // An enumeration token that, when provided in a request, returns the next batch + // of the results. + NextToken *string `locationName:"nextToken" type:"string"` + + // Optional. The Amazon Resource Name (ARN) of the user or identity for which + // you want to get reaction information. + ReactionUserArn *string `locationName:"reactionUserArn" type:"string"` +} + +// String returns the string representation +func (s GetCommentReactionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCommentReactionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCommentReactionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCommentReactionsInput"} + if s.CommentId == nil { + invalidParams.Add(request.NewErrParamRequired("CommentId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCommentId sets the CommentId field's value. +func (s *GetCommentReactionsInput) SetCommentId(v string) *GetCommentReactionsInput { + s.CommentId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetCommentReactionsInput) SetMaxResults(v int64) *GetCommentReactionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetCommentReactionsInput) SetNextToken(v string) *GetCommentReactionsInput { + s.NextToken = &v + return s +} + +// SetReactionUserArn sets the ReactionUserArn field's value. +func (s *GetCommentReactionsInput) SetReactionUserArn(v string) *GetCommentReactionsInput { + s.ReactionUserArn = &v + return s +} + +type GetCommentReactionsOutput struct { + _ struct{} `type:"structure"` + + // An enumeration token that can be used in a request to return the next batch + // of the results. + NextToken *string `locationName:"nextToken" type:"string"` + + // An array of reactions to the specified comment. + // + // ReactionsForComment is a required field + ReactionsForComment []*ReactionForComment `locationName:"reactionsForComment" type:"list" required:"true"` +} + +// String returns the string representation +func (s GetCommentReactionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCommentReactionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetCommentReactionsOutput) SetNextToken(v string) *GetCommentReactionsOutput { + s.NextToken = &v + return s +} + +// SetReactionsForComment sets the ReactionsForComment field's value. +func (s *GetCommentReactionsOutput) SetReactionsForComment(v []*ReactionForComment) *GetCommentReactionsOutput { + s.ReactionsForComment = v + return s +} + +type GetCommentsForComparedCommitInput struct { + _ struct{} `type:"structure"` + + // To establish the directionality of the comparison, the full commit ID of + // the after commit. + // + // AfterCommitId is a required field + AfterCommitId *string `locationName:"afterCommitId" type:"string" required:"true"` + + // To establish the directionality of the comparison, the full commit ID of // the before commit. BeforeCommitId *string `locationName:"beforeCommitId" type:"string"` @@ -21720,6 +22139,119 @@ func (s *InvalidPullRequestStatusUpdateException) RequestID() string { return s.RespMetadata.RequestID } +// The Amazon Resource Name (ARN) of the user or identity is not valid. +type InvalidReactionUserArnException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidReactionUserArnException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidReactionUserArnException) GoString() string { + return s.String() +} + +func newErrorInvalidReactionUserArnException(v protocol.ResponseMetadata) error { + return &InvalidReactionUserArnException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidReactionUserArnException) Code() string { + return "InvalidReactionUserArnException" +} + +// Message returns the exception's message. +func (s *InvalidReactionUserArnException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidReactionUserArnException) OrigErr() error { + return nil +} + +func (s *InvalidReactionUserArnException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidReactionUserArnException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidReactionUserArnException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The value of the reaction is not valid. For more information, see the AWS +// CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html). +type InvalidReactionValueException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidReactionValueException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidReactionValueException) GoString() string { + return s.String() +} + +func newErrorInvalidReactionValueException(v protocol.ResponseMetadata) error { + return &InvalidReactionValueException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidReactionValueException) Code() string { + return "InvalidReactionValueException" +} + +// Message returns the exception's message. +func (s *InvalidReactionValueException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidReactionValueException) OrigErr() error { + return nil +} + +func (s *InvalidReactionValueException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidReactionValueException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidReactionValueException) RequestID() string { + return s.RespMetadata.RequestID +} + // The specified reference name format is not valid. Reference names must conform // to the Git references format (for example, refs/heads/master). For more information, // see Git Internals - Git References (https://git-scm.com/book/en/v2/Git-Internals-Git-References) @@ -27815,6 +28347,75 @@ func (s *PullRequestTarget) SetSourceReference(v string) *PullRequestTarget { return s } +type PutCommentReactionInput struct { + _ struct{} `type:"structure"` + + // The ID of the comment to which you want to add or update a reaction. + // + // CommentId is a required field + CommentId *string `locationName:"commentId" type:"string" required:"true"` + + // The emoji reaction you want to add or update. To remove a reaction, provide + // a value of blank or null. You can also provide the value of none. For information + // about emoji reaction values supported in AWS CodeCommit, see the AWS CodeCommit + // User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-commit-comment.html#emoji-reaction-table). + // + // ReactionValue is a required field + ReactionValue *string `locationName:"reactionValue" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutCommentReactionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutCommentReactionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutCommentReactionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutCommentReactionInput"} + if s.CommentId == nil { + invalidParams.Add(request.NewErrParamRequired("CommentId")) + } + if s.ReactionValue == nil { + invalidParams.Add(request.NewErrParamRequired("ReactionValue")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCommentId sets the CommentId field's value. +func (s *PutCommentReactionInput) SetCommentId(v string) *PutCommentReactionInput { + s.CommentId = &v + return s +} + +// SetReactionValue sets the ReactionValue field's value. +func (s *PutCommentReactionInput) SetReactionValue(v string) *PutCommentReactionInput { + s.ReactionValue = &v + return s +} + +type PutCommentReactionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutCommentReactionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutCommentReactionOutput) GoString() string { + return s.String() +} + // Information about a file added or updated as part of a commit. type PutFileEntry struct { _ struct{} `type:"structure"` @@ -28231,6 +28832,209 @@ func (s *PutRepositoryTriggersOutput) SetConfigurationId(v string) *PutRepositor return s } +// Information about the reaction values provided by users on a comment. +type ReactionForComment struct { + _ struct{} `type:"structure"` + + // The reaction for a specified comment. + Reaction *ReactionValueFormats `locationName:"reaction" type:"structure"` + + // The Amazon Resource Names (ARNs) of users who have provided reactions to + // the comment. + ReactionUsers []*string `locationName:"reactionUsers" type:"list"` + + // A numerical count of users who reacted with the specified emoji whose identities + // have been subsequently deleted from IAM. While these IAM users or roles no + // longer exist, the reactions might still appear in total reaction counts. + ReactionsFromDeletedUsersCount *int64 `locationName:"reactionsFromDeletedUsersCount" type:"integer"` +} + +// String returns the string representation +func (s ReactionForComment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReactionForComment) GoString() string { + return s.String() +} + +// SetReaction sets the Reaction field's value. +func (s *ReactionForComment) SetReaction(v *ReactionValueFormats) *ReactionForComment { + s.Reaction = v + return s +} + +// SetReactionUsers sets the ReactionUsers field's value. +func (s *ReactionForComment) SetReactionUsers(v []*string) *ReactionForComment { + s.ReactionUsers = v + return s +} + +// SetReactionsFromDeletedUsersCount sets the ReactionsFromDeletedUsersCount field's value. +func (s *ReactionForComment) SetReactionsFromDeletedUsersCount(v int64) *ReactionForComment { + s.ReactionsFromDeletedUsersCount = &v + return s +} + +// The number of reactions has been exceeded. Reactions are limited to one reaction +// per user for each individual comment ID. +type ReactionLimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ReactionLimitExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReactionLimitExceededException) GoString() string { + return s.String() +} + +func newErrorReactionLimitExceededException(v protocol.ResponseMetadata) error { + return &ReactionLimitExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ReactionLimitExceededException) Code() string { + return "ReactionLimitExceededException" +} + +// Message returns the exception's message. +func (s *ReactionLimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ReactionLimitExceededException) OrigErr() error { + return nil +} + +func (s *ReactionLimitExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ReactionLimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ReactionLimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Information about the values for reactions to a comment. AWS CodeCommit supports +// a limited set of reactions. +type ReactionValueFormats struct { + _ struct{} `type:"structure"` + + // The Emoji Version 1.0 graphic of the reaction. These graphics are interpreted + // slightly differently on different operating systems. + Emoji *string `locationName:"emoji" type:"string"` + + // The emoji short code for the reaction. Short codes are interpreted slightly + // differently on different operating systems. + ShortCode *string `locationName:"shortCode" type:"string"` + + // The Unicode codepoint for the reaction. + Unicode *string `locationName:"unicode" type:"string"` +} + +// String returns the string representation +func (s ReactionValueFormats) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReactionValueFormats) GoString() string { + return s.String() +} + +// SetEmoji sets the Emoji field's value. +func (s *ReactionValueFormats) SetEmoji(v string) *ReactionValueFormats { + s.Emoji = &v + return s +} + +// SetShortCode sets the ShortCode field's value. +func (s *ReactionValueFormats) SetShortCode(v string) *ReactionValueFormats { + s.ShortCode = &v + return s +} + +// SetUnicode sets the Unicode field's value. +func (s *ReactionValueFormats) SetUnicode(v string) *ReactionValueFormats { + s.Unicode = &v + return s +} + +// A reaction value is required. +type ReactionValueRequiredException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ReactionValueRequiredException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReactionValueRequiredException) GoString() string { + return s.String() +} + +func newErrorReactionValueRequiredException(v protocol.ResponseMetadata) error { + return &ReactionValueRequiredException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ReactionValueRequiredException) Code() string { + return "ReactionValueRequiredException" +} + +// Message returns the exception's message. +func (s *ReactionValueRequiredException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ReactionValueRequiredException) OrigErr() error { + return nil +} + +func (s *ReactionValueRequiredException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ReactionValueRequiredException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ReactionValueRequiredException) RequestID() string { + return s.RespMetadata.RequestID +} + // The specified reference does not exist. You must provide a full commit ID. type ReferenceDoesNotExistException struct { _ struct{} `type:"structure"` @@ -31378,7 +32182,7 @@ type UpdatePullRequestApprovalRuleContentInput struct { // Amazon Resource Name (ARN) of the IAM user or role. // // For more information about IAM ARNs, wildcards, and formats, see IAM Identifiers - // (https://docs.aws.amazon.com/iam/latest/UserGuide/reference_identifiers.html) + // (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) // in the IAM User Guide. // // NewRuleContent is a required field diff --git a/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go b/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go index 2025f901bd5..87186d5eddd 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codecommit/doc.go @@ -224,6 +224,9 @@ // // * GetComment, which returns information about a comment on a commit. // +// * GetCommentReactions, which returns information about emoji reactions +// to comments. +// // * GetCommentsForComparedCommit, which returns information about comments // on the comparison between two commit specifiers in a repository. // @@ -232,6 +235,9 @@ // // * PostCommentReply, which creates a reply to a comment. // +// * PutCommentReaction, which creates or updates an emoji reaction to a +// comment. +// // * UpdateComment, which updates the content of a comment on a commit in // a repository. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go b/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go index 030dd1c47bf..44aa82763a5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codecommit/errors.go @@ -117,7 +117,8 @@ const ( // ErrCodeBranchNameExistsException for service response error code // "BranchNameExistsException". // - // The specified branch name already exists. + // Cannot create the branch with the specified name because the commit conflicts + // with an existing branch with the same name. Branch names must be unique. ErrCodeBranchNameExistsException = "BranchNameExistsException" // ErrCodeBranchNameIsTagNameException for service response error code @@ -636,6 +637,19 @@ const ( // OPEN to CLOSED. ErrCodeInvalidPullRequestStatusUpdateException = "InvalidPullRequestStatusUpdateException" + // ErrCodeInvalidReactionUserArnException for service response error code + // "InvalidReactionUserArnException". + // + // The Amazon Resource Name (ARN) of the user or identity is not valid. + ErrCodeInvalidReactionUserArnException = "InvalidReactionUserArnException" + + // ErrCodeInvalidReactionValueException for service response error code + // "InvalidReactionValueException". + // + // The value of the reaction is not valid. For more information, see the AWS + // CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html). + ErrCodeInvalidReactionValueException = "InvalidReactionValueException" + // ErrCodeInvalidReferenceNameException for service response error code // "InvalidReferenceNameException". // @@ -1023,6 +1037,19 @@ const ( // reference both a file and a folder. ErrCodePutFileEntryConflictException = "PutFileEntryConflictException" + // ErrCodeReactionLimitExceededException for service response error code + // "ReactionLimitExceededException". + // + // The number of reactions has been exceeded. Reactions are limited to one reaction + // per user for each individual comment ID. + ErrCodeReactionLimitExceededException = "ReactionLimitExceededException" + + // ErrCodeReactionValueRequiredException for service response error code + // "ReactionValueRequiredException". + // + // A reaction value is required. + ErrCodeReactionValueRequiredException = "ReactionValueRequiredException" + // ErrCodeReferenceDoesNotExistException for service response error code // "ReferenceDoesNotExistException". // @@ -1337,6 +1364,8 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidPullRequestIdException": newErrorInvalidPullRequestIdException, "InvalidPullRequestStatusException": newErrorInvalidPullRequestStatusException, "InvalidPullRequestStatusUpdateException": newErrorInvalidPullRequestStatusUpdateException, + "InvalidReactionUserArnException": newErrorInvalidReactionUserArnException, + "InvalidReactionValueException": newErrorInvalidReactionValueException, "InvalidReferenceNameException": newErrorInvalidReferenceNameException, "InvalidRelativeFileVersionEnumException": newErrorInvalidRelativeFileVersionEnumException, "InvalidReplacementContentException": newErrorInvalidReplacementContentException, @@ -1393,6 +1422,8 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "PullRequestIdRequiredException": newErrorPullRequestIdRequiredException, "PullRequestStatusRequiredException": newErrorPullRequestStatusRequiredException, "PutFileEntryConflictException": newErrorPutFileEntryConflictException, + "ReactionLimitExceededException": newErrorReactionLimitExceededException, + "ReactionValueRequiredException": newErrorReactionValueRequiredException, "ReferenceDoesNotExistException": newErrorReferenceDoesNotExistException, "ReferenceNameRequiredException": newErrorReferenceNameRequiredException, "ReferenceTypeNotSupportedException": newErrorReferenceTypeNotSupportedException, diff --git a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go index 33832844aa3..13b9566952d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/api.go @@ -252,7 +252,7 @@ func (c *CodeDeploy) BatchGetApplicationsRequest(input *BatchGetApplicationsInpu // BatchGetApplications API operation for AWS CodeDeploy. // // Gets information about one or more applications. The maximum number of applications -// that can be returned is 25. +// that can be returned is 100. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -477,7 +477,8 @@ func (c *CodeDeploy) BatchGetDeploymentInstancesRequest(input *BatchGetDeploymen // The maximum number of names or IDs allowed for this request (100) was exceeded. // // * InvalidComputePlatformException -// The computePlatform is invalid. The computePlatform should be Lambda or Server. +// The computePlatform is invalid. The computePlatform should be Lambda, Server, +// or ECS. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentInstances // @@ -554,7 +555,8 @@ func (c *CodeDeploy) BatchGetDeploymentTargetsRequest(input *BatchGetDeploymentT // BatchGetDeploymentInstances. The maximum number of targets that can be returned // is 25. // -// The type of targets returned depends on the deployment's compute platform: +// The type of targets returned depends on the deployment's compute platform +// or deployment method: // // * EC2/On-premises: Information about EC2 instance targets. // @@ -562,6 +564,9 @@ func (c *CodeDeploy) BatchGetDeploymentTargetsRequest(input *BatchGetDeploymentT // // * Amazon ECS: Information about Amazon ECS service targets. // +// * CloudFormation: Information about targets of blue/green deployments +// initiated by a CloudFormation stack update. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -597,6 +602,9 @@ func (c *CodeDeploy) BatchGetDeploymentTargetsRequest(input *BatchGetDeploymentT // must have exactly one item. This exception does not apply to EC2/On-premises // deployments. // +// * InstanceDoesNotExistException +// The specified instance does not exist in the deployment group. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentTargets func (c *CodeDeploy) BatchGetDeploymentTargets(input *BatchGetDeploymentTargetsInput) (*BatchGetDeploymentTargetsOutput, error) { req, out := c.BatchGetDeploymentTargetsRequest(input) @@ -965,7 +973,8 @@ func (c *CodeDeploy) CreateApplicationRequest(input *CreateApplicationInput) (re // More applications were attempted to be created than are allowed. // // * InvalidComputePlatformException -// The computePlatform is invalid. The computePlatform should be Lambda or Server. +// The computePlatform is invalid. The computePlatform should be Lambda, Server, +// or ECS. // // * InvalidTagsToAddException // The specified tags are not valid. @@ -1133,6 +1142,10 @@ func (c *CodeDeploy) CreateDeploymentRequest(input *CreateDeploymentInput) (req // * InvalidGitHubAccountTokenException // The GitHub token is not valid. // +// * InvalidTrafficRoutingConfigurationException +// The configuration that specifies how traffic is routed during a deployment +// is invalid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeployment func (c *CodeDeploy) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploymentOutput, error) { req, out := c.CreateDeploymentRequest(input) @@ -1217,7 +1230,7 @@ func (c *CodeDeploy) CreateDeploymentConfigRequest(input *CreateDeploymentConfig // // * DeploymentConfigAlreadyExistsException // A deployment configuration with the specified name with the IAM user or AWS -// account already exists . +// account already exists. // // * InvalidMinimumHealthyHostValueException // The minimum healthy instance value was specified in an invalid format. @@ -1226,7 +1239,8 @@ func (c *CodeDeploy) CreateDeploymentConfigRequest(input *CreateDeploymentConfig // The deployment configurations limit was exceeded. // // * InvalidComputePlatformException -// The computePlatform is invalid. The computePlatform should be Lambda or Server. +// The computePlatform is invalid. The computePlatform should be Lambda, Server, +// or ECS. // // * InvalidTrafficRoutingConfigurationException // The configuration that specifies how traffic is routed during a deployment @@ -1427,6 +1441,10 @@ func (c *CodeDeploy) CreateDeploymentGroupRequest(input *CreateDeploymentGroupIn // * InvalidTagsToAddException // The specified tags are not valid. // +// * InvalidTrafficRoutingConfigurationException +// The configuration that specifies how traffic is routed during a deployment +// is invalid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentGroup func (c *CodeDeploy) CreateDeploymentGroup(input *CreateDeploymentGroupInput) (*CreateDeploymentGroupOutput, error) { req, out := c.CreateDeploymentGroupRequest(input) @@ -1813,6 +1831,81 @@ func (c *CodeDeploy) DeleteGitHubAccountTokenWithContext(ctx aws.Context, input return out, req.Send() } +const opDeleteResourcesByExternalId = "DeleteResourcesByExternalId" + +// DeleteResourcesByExternalIdRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResourcesByExternalId operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteResourcesByExternalId for more information on using the DeleteResourcesByExternalId +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteResourcesByExternalIdRequest method. +// req, resp := client.DeleteResourcesByExternalIdRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteResourcesByExternalId +func (c *CodeDeploy) DeleteResourcesByExternalIdRequest(input *DeleteResourcesByExternalIdInput) (req *request.Request, output *DeleteResourcesByExternalIdOutput) { + op := &request.Operation{ + Name: opDeleteResourcesByExternalId, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteResourcesByExternalIdInput{} + } + + output = &DeleteResourcesByExternalIdOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteResourcesByExternalId API operation for AWS CodeDeploy. +// +// Deletes resources linked to an external ID. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CodeDeploy's +// API operation DeleteResourcesByExternalId for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeleteResourcesByExternalId +func (c *CodeDeploy) DeleteResourcesByExternalId(input *DeleteResourcesByExternalIdInput) (*DeleteResourcesByExternalIdOutput, error) { + req, out := c.DeleteResourcesByExternalIdRequest(input) + return out, req.Send() +} + +// DeleteResourcesByExternalIdWithContext is the same as DeleteResourcesByExternalId with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteResourcesByExternalId for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CodeDeploy) DeleteResourcesByExternalIdWithContext(ctx aws.Context, input *DeleteResourcesByExternalIdInput, opts ...request.Option) (*DeleteResourcesByExternalIdOutput, error) { + req, out := c.DeleteResourcesByExternalIdRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeregisterOnPremisesInstance = "DeregisterOnPremisesInstance" // DeregisterOnPremisesInstanceRequest generates a "aws/request.Request" representing the @@ -2229,7 +2322,8 @@ func (c *CodeDeploy) GetDeploymentConfigRequest(input *GetDeploymentConfigInput) // The deployment configuration does not exist with the IAM user or AWS account. // // * InvalidComputePlatformException -// The computePlatform is invalid. The computePlatform should be Lambda or Server. +// The computePlatform is invalid. The computePlatform should be Lambda, Server, +// or ECS. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentConfig func (c *CodeDeploy) GetDeploymentConfig(input *GetDeploymentConfigInput) (*GetDeploymentConfigOutput, error) { @@ -2428,7 +2522,8 @@ func (c *CodeDeploy) GetDeploymentInstanceRequest(input *GetDeploymentInstanceIn // The on-premises instance name was specified in an invalid format. // // * InvalidComputePlatformException -// The computePlatform is invalid. The computePlatform should be Lambda or Server. +// The computePlatform is invalid. The computePlatform should be Lambda, Server, +// or ECS. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentInstance // @@ -3328,7 +3423,8 @@ func (c *CodeDeploy) ListDeploymentInstancesRequest(input *ListDeploymentInstanc // The target filter name is invalid. // // * InvalidComputePlatformException -// The computePlatform is invalid. The computePlatform should be Lambda or Server. +// The computePlatform is invalid. The computePlatform should be Lambda, Server, +// or ECS. // // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentInstances // @@ -3603,6 +3699,12 @@ func (c *CodeDeploy) ListDeploymentsRequest(input *ListDeploymentsInput) (req *r // * InvalidNextTokenException // The next token was specified in an invalid format. // +// * InvalidExternalIdException +// The external ID was specified in an invalid format. +// +// * InvalidInputException +// The input was specified in an invalid format. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeployments func (c *CodeDeploy) ListDeployments(input *ListDeploymentsInput) (*ListDeploymentsOutput, error) { req, out := c.ListDeploymentsRequest(input) @@ -3895,8 +3997,9 @@ func (c *CodeDeploy) ListTagsForResourceRequest(input *ListTagsForResourceInput) // ListTagsForResource API operation for AWS CodeDeploy. // -// Returns a list of tags for the resource identified by a specified ARN. Tags -// are used to organize and categorize your CodeDeploy resources. +// Returns a list of tags for the resource identified by a specified Amazon +// Resource Name (ARN). Tags are used to organize and categorize your CodeDeploy +// 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 @@ -3982,9 +4085,15 @@ func (c *CodeDeploy) PutLifecycleEventHookExecutionStatusRequest(input *PutLifec // PutLifecycleEventHookExecutionStatus API operation for AWS CodeDeploy. // -// Sets the result of a Lambda validation function. The function validates one -// or both lifecycle events (BeforeAllowTraffic and AfterAllowTraffic) and returns -// Succeeded or Failed. +// Sets the result of a Lambda validation function. The function validates lifecycle +// hooks during a deployment that uses the AWS Lambda or Amazon ECS compute +// platform. For AWS Lambda deployments, the available lifecycle hooks are BeforeAllowTraffic +// and AfterAllowTraffic. For Amazon ECS deployments, the available lifecycle +// hooks are BeforeInstall, AfterInstall, AfterAllowTestTraffic, BeforeAllowTraffic, +// and AfterAllowTraffic. Lambda validation functions return Succeeded or Failed. +// For more information, see AppSpec 'hooks' Section for an AWS Lambda Deployment +// (https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-hooks.html#appspec-hooks-lambda) +// and AppSpec 'hooks' Section for an Amazon ECS Deployment (https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-hooks.html#appspec-hooks-ecs). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4520,6 +4629,9 @@ func (c *CodeDeploy) StopDeploymentRequest(input *StopDeploymentInput) (req *req // * InvalidDeploymentIdException // At least one of the deployment IDs was specified in an invalid format. // +// * UnsupportedActionForDeploymentTypeException +// A call was submitted that is not supported for the specified deployment type. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/StopDeployment func (c *CodeDeploy) StopDeployment(input *StopDeploymentInput) (*StopDeploymentOutput, error) { req, out := c.StopDeploymentRequest(input) @@ -4691,7 +4803,7 @@ func (c *CodeDeploy) UntagResourceRequest(input *UntagResourceInput) (req *reque // UntagResource API operation for AWS CodeDeploy. // // Disassociates a resource from a list of tags. The resource is identified -// by the ResourceArn input parameter. The tags are identfied by the list of +// by the ResourceArn input parameter. The tags are identified by the list of // keys in the TagKeys input parameter. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5006,6 +5118,10 @@ func (c *CodeDeploy) UpdateDeploymentGroupRequest(input *UpdateDeploymentGroupIn // The Amazon ECS service is associated with more than one deployment groups. // An Amazon ECS service can be associated with only one deployment group. // +// * InvalidTrafficRoutingConfigurationException +// The configuration that specifies how traffic is routed during a deployment +// is invalid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/UpdateDeploymentGroup func (c *CodeDeploy) UpdateDeploymentGroup(input *UpdateDeploymentGroupInput) (*UpdateDeploymentGroupOutput, error) { req, out := c.UpdateDeploymentGroupRequest(input) @@ -5803,7 +5919,7 @@ type BatchGetApplicationsInput struct { _ struct{} `type:"structure"` // A list of application names separated by spaces. The maximum number of application - // names you can specify is 25. + // names you can specify is 100. // // ApplicationNames is a required field ApplicationNames []*string `locationName:"applicationNames" type:"list" required:"true"` @@ -6058,6 +6174,9 @@ type BatchGetDeploymentTargetsInput struct { // * For deployments that use the Amazon ECS compute platform, the target // IDs are pairs of Amazon ECS clusters and services specified using the // format :. Their target type is ecsTarget. + // + // * For deployments that are deployed with AWS CloudFormation, the target + // IDs are CloudFormation stack IDs. Their target type is cloudFormationTarget. TargetIds []*string `locationName:"targetIds" type:"list"` } @@ -6096,6 +6215,9 @@ type BatchGetDeploymentTargetsOutput struct { // function. // // * Amazon ECS: The target object is an Amazon ECS service. + // + // * CloudFormation: The target object is an AWS CloudFormation blue/green + // deployment. DeploymentTargets []*DeploymentTarget `locationName:"deploymentTargets" type:"list"` } @@ -6448,6 +6570,89 @@ func (s *BucketNameFilterRequiredException) RequestID() string { return s.RespMetadata.RequestID } +// Information about the target to be updated by an AWS CloudFormation blue/green +// deployment. This target type is used for all deployments initiated by a CloudFormation +// stack update. +type CloudFormationTarget struct { + _ struct{} `type:"structure"` + + // The unique ID of an AWS CloudFormation blue/green deployment. + DeploymentId *string `locationName:"deploymentId" type:"string"` + + // The date and time when the target application was updated by an AWS CloudFormation + // blue/green deployment. + LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` + + // The lifecycle events of the AWS CloudFormation blue/green deployment to this + // target application. + LifecycleEvents []*LifecycleEvent `locationName:"lifecycleEvents" type:"list"` + + // The resource type for the AWS CloudFormation blue/green deployment. + ResourceType *string `locationName:"resourceType" type:"string"` + + // The status of an AWS CloudFormation blue/green deployment's target application. + Status *string `locationName:"status" type:"string" enum:"TargetStatus"` + + // The unique ID of a deployment target that has a type of CloudFormationTarget. + TargetId *string `locationName:"targetId" type:"string"` + + // The percentage of production traffic that the target version of an AWS CloudFormation + // blue/green deployment receives. + TargetVersionWeight *float64 `locationName:"targetVersionWeight" type:"double"` +} + +// String returns the string representation +func (s CloudFormationTarget) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloudFormationTarget) GoString() string { + return s.String() +} + +// SetDeploymentId sets the DeploymentId field's value. +func (s *CloudFormationTarget) SetDeploymentId(v string) *CloudFormationTarget { + s.DeploymentId = &v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *CloudFormationTarget) SetLastUpdatedAt(v time.Time) *CloudFormationTarget { + s.LastUpdatedAt = &v + return s +} + +// SetLifecycleEvents sets the LifecycleEvents field's value. +func (s *CloudFormationTarget) SetLifecycleEvents(v []*LifecycleEvent) *CloudFormationTarget { + s.LifecycleEvents = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *CloudFormationTarget) SetResourceType(v string) *CloudFormationTarget { + s.ResourceType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CloudFormationTarget) SetStatus(v string) *CloudFormationTarget { + s.Status = &v + return s +} + +// SetTargetId sets the TargetId field's value. +func (s *CloudFormationTarget) SetTargetId(v string) *CloudFormationTarget { + s.TargetId = &v + return s +} + +// SetTargetVersionWeight sets the TargetVersionWeight field's value. +func (s *CloudFormationTarget) SetTargetVersionWeight(v float64) *CloudFormationTarget { + s.TargetVersionWeight = &v + return s +} + type ContinueDeploymentInput struct { _ struct{} `type:"structure"` @@ -6455,9 +6660,9 @@ type ContinueDeploymentInput struct { // traffic to the replacement environment. DeploymentId *string `locationName:"deploymentId" type:"string"` - // The status of the deployment's waiting period. READY_WAIT indicates the deployment - // is ready to start shifting traffic. TERMINATION_WAIT indicates the traffic - // is shifted, but the original target is not terminated. + // The status of the deployment's waiting period. READY_WAIT indicates that + // the deployment is ready to start shifting traffic. TERMINATION_WAIT indicates + // that the traffic is shifted, but the original target is not terminated. DeploymentWaitType *string `locationName:"deploymentWaitType" type:"string" enum:"DeploymentWaitType"` } @@ -6608,7 +6813,7 @@ type CreateDeploymentConfigInput struct { // * FLEET_PERCENT: The value parameter represents the minimum number of // healthy instances as a percentage of the total number of instances in // the deployment. If you specify FLEET_PERCENT, at the start of the deployment, - // AWS CodeDeploy converts the percentage to the equivalent number of instance + // AWS CodeDeploy converts the percentage to the equivalent number of instances // and rounds up fractional instances. // // The value parameter takes an integer. @@ -6729,7 +6934,7 @@ type CreateDeploymentGroupInput struct { // group. // // For more information about the predefined deployment configurations in AWS - // CodeDeploy, see Working with Deployment Groups in AWS CodeDeploy (https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) + // CodeDeploy, see Working with Deployment Configurations in CodeDeploy (https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) // in the AWS CodeDeploy User Guide. DeploymentConfigName *string `locationName:"deploymentConfigName" min:"1" type:"string"` @@ -6771,8 +6976,8 @@ type CreateDeploymentGroupInput struct { // Cannot be used in the same call as onPremisesInstanceTagFilters. OnPremisesTagSet *OnPremisesTagSet `locationName:"onPremisesTagSet" type:"structure"` - // A service role ARN that allows AWS CodeDeploy to act on the user's behalf - // when interacting with AWS services. + // A service role Amazon Resource Name (ARN) that allows AWS CodeDeploy to act + // on the user's behalf when interacting with AWS services. // // ServiceRoleArn is a required field ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string" required:"true"` @@ -7400,6 +7605,44 @@ func (s *DeleteGitHubAccountTokenOutput) SetTokenName(v string) *DeleteGitHubAcc return s } +type DeleteResourcesByExternalIdInput struct { + _ struct{} `type:"structure"` + + // The unique ID of an external resource (for example, a CloudFormation stack + // ID) that is linked to one or more CodeDeploy resources. + ExternalId *string `locationName:"externalId" type:"string"` +} + +// String returns the string representation +func (s DeleteResourcesByExternalIdInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResourcesByExternalIdInput) GoString() string { + return s.String() +} + +// SetExternalId sets the ExternalId field's value. +func (s *DeleteResourcesByExternalIdInput) SetExternalId(v string) *DeleteResourcesByExternalIdInput { + s.ExternalId = &v + return s +} + +type DeleteResourcesByExternalIdOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteResourcesByExternalIdOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResourcesByExternalIdOutput) GoString() string { + return s.String() +} + // The deployment is already complete. type DeploymentAlreadyCompletedException struct { _ struct{} `type:"structure"` @@ -7457,7 +7700,7 @@ func (s *DeploymentAlreadyCompletedException) RequestID() string { } // A deployment configuration with the specified name with the IAM user or AWS -// account already exists . +// account already exists. type DeploymentConfigAlreadyExistsException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -7644,8 +7887,8 @@ type DeploymentConfigInfo struct { // Information about the number or percentage of minimum healthy instance. MinimumHealthyHosts *MinimumHealthyHosts `locationName:"minimumHealthyHosts" type:"structure"` - // The configuration that specifies how the deployment traffic is routed. Only - // deployments with a Lambda compute platform can specify this. + // The configuration that specifies how the deployment traffic is routed. Used + // for deployments with a Lambda or ECS compute platform only. TrafficRoutingConfig *TrafficRoutingConfig `locationName:"trafficRoutingConfig" type:"structure"` } @@ -8426,6 +8669,10 @@ type DeploymentInfo struct { // Information about any error associated with this deployment. ErrorInformation *ErrorInformation `locationName:"errorInformation" type:"structure"` + // The unique ID for an external resource (for example, a CloudFormation stack + // ID) that is linked to this deployment. + ExternalId *string `locationName:"externalId" type:"string"` + // Information about how AWS CodeDeploy handles files that already exist in // a deployment target location but weren't part of the previous successful // deployment. @@ -8611,6 +8858,12 @@ func (s *DeploymentInfo) SetErrorInformation(v *ErrorInformation) *DeploymentInf return s } +// SetExternalId sets the ExternalId field's value. +func (s *DeploymentInfo) SetExternalId(v string) *DeploymentInfo { + s.ExternalId = &v + return s +} + // SetFileExistsBehavior sets the FileExistsBehavior field's value. func (s *DeploymentInfo) SetFileExistsBehavior(v string) *DeploymentInfo { s.FileExistsBehavior = &v @@ -8936,7 +9189,7 @@ type DeploymentReadyOption struct { // The number of minutes to wait before the status of a blue/green deployment // is changed to Stopped if rerouting is not started manually. Applies only - // to the STOP_DEPLOYMENT option for actionOnTimeout + // to the STOP_DEPLOYMENT option for actionOnTimeout. WaitTimeInMinutes *int64 `locationName:"waitTimeInMinutes" type:"integer"` } @@ -9000,7 +9253,13 @@ func (s *DeploymentStyle) SetDeploymentType(v string) *DeploymentStyle { type DeploymentTarget struct { _ struct{} `type:"structure"` - // The deployment type that is specific to the deployment's compute platform. + // Information about the target to be updated by an AWS CloudFormation blue/green + // deployment. This target type is used for all deployments initiated by a CloudFormation + // stack update. + CloudFormationTarget *CloudFormationTarget `locationName:"cloudFormationTarget" type:"structure"` + + // The deployment type that is specific to the deployment's compute platform + // or deployments initiated by a CloudFormation stack update. DeploymentTargetType *string `locationName:"deploymentTargetType" type:"string" enum:"DeploymentTargetType"` // Information about the target for a deployment that uses the Amazon ECS compute @@ -9026,6 +9285,12 @@ func (s DeploymentTarget) GoString() string { return s.String() } +// SetCloudFormationTarget sets the CloudFormationTarget field's value. +func (s *DeploymentTarget) SetCloudFormationTarget(v *CloudFormationTarget) *DeploymentTarget { + s.CloudFormationTarget = v + return s +} + // SetDeploymentTargetType sets the DeploymentTargetType field's value. func (s *DeploymentTarget) SetDeploymentTargetType(v string) *DeploymentTarget { s.DeploymentTargetType = &v @@ -9580,7 +9845,7 @@ type ECSTarget struct { // The status an Amazon ECS deployment's target ECS application. Status *string `locationName:"status" type:"string" enum:"TargetStatus"` - // The ARN of the target. + // The Amazon Resource Name (ARN) of the target. TargetArn *string `locationName:"targetArn" type:"string"` // The unique ID of a deployment target that has a type of ecsTarget. @@ -10404,7 +10669,7 @@ type GetDeploymentTargetOutput struct { _ struct{} `type:"structure"` // A deployment target that contains information about a deployment such as - // its status, lifecyle events, and when it was last updated. It also contains + // its status, lifecycle events, and when it was last updated. It also contains // metadata about the deployment target. The deployment target metadata depends // on the deployment target's type (instanceTarget, lambdaTarget, or ecsTarget). DeploymentTarget *DeploymentTarget `locationName:"deploymentTarget" type:"structure"` @@ -11335,7 +11600,7 @@ type InstanceSummary struct { // * GREEN: The instance is part of the replacement environment. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` - // A timestamp that indicaties when the instance information was last updated. + // A timestamp that indicates when the instance information was last updated. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` // A list of lifecycle events for this instance. @@ -11424,7 +11689,7 @@ type InstanceTarget struct { // The status an EC2/On-premises deployment's target instance. Status *string `locationName:"status" type:"string" enum:"TargetStatus"` - // The ARN of the target. + // The Amazon Resource Name (ARN) of the target. TargetArn *string `locationName:"targetArn" type:"string"` // The unique ID of a deployment target that has a type of instanceTarget. @@ -11889,7 +12154,8 @@ func (s *InvalidBucketNameFilterException) RequestID() string { return s.RespMetadata.RequestID } -// The computePlatform is invalid. The computePlatform should be Lambda or Server. +// The computePlatform is invalid. The computePlatform should be Lambda, Server, +// or ECS. type InvalidComputePlatformException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -12621,6 +12887,62 @@ func (s *InvalidECSServiceException) RequestID() string { return s.RespMetadata.RequestID } +// The external ID was specified in an invalid format. +type InvalidExternalIdException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidExternalIdException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidExternalIdException) GoString() string { + return s.String() +} + +func newErrorInvalidExternalIdException(v protocol.ResponseMetadata) error { + return &InvalidExternalIdException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidExternalIdException) Code() string { + return "InvalidExternalIdException" +} + +// Message returns the exception's message. +func (s *InvalidExternalIdException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidExternalIdException) OrigErr() error { + return nil +} + +func (s *InvalidExternalIdException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidExternalIdException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidExternalIdException) RequestID() string { + return s.RespMetadata.RequestID +} + // An invalid fileExistsBehavior option was specified to determine how AWS CodeDeploy // handles files or directories that already exist in a deployment target location, // but weren't part of the previous successful deployment. Valid values include @@ -14499,8 +14821,9 @@ type LambdaFunctionInfo struct { // The version of a Lambda function that production traffic points to. CurrentVersion *string `locationName:"currentVersion" type:"string"` - // The alias of a Lambda function. For more information, see Introduction to - // AWS Lambda Aliases (https://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html). + // The alias of a Lambda function. For more information, see AWS Lambda Function + // Aliases (https://docs.aws.amazon.com/lambda/latest/dg/aliases-intro.html) + // in the AWS Lambda Developer Guide. FunctionAlias *string `locationName:"functionAlias" type:"string"` // The name of a Lambda function. @@ -14574,7 +14897,7 @@ type LambdaTarget struct { // The status an AWS Lambda deployment's target Lambda function. Status *string `locationName:"status" type:"string" enum:"TargetStatus"` - // The ARN of the target. + // The Amazon Resource Name (ARN) of the target. TargetArn *string `locationName:"targetArn" type:"string"` // The unique ID of a deployment target that has a type of lambdaTarget. @@ -14883,7 +15206,7 @@ type ListApplicationRevisionsInput struct { ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"` // Whether to list revisions based on whether the revision is the target revision - // of an deployment group: + // of a deployment group: // // * include: List revisions that are target revisions of a deployment group. // @@ -15469,6 +15792,10 @@ type ListDeploymentsInput struct { // If it is not specified, then applicationName must not be specified. DeploymentGroupName *string `locationName:"deploymentGroupName" min:"1" type:"string"` + // The unique ID of an external resource for returning deployments linked to + // the external resource. + ExternalId *string `locationName:"externalId" type:"string"` + // A subset of deployments to list by status: // // * Created: Include created deployments in the resulting list. @@ -15533,6 +15860,12 @@ func (s *ListDeploymentsInput) SetDeploymentGroupName(v string) *ListDeployments return s } +// SetExternalId sets the ExternalId field's value. +func (s *ListDeploymentsInput) SetExternalId(v string) *ListDeploymentsInput { + s.ExternalId = &v + return s +} + // SetIncludeOnlyStatuses sets the IncludeOnlyStatuses field's value. func (s *ListDeploymentsInput) SetIncludeOnlyStatuses(v []*string) *ListDeploymentsInput { s.IncludeOnlyStatuses = v @@ -15870,16 +16203,16 @@ type MinimumHealthyHosts struct { // The minimum healthy instance type: // - // * HOST_COUNT: The minimum number of healthy instance as an absolute value. + // * HOST_COUNT: The minimum number of healthy instances as an absolute value. // - // * FLEET_PERCENT: The minimum number of healthy instance as a percentage - // of the total number of instance in the deployment. + // * FLEET_PERCENT: The minimum number of healthy instances as a percentage + // of the total number of instances in the deployment. // - // In an example of nine instance, if a HOST_COUNT of six is specified, deploy + // In an example of nine instances, if a HOST_COUNT of six is specified, deploy // to up to three instances at a time. The deployment is successful if six or // more instances are deployed to successfully. Otherwise, the deployment fails. - // If a FLEET_PERCENT of 40 is specified, deploy to up to five instance at a - // time. The deployment is successful if four or more instance are deployed + // If a FLEET_PERCENT of 40 is specified, deploy to up to five instances at + // a time. The deployment is successful if four or more instances are deployed // to successfully. Otherwise, the deployment fails. // // In a call to the GetDeploymentConfig, CodeDeployDefault.OneAtATime returns @@ -16609,6 +16942,10 @@ type RevisionLocation struct { // // * String: A YAML-formatted or JSON-formatted string (AWS Lambda deployments // only). + // + // * AppSpecContent: An AppSpecContent object that contains the contents + // of an AppSpec file for an AWS Lambda or Amazon ECS deployment. The content + // is formatted as JSON or YAML stored as a RawString. RevisionType *string `locationName:"revisionType" type:"string" enum:"RevisionLocationType"` // Information about the location of a revision stored in Amazon S3. @@ -17520,8 +17857,9 @@ func (s *ThrottlingException) RequestID() string { } // A configuration that shifts traffic from one version of a Lambda function -// to another in two increments. The original and target Lambda function versions -// are specified in the deployment's AppSpec file. +// or ECS task set to another in two increments. The original and target Lambda +// function versions or ECS task sets are specified in the deployment's AppSpec +// file. type TimeBasedCanary struct { _ struct{} `type:"structure"` @@ -17557,9 +17895,9 @@ func (s *TimeBasedCanary) SetCanaryPercentage(v int64) *TimeBasedCanary { } // A configuration that shifts traffic from one version of a Lambda function -// to another in equal increments, with an equal number of minutes between each -// increment. The original and target Lambda function versions are specified -// in the deployment's AppSpec file. +// or ECS task set to another in equal increments, with an equal number of minutes +// between each increment. The original and target Lambda function versions +// or ECS task sets are specified in the deployment's AppSpec file. type TimeBasedLinear struct { _ struct{} `type:"structure"` @@ -17636,9 +17974,9 @@ func (s *TimeRange) SetStart(v time.Time) *TimeRange { type TrafficRoute struct { _ struct{} `type:"structure"` - // The ARN of one listener. The listener identifies the route between a target - // group and a load balancer. This is an array of strings with a maximum size - // of one. + // The Amazon Resource Name (ARN) of one listener. The listener identifies the + // route between a target group and a load balancer. This is an array of strings + // with a maximum size of one. ListenerArns []*string `locationName:"listenerArns" type:"list"` } @@ -17659,23 +17997,25 @@ func (s *TrafficRoute) SetListenerArns(v []*string) *TrafficRoute { } // The configuration that specifies how traffic is shifted from one version -// of a Lambda function to another version during an AWS Lambda deployment. +// of a Lambda function to another version during an AWS Lambda deployment, +// or from one Amazon ECS task set to another during an Amazon ECS deployment. type TrafficRoutingConfig struct { _ struct{} `type:"structure"` // A configuration that shifts traffic from one version of a Lambda function - // to another in two increments. The original and target Lambda function versions - // are specified in the deployment's AppSpec file. + // or ECS task set to another in two increments. The original and target Lambda + // function versions or ECS task sets are specified in the deployment's AppSpec + // file. TimeBasedCanary *TimeBasedCanary `locationName:"timeBasedCanary" type:"structure"` // A configuration that shifts traffic from one version of a Lambda function - // to another in equal increments, with an equal number of minutes between each - // increment. The original and target Lambda function versions are specified - // in the deployment's AppSpec file. + // or ECS task set to another in equal increments, with an equal number of minutes + // between each increment. The original and target Lambda function versions + // or ECS task sets are specified in the deployment's AppSpec file. TimeBasedLinear *TimeBasedLinear `locationName:"timeBasedLinear" type:"structure"` // The type of traffic shifting (TimeBasedCanary or TimeBasedLinear) used by - // a deployment configuration . + // a deployment configuration. Type *string `locationName:"type" type:"string" enum:"TrafficRoutingType"` } @@ -17717,8 +18057,9 @@ type TriggerConfig struct { // The name of the notification trigger. TriggerName *string `locationName:"triggerName" type:"string"` - // The ARN of the Amazon Simple Notification Service topic through which notifications - // about deployment or instance events are sent. + // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service + // topic through which notifications about deployment or instance events are + // sent. TriggerTargetArn *string `locationName:"triggerTargetArn" type:"string"` } @@ -17865,8 +18206,8 @@ func (s *UnsupportedActionForDeploymentTypeException) RequestID() string { type UntagResourceInput struct { _ struct{} `type:"structure"` - // The ARN that specifies from which resource to disassociate the tags with - // the keys in the TagKeys input paramter. + // The Amazon Resource Name (ARN) that specifies from which resource to disassociate + // the tags with the keys in the TagKeys input parameter. // // ResourceArn is a required field ResourceArn *string `min:"1" type:"string" required:"true"` @@ -18069,7 +18410,7 @@ type UpdateDeploymentGroupInput struct { ServiceRoleArn *string `locationName:"serviceRoleArn" type:"string"` // Information about triggers to change when the deployment group is updated. - // For examples, see Modify Triggers in an AWS CodeDeploy Deployment Group (https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-edit.html) + // For examples, see Edit a Trigger in a CodeDeploy Deployment Group (https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-edit.html) // in the AWS CodeDeploy User Guide. TriggerConfigurations []*TriggerConfig `locationName:"triggerConfigurations" type:"list"` } @@ -18301,6 +18642,15 @@ const ( // DeploymentCreatorCodeDeployRollback is a DeploymentCreator enum value DeploymentCreatorCodeDeployRollback = "codeDeployRollback" + + // DeploymentCreatorCodeDeploy is a DeploymentCreator enum value + DeploymentCreatorCodeDeploy = "CodeDeploy" + + // DeploymentCreatorCloudFormation is a DeploymentCreator enum value + DeploymentCreatorCloudFormation = "CloudFormation" + + // DeploymentCreatorCloudFormationRollback is a DeploymentCreator enum value + DeploymentCreatorCloudFormationRollback = "CloudFormationRollback" ) const ( @@ -18329,6 +18679,9 @@ const ( // DeploymentStatusInProgress is a DeploymentStatus enum value DeploymentStatusInProgress = "InProgress" + // DeploymentStatusBaking is a DeploymentStatus enum value + DeploymentStatusBaking = "Baking" + // DeploymentStatusSucceeded is a DeploymentStatus enum value DeploymentStatusSucceeded = "Succeeded" @@ -18351,6 +18704,9 @@ const ( // DeploymentTargetTypeEcstarget is a DeploymentTargetType enum value DeploymentTargetTypeEcstarget = "ECSTarget" + + // DeploymentTargetTypeCloudFormationTarget is a DeploymentTargetType enum value + DeploymentTargetTypeCloudFormationTarget = "CloudFormationTarget" ) const ( @@ -18479,6 +18835,9 @@ const ( // ErrorCodeTimeout is a ErrorCode enum value ErrorCodeTimeout = "TIMEOUT" + + // ErrorCodeCloudformationStackFailure is a ErrorCode enum value + ErrorCodeCloudformationStackFailure = "CLOUDFORMATION_STACK_FAILURE" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/errors.go b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/errors.go index 89a7dac6881..11057d7b21e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codedeploy/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/codedeploy/errors.go @@ -68,7 +68,7 @@ const ( // "DeploymentConfigAlreadyExistsException". // // A deployment configuration with the specified name with the IAM user or AWS - // account already exists . + // account already exists. ErrCodeDeploymentConfigAlreadyExistsException = "DeploymentConfigAlreadyExistsException" // ErrCodeDeploymentConfigDoesNotExistException for service response error code @@ -318,7 +318,8 @@ const ( // ErrCodeInvalidComputePlatformException for service response error code // "InvalidComputePlatformException". // - // The computePlatform is invalid. The computePlatform should be Lambda or Server. + // The computePlatform is invalid. The computePlatform should be Lambda, Server, + // or ECS. ErrCodeInvalidComputePlatformException = "InvalidComputePlatformException" // ErrCodeInvalidDeployedStateFilterException for service response error code @@ -397,6 +398,12 @@ const ( // The Amazon ECS service identifier is not valid. ErrCodeInvalidECSServiceException = "InvalidECSServiceException" + // ErrCodeInvalidExternalIdException for service response error code + // "InvalidExternalIdException". + // + // The external ID was specified in an invalid format. + ErrCodeInvalidExternalIdException = "InvalidExternalIdException" + // ErrCodeInvalidFileExistsBehaviorException for service response error code // "InvalidFileExistsBehaviorException". // @@ -772,6 +779,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidEC2TagCombinationException": newErrorInvalidEC2TagCombinationException, "InvalidEC2TagException": newErrorInvalidEC2TagException, "InvalidECSServiceException": newErrorInvalidECSServiceException, + "InvalidExternalIdException": newErrorInvalidExternalIdException, "InvalidFileExistsBehaviorException": newErrorInvalidFileExistsBehaviorException, "InvalidGitHubAccountTokenException": newErrorInvalidGitHubAccountTokenException, "InvalidGitHubAccountTokenNameException": newErrorInvalidGitHubAccountTokenNameException, diff --git a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go index 428171c8443..19b374454bc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go @@ -1551,6 +1551,10 @@ func (c *CognitoIdentityProvider) AdminLinkProviderForUserRequest(input *AdminLi // account. This exception tells user that an account with this email or phone // already exists. // +// * LimitExceededException +// This exception is thrown when a user exceeds the limit for a requested AWS +// resource. +// // * InternalErrorException // This exception is thrown when Amazon Cognito encounters an internal error. // @@ -7204,6 +7208,7 @@ func (c *CognitoIdentityProvider) InitiateAuthRequest(input *InitiateAuthInput) output = &InitiateAuthOutput{} req = c.newRequest(op, input, output) + req.Config.Credentials = credentials.AnonymousCredentials return } @@ -8828,6 +8833,7 @@ func (c *CognitoIdentityProvider) RespondToAuthChallengeRequest(input *RespondTo output = &RespondToAuthChallengeOutput{} req = c.newRequest(op, input, output) + req.Config.Credentials = credentials.AnonymousCredentials return } @@ -12912,7 +12918,7 @@ type AdminInitiateAuthInput struct { // // * For CUSTOM_AUTH: USERNAME (required), SECRET_HASH (if app client is // configured with client secret), DEVICE_KEY - AuthParameters map[string]*string `type:"map"` + AuthParameters map[string]*string `type:"map" sensitive:"true"` // The app client ID. // @@ -20691,7 +20697,7 @@ type InitiateAuthInput struct { // // * For CUSTOM_AUTH: USERNAME (required), SECRET_HASH (if app client is // configured with client secret), DEVICE_KEY - AuthParameters map[string]*string `type:"map"` + AuthParameters map[string]*string `type:"map" sensitive:"true"` // The app client ID. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/configservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/configservice/api.go index f767f1baf2d..1d642bb8207 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/configservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/configservice/api.go @@ -915,8 +915,12 @@ func (c *ConfigService) DeleteOrganizationConfigRuleRequest(input *DeleteOrganiz // DeleteOrganizationConfigRule API operation for AWS Config. // // Deletes the specified organization config rule and all of its evaluation -// results from all member accounts in that organization. Only a master account -// can delete an organization config rule. +// results from all member accounts in that organization. +// +// Only a master account and a delegated administrator account can delete an +// organization config rule. When calling this API with a delegated administrator, +// you must ensure AWS Organizations ListDelegatedAdministrator permissions +// are added. // // AWS Config sets the state of a rule to DELETE_IN_PROGRESS until the deletion // is complete. You cannot update a rule while it is in this state. @@ -1036,7 +1040,11 @@ func (c *ConfigService) DeleteOrganizationConformancePackRequest(input *DeleteOr // // Deletes the specified organization conformance pack and all of the config // rules and remediation actions from all member accounts in that organization. -// Only a master account can delete an organization conformance pack. +// +// Only a master account or a delegated administrator account can delete an +// organization conformance pack. When calling this API with a delegated administrator, +// you must ensure AWS Organizations ListDelegatedAdministrator permissions +// are added. // // AWS Config sets the state of a conformance pack to DELETE_IN_PROGRESS until // the deletion is complete. You cannot update a conformance pack while it is @@ -1343,6 +1351,10 @@ func (c *ConfigService) DeleteRemediationExceptionsRequest(input *DeleteRemediat // // Deletes one or more remediation exceptions mentioned in the resource keys. // +// AWS Config generates a remediation exception when a problem occurs executing +// a remediation action to a specific resource. Remediation exceptions blocks +// auto-remediation until the exception is cleared. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -2727,6 +2739,10 @@ func (c *ConfigService) DescribeConformancePackStatusRequest(input *DescribeConf // The specified next token is invalid. Specify the nextToken string that was // returned in the previous response to get the next page of results. // +// * InvalidParameterValueException +// One or more of the specified parameters are invalid. Verify that your parameters +// are valid and try again. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePackStatus func (c *ConfigService) DescribeConformancePackStatus(input *DescribeConformancePackStatusInput) (*DescribeConformancePackStatusOutput, error) { req, out := c.DescribeConformancePackStatusRequest(input) @@ -2813,6 +2829,10 @@ func (c *ConfigService) DescribeConformancePacksRequest(input *DescribeConforman // The specified next token is invalid. Specify the nextToken string that was // returned in the previous response to get the next page of results. // +// * InvalidParameterValueException +// One or more of the specified parameters are invalid. Verify that your parameters +// are valid and try again. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/DescribeConformancePacks func (c *ConfigService) DescribeConformancePacks(input *DescribeConformancePacksInput) (*DescribeConformancePacksOutput, error) { req, out := c.DescribeConformancePacksRequest(input) @@ -3047,6 +3067,10 @@ func (c *ConfigService) DescribeOrganizationConfigRuleStatusesRequest(input *Des // // Provides organization config rule deployment status for an organization. // +// Only a master account and a delegated administrator account can call this +// API. When calling this API with a delegated administrator, you must ensure +// AWS Organizations ListDelegatedAdministrator permissions are added. +// // The status is not considered successful until organization config rule is // successfully deployed in all the member accounts with an exception of excluded // accounts. @@ -3056,8 +3080,6 @@ func (c *ConfigService) DescribeOrganizationConfigRuleStatusesRequest(input *Des // rule names. It is only applicable, when you request all the organization // config rules. // -// Only a master account can call this API. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3152,13 +3174,15 @@ func (c *ConfigService) DescribeOrganizationConfigRulesRequest(input *DescribeOr // // Returns a list of organization config rules. // +// Only a master account and a delegated administrator account can call this +// API. When calling this API with a delegated administrator, you must ensure +// AWS Organizations ListDelegatedAdministrator permissions are added. +// // When you specify the limit and the next token, you receive a paginated response. // Limit and next token are not applicable if you specify organization config // rule names. It is only applicable, when you request all the organization // config rules. // -// Only a master account can call this API. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3253,6 +3277,10 @@ func (c *ConfigService) DescribeOrganizationConformancePackStatusesRequest(input // // Provides organization conformance pack deployment status for an organization. // +// Only a master account and a delegated administrator account can call this +// API. When calling this API with a delegated administrator, you must ensure +// AWS Organizations ListDelegatedAdministrator permissions are added. +// // The status is not considered successful until organization conformance pack // is successfully deployed in all the member accounts with an exception of // excluded accounts. @@ -3262,8 +3290,6 @@ func (c *ConfigService) DescribeOrganizationConformancePackStatusesRequest(input // pack names. They are only applicable, when you request all the organization // conformance packs. // -// Only a master account can call this API. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3362,14 +3388,16 @@ func (c *ConfigService) DescribeOrganizationConformancePacksRequest(input *Descr // // Returns a list of organization conformance packs. // +// Only a master account and a delegated administrator account can call this +// API. When calling this API with a delegated administrator, you must ensure +// AWS Organizations ListDelegatedAdministrator permissions are added. +// // When you specify the limit and the next token, you receive a paginated response. // // Limit and next token are not applicable if you specify organization conformance // packs names. They are only applicable, when you request all the organization // conformance packs. // -// Only a master account can call this API. -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3638,6 +3666,10 @@ func (c *ConfigService) DescribeRemediationExceptionsRequest(input *DescribeReme // of an exception and the time when the exception will be deleted. When you // specify the limit and the next token, you receive a paginated response. // +// AWS Config generates a remediation exception when a problem occurs executing +// a remediation action to a specific resource. Remediation exceptions blocks +// auto-remediation until the exception is cleared. +// // When you specify the limit and the next token, you receive a paginated response. // // Limit and next token are not applicable if you request resources in batch. @@ -5019,7 +5051,9 @@ func (c *ConfigService) GetOrganizationConfigRuleDetailedStatusRequest(input *Ge // Returns detailed status for each member account within an organization for // a given organization config rule. // -// Only a master account can call this API. +// Only a master account and a delegated administrator account can call this +// API. When calling this API with a delegated administrator, you must ensure +// AWS Organizations ListDelegatedAdministrator permissions are added. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5116,7 +5150,9 @@ func (c *ConfigService) GetOrganizationConformancePackDetailedStatusRequest(inpu // Returns detailed status for each member account within an organization for // a given organization conformance pack. // -// Only a master account can call this API. +// Only a master account and a delegated administrator account can call this +// API. When calling this API with a delegated administrator, you must ensure +// AWS Organizations ListDelegatedAdministrator permissions are added. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6143,8 +6179,7 @@ func (c *ConfigService) PutConformancePackRequest(input *PutConformancePackInput // // This API creates a service linked role AWSServiceRoleForConfigConforms in // your account. The service linked role is created only when the role does -// not exist in your account. AWS Config verifies the existence of role with -// GetRole action. +// not exist in your account. // // You must specify either the TemplateS3Uri or the TemplateBody parameter, // but not both. If you provide both AWS Config uses the TemplateS3Uri parameter @@ -6481,25 +6516,36 @@ func (c *ConfigService) PutOrganizationConfigRuleRequest(input *PutOrganizationC // PutOrganizationConfigRule API operation for AWS Config. // // Adds or updates organization config rule for your entire organization evaluating -// whether your AWS resources comply with your desired configurations. Only -// a master account can create or update an organization config rule. +// whether your AWS resources comply with your desired configurations. +// +// Only a master account and a delegated administrator can create or update +// an organization config rule. When calling this API with a delegated administrator, +// you must ensure AWS Organizations ListDelegatedAdministrator permissions +// are added. // // This API enables organization service access through the EnableAWSServiceAccess // action and creates a service linked role AWSServiceRoleForConfigMultiAccountSetup -// in the master account of your organization. The service linked role is created -// only when the role does not exist in the master account. AWS Config verifies -// the existence of role with GetRole action. +// in the master or delegated administrator account of your organization. The +// service linked role is created only when the role does not exist in the caller +// account. AWS Config verifies the existence of role with GetRole action. +// +// To use this API with delegated administrator, register a delegated administrator +// by calling AWS Organization register-delegated-administrator for config-multiaccountsetup.amazonaws.com. // // You can use this action to create both custom AWS Config rules and AWS managed // Config rules. If you are adding a new custom AWS Config rule, you must first -// create AWS Lambda function in the master account that the rule invokes to -// evaluate your resources. When you use the PutOrganizationConfigRule action -// to add the rule to AWS Config, you must specify the Amazon Resource Name -// (ARN) that AWS Lambda assigns to the function. If you are adding an AWS managed -// Config rule, specify the rule's identifier for the RuleIdentifier key. +// create AWS Lambda function in the master account or a delegated administrator +// that the rule invokes to evaluate your resources. When you use the PutOrganizationConfigRule +// action to add the rule to AWS Config, you must specify the Amazon Resource +// Name (ARN) that AWS Lambda assigns to the function. If you are adding an +// AWS managed Config rule, specify the rule's identifier for the RuleIdentifier +// key. // // The maximum number of organization config rules that AWS Config supports -// is 150. +// is 150 and 3 delegated administrator per organization. +// +// Prerequisite: Ensure you call EnableAllFeatures API to enable all features +// in an organization. // // Specify either OrganizationCustomRuleMetadata or OrganizationManagedRuleMetadata. // @@ -6649,21 +6695,31 @@ func (c *ConfigService) PutOrganizationConformancePackRequest(input *PutOrganiza // // Deploys conformance packs across member accounts in an AWS Organization. // +// Only a master account and a delegated administrator can call this API. When +// calling this API with a delegated administrator, you must ensure AWS Organizations +// ListDelegatedAdministrator permissions are added. +// // This API enables organization service access for config-multiaccountsetup.amazonaws.com // through the EnableAWSServiceAccess action and creates a service linked role -// AWSServiceRoleForConfigMultiAccountSetup in the master account of your organization. -// The service linked role is created only when the role does not exist in the -// master account. AWS Config verifies the existence of role with GetRole action. +// AWSServiceRoleForConfigMultiAccountSetup in the master or delegated administrator +// account of your organization. The service linked role is created only when +// the role does not exist in the caller account. To use this API with delegated +// administrator, register a delegated administrator by calling AWS Organization +// register-delegate-admin for config-multiaccountsetup.amazonaws.com. +// +// Prerequisite: Ensure you call EnableAllFeatures API to enable all features +// in an organization. // // You must specify either the TemplateS3Uri or the TemplateBody parameter, // but not both. If you provide both AWS Config uses the TemplateS3Uri parameter // and ignores the TemplateBody parameter. // // AWS Config sets the state of a conformance pack to CREATE_IN_PROGRESS and -// UPDATE_IN_PROGRESS until the confomance pack is created or updated. You cannot -// update a conformance pack while it is in this state. +// UPDATE_IN_PROGRESS until the conformance pack is created or updated. You +// cannot update a conformance pack while it is in this state. // -// You can create 6 conformance packs with 25 AWS Config rules in each pack. +// You can create 6 conformance packs with 25 AWS Config rules in each pack +// and 3 delegated administrator per organization. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6815,6 +6871,9 @@ func (c *ConfigService) PutRemediationConfigurationsRequest(input *PutRemediatio // you to add a remediation configuration. The target (SSM document) must exist // and have permissions to use the target. // +// If you make backward incompatible changes to the SSM document, you must call +// this again to ensure the remediations can run. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -6914,6 +6973,10 @@ func (c *ConfigService) PutRemediationExceptionsRequest(input *PutRemediationExc // for auto-remediation. This API adds a new exception or updates an exisiting // exception for a specific resource with a specific AWS Config rule. // +// AWS Config generates a remediation exception when a problem occurs executing +// a remediation action to a specific resource. Remediation exceptions blocks +// auto-remediation until the exception is cleared. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -6926,6 +6989,23 @@ func (c *ConfigService) PutRemediationExceptionsRequest(input *PutRemediationExc // One or more of the specified parameters are invalid. Verify that your parameters // are valid and try again. // +// * InsufficientPermissionsException +// Indicates one of the following errors: +// +// * For PutConfigRule, the rule cannot be created because the IAM role assigned +// to AWS Config lacks permissions to perform the config:Put* action. +// +// * For PutConfigRule, the AWS Lambda function cannot be invoked. Check +// the function ARN, and check the function's permissions. +// +// * For PutOrganizationConfigRule, organization config rule cannot be created +// because you do not have permissions to call IAM GetRole action or create +// a service linked role. +// +// * For PutConformancePack and PutOrganizationConformancePack, a conformance +// pack cannot be created because you do not have permissions: To call IAM +// GetRole action or create a service linked role. To read Amazon S3 bucket. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/PutRemediationExceptions func (c *ConfigService) PutRemediationExceptions(input *PutRemediationExceptionsInput) (*PutRemediationExceptionsOutput, error) { req, out := c.PutRemediationExceptionsRequest(input) @@ -7006,6 +7086,9 @@ func (c *ConfigService) PutResourceConfigRequest(input *PutResourceConfigInput) // resource provided in the request. This API does not change or remediate the // configuration of the resource. // +// Write-only schema properites are not recorded as part of the published configuration +// item. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -8489,7 +8572,23 @@ type BaseConfigurationItem struct { // The time when the configuration recording was initiated. ConfigurationItemCaptureTime *time.Time `locationName:"configurationItemCaptureTime" type:"timestamp"` - // The configuration item status. + // The configuration item status. The valid values are: + // + // * OK – The resource configuration has been updated + // + // * ResourceDiscovered – The resource was newly discovered + // + // * ResourceNotRecorded – The resource was discovered but its configuration + // was not recorded since the recorder excludes the recording of resources + // of this type + // + // * ResourceDeleted – The resource was deleted + // + // * ResourceDeletedNotRecorded – The resource was deleted but its configuration + // was not recorded since the recorder excludes the recording of resources + // of this type + // + // The CIs do not incur any cost. ConfigurationItemStatus *string `locationName:"configurationItemStatus" type:"string" enum:"ConfigurationItemStatus"` // An identifier that indicates the ordering of the configuration items of a @@ -9190,6 +9289,8 @@ type ConfigRule struct { // to constrain the resources that can trigger an evaluation for the rule. If // you do not specify a scope, evaluations are triggered when any resource in // the recording group changes. + // + // The scope can be empty. Scope *Scope `type:"structure"` // Provides the rule owner (AWS or customer), the rule identifier, and the notifications @@ -9455,6 +9556,7 @@ type ConfigRuleEvaluationStatus struct { // against the rule. FirstEvaluationStarted *bool `type:"boolean"` + // The time that you last turned off the AWS Config rule. LastDeactivatedTime *time.Time `type:"timestamp"` // The error code that AWS Config returned when the rule last failed. @@ -9691,6 +9793,9 @@ type ConfigurationAggregator struct { // The name of the aggregator. ConfigurationAggregatorName *string `min:"1" type:"string"` + // AWS service that created the configuration aggregator. + CreatedBy *string `min:"1" type:"string"` + // The time stamp when the configuration aggregator was created. CreationTime *time.Time `type:"timestamp"` @@ -9729,6 +9834,12 @@ func (s *ConfigurationAggregator) SetConfigurationAggregatorName(v string) *Conf return s } +// SetCreatedBy sets the CreatedBy field's value. +func (s *ConfigurationAggregator) SetCreatedBy(v string) *ConfigurationAggregator { + s.CreatedBy = &v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *ConfigurationAggregator) SetCreationTime(v time.Time) *ConfigurationAggregator { s.CreationTime = &v @@ -9775,7 +9886,23 @@ type ConfigurationItem struct { // that are associated with the same resource. ConfigurationItemMD5Hash *string `locationName:"configurationItemMD5Hash" type:"string"` - // The configuration item status. + // The configuration item status. The valid values are: + // + // * OK – The resource configuration has been updated + // + // * ResourceDiscovered – The resource was newly discovered + // + // * ResourceNotRecorded – The resource was discovered but its configuration + // was not recorded since the recorder excludes the recording of resources + // of this type + // + // * ResourceDeleted – The resource was deleted + // + // * ResourceDeletedNotRecorded – The resource was deleted but its configuration + // was not recorded since the recorder excludes the recording of resources + // of this type + // + // The CIs do not incur any cost. ConfigurationItemStatus *string `locationName:"configurationItemStatus" type:"string" enum:"ConfigurationItemStatus"` // An identifier that indicates the ordering of the configuration items of a @@ -10397,8 +10524,8 @@ func (s *ConformancePackEvaluationResult) SetResultRecordedTime(v time.Time) *Co } // Input parameters in the form of key-value pairs for the conformance pack, -// both of which you define. Keys can have a maximum character length of 128 -// characters, and values can have a maximum length of 256 characters. +// both of which you define. Keys can have a maximum character length of 255 +// characters, and values can have a maximum length of 4096 characters. type ConformancePackInputParameter struct { _ struct{} `type:"structure"` @@ -21000,8 +21127,8 @@ type RemediationConfiguration struct { // select a number, the default is 5. // // For example, if you specify MaximumAutomaticAttempts as 5 with RetryAttemptsSeconds - // as 50 seconds, AWS Config throws an exception after the 5th failed attempt - // within 50 seconds. + // as 50 seconds, AWS Config will put a RemediationException on your behalf + // for the failing resource after the 5th failed attempt within 50 seconds. MaximumAutomaticAttempts *int64 `min:"1" type:"integer"` // An object of the RemediationParameterValue. @@ -21029,6 +21156,9 @@ type RemediationConfiguration struct { TargetType *string `type:"string" required:"true" enum:"RemediationTargetType"` // Version of the target. For example, version of the SSM document. + // + // If you make backward incompatible changes to the SSM document, you must call + // PutRemediationConfiguration API again to ensure the remediations can run. TargetVersion *string `type:"string"` } @@ -22152,6 +22282,8 @@ type SelectAggregateResourceConfigInput struct { // The maximum number of query results returned on each page. Limit *int64 `type:"integer"` + // The maximum number of query results returned on each page. AWS Config also + // allows the Limit request parameter. MaxResults *int64 `type:"integer"` // The nextToken string returned in a previous request that you use to request @@ -23867,6 +23999,15 @@ const ( // ResourceTypeAwsQldbLedger is a ResourceType enum value ResourceTypeAwsQldbLedger = "AWS::QLDB::Ledger" + + // ResourceTypeAwsSecretsManagerSecret is a ResourceType enum value + ResourceTypeAwsSecretsManagerSecret = "AWS::SecretsManager::Secret" + + // ResourceTypeAwsSnsTopic is a ResourceType enum value + ResourceTypeAwsSnsTopic = "AWS::SNS::Topic" + + // ResourceTypeAwsSsmFileData is a ResourceType enum value + ResourceTypeAwsSsmFileData = "AWS::SSM::FileData" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go index eb43d9e24ad..6a926afa588 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/api.go @@ -176,6 +176,97 @@ func (c *DatabaseMigrationService) ApplyPendingMaintenanceActionWithContext(ctx return out, req.Send() } +const opCancelReplicationTaskAssessmentRun = "CancelReplicationTaskAssessmentRun" + +// CancelReplicationTaskAssessmentRunRequest generates a "aws/request.Request" representing the +// client's request for the CancelReplicationTaskAssessmentRun operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CancelReplicationTaskAssessmentRun for more information on using the CancelReplicationTaskAssessmentRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CancelReplicationTaskAssessmentRunRequest method. +// req, resp := client.CancelReplicationTaskAssessmentRunRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CancelReplicationTaskAssessmentRun +func (c *DatabaseMigrationService) CancelReplicationTaskAssessmentRunRequest(input *CancelReplicationTaskAssessmentRunInput) (req *request.Request, output *CancelReplicationTaskAssessmentRunOutput) { + op := &request.Operation{ + Name: opCancelReplicationTaskAssessmentRun, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CancelReplicationTaskAssessmentRunInput{} + } + + output = &CancelReplicationTaskAssessmentRunOutput{} + req = c.newRequest(op, input, output) + return +} + +// CancelReplicationTaskAssessmentRun API operation for AWS Database Migration Service. +// +// Cancels a single premigration assessment run. +// +// This operation prevents any individual assessments from running if they haven't +// started running. It also attempts to cancel any individual assessments that +// are currently running. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Database Migration Service's +// API operation CancelReplicationTaskAssessmentRun for usage and error information. +// +// Returned Error Types: +// * AccessDeniedFault +// AWS DMS was denied access to the endpoint. Check that the role is correctly +// configured. +// +// * ResourceNotFoundFault +// The resource could not be found. +// +// * InvalidResourceStateFault +// The resource is in a state that prevents it from being used for database +// migration. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CancelReplicationTaskAssessmentRun +func (c *DatabaseMigrationService) CancelReplicationTaskAssessmentRun(input *CancelReplicationTaskAssessmentRunInput) (*CancelReplicationTaskAssessmentRunOutput, error) { + req, out := c.CancelReplicationTaskAssessmentRunRequest(input) + return out, req.Send() +} + +// CancelReplicationTaskAssessmentRunWithContext is the same as CancelReplicationTaskAssessmentRun with the addition of +// the ability to pass a context and additional request options. +// +// See CancelReplicationTaskAssessmentRun for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DatabaseMigrationService) CancelReplicationTaskAssessmentRunWithContext(ctx aws.Context, input *CancelReplicationTaskAssessmentRunInput, opts ...request.Option) (*CancelReplicationTaskAssessmentRunOutput, error) { + req, out := c.CancelReplicationTaskAssessmentRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateEndpoint = "CreateEndpoint" // CreateEndpointRequest generates a "aws/request.Request" representing the @@ -1295,6 +1386,97 @@ func (c *DatabaseMigrationService) DeleteReplicationTaskWithContext(ctx aws.Cont return out, req.Send() } +const opDeleteReplicationTaskAssessmentRun = "DeleteReplicationTaskAssessmentRun" + +// DeleteReplicationTaskAssessmentRunRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReplicationTaskAssessmentRun operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteReplicationTaskAssessmentRun for more information on using the DeleteReplicationTaskAssessmentRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteReplicationTaskAssessmentRunRequest method. +// req, resp := client.DeleteReplicationTaskAssessmentRunRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationTaskAssessmentRun +func (c *DatabaseMigrationService) DeleteReplicationTaskAssessmentRunRequest(input *DeleteReplicationTaskAssessmentRunInput) (req *request.Request, output *DeleteReplicationTaskAssessmentRunOutput) { + op := &request.Operation{ + Name: opDeleteReplicationTaskAssessmentRun, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteReplicationTaskAssessmentRunInput{} + } + + output = &DeleteReplicationTaskAssessmentRunOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteReplicationTaskAssessmentRun API operation for AWS Database Migration Service. +// +// Deletes the record of a single premigration assessment run. +// +// This operation removes all metadata that AWS DMS maintains about this assessment +// run. However, the operation leaves untouched all information about this assessment +// run that is stored in your Amazon S3 bucket. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Database Migration Service's +// API operation DeleteReplicationTaskAssessmentRun for usage and error information. +// +// Returned Error Types: +// * AccessDeniedFault +// AWS DMS was denied access to the endpoint. Check that the role is correctly +// configured. +// +// * ResourceNotFoundFault +// The resource could not be found. +// +// * InvalidResourceStateFault +// The resource is in a state that prevents it from being used for database +// migration. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DeleteReplicationTaskAssessmentRun +func (c *DatabaseMigrationService) DeleteReplicationTaskAssessmentRun(input *DeleteReplicationTaskAssessmentRunInput) (*DeleteReplicationTaskAssessmentRunOutput, error) { + req, out := c.DeleteReplicationTaskAssessmentRunRequest(input) + return out, req.Send() +} + +// DeleteReplicationTaskAssessmentRunWithContext is the same as DeleteReplicationTaskAssessmentRun with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteReplicationTaskAssessmentRun for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DatabaseMigrationService) DeleteReplicationTaskAssessmentRunWithContext(ctx aws.Context, input *DeleteReplicationTaskAssessmentRunInput, opts ...request.Option) (*DeleteReplicationTaskAssessmentRunOutput, error) { + req, out := c.DeleteReplicationTaskAssessmentRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeAccountAttributes = "DescribeAccountAttributes" // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the @@ -1377,6 +1559,171 @@ func (c *DatabaseMigrationService) DescribeAccountAttributesWithContext(ctx aws. return out, req.Send() } +const opDescribeApplicableIndividualAssessments = "DescribeApplicableIndividualAssessments" + +// DescribeApplicableIndividualAssessmentsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeApplicableIndividualAssessments operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeApplicableIndividualAssessments for more information on using the DescribeApplicableIndividualAssessments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeApplicableIndividualAssessmentsRequest method. +// req, resp := client.DescribeApplicableIndividualAssessmentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeApplicableIndividualAssessments +func (c *DatabaseMigrationService) DescribeApplicableIndividualAssessmentsRequest(input *DescribeApplicableIndividualAssessmentsInput) (req *request.Request, output *DescribeApplicableIndividualAssessmentsOutput) { + op := &request.Operation{ + Name: opDescribeApplicableIndividualAssessments, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeApplicableIndividualAssessmentsInput{} + } + + output = &DescribeApplicableIndividualAssessmentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeApplicableIndividualAssessments API operation for AWS Database Migration Service. +// +// Provides a list of individual assessments that you can specify for a new +// premigration assessment run, given one or more parameters. +// +// If you specify an existing migration task, this operation provides the default +// individual assessments you can specify for that task. Otherwise, the specified +// parameters model elements of a possible migration task on which to base a +// premigration assessment run. +// +// To use these migration task modeling parameters, you must specify an existing +// replication instance, a source database engine, a target database engine, +// and a migration type. This combination of parameters potentially limits the +// default individual assessments available for an assessment run created for +// a corresponding migration task. +// +// If you specify no parameters, this operation provides a list of all possible +// individual assessments that you can specify for an assessment run. If you +// specify any one of the task modeling parameters, you must specify all of +// them or the operation cannot provide a list of individual assessments. The +// only parameter that you can specify alone is for an existing migration task. +// The specified task definition then determines the default list of individual +// assessments that you can specify in an assessment run for the 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 AWS Database Migration Service's +// API operation DescribeApplicableIndividualAssessments for usage and error information. +// +// Returned Error Types: +// * AccessDeniedFault +// AWS DMS was denied access to the endpoint. Check that the role is correctly +// configured. +// +// * ResourceNotFoundFault +// The resource could not be found. +// +// * InvalidResourceStateFault +// The resource is in a state that prevents it from being used for database +// migration. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeApplicableIndividualAssessments +func (c *DatabaseMigrationService) DescribeApplicableIndividualAssessments(input *DescribeApplicableIndividualAssessmentsInput) (*DescribeApplicableIndividualAssessmentsOutput, error) { + req, out := c.DescribeApplicableIndividualAssessmentsRequest(input) + return out, req.Send() +} + +// DescribeApplicableIndividualAssessmentsWithContext is the same as DescribeApplicableIndividualAssessments with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeApplicableIndividualAssessments for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DatabaseMigrationService) DescribeApplicableIndividualAssessmentsWithContext(ctx aws.Context, input *DescribeApplicableIndividualAssessmentsInput, opts ...request.Option) (*DescribeApplicableIndividualAssessmentsOutput, error) { + req, out := c.DescribeApplicableIndividualAssessmentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeApplicableIndividualAssessmentsPages iterates over the pages of a DescribeApplicableIndividualAssessments operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeApplicableIndividualAssessments 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 DescribeApplicableIndividualAssessments operation. +// pageNum := 0 +// err := client.DescribeApplicableIndividualAssessmentsPages(params, +// func(page *databasemigrationservice.DescribeApplicableIndividualAssessmentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DatabaseMigrationService) DescribeApplicableIndividualAssessmentsPages(input *DescribeApplicableIndividualAssessmentsInput, fn func(*DescribeApplicableIndividualAssessmentsOutput, bool) bool) error { + return c.DescribeApplicableIndividualAssessmentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeApplicableIndividualAssessmentsPagesWithContext same as DescribeApplicableIndividualAssessmentsPages 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 *DatabaseMigrationService) DescribeApplicableIndividualAssessmentsPagesWithContext(ctx aws.Context, input *DescribeApplicableIndividualAssessmentsInput, fn func(*DescribeApplicableIndividualAssessmentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeApplicableIndividualAssessmentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeApplicableIndividualAssessmentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeApplicableIndividualAssessmentsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeCertificates = "DescribeCertificates" // DescribeCertificatesRequest generates a "aws/request.Request" representing the @@ -3182,32 +3529,316 @@ func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentResultsPages return p.Err() } -const opDescribeReplicationTasks = "DescribeReplicationTasks" +const opDescribeReplicationTaskAssessmentRuns = "DescribeReplicationTaskAssessmentRuns" -// DescribeReplicationTasksRequest generates a "aws/request.Request" representing the -// client's request for the DescribeReplicationTasks operation. The "output" return +// DescribeReplicationTaskAssessmentRunsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReplicationTaskAssessmentRuns operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeReplicationTasks for more information on using the DescribeReplicationTasks +// See DescribeReplicationTaskAssessmentRuns for more information on using the DescribeReplicationTaskAssessmentRuns // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeReplicationTasksRequest method. -// req, resp := client.DescribeReplicationTasksRequest(params) +// // Example sending a request using the DescribeReplicationTaskAssessmentRunsRequest method. +// req, resp := client.DescribeReplicationTaskAssessmentRunsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTasks +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskAssessmentRuns +func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentRunsRequest(input *DescribeReplicationTaskAssessmentRunsInput) (req *request.Request, output *DescribeReplicationTaskAssessmentRunsOutput) { + op := &request.Operation{ + Name: opDescribeReplicationTaskAssessmentRuns, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeReplicationTaskAssessmentRunsInput{} + } + + output = &DescribeReplicationTaskAssessmentRunsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeReplicationTaskAssessmentRuns API operation for AWS Database Migration Service. +// +// Returns a paginated list of premigration assessment runs based on filter +// settings. +// +// These filter settings can specify a combination of premigration assessment +// runs, migration tasks, replication instances, and assessment run status values. +// +// This operation doesn't return information about individual assessments. For +// this information, see the DescribeReplicationTaskIndividualAssessments operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Database Migration Service's +// API operation DescribeReplicationTaskAssessmentRuns for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundFault +// The resource could not be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskAssessmentRuns +func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentRuns(input *DescribeReplicationTaskAssessmentRunsInput) (*DescribeReplicationTaskAssessmentRunsOutput, error) { + req, out := c.DescribeReplicationTaskAssessmentRunsRequest(input) + return out, req.Send() +} + +// DescribeReplicationTaskAssessmentRunsWithContext is the same as DescribeReplicationTaskAssessmentRuns with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeReplicationTaskAssessmentRuns for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentRunsWithContext(ctx aws.Context, input *DescribeReplicationTaskAssessmentRunsInput, opts ...request.Option) (*DescribeReplicationTaskAssessmentRunsOutput, error) { + req, out := c.DescribeReplicationTaskAssessmentRunsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeReplicationTaskAssessmentRunsPages iterates over the pages of a DescribeReplicationTaskAssessmentRuns operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeReplicationTaskAssessmentRuns 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 DescribeReplicationTaskAssessmentRuns operation. +// pageNum := 0 +// err := client.DescribeReplicationTaskAssessmentRunsPages(params, +// func(page *databasemigrationservice.DescribeReplicationTaskAssessmentRunsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DatabaseMigrationService) DescribeReplicationTaskAssessmentRunsPages(input *DescribeReplicationTaskAssessmentRunsInput, fn func(*DescribeReplicationTaskAssessmentRunsOutput, bool) bool) error { + return c.DescribeReplicationTaskAssessmentRunsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeReplicationTaskAssessmentRunsPagesWithContext same as DescribeReplicationTaskAssessmentRunsPages 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 *DatabaseMigrationService) DescribeReplicationTaskAssessmentRunsPagesWithContext(ctx aws.Context, input *DescribeReplicationTaskAssessmentRunsInput, fn func(*DescribeReplicationTaskAssessmentRunsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeReplicationTaskAssessmentRunsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeReplicationTaskAssessmentRunsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeReplicationTaskAssessmentRunsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeReplicationTaskIndividualAssessments = "DescribeReplicationTaskIndividualAssessments" + +// DescribeReplicationTaskIndividualAssessmentsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReplicationTaskIndividualAssessments operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeReplicationTaskIndividualAssessments for more information on using the DescribeReplicationTaskIndividualAssessments +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeReplicationTaskIndividualAssessmentsRequest method. +// req, resp := client.DescribeReplicationTaskIndividualAssessmentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskIndividualAssessments +func (c *DatabaseMigrationService) DescribeReplicationTaskIndividualAssessmentsRequest(input *DescribeReplicationTaskIndividualAssessmentsInput) (req *request.Request, output *DescribeReplicationTaskIndividualAssessmentsOutput) { + op := &request.Operation{ + Name: opDescribeReplicationTaskIndividualAssessments, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeReplicationTaskIndividualAssessmentsInput{} + } + + output = &DescribeReplicationTaskIndividualAssessmentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeReplicationTaskIndividualAssessments API operation for AWS Database Migration Service. +// +// Returns a paginated list of individual assessments based on filter settings. +// +// These filter settings can specify a combination of premigration assessment +// runs, migration tasks, and assessment status values. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Database Migration Service's +// API operation DescribeReplicationTaskIndividualAssessments for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundFault +// The resource could not be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTaskIndividualAssessments +func (c *DatabaseMigrationService) DescribeReplicationTaskIndividualAssessments(input *DescribeReplicationTaskIndividualAssessmentsInput) (*DescribeReplicationTaskIndividualAssessmentsOutput, error) { + req, out := c.DescribeReplicationTaskIndividualAssessmentsRequest(input) + return out, req.Send() +} + +// DescribeReplicationTaskIndividualAssessmentsWithContext is the same as DescribeReplicationTaskIndividualAssessments with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeReplicationTaskIndividualAssessments for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DatabaseMigrationService) DescribeReplicationTaskIndividualAssessmentsWithContext(ctx aws.Context, input *DescribeReplicationTaskIndividualAssessmentsInput, opts ...request.Option) (*DescribeReplicationTaskIndividualAssessmentsOutput, error) { + req, out := c.DescribeReplicationTaskIndividualAssessmentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeReplicationTaskIndividualAssessmentsPages iterates over the pages of a DescribeReplicationTaskIndividualAssessments operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeReplicationTaskIndividualAssessments 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 DescribeReplicationTaskIndividualAssessments operation. +// pageNum := 0 +// err := client.DescribeReplicationTaskIndividualAssessmentsPages(params, +// func(page *databasemigrationservice.DescribeReplicationTaskIndividualAssessmentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DatabaseMigrationService) DescribeReplicationTaskIndividualAssessmentsPages(input *DescribeReplicationTaskIndividualAssessmentsInput, fn func(*DescribeReplicationTaskIndividualAssessmentsOutput, bool) bool) error { + return c.DescribeReplicationTaskIndividualAssessmentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeReplicationTaskIndividualAssessmentsPagesWithContext same as DescribeReplicationTaskIndividualAssessmentsPages 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 *DatabaseMigrationService) DescribeReplicationTaskIndividualAssessmentsPagesWithContext(ctx aws.Context, input *DescribeReplicationTaskIndividualAssessmentsInput, fn func(*DescribeReplicationTaskIndividualAssessmentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeReplicationTaskIndividualAssessmentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeReplicationTaskIndividualAssessmentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeReplicationTaskIndividualAssessmentsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeReplicationTasks = "DescribeReplicationTasks" + +// DescribeReplicationTasksRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReplicationTasks operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeReplicationTasks for more information on using the DescribeReplicationTasks +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeReplicationTasksRequest method. +// req, resp := client.DescribeReplicationTasksRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeReplicationTasks func (c *DatabaseMigrationService) DescribeReplicationTasksRequest(input *DescribeReplicationTasksInput) (req *request.Request, output *DescribeReplicationTasksOutput) { op := &request.Operation{ Name: opDescribeReplicationTasks, @@ -4776,60 +5407,72 @@ func (c *DatabaseMigrationService) StartReplicationTaskAssessmentWithContext(ctx return out, req.Send() } -const opStopReplicationTask = "StopReplicationTask" +const opStartReplicationTaskAssessmentRun = "StartReplicationTaskAssessmentRun" -// StopReplicationTaskRequest generates a "aws/request.Request" representing the -// client's request for the StopReplicationTask operation. The "output" return +// StartReplicationTaskAssessmentRunRequest generates a "aws/request.Request" representing the +// client's request for the StartReplicationTaskAssessmentRun operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StopReplicationTask for more information on using the StopReplicationTask +// See StartReplicationTaskAssessmentRun for more information on using the StartReplicationTaskAssessmentRun // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the StopReplicationTaskRequest method. -// req, resp := client.StopReplicationTaskRequest(params) +// // Example sending a request using the StartReplicationTaskAssessmentRunRequest method. +// req, resp := client.StartReplicationTaskAssessmentRunRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StopReplicationTask -func (c *DatabaseMigrationService) StopReplicationTaskRequest(input *StopReplicationTaskInput) (req *request.Request, output *StopReplicationTaskOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTaskAssessmentRun +func (c *DatabaseMigrationService) StartReplicationTaskAssessmentRunRequest(input *StartReplicationTaskAssessmentRunInput) (req *request.Request, output *StartReplicationTaskAssessmentRunOutput) { op := &request.Operation{ - Name: opStopReplicationTask, + Name: opStartReplicationTaskAssessmentRun, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StopReplicationTaskInput{} + input = &StartReplicationTaskAssessmentRunInput{} } - output = &StopReplicationTaskOutput{} + output = &StartReplicationTaskAssessmentRunOutput{} req = c.newRequest(op, input, output) return } -// StopReplicationTask API operation for AWS Database Migration Service. +// StartReplicationTaskAssessmentRun API operation for AWS Database Migration Service. // -// Stops the replication task. +// Starts a new premigration assessment run for one or more individual assessments +// of a migration task. +// +// The assessments that you can specify depend on the source and target database +// engine and the migration type defined for the given task. To run this operation, +// your migration task must already be created. After you run this operation, +// you can review the status of each individual assessment. You can also run +// the migration task manually after the assessment run and its individual assessments +// complete. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Database Migration Service's -// API operation StopReplicationTask for usage and error information. +// API operation StartReplicationTaskAssessmentRun for usage and error information. // // Returned Error Types: +// * AccessDeniedFault +// AWS DMS was denied access to the endpoint. Check that the role is correctly +// configured. +// // * ResourceNotFoundFault // The resource could not be found. // @@ -4837,22 +5480,134 @@ func (c *DatabaseMigrationService) StopReplicationTaskRequest(input *StopReplica // The resource is in a state that prevents it from being used for database // migration. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StopReplicationTask -func (c *DatabaseMigrationService) StopReplicationTask(input *StopReplicationTaskInput) (*StopReplicationTaskOutput, error) { - req, out := c.StopReplicationTaskRequest(input) - return out, req.Send() -} - -// StopReplicationTaskWithContext is the same as StopReplicationTask with the addition of -// the ability to pass a context and additional request options. +// * KMSAccessDeniedFault +// The ciphertext references a key that doesn't exist or that the DMS account +// doesn't have access to. // -// See StopReplicationTask for details on how to use this API operation. +// * KMSDisabledFault +// The specified master key (CMK) isn't enabled. // -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *DatabaseMigrationService) StopReplicationTaskWithContext(ctx aws.Context, input *StopReplicationTaskInput, opts ...request.Option) (*StopReplicationTaskOutput, error) { +// * KMSFault +// An AWS Key Management Service (AWS KMS) error is preventing access to AWS +// KMS. +// +// * KMSInvalidStateFault +// The state of the specified AWS KMS resource isn't valid for this request. +// +// * KMSNotFoundFault +// The specified AWS KMS entity or resource can't be found. +// +// * KMSKeyNotAccessibleFault +// AWS DMS cannot access the AWS KMS key. +// +// * S3AccessDeniedFault +// Insufficient privileges are preventing access to an Amazon S3 object. +// +// * S3ResourceNotFoundFault +// A specified Amazon S3 bucket, bucket folder, or other object can't be found. +// +// * ResourceAlreadyExistsFault +// The resource you are attempting to create already exists. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StartReplicationTaskAssessmentRun +func (c *DatabaseMigrationService) StartReplicationTaskAssessmentRun(input *StartReplicationTaskAssessmentRunInput) (*StartReplicationTaskAssessmentRunOutput, error) { + req, out := c.StartReplicationTaskAssessmentRunRequest(input) + return out, req.Send() +} + +// StartReplicationTaskAssessmentRunWithContext is the same as StartReplicationTaskAssessmentRun with the addition of +// the ability to pass a context and additional request options. +// +// See StartReplicationTaskAssessmentRun for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DatabaseMigrationService) StartReplicationTaskAssessmentRunWithContext(ctx aws.Context, input *StartReplicationTaskAssessmentRunInput, opts ...request.Option) (*StartReplicationTaskAssessmentRunOutput, error) { + req, out := c.StartReplicationTaskAssessmentRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopReplicationTask = "StopReplicationTask" + +// StopReplicationTaskRequest generates a "aws/request.Request" representing the +// client's request for the StopReplicationTask operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopReplicationTask for more information on using the StopReplicationTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopReplicationTaskRequest method. +// req, resp := client.StopReplicationTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StopReplicationTask +func (c *DatabaseMigrationService) StopReplicationTaskRequest(input *StopReplicationTaskInput) (req *request.Request, output *StopReplicationTaskOutput) { + op := &request.Operation{ + Name: opStopReplicationTask, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopReplicationTaskInput{} + } + + output = &StopReplicationTaskOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopReplicationTask API operation for AWS Database Migration Service. +// +// Stops the replication 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 AWS Database Migration Service's +// API operation StopReplicationTask for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundFault +// The resource could not be found. +// +// * InvalidResourceStateFault +// The resource is in a state that prevents it from being used for database +// migration. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/StopReplicationTask +func (c *DatabaseMigrationService) StopReplicationTask(input *StopReplicationTaskInput) (*StopReplicationTaskOutput, error) { + req, out := c.StopReplicationTaskRequest(input) + return out, req.Send() +} + +// StopReplicationTaskWithContext is the same as StopReplicationTask with the addition of +// the ability to pass a context and additional request options. +// +// See StopReplicationTask for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DatabaseMigrationService) StopReplicationTaskWithContext(ctx aws.Context, input *StopReplicationTaskInput, opts ...request.Option) (*StopReplicationTaskOutput, error) { req, out := c.StopReplicationTaskRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) @@ -5220,7 +5975,7 @@ func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActio return s } -// The name of the Availability Zone for use during database migration. +// The name of an Availability Zone for use during database migration. type AvailabilityZone struct { _ struct{} `type:"structure"` @@ -5244,6 +5999,67 @@ func (s *AvailabilityZone) SetName(v string) *AvailabilityZone { return s } +type CancelReplicationTaskAssessmentRunInput struct { + _ struct{} `type:"structure"` + + // Amazon Resource Name (ARN) of the premigration assessment run to be canceled. + // + // ReplicationTaskAssessmentRunArn is a required field + ReplicationTaskAssessmentRunArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CancelReplicationTaskAssessmentRunInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelReplicationTaskAssessmentRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelReplicationTaskAssessmentRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelReplicationTaskAssessmentRunInput"} + if s.ReplicationTaskAssessmentRunArn == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationTaskAssessmentRunArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReplicationTaskAssessmentRunArn sets the ReplicationTaskAssessmentRunArn field's value. +func (s *CancelReplicationTaskAssessmentRunInput) SetReplicationTaskAssessmentRunArn(v string) *CancelReplicationTaskAssessmentRunInput { + s.ReplicationTaskAssessmentRunArn = &v + return s +} + +type CancelReplicationTaskAssessmentRunOutput struct { + _ struct{} `type:"structure"` + + // The ReplicationTaskAssessmentRun object for the canceled assessment run. + ReplicationTaskAssessmentRun *ReplicationTaskAssessmentRun `type:"structure"` +} + +// String returns the string representation +func (s CancelReplicationTaskAssessmentRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelReplicationTaskAssessmentRunOutput) GoString() string { + return s.String() +} + +// SetReplicationTaskAssessmentRun sets the ReplicationTaskAssessmentRun field's value. +func (s *CancelReplicationTaskAssessmentRunOutput) SetReplicationTaskAssessmentRun(v *ReplicationTaskAssessmentRun) *CancelReplicationTaskAssessmentRunOutput { + s.ReplicationTaskAssessmentRun = v + return s +} + // The SSL certificate that can be used to encrypt connections between the endpoints // and the replication instance. type Certificate struct { @@ -5377,7 +6193,15 @@ type Connection struct { // string. ReplicationInstanceIdentifier *string `type:"string"` - // The connection status. + // The connection status. This parameter can return one of the following values: + // + // * "successful" + // + // * "testing" + // + // * "failed" + // + // * "deleting" Status *string `type:"string"` } @@ -5464,7 +6288,7 @@ type CreateEndpointInput struct { // Settings in JSON format for the target Elasticsearch endpoint. For more information // about the available settings, see Extra Connection Attributes When Using // Elasticsearch as a Target for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration) - // in the AWS Database Migration User Guide. + // in the AWS Database Migration Service User Guide. ElasticsearchSettings *ElasticsearchSettings `type:"structure"` // The database endpoint identifier. Identifiers must begin with a letter and @@ -5482,7 +6306,7 @@ type CreateEndpointInput struct { // The type of engine for the endpoint. Valid values, depending on the EndpointType // value, include "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql", // "redshift", "s3", "db2", "azuredb", "sybase", "dynamodb", "mongodb", "kinesis", - // "kafka", "elasticsearch", "documentdb", and "sqlserver". + // "kafka", "elasticsearch", "documentdb", "sqlserver", and "neptune". // // EngineName is a required field EngineName *string `type:"string" required:"true"` @@ -5498,16 +6322,22 @@ type CreateEndpointInput struct { // in the AWS Database Migration Service User Guide. ExtraConnectionAttributes *string `type:"string"` + // Settings in JSON format for the source IBM Db2 LUW endpoint. For information + // about other available settings, see Extra connection attributes when using + // Db2 LUW as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + IBMDb2Settings *IBMDb2Settings `type:"structure"` + // Settings in JSON format for the target Apache Kafka endpoint. For more information // about the available settings, see Using Apache Kafka as a Target for AWS // Database Migration Service (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html) - // in the AWS Database Migration User Guide. + // in the AWS Database Migration Service User Guide. KafkaSettings *KafkaSettings `type:"structure"` // Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. // For more information about the available settings, see Using Amazon Kinesis // Data Streams as a Target for AWS Database Migration Service (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html) - // in the AWS Database Migration User Guide. + // in the AWS Database Migration Service User Guide. KinesisSettings *KinesisSettings `type:"structure"` // An AWS KMS key identifier that is used to encrypt the connection parameters @@ -5520,24 +6350,56 @@ type CreateEndpointInput struct { // account has a different default encryption key for each AWS Region. KmsKeyId *string `type:"string"` + // Settings in JSON format for the source and target Microsoft SQL Server endpoint. + // For information about other available settings, see Extra connection attributes + // when using SQL Server as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.ConnectionAttrib) + // and Extra connection attributes when using SQL Server as a target for AWS + // DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + MicrosoftSQLServerSettings *MicrosoftSQLServerSettings `type:"structure"` + // Settings in JSON format for the source MongoDB endpoint. For more information // about the available settings, see Using MongoDB as a Target for AWS Database // Migration Service (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration) // in the AWS Database Migration Service User Guide. MongoDbSettings *MongoDbSettings `type:"structure"` + // Settings in JSON format for the source and target MySQL endpoint. For information + // about other available settings, see Extra connection attributes when using + // MySQL as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.ConnectionAttrib) + // and Extra connection attributes when using a MySQL-compatible database as + // a target for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + MySQLSettings *MySQLSettings `type:"structure"` + // Settings in JSON format for the target Amazon Neptune endpoint. For more - // information about the available settings, see https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings - // (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings) + // information about the available settings, see Specifying Endpoint Settings + // for Amazon Neptune as a Target (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings) // in the AWS Database Migration Service User Guide. NeptuneSettings *NeptuneSettings `type:"structure"` + // Settings in JSON format for the source and target Oracle endpoint. For information + // about other available settings, see Extra connection attributes when using + // Oracle as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.ConnectionAttrib) + // and Extra connection attributes when using Oracle as a target for AWS DMS + // (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + OracleSettings *OracleSettings `type:"structure"` + // The password to be used to log in to the endpoint database. Password *string `type:"string" sensitive:"true"` // The port used by the endpoint database. Port *int64 `type:"integer"` + // Settings in JSON format for the source and target PostgreSQL endpoint. For + // information about other available settings, see Extra connection attributes + // when using PostgreSQL as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.ConnectionAttrib) + // and Extra connection attributes when using PostgreSQL as a target for AWS + // DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + PostgreSQLSettings *PostgreSQLSettings `type:"structure"` + // Provides information that defines an Amazon Redshift endpoint. RedshiftSettings *RedshiftSettings `type:"structure"` @@ -5558,6 +6420,14 @@ type CreateEndpointInput struct { // is none SslMode *string `type:"string" enum:"DmsSslModeValue"` + // Settings in JSON format for the source and target SAP ASE endpoint. For information + // about other available settings, see Extra connection attributes when using + // SAP ASE as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.ConnectionAttrib) + // and Extra connection attributes when using SAP ASE as a target for AWS DMS + // (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + SybaseSettings *SybaseSettings `type:"structure"` + // One or more tags to be assigned to the endpoint. Tags []*Tag `type:"list"` @@ -5669,6 +6539,12 @@ func (s *CreateEndpointInput) SetExtraConnectionAttributes(v string) *CreateEndp return s } +// SetIBMDb2Settings sets the IBMDb2Settings field's value. +func (s *CreateEndpointInput) SetIBMDb2Settings(v *IBMDb2Settings) *CreateEndpointInput { + s.IBMDb2Settings = v + return s +} + // SetKafkaSettings sets the KafkaSettings field's value. func (s *CreateEndpointInput) SetKafkaSettings(v *KafkaSettings) *CreateEndpointInput { s.KafkaSettings = v @@ -5687,18 +6563,36 @@ func (s *CreateEndpointInput) SetKmsKeyId(v string) *CreateEndpointInput { return s } +// SetMicrosoftSQLServerSettings sets the MicrosoftSQLServerSettings field's value. +func (s *CreateEndpointInput) SetMicrosoftSQLServerSettings(v *MicrosoftSQLServerSettings) *CreateEndpointInput { + s.MicrosoftSQLServerSettings = v + return s +} + // SetMongoDbSettings sets the MongoDbSettings field's value. func (s *CreateEndpointInput) SetMongoDbSettings(v *MongoDbSettings) *CreateEndpointInput { s.MongoDbSettings = v return s } +// SetMySQLSettings sets the MySQLSettings field's value. +func (s *CreateEndpointInput) SetMySQLSettings(v *MySQLSettings) *CreateEndpointInput { + s.MySQLSettings = v + return s +} + // SetNeptuneSettings sets the NeptuneSettings field's value. func (s *CreateEndpointInput) SetNeptuneSettings(v *NeptuneSettings) *CreateEndpointInput { s.NeptuneSettings = v return s } +// SetOracleSettings sets the OracleSettings field's value. +func (s *CreateEndpointInput) SetOracleSettings(v *OracleSettings) *CreateEndpointInput { + s.OracleSettings = v + return s +} + // SetPassword sets the Password field's value. func (s *CreateEndpointInput) SetPassword(v string) *CreateEndpointInput { s.Password = &v @@ -5711,6 +6605,12 @@ func (s *CreateEndpointInput) SetPort(v int64) *CreateEndpointInput { return s } +// SetPostgreSQLSettings sets the PostgreSQLSettings field's value. +func (s *CreateEndpointInput) SetPostgreSQLSettings(v *PostgreSQLSettings) *CreateEndpointInput { + s.PostgreSQLSettings = v + return s +} + // SetRedshiftSettings sets the RedshiftSettings field's value. func (s *CreateEndpointInput) SetRedshiftSettings(v *RedshiftSettings) *CreateEndpointInput { s.RedshiftSettings = v @@ -5741,6 +6641,12 @@ func (s *CreateEndpointInput) SetSslMode(v string) *CreateEndpointInput { return s } +// SetSybaseSettings sets the SybaseSettings field's value. +func (s *CreateEndpointInput) SetSybaseSettings(v *SybaseSettings) *CreateEndpointInput { + s.SybaseSettings = v + return s +} + // SetTags sets the Tags field's value. func (s *CreateEndpointInput) SetTags(v []*Tag) *CreateEndpointInput { s.Tags = v @@ -5932,7 +6838,11 @@ type CreateReplicationInstanceInput struct { // AWS Region, for example: us-east-1d AvailabilityZone *string `type:"string"` - // A list of DNS name servers supported for the replication instance. + // A list of custom DNS name servers supported for the replication instance + // to access your on-premise source or target database. This list overrides + // the default name servers supported by the replication instance. You can specify + // a comma-separated list of internet addresses for up to four on-premise DNS + // name servers. For example: "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4" DnsNameServers *string `type:"string"` // The engine version number of the replication instance. @@ -5971,11 +6881,13 @@ type CreateReplicationInstanceInput struct { // represents an instance with a private IP address. The default value is true. PubliclyAccessible *bool `type:"boolean"` - // The compute and memory capacity of the replication instance as specified - // by the replication instance class. + // The compute and memory capacity of the replication instance as defined for + // the specified replication instance class. For example to specify the instance + // class dms.c4.large, set this parameter to "dms.c4.large". // - // Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large - // | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge + // For more information on the settings and capacities for the available replication + // instance classes, see Selecting the right AWS DMS replication instance for + // your migration (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth). // // ReplicationInstanceClass is a required field ReplicationInstanceClass *string `type:"string" required:"true"` @@ -5985,7 +6897,7 @@ type CreateReplicationInstanceInput struct { // // Constraints: // - // * Must contain from 1 to 63 alphanumeric characters or hyphens. + // * Must contain 1-63 alphanumeric characters or hyphens. // // * First character must be a letter. // @@ -6297,7 +7209,7 @@ type CreateReplicationTaskInput struct { // // Constraints: // - // * Must contain from 1 to 255 alphanumeric characters or hyphens. + // * Must contain 1-255 alphanumeric characters or hyphens. // // * First character must be a letter. // @@ -6318,7 +7230,7 @@ type CreateReplicationTaskInput struct { // The table mappings for the task, in JSON format. For more information, see // Using Table Mapping to Specify Task Settings (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TableMapping.html) - // in the AWS Database Migration User Guide. + // in the AWS Database Migration Service User Guide. // // TableMappings is a required field TableMappings *string `type:"string" required:"true"` @@ -6334,7 +7246,7 @@ type CreateReplicationTaskInput struct { // Supplemental information that the task requires to migrate the data for certain // source and target endpoints. For more information, see Specifying Supplemental // Data for Task Settings (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html) - // in the AWS Database Migration User Guide. + // in the AWS Database Migration Service User Guide. TaskData *string `type:"string"` } @@ -6842,6 +7754,67 @@ func (s DeleteReplicationSubnetGroupOutput) GoString() string { return s.String() } +type DeleteReplicationTaskAssessmentRunInput struct { + _ struct{} `type:"structure"` + + // Amazon Resource Name (ARN) of the premigration assessment run to be deleted. + // + // ReplicationTaskAssessmentRunArn is a required field + ReplicationTaskAssessmentRunArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteReplicationTaskAssessmentRunInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReplicationTaskAssessmentRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReplicationTaskAssessmentRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationTaskAssessmentRunInput"} + if s.ReplicationTaskAssessmentRunArn == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationTaskAssessmentRunArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReplicationTaskAssessmentRunArn sets the ReplicationTaskAssessmentRunArn field's value. +func (s *DeleteReplicationTaskAssessmentRunInput) SetReplicationTaskAssessmentRunArn(v string) *DeleteReplicationTaskAssessmentRunInput { + s.ReplicationTaskAssessmentRunArn = &v + return s +} + +type DeleteReplicationTaskAssessmentRunOutput struct { + _ struct{} `type:"structure"` + + // The ReplicationTaskAssessmentRun object for the deleted assessment run. + ReplicationTaskAssessmentRun *ReplicationTaskAssessmentRun `type:"structure"` +} + +// String returns the string representation +func (s DeleteReplicationTaskAssessmentRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteReplicationTaskAssessmentRunOutput) GoString() string { + return s.String() +} + +// SetReplicationTaskAssessmentRun sets the ReplicationTaskAssessmentRun field's value. +func (s *DeleteReplicationTaskAssessmentRunOutput) SetReplicationTaskAssessmentRun(v *ReplicationTaskAssessmentRun) *DeleteReplicationTaskAssessmentRunOutput { + s.ReplicationTaskAssessmentRun = v + return s +} + type DeleteReplicationTaskInput struct { _ struct{} `type:"structure"` @@ -6958,41 +7931,167 @@ func (s *DescribeAccountAttributesOutput) SetUniqueAccountIdentifier(v string) * return s } -type DescribeCertificatesInput struct { +type DescribeApplicableIndividualAssessmentsInput struct { _ struct{} `type:"structure"` - // Filters applied to the certificate described in the form of key-value pairs. - Filters []*Filter `type:"list"` - - // An optional pagination token provided by a previous request. If this parameter + // Optional pagination token provided by a previous request. If this parameter // is specified, the response includes only records beyond the marker, up to // the value specified by MaxRecords. Marker *string `type:"string"` - // The maximum number of records to include in the response. If more records - // exist than the specified MaxRecords value, a pagination token called a marker - // is included in the response so that the remaining results can be retrieved. - // - // Default: 10 + // Maximum number of records to include in the response. If more records exist + // than the specified MaxRecords value, a pagination token called a marker is + // included in the response so that the remaining results can be retrieved. MaxRecords *int64 `type:"integer"` + + // Name of the migration type that each provided individual assessment must + // support. + MigrationType *string `type:"string" enum:"MigrationTypeValue"` + + // ARN of a replication instance on which you want to base the default list + // of individual assessments. + ReplicationInstanceArn *string `type:"string"` + + // Amazon Resource Name (ARN) of a migration task on which you want to base + // the default list of individual assessments. + ReplicationTaskArn *string `type:"string"` + + // Name of a database engine that the specified replication instance supports + // as a source. + SourceEngineName *string `type:"string"` + + // Name of a database engine that the specified replication instance supports + // as a target. + TargetEngineName *string `type:"string"` } // String returns the string representation -func (s DescribeCertificatesInput) String() string { +func (s DescribeApplicableIndividualAssessmentsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeCertificatesInput) GoString() string { +func (s DescribeApplicableIndividualAssessmentsInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeCertificatesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeCertificatesInput"} - if s.Filters != nil { - for i, v := range s.Filters { - if v == nil { +// SetMarker sets the Marker field's value. +func (s *DescribeApplicableIndividualAssessmentsInput) SetMarker(v string) *DescribeApplicableIndividualAssessmentsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeApplicableIndividualAssessmentsInput) SetMaxRecords(v int64) *DescribeApplicableIndividualAssessmentsInput { + s.MaxRecords = &v + return s +} + +// SetMigrationType sets the MigrationType field's value. +func (s *DescribeApplicableIndividualAssessmentsInput) SetMigrationType(v string) *DescribeApplicableIndividualAssessmentsInput { + s.MigrationType = &v + return s +} + +// SetReplicationInstanceArn sets the ReplicationInstanceArn field's value. +func (s *DescribeApplicableIndividualAssessmentsInput) SetReplicationInstanceArn(v string) *DescribeApplicableIndividualAssessmentsInput { + s.ReplicationInstanceArn = &v + return s +} + +// SetReplicationTaskArn sets the ReplicationTaskArn field's value. +func (s *DescribeApplicableIndividualAssessmentsInput) SetReplicationTaskArn(v string) *DescribeApplicableIndividualAssessmentsInput { + s.ReplicationTaskArn = &v + return s +} + +// SetSourceEngineName sets the SourceEngineName field's value. +func (s *DescribeApplicableIndividualAssessmentsInput) SetSourceEngineName(v string) *DescribeApplicableIndividualAssessmentsInput { + s.SourceEngineName = &v + return s +} + +// SetTargetEngineName sets the TargetEngineName field's value. +func (s *DescribeApplicableIndividualAssessmentsInput) SetTargetEngineName(v string) *DescribeApplicableIndividualAssessmentsInput { + s.TargetEngineName = &v + return s +} + +type DescribeApplicableIndividualAssessmentsOutput struct { + _ struct{} `type:"structure"` + + // List of names for the individual assessments supported by the premigration + // assessment run that you start based on the specified request parameters. + // For more information on the available individual assessments, including compatibility + // with different migration task configurations, see Working with premigration + // assessment runs (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.AssessmentReport.html) + // in the AWS Database Migration Service User Guide. + IndividualAssessmentNames []*string `type:"list"` + + // Pagination token returned for you to pass to a subsequent request. If you + // pass this token as the Marker value in a subsequent request, the response + // includes only records beyond the marker, up to the value specified in the + // request by MaxRecords. + Marker *string `type:"string"` +} + +// String returns the string representation +func (s DescribeApplicableIndividualAssessmentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeApplicableIndividualAssessmentsOutput) GoString() string { + return s.String() +} + +// SetIndividualAssessmentNames sets the IndividualAssessmentNames field's value. +func (s *DescribeApplicableIndividualAssessmentsOutput) SetIndividualAssessmentNames(v []*string) *DescribeApplicableIndividualAssessmentsOutput { + s.IndividualAssessmentNames = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeApplicableIndividualAssessmentsOutput) SetMarker(v string) *DescribeApplicableIndividualAssessmentsOutput { + s.Marker = &v + return s +} + +type DescribeCertificatesInput struct { + _ struct{} `type:"structure"` + + // Filters applied to the certificates described in the form of key-value pairs. + Filters []*Filter `type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token called a marker + // is included in the response so that the remaining results can be retrieved. + // + // Default: 10 + MaxRecords *int64 `type:"integer"` +} + +// String returns the string representation +func (s DescribeCertificatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCertificatesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCertificatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCertificatesInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { continue } if err := v.Validate(); err != nil { @@ -7166,7 +8265,7 @@ func (s *DescribeConnectionsOutput) SetMarker(v string) *DescribeConnectionsOutp type DescribeEndpointTypesInput struct { _ struct{} `type:"structure"` - // Filters applied to the describe action. + // Filters applied to the endpoint types. // // Valid filter names: engine-name | endpoint-type Filters []*Filter `type:"list"` @@ -7271,7 +8370,7 @@ func (s *DescribeEndpointTypesOutput) SetSupportedEndpointTypes(v []*SupportedEn type DescribeEndpointsInput struct { _ struct{} `type:"structure"` - // Filters applied to the describe action. + // Filters applied to the endpoints. // // Valid filter names: endpoint-arn | endpoint-type | endpoint-id | engine-name Filters []*Filter `type:"list"` @@ -7376,7 +8475,7 @@ func (s *DescribeEndpointsOutput) SetMarker(v string) *DescribeEndpointsOutput { type DescribeEventCategoriesInput struct { _ struct{} `type:"structure"` - // Filters applied to the action. + // Filters applied to the event categories. Filters []*Filter `type:"list"` // The type of AWS DMS resource that generates events. @@ -7453,7 +8552,7 @@ func (s *DescribeEventCategoriesOutput) SetEventCategoryGroupList(v []*EventCate type DescribeEventSubscriptionsInput struct { _ struct{} `type:"structure"` - // Filters applied to the action. + // Filters applied to event subscriptions. Filters []*Filter `type:"list"` // An optional pagination token provided by a previous request. If this parameter @@ -7574,7 +8673,7 @@ type DescribeEventsInput struct { // A list of event categories for the source type that you've chosen. EventCategories []*string `type:"list"` - // Filters applied to the action. + // Filters applied to events. Filters []*Filter `type:"list"` // An optional pagination token provided by a previous request. If this parameter @@ -8078,7 +9177,7 @@ func (s *DescribeReplicationInstanceTaskLogsOutput) SetReplicationInstanceTaskLo type DescribeReplicationInstancesInput struct { _ struct{} `type:"structure"` - // Filters applied to the describe action. + // Filters applied to replication instances. // // Valid filter names: replication-instance-arn | replication-instance-id | // replication-instance-class | engine-version @@ -8184,7 +9283,7 @@ func (s *DescribeReplicationInstancesOutput) SetReplicationInstances(v []*Replic type DescribeReplicationSubnetGroupsInput struct { _ struct{} `type:"structure"` - // Filters applied to the describe action. + // Filters applied to replication subnet groups. // // Valid filter names: replication-subnet-group-id Filters []*Filter `type:"list"` @@ -8380,10 +9479,218 @@ func (s *DescribeReplicationTaskAssessmentResultsOutput) SetReplicationTaskAsses return s } +type DescribeReplicationTaskAssessmentRunsInput struct { + _ struct{} `type:"structure"` + + // Filters applied to the premigration assessment runs described in the form + // of key-value pairs. + // + // Valid filter names: replication-task-assessment-run-arn, replication-task-arn, + // replication-instance-arn, status + Filters []*Filter `type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token called a marker + // is included in the response so that the remaining results can be retrieved. + MaxRecords *int64 `type:"integer"` +} + +// String returns the string representation +func (s DescribeReplicationTaskAssessmentRunsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReplicationTaskAssessmentRunsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeReplicationTaskAssessmentRunsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeReplicationTaskAssessmentRunsInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeReplicationTaskAssessmentRunsInput) SetFilters(v []*Filter) *DescribeReplicationTaskAssessmentRunsInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeReplicationTaskAssessmentRunsInput) SetMarker(v string) *DescribeReplicationTaskAssessmentRunsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeReplicationTaskAssessmentRunsInput) SetMaxRecords(v int64) *DescribeReplicationTaskAssessmentRunsInput { + s.MaxRecords = &v + return s +} + +type DescribeReplicationTaskAssessmentRunsOutput struct { + _ struct{} `type:"structure"` + + // A pagination token returned for you to pass to a subsequent request. If you + // pass this token as the Marker value in a subsequent request, the response + // includes only records beyond the marker, up to the value specified in the + // request by MaxRecords. + Marker *string `type:"string"` + + // One or more premigration assessment runs as specified by Filters. + ReplicationTaskAssessmentRuns []*ReplicationTaskAssessmentRun `type:"list"` +} + +// String returns the string representation +func (s DescribeReplicationTaskAssessmentRunsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReplicationTaskAssessmentRunsOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *DescribeReplicationTaskAssessmentRunsOutput) SetMarker(v string) *DescribeReplicationTaskAssessmentRunsOutput { + s.Marker = &v + return s +} + +// SetReplicationTaskAssessmentRuns sets the ReplicationTaskAssessmentRuns field's value. +func (s *DescribeReplicationTaskAssessmentRunsOutput) SetReplicationTaskAssessmentRuns(v []*ReplicationTaskAssessmentRun) *DescribeReplicationTaskAssessmentRunsOutput { + s.ReplicationTaskAssessmentRuns = v + return s +} + +type DescribeReplicationTaskIndividualAssessmentsInput struct { + _ struct{} `type:"structure"` + + // Filters applied to the individual assessments described in the form of key-value + // pairs. + // + // Valid filter names: replication-task-assessment-run-arn, replication-task-arn, + // status + Filters []*Filter `type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token called a marker + // is included in the response so that the remaining results can be retrieved. + MaxRecords *int64 `type:"integer"` +} + +// String returns the string representation +func (s DescribeReplicationTaskIndividualAssessmentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReplicationTaskIndividualAssessmentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeReplicationTaskIndividualAssessmentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeReplicationTaskIndividualAssessmentsInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeReplicationTaskIndividualAssessmentsInput) SetFilters(v []*Filter) *DescribeReplicationTaskIndividualAssessmentsInput { + s.Filters = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeReplicationTaskIndividualAssessmentsInput) SetMarker(v string) *DescribeReplicationTaskIndividualAssessmentsInput { + s.Marker = &v + return s +} + +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeReplicationTaskIndividualAssessmentsInput) SetMaxRecords(v int64) *DescribeReplicationTaskIndividualAssessmentsInput { + s.MaxRecords = &v + return s +} + +type DescribeReplicationTaskIndividualAssessmentsOutput struct { + _ struct{} `type:"structure"` + + // A pagination token returned for you to pass to a subsequent request. If you + // pass this token as the Marker value in a subsequent request, the response + // includes only records beyond the marker, up to the value specified in the + // request by MaxRecords. + Marker *string `type:"string"` + + // One or more individual assessments as specified by Filters. + ReplicationTaskIndividualAssessments []*ReplicationTaskIndividualAssessment `type:"list"` +} + +// String returns the string representation +func (s DescribeReplicationTaskIndividualAssessmentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeReplicationTaskIndividualAssessmentsOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *DescribeReplicationTaskIndividualAssessmentsOutput) SetMarker(v string) *DescribeReplicationTaskIndividualAssessmentsOutput { + s.Marker = &v + return s +} + +// SetReplicationTaskIndividualAssessments sets the ReplicationTaskIndividualAssessments field's value. +func (s *DescribeReplicationTaskIndividualAssessmentsOutput) SetReplicationTaskIndividualAssessments(v []*ReplicationTaskIndividualAssessment) *DescribeReplicationTaskIndividualAssessmentsOutput { + s.ReplicationTaskIndividualAssessments = v + return s +} + type DescribeReplicationTasksInput struct { _ struct{} `type:"structure"` - // Filters applied to the describe action. + // Filters applied to replication tasks. // // Valid filter names: replication-task-arn | replication-task-id | migration-type // | endpoint-arn | replication-instance-arn @@ -8598,7 +9905,7 @@ func (s *DescribeSchemasOutput) SetSchemas(v []*string) *DescribeSchemasOutput { type DescribeTableStatisticsInput struct { _ struct{} `type:"structure"` - // Filters applied to the describe table statistics action. + // Filters applied to table statistics. // // Valid filter names: schema-name | table-name | table-state // @@ -8910,7 +10217,7 @@ type Endpoint struct { // "BucketName": "string", "CompressionType": "none"|"gzip" } DmsTransferSettings *DmsTransferSettings `type:"structure"` - // The settings for the target DynamoDB database. For more information, see + // The settings for the DynamoDB target endpoint. For more information, see // the DynamoDBSettings structure. DynamoDbSettings *DynamoDbSettings `type:"structure"` @@ -8936,7 +10243,7 @@ type Endpoint struct { // The database engine name. Valid values, depending on the EndpointType, include // "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql", // "redshift", "s3", "db2", "azuredb", "sybase", "dynamodb", "mongodb", "kinesis", - // "kafka", "elasticsearch", "documentdb", and "sqlserver". + // "kafka", "elasticsearch", "documentdb", "sqlserver", and "neptune". EngineName *string `type:"string"` // Value returned by a call to CreateEndpoint that can be used for cross-account @@ -8950,6 +10257,10 @@ type Endpoint struct { // Additional connection attributes used to connect to the endpoint. ExtraConnectionAttributes *string `type:"string"` + // The settings for the IBM Db2 LUW source endpoint. For more information, see + // the IBMDb2Settings structure. + IBMDb2Settings *IBMDb2Settings `type:"structure"` + // The settings for the Apache Kafka target endpoint. For more information, // see the KafkaSettings structure. KafkaSettings *KafkaSettings `type:"structure"` @@ -8968,17 +10279,33 @@ type Endpoint struct { // account has a different default encryption key for each AWS Region. KmsKeyId *string `type:"string"` + // The settings for the Microsoft SQL Server source and target endpoint. For + // more information, see the MicrosoftSQLServerSettings structure. + MicrosoftSQLServerSettings *MicrosoftSQLServerSettings `type:"structure"` + // The settings for the MongoDB source endpoint. For more information, see the // MongoDbSettings structure. MongoDbSettings *MongoDbSettings `type:"structure"` - // The settings for the MongoDB source endpoint. For more information, see the - // NeptuneSettings structure. + // The settings for the MySQL source and target endpoint. For more information, + // see the MySQLSettings structure. + MySQLSettings *MySQLSettings `type:"structure"` + + // The settings for the Amazon Neptune target endpoint. For more information, + // see the NeptuneSettings structure. NeptuneSettings *NeptuneSettings `type:"structure"` + // The settings for the Oracle source and target endpoint. For more information, + // see the OracleSettings structure. + OracleSettings *OracleSettings `type:"structure"` + // The port value used to access the endpoint. Port *int64 `type:"integer"` + // The settings for the PostgreSQL source and target endpoint. For more information, + // see the PostgreSQLSettings structure. + PostgreSQLSettings *PostgreSQLSettings `type:"structure"` + // Settings for the Amazon Redshift endpoint. RedshiftSettings *RedshiftSettings `type:"structure"` @@ -8998,6 +10325,10 @@ type Endpoint struct { // The status of the endpoint. Status *string `type:"string"` + // The settings for the SAP ASE source and target endpoint. For more information, + // see the SybaseSettings structure. + SybaseSettings *SybaseSettings `type:"structure"` + // The user name used to connect to the endpoint. Username *string `type:"string"` } @@ -9090,6 +10421,12 @@ func (s *Endpoint) SetExtraConnectionAttributes(v string) *Endpoint { return s } +// SetIBMDb2Settings sets the IBMDb2Settings field's value. +func (s *Endpoint) SetIBMDb2Settings(v *IBMDb2Settings) *Endpoint { + s.IBMDb2Settings = v + return s +} + // SetKafkaSettings sets the KafkaSettings field's value. func (s *Endpoint) SetKafkaSettings(v *KafkaSettings) *Endpoint { s.KafkaSettings = v @@ -9108,24 +10445,48 @@ func (s *Endpoint) SetKmsKeyId(v string) *Endpoint { return s } +// SetMicrosoftSQLServerSettings sets the MicrosoftSQLServerSettings field's value. +func (s *Endpoint) SetMicrosoftSQLServerSettings(v *MicrosoftSQLServerSettings) *Endpoint { + s.MicrosoftSQLServerSettings = v + return s +} + // SetMongoDbSettings sets the MongoDbSettings field's value. func (s *Endpoint) SetMongoDbSettings(v *MongoDbSettings) *Endpoint { s.MongoDbSettings = v return s } +// SetMySQLSettings sets the MySQLSettings field's value. +func (s *Endpoint) SetMySQLSettings(v *MySQLSettings) *Endpoint { + s.MySQLSettings = v + return s +} + // SetNeptuneSettings sets the NeptuneSettings field's value. func (s *Endpoint) SetNeptuneSettings(v *NeptuneSettings) *Endpoint { s.NeptuneSettings = v return s } +// SetOracleSettings sets the OracleSettings field's value. +func (s *Endpoint) SetOracleSettings(v *OracleSettings) *Endpoint { + s.OracleSettings = v + return s +} + // SetPort sets the Port field's value. func (s *Endpoint) SetPort(v int64) *Endpoint { s.Port = &v return s } +// SetPostgreSQLSettings sets the PostgreSQLSettings field's value. +func (s *Endpoint) SetPostgreSQLSettings(v *PostgreSQLSettings) *Endpoint { + s.PostgreSQLSettings = v + return s +} + // SetRedshiftSettings sets the RedshiftSettings field's value. func (s *Endpoint) SetRedshiftSettings(v *RedshiftSettings) *Endpoint { s.RedshiftSettings = v @@ -9162,6 +10523,12 @@ func (s *Endpoint) SetStatus(v string) *Endpoint { return s } +// SetSybaseSettings sets the SybaseSettings field's value. +func (s *Endpoint) SetSybaseSettings(v *SybaseSettings) *Endpoint { + s.SybaseSettings = v + return s +} + // SetUsername sets the Username field's value. func (s *Endpoint) SetUsername(v string) *Endpoint { s.Username = &v @@ -9310,7 +10677,7 @@ type EventSubscription struct { // topic was deleted after the subscription was created. Status *string `type:"string"` - // The time the RDS event notification subscription was created. + // The time the AWS DMS event notification subscription was created. SubscriptionCreationTime *string `type:"string"` } @@ -9378,17 +10745,19 @@ func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscrip return s } -// Identifies the name and value of a source filter object used to limit the -// number and type of records transferred from your source to your target. +// Identifies the name and value of a filter object. This filter is used to +// limit the number and type of AWS DMS objects that are returned for a particular +// Describe* or similar operation. type Filter struct { _ struct{} `type:"structure"` - // The name of the filter. + // The name of the filter as specified for a Describe* or similar operation. // // Name is a required field Name *string `type:"string" required:"true"` - // The filter value. + // The filter value, which can specify one or more values used to narrow the + // returned results. // // Values is a required field Values []*string `type:"list" required:"true"` @@ -9432,6 +10801,66 @@ func (s *Filter) SetValues(v []*string) *Filter { return s } +// Provides information that defines an IBM Db2 LUW endpoint. +type IBMDb2Settings struct { + _ struct{} `type:"structure"` + + // Database name for the endpoint. + DatabaseName *string `type:"string"` + + // Endpoint connection password. + Password *string `type:"string" sensitive:"true"` + + // Endpoint TCP port. + Port *int64 `type:"integer"` + + // Fully qualified domain name of the endpoint. + ServerName *string `type:"string"` + + // Endpoint connection user name. + Username *string `type:"string"` +} + +// String returns the string representation +func (s IBMDb2Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IBMDb2Settings) GoString() string { + return s.String() +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *IBMDb2Settings) SetDatabaseName(v string) *IBMDb2Settings { + s.DatabaseName = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *IBMDb2Settings) SetPassword(v string) *IBMDb2Settings { + s.Password = &v + return s +} + +// SetPort sets the Port field's value. +func (s *IBMDb2Settings) SetPort(v int64) *IBMDb2Settings { + s.Port = &v + return s +} + +// SetServerName sets the ServerName field's value. +func (s *IBMDb2Settings) SetServerName(v string) *IBMDb2Settings { + s.ServerName = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *IBMDb2Settings) SetUsername(v string) *IBMDb2Settings { + s.Username = &v + return s +} + type ImportCertificateInput struct { _ struct{} `type:"structure"` @@ -9862,6 +11291,63 @@ func (s *KMSDisabledFault) RequestID() string { return s.RespMetadata.RequestID } +// An AWS Key Management Service (AWS KMS) error is preventing access to AWS +// KMS. +type KMSFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s KMSFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KMSFault) GoString() string { + return s.String() +} + +func newErrorKMSFault(v protocol.ResponseMetadata) error { + return &KMSFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *KMSFault) Code() string { + return "KMSFault" +} + +// Message returns the exception's message. +func (s *KMSFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *KMSFault) OrigErr() error { + return nil +} + +func (s *KMSFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *KMSFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *KMSFault) RequestID() string { + return s.RespMetadata.RequestID +} + // The state of the specified AWS KMS resource isn't valid for this request. type KMSInvalidStateFault struct { _ struct{} `type:"structure"` @@ -10097,6 +11583,38 @@ type KafkaSettings struct { // "ec2-12-345-678-901.compute-1.amazonaws.com:2345". Broker *string `type:"string"` + // Shows detailed control information for table definition, column definition, + // and table and column changes in the Kafka message output. The default is + // False. + IncludeControlDetails *bool `type:"boolean"` + + // Shows the partition value within the Kafka message output, unless the partition + // type is schema-table-type. The default is False. + IncludePartitionValue *bool `type:"boolean"` + + // Includes any data definition language (DDL) operations that change the table + // in the control data, such as rename-table, drop-table, add-column, drop-column, + // and rename-column. The default is False. + IncludeTableAlterOperations *bool `type:"boolean"` + + // Provides detailed transaction information from the source database. This + // information includes a commit timestamp, a log position, and values for transaction_id, + // previous transaction_id, and transaction_record_id (the record offset within + // a transaction). The default is False. + IncludeTransactionDetails *bool `type:"boolean"` + + // The output format for the records created on the endpoint. The message format + // is JSON (default) or JSON_UNFORMATTED (a single line with no tab). + MessageFormat *string `type:"string" enum:"MessageFormatValue"` + + // Prefixes schema and table names to partition values, when the partition type + // is primary-key-type. Doing this increases data distribution among Kafka partitions. + // For example, suppose that a SysBench schema has thousands of tables and each + // table has only limited range for a primary key. In this case, the same primary + // key is sent from thousands of tables to the same partition, which causes + // throttling. The default is False. + PartitionIncludeSchemaTable *bool `type:"boolean"` + // The topic to which you migrate the data. If you don't specify a topic, AWS // DMS specifies "kafka-default-topic" as the migration topic. Topic *string `type:"string"` @@ -10118,6 +11636,42 @@ func (s *KafkaSettings) SetBroker(v string) *KafkaSettings { return s } +// SetIncludeControlDetails sets the IncludeControlDetails field's value. +func (s *KafkaSettings) SetIncludeControlDetails(v bool) *KafkaSettings { + s.IncludeControlDetails = &v + return s +} + +// SetIncludePartitionValue sets the IncludePartitionValue field's value. +func (s *KafkaSettings) SetIncludePartitionValue(v bool) *KafkaSettings { + s.IncludePartitionValue = &v + return s +} + +// SetIncludeTableAlterOperations sets the IncludeTableAlterOperations field's value. +func (s *KafkaSettings) SetIncludeTableAlterOperations(v bool) *KafkaSettings { + s.IncludeTableAlterOperations = &v + return s +} + +// SetIncludeTransactionDetails sets the IncludeTransactionDetails field's value. +func (s *KafkaSettings) SetIncludeTransactionDetails(v bool) *KafkaSettings { + s.IncludeTransactionDetails = &v + return s +} + +// SetMessageFormat sets the MessageFormat field's value. +func (s *KafkaSettings) SetMessageFormat(v string) *KafkaSettings { + s.MessageFormat = &v + return s +} + +// SetPartitionIncludeSchemaTable sets the PartitionIncludeSchemaTable field's value. +func (s *KafkaSettings) SetPartitionIncludeSchemaTable(v bool) *KafkaSettings { + s.PartitionIncludeSchemaTable = &v + return s +} + // SetTopic sets the Topic field's value. func (s *KafkaSettings) SetTopic(v string) *KafkaSettings { s.Topic = &v @@ -10290,6 +11844,66 @@ func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOut return s } +// Provides information that defines a Microsoft SQL Server endpoint. +type MicrosoftSQLServerSettings struct { + _ struct{} `type:"structure"` + + // Database name for the endpoint. + DatabaseName *string `type:"string"` + + // Endpoint connection password. + Password *string `type:"string" sensitive:"true"` + + // Endpoint TCP port. + Port *int64 `type:"integer"` + + // Fully qualified domain name of the endpoint. + ServerName *string `type:"string"` + + // Endpoint connection user name. + Username *string `type:"string"` +} + +// String returns the string representation +func (s MicrosoftSQLServerSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MicrosoftSQLServerSettings) GoString() string { + return s.String() +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *MicrosoftSQLServerSettings) SetDatabaseName(v string) *MicrosoftSQLServerSettings { + s.DatabaseName = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *MicrosoftSQLServerSettings) SetPassword(v string) *MicrosoftSQLServerSettings { + s.Password = &v + return s +} + +// SetPort sets the Port field's value. +func (s *MicrosoftSQLServerSettings) SetPort(v int64) *MicrosoftSQLServerSettings { + s.Port = &v + return s +} + +// SetServerName sets the ServerName field's value. +func (s *MicrosoftSQLServerSettings) SetServerName(v string) *MicrosoftSQLServerSettings { + s.ServerName = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *MicrosoftSQLServerSettings) SetUsername(v string) *MicrosoftSQLServerSettings { + s.Username = &v + return s +} + type ModifyEndpointInput struct { _ struct{} `type:"structure"` @@ -10328,7 +11942,7 @@ type ModifyEndpointInput struct { // Settings in JSON format for the target Elasticsearch endpoint. For more information // about the available settings, see Extra Connection Attributes When Using // Elasticsearch as a Target for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration) - // in the AWS Database Migration User Guide. + // in the AWS Database Migration Service User Guide. ElasticsearchSettings *ElasticsearchSettings `type:"structure"` // The Amazon Resource Name (ARN) string that uniquely identifies the endpoint. @@ -10347,7 +11961,7 @@ type ModifyEndpointInput struct { // The type of engine for the endpoint. Valid values, depending on the EndpointType, // include "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql", // "redshift", "s3", "db2", "azuredb", "sybase", "dynamodb", "mongodb", "kinesis", - // "kafka", "elasticsearch", "documentdb", and "sqlserver". + // "kafka", "elasticsearch", "documentdb", "sqlserver", and "neptune". EngineName *string `type:"string"` // The external table definition. @@ -10357,36 +11971,74 @@ type ModifyEndpointInput struct { // pass the empty string ("") as an argument. ExtraConnectionAttributes *string `type:"string"` + // Settings in JSON format for the source IBM Db2 LUW endpoint. For information + // about other available settings, see Extra connection attributes when using + // Db2 LUW as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + IBMDb2Settings *IBMDb2Settings `type:"structure"` + // Settings in JSON format for the target Apache Kafka endpoint. For more information // about the available settings, see Using Apache Kafka as a Target for AWS // Database Migration Service (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html) - // in the AWS Database Migration User Guide. + // in the AWS Database Migration Service User Guide. KafkaSettings *KafkaSettings `type:"structure"` // Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. // For more information about the available settings, see Using Amazon Kinesis // Data Streams as a Target for AWS Database Migration Service (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html) - // in the AWS Database Migration User Guide. + // in the AWS Database Migration Service User Guide. KinesisSettings *KinesisSettings `type:"structure"` + // Settings in JSON format for the source and target Microsoft SQL Server endpoint. + // For information about other available settings, see Extra connection attributes + // when using SQL Server as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.ConnectionAttrib) + // and Extra connection attributes when using SQL Server as a target for AWS + // DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + MicrosoftSQLServerSettings *MicrosoftSQLServerSettings `type:"structure"` + // Settings in JSON format for the source MongoDB endpoint. For more information // about the available settings, see the configuration properties section in // Using MongoDB as a Target for AWS Database Migration Service (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html) // in the AWS Database Migration Service User Guide. MongoDbSettings *MongoDbSettings `type:"structure"` + // Settings in JSON format for the source and target MySQL endpoint. For information + // about other available settings, see Extra connection attributes when using + // MySQL as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.ConnectionAttrib) + // and Extra connection attributes when using a MySQL-compatible database as + // a target for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + MySQLSettings *MySQLSettings `type:"structure"` + // Settings in JSON format for the target Amazon Neptune endpoint. For more - // information about the available settings, see https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings - // (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings) + // information about the available settings, see Specifying Endpoint Settings + // for Amazon Neptune as a Target (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings) // in the AWS Database Migration Service User Guide. NeptuneSettings *NeptuneSettings `type:"structure"` + // Settings in JSON format for the source and target Oracle endpoint. For information + // about other available settings, see Extra connection attributes when using + // Oracle as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.ConnectionAttrib) + // and Extra connection attributes when using Oracle as a target for AWS DMS + // (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + OracleSettings *OracleSettings `type:"structure"` + // The password to be used to login to the endpoint database. Password *string `type:"string" sensitive:"true"` // The port used by the endpoint database. Port *int64 `type:"integer"` + // Settings in JSON format for the source and target PostgreSQL endpoint. For + // information about other available settings, see Extra connection attributes + // when using PostgreSQL as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.ConnectionAttrib) + // and Extra connection attributes when using PostgreSQL as a target for AWS + // DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + PostgreSQLSettings *PostgreSQLSettings `type:"structure"` + // Provides information that defines an Amazon Redshift endpoint. RedshiftSettings *RedshiftSettings `type:"structure"` @@ -10406,6 +12058,14 @@ type ModifyEndpointInput struct { // The SSL mode used to connect to the endpoint. The default value is none. SslMode *string `type:"string" enum:"DmsSslModeValue"` + // Settings in JSON format for the source and target SAP ASE endpoint. For information + // about other available settings, see Extra connection attributes when using + // SAP ASE as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.ConnectionAttrib) + // and Extra connection attributes when using SAP ASE as a target for AWS DMS + // (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.ConnectionAttrib) + // in the AWS Database Migration Service User Guide. + SybaseSettings *SybaseSettings `type:"structure"` + // The user name to be used to login to the endpoint database. Username *string `type:"string"` } @@ -10514,6 +12174,12 @@ func (s *ModifyEndpointInput) SetExtraConnectionAttributes(v string) *ModifyEndp return s } +// SetIBMDb2Settings sets the IBMDb2Settings field's value. +func (s *ModifyEndpointInput) SetIBMDb2Settings(v *IBMDb2Settings) *ModifyEndpointInput { + s.IBMDb2Settings = v + return s +} + // SetKafkaSettings sets the KafkaSettings field's value. func (s *ModifyEndpointInput) SetKafkaSettings(v *KafkaSettings) *ModifyEndpointInput { s.KafkaSettings = v @@ -10526,18 +12192,36 @@ func (s *ModifyEndpointInput) SetKinesisSettings(v *KinesisSettings) *ModifyEndp return s } +// SetMicrosoftSQLServerSettings sets the MicrosoftSQLServerSettings field's value. +func (s *ModifyEndpointInput) SetMicrosoftSQLServerSettings(v *MicrosoftSQLServerSettings) *ModifyEndpointInput { + s.MicrosoftSQLServerSettings = v + return s +} + // SetMongoDbSettings sets the MongoDbSettings field's value. func (s *ModifyEndpointInput) SetMongoDbSettings(v *MongoDbSettings) *ModifyEndpointInput { s.MongoDbSettings = v return s } +// SetMySQLSettings sets the MySQLSettings field's value. +func (s *ModifyEndpointInput) SetMySQLSettings(v *MySQLSettings) *ModifyEndpointInput { + s.MySQLSettings = v + return s +} + // SetNeptuneSettings sets the NeptuneSettings field's value. func (s *ModifyEndpointInput) SetNeptuneSettings(v *NeptuneSettings) *ModifyEndpointInput { s.NeptuneSettings = v return s } +// SetOracleSettings sets the OracleSettings field's value. +func (s *ModifyEndpointInput) SetOracleSettings(v *OracleSettings) *ModifyEndpointInput { + s.OracleSettings = v + return s +} + // SetPassword sets the Password field's value. func (s *ModifyEndpointInput) SetPassword(v string) *ModifyEndpointInput { s.Password = &v @@ -10550,6 +12234,12 @@ func (s *ModifyEndpointInput) SetPort(v int64) *ModifyEndpointInput { return s } +// SetPostgreSQLSettings sets the PostgreSQLSettings field's value. +func (s *ModifyEndpointInput) SetPostgreSQLSettings(v *PostgreSQLSettings) *ModifyEndpointInput { + s.PostgreSQLSettings = v + return s +} + // SetRedshiftSettings sets the RedshiftSettings field's value. func (s *ModifyEndpointInput) SetRedshiftSettings(v *RedshiftSettings) *ModifyEndpointInput { s.RedshiftSettings = v @@ -10580,6 +12270,12 @@ func (s *ModifyEndpointInput) SetSslMode(v string) *ModifyEndpointInput { return s } +// SetSybaseSettings sets the SybaseSettings field's value. +func (s *ModifyEndpointInput) SetSybaseSettings(v *SybaseSettings) *ModifyEndpointInput { + s.SybaseSettings = v + return s +} + // SetUsername sets the Username field's value. func (s *ModifyEndpointInput) SetUsername(v string) *ModifyEndpointInput { s.Username = &v @@ -10775,10 +12471,13 @@ type ModifyReplicationInstanceInput struct { // ReplicationInstanceArn is a required field ReplicationInstanceArn *string `type:"string" required:"true"` - // The compute and memory capacity of the replication instance. + // The compute and memory capacity of the replication instance as defined for + // the specified replication instance class. For example to specify the instance + // class dms.c4.large, set this parameter to "dms.c4.large". // - // Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large - // | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge + // For more information on the settings and capacities for the available replication + // instance classes, see Selecting the right AWS DMS replication instance for + // your migration (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth). ReplicationInstanceClass *string `type:"string"` // The replication instance identifier. This parameter is stored as a lowercase @@ -11037,7 +12736,7 @@ type ModifyReplicationTaskInput struct { // // Constraints: // - // * Must contain from 1 to 255 alphanumeric characters or hyphens. + // * Must contain 1-255 alphanumeric characters or hyphens. // // * First character must be a letter. // @@ -11056,7 +12755,7 @@ type ModifyReplicationTaskInput struct { // Supplemental information that the task requires to migrate the data for certain // source and target endpoints. For more information, see Specifying Supplemental // Data for Task Settings (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html) - // in the AWS Database Migration User Guide. + // in the AWS Database Migration Service User Guide. TaskData *string `type:"string"` } @@ -11166,37 +12865,35 @@ type MongoDbSettings struct { // The authentication mechanism you use to access the MongoDB source endpoint. // - // Valid values: DEFAULT, MONGODB_CR, SCRAM_SHA_1 - // - // DEFAULT – For MongoDB version 2.x, use MONGODB_CR. For MongoDB version - // 3.x, use SCRAM_SHA_1. This setting isn't used when authType=No. + // For the default value, in MongoDB version 2.x, "default" is "mongodb_cr". + // For MongoDB version 3.x or later, "default" is "scram_sha_1". This setting + // isn't used when AuthType is set to "no". AuthMechanism *string `type:"string" enum:"AuthMechanismValue"` - // The MongoDB database name. This setting isn't used when authType=NO. + // The MongoDB database name. This setting isn't used when AuthType is set to + // "no". // - // The default is admin. + // The default is "admin". AuthSource *string `type:"string"` // The authentication type you use to access the MongoDB source endpoint. // - // Valid values: NO, PASSWORD - // - // When NO is selected, user name and password parameters are not used and can - // be empty. + // When when set to "no", user name and password parameters are not used and + // can be empty. AuthType *string `type:"string" enum:"AuthTypeValue"` // The database name on the MongoDB source endpoint. DatabaseName *string `type:"string"` // Indicates the number of documents to preview to determine the document organization. - // Use this setting when NestingLevel is set to ONE. + // Use this setting when NestingLevel is set to "one". // // Must be a positive value greater than 0. Default value is 1000. DocsToInvestigate *string `type:"string"` - // Specifies the document ID. Use this setting when NestingLevel is set to NONE. + // Specifies the document ID. Use this setting when NestingLevel is set to "none". // - // Default value is false. + // Default value is "false". ExtractDocId *string `type:"string"` // The AWS KMS key identifier that is used to encrypt the content on the replication @@ -11208,10 +12905,8 @@ type MongoDbSettings struct { // Specifies either document or table mode. // - // Valid values: NONE, ONE - // - // Default value is NONE. Specify NONE to use document mode. Specify ONE to - // use table mode. + // Default value is "none". Specify "none" to use document mode. Specify "one" + // to use table mode. NestingLevel *string `type:"string" enum:"NestingLevelValue"` // The password for the user account you use to access the MongoDB source endpoint. @@ -11309,47 +13004,108 @@ func (s *MongoDbSettings) SetUsername(v string) *MongoDbSettings { return s } -// Provides information that defines an Amazon Neptune endpoint. -type NeptuneSettings struct { +// Provides information that defines a MySQL endpoint. +type MySQLSettings struct { _ struct{} `type:"structure"` - // The number of milliseconds for AWS DMS to wait to retry a bulk-load of migrated - // graph data to the Neptune target database before raising an error. The default - // is 250. - ErrorRetryDuration *int64 `type:"integer"` + // Database name for the endpoint. + DatabaseName *string `type:"string"` - // If you want IAM authorization enabled for this endpoint, set this parameter - // to true and attach the appropriate role policy document to your service role - // specified by ServiceAccessRoleArn. The default is false. - IamAuthEnabled *bool `type:"boolean"` + // Endpoint connection password. + Password *string `type:"string" sensitive:"true"` - // The maximum size in KB of migrated graph data stored in a CSV file before - // AWS DMS bulk-loads the data to the Neptune target database. The default is - // 1048576 KB. If successful, AWS DMS clears the bucket, ready to store the - // next batch of migrated graph data. - MaxFileSize *int64 `type:"integer"` + // Endpoint TCP port. + Port *int64 `type:"integer"` + + // Fully qualified domain name of the endpoint. + ServerName *string `type:"string"` + + // Endpoint connection user name. + Username *string `type:"string"` +} + +// String returns the string representation +func (s MySQLSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MySQLSettings) GoString() string { + return s.String() +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *MySQLSettings) SetDatabaseName(v string) *MySQLSettings { + s.DatabaseName = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *MySQLSettings) SetPassword(v string) *MySQLSettings { + s.Password = &v + return s +} + +// SetPort sets the Port field's value. +func (s *MySQLSettings) SetPort(v int64) *MySQLSettings { + s.Port = &v + return s +} + +// SetServerName sets the ServerName field's value. +func (s *MySQLSettings) SetServerName(v string) *MySQLSettings { + s.ServerName = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *MySQLSettings) SetUsername(v string) *MySQLSettings { + s.Username = &v + return s +} + +// Provides information that defines an Amazon Neptune endpoint. +type NeptuneSettings struct { + _ struct{} `type:"structure"` + + // The number of milliseconds for AWS DMS to wait to retry a bulk-load of migrated + // graph data to the Neptune target database before raising an error. The default + // is 250. + ErrorRetryDuration *int64 `type:"integer"` - // The number of times for AWS DMS to retry a bulk-load of migrated graph data + // If you want AWS Identity and Access Management (IAM) authorization enabled + // for this endpoint, set this parameter to true. Then attach the appropriate + // IAM policy document to your service role specified by ServiceAccessRoleArn. + // The default is false. + IamAuthEnabled *bool `type:"boolean"` + + // The maximum size in kilobytes of migrated graph data stored in a .csv file + // before AWS DMS bulk-loads the data to the Neptune target database. The default + // is 1,048,576 KB. If the bulk load is successful, AWS DMS clears the bucket, + // ready to store the next batch of migrated graph data. + MaxFileSize *int64 `type:"integer"` + + // The number of times for AWS DMS to retry a bulk load of migrated graph data // to the Neptune target database before raising an error. The default is 5. MaxRetryCount *int64 `type:"integer"` - // A folder path where you where you want AWS DMS to store migrated graph data - // in the S3 bucket specified by S3BucketName + // A folder path where you want AWS DMS to store migrated graph data in the + // S3 bucket specified by S3BucketName // // S3BucketFolder is a required field S3BucketFolder *string `type:"string" required:"true"` - // The name of the S3 bucket for AWS DMS to temporarily store migrated graph - // data in CSV files before bulk-loading it to the Neptune target database. + // The name of the Amazon S3 bucket where AWS DMS can temporarily store migrated + // graph data in .csv files before bulk-loading it to the Neptune target database. // AWS DMS maps the SQL source data to graph data before storing it in these - // CSV files. + // .csv files. // // S3BucketName is a required field S3BucketName *string `type:"string" required:"true"` - // The ARN of the service role you have created for the Neptune target endpoint. - // For more information, see https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.ServiceRole - // (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.ServiceRole) + // The Amazon Resource Name (ARN) of the service role that you created for the + // Neptune target endpoint. For more information, see Creating an IAM Service + // Role for Accessing Amazon Neptune as a Target (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.ServiceRole) // in the AWS Database Migration Service User Guide. ServiceAccessRoleArn *string `type:"string"` } @@ -11422,6 +13178,138 @@ func (s *NeptuneSettings) SetServiceAccessRoleArn(v string) *NeptuneSettings { return s } +// Provides information that defines an Oracle endpoint. +type OracleSettings struct { + _ struct{} `type:"structure"` + + // For an Oracle source endpoint, your Oracle Automatic Storage Management (ASM) + // password. You can set this value from the asm_user_password value. You set + // this value as part of the comma-separated value that you set to the Password + // request parameter when you create the endpoint to access transaction logs + // using Binary Reader. For more information, see Configuration for change data + // capture (CDC) on an Oracle source database (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration). + AsmPassword *string `type:"string" sensitive:"true"` + + // For an Oracle source endpoint, your ASM server address. You can set this + // value from the asm_server value. You set asm_server as part of the extra + // connection attribute string to access an Oracle server with Binary Reader + // that uses ASM. For more information, see Configuration for change data capture + // (CDC) on an Oracle source database (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration). + AsmServer *string `type:"string"` + + // For an Oracle source endpoint, your ASM user name. You can set this value + // from the asm_user value. You set asm_user as part of the extra connection + // attribute string to access an Oracle server with Binary Reader that uses + // ASM. For more information, see Configuration for change data capture (CDC) + // on an Oracle source database (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration). + AsmUser *string `type:"string"` + + // Database name for the endpoint. + DatabaseName *string `type:"string"` + + // Endpoint connection password. + Password *string `type:"string" sensitive:"true"` + + // Endpoint TCP port. + Port *int64 `type:"integer"` + + // For an Oracle source endpoint, the transparent data encryption (TDE) password + // required by AWM DMS to access Oracle redo logs encrypted by TDE using Binary + // Reader. It is also the TDE_Password part of the comma-separated value you + // set to the Password request parameter when you create the endpoint. The SecurityDbEncryptian + // setting is related to this SecurityDbEncryptionName setting. For more information, + // see Supported encryption methods for using Oracle as a source for AWS DMS + // (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption) + // in the AWS Database Migration Service User Guide. + SecurityDbEncryption *string `type:"string" sensitive:"true"` + + // For an Oracle source endpoint, the name of a key used for the transparent + // data encryption (TDE) of the columns and tablespaces in an Oracle source + // database that is encrypted using TDE. The key value is the value of the SecurityDbEncryption + // setting. For more information on setting the key name value of SecurityDbEncryptionName, + // see the information and example for setting the securityDbEncryptionName + // extra connection attribute in Supported encryption methods for using Oracle + // as a source for AWS DMS (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption) + // in the AWS Database Migration Service User Guide. + SecurityDbEncryptionName *string `type:"string"` + + // Fully qualified domain name of the endpoint. + ServerName *string `type:"string"` + + // Endpoint connection user name. + Username *string `type:"string"` +} + +// String returns the string representation +func (s OracleSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OracleSettings) GoString() string { + return s.String() +} + +// SetAsmPassword sets the AsmPassword field's value. +func (s *OracleSettings) SetAsmPassword(v string) *OracleSettings { + s.AsmPassword = &v + return s +} + +// SetAsmServer sets the AsmServer field's value. +func (s *OracleSettings) SetAsmServer(v string) *OracleSettings { + s.AsmServer = &v + return s +} + +// SetAsmUser sets the AsmUser field's value. +func (s *OracleSettings) SetAsmUser(v string) *OracleSettings { + s.AsmUser = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *OracleSettings) SetDatabaseName(v string) *OracleSettings { + s.DatabaseName = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *OracleSettings) SetPassword(v string) *OracleSettings { + s.Password = &v + return s +} + +// SetPort sets the Port field's value. +func (s *OracleSettings) SetPort(v int64) *OracleSettings { + s.Port = &v + return s +} + +// SetSecurityDbEncryption sets the SecurityDbEncryption field's value. +func (s *OracleSettings) SetSecurityDbEncryption(v string) *OracleSettings { + s.SecurityDbEncryption = &v + return s +} + +// SetSecurityDbEncryptionName sets the SecurityDbEncryptionName field's value. +func (s *OracleSettings) SetSecurityDbEncryptionName(v string) *OracleSettings { + s.SecurityDbEncryptionName = &v + return s +} + +// SetServerName sets the ServerName field's value. +func (s *OracleSettings) SetServerName(v string) *OracleSettings { + s.ServerName = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *OracleSettings) SetUsername(v string) *OracleSettings { + s.Username = &v + return s +} + // In response to the DescribeOrderableReplicationInstances operation, this // object describes an available replication instance. This description includes // the replication instance's type, engine version, and allocated storage. @@ -11456,10 +13344,13 @@ type OrderableReplicationInstance struct { // AWS DMS supports the ReleaseStatus parameter in versions 3.1.4 and later. ReleaseStatus *string `type:"string" enum:"ReleaseStatusValues"` - // The compute and memory capacity of the replication instance. + // The compute and memory capacity of the replication instance as defined for + // the specified replication instance class. For example to specify the instance + // class dms.c4.large, set this parameter to "dms.c4.large". // - // Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large - // | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge + // For more information on the settings and capacities for the available replication + // instance classes, see Selecting the right AWS DMS replication instance for + // your migration (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth). ReplicationInstanceClass *string `type:"string"` // The type of storage used by the replication instance. @@ -11612,6 +13503,66 @@ func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceA return s } +// Provides information that defines a PostgreSQL endpoint. +type PostgreSQLSettings struct { + _ struct{} `type:"structure"` + + // Database name for the endpoint. + DatabaseName *string `type:"string"` + + // Endpoint connection password. + Password *string `type:"string" sensitive:"true"` + + // Endpoint TCP port. + Port *int64 `type:"integer"` + + // Fully qualified domain name of the endpoint. + ServerName *string `type:"string"` + + // Endpoint connection user name. + Username *string `type:"string"` +} + +// String returns the string representation +func (s PostgreSQLSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PostgreSQLSettings) GoString() string { + return s.String() +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *PostgreSQLSettings) SetDatabaseName(v string) *PostgreSQLSettings { + s.DatabaseName = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *PostgreSQLSettings) SetPassword(v string) *PostgreSQLSettings { + s.Password = &v + return s +} + +// SetPort sets the Port field's value. +func (s *PostgreSQLSettings) SetPort(v int64) *PostgreSQLSettings { + s.Port = &v + return s +} + +// SetServerName sets the ServerName field's value. +func (s *PostgreSQLSettings) SetServerName(v string) *PostgreSQLSettings { + s.ServerName = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *PostgreSQLSettings) SetUsername(v string) *PostgreSQLSettings { + s.Username = &v + return s +} + type RebootReplicationInstanceInput struct { _ struct{} `type:"structure"` @@ -12149,6 +14100,16 @@ func (s *ReloadTablesInput) Validate() error { if s.TablesToReload == nil { invalidParams.Add(request.NewErrParamRequired("TablesToReload")) } + if s.TablesToReload != nil { + for i, v := range s.TablesToReload { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TablesToReload", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -12280,7 +14241,8 @@ type ReplicationInstance struct { // The Availability Zone for the instance. AvailabilityZone *string `type:"string"` - // The DNS name servers for the replication instance. + // The DNS name servers supported for the replication instance to access your + // on-premise source or target database. DnsNameServers *string `type:"string"` // The engine version number of the replication instance. @@ -12322,10 +14284,12 @@ type ReplicationInstance struct { // The Amazon Resource Name (ARN) of the replication instance. ReplicationInstanceArn *string `type:"string"` - // The compute and memory capacity of the replication instance. + // The compute and memory capacity of the replication instance as defined for + // the specified replication instance class. // - // Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large - // | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge + // For more information on the settings and capacities for the available replication + // instance classes, see Selecting the right AWS DMS replication instance for + // your migration (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth). ReplicationInstanceClass *string `type:"string"` // The replication instance identifier. This parameter is stored as a lowercase @@ -12333,7 +14297,7 @@ type ReplicationInstance struct { // // Constraints: // - // * Must contain from 1 to 63 alphanumeric characters or hyphens. + // * Must contain 1-63 alphanumeric characters or hyphens. // // * First character must be a letter. // @@ -12358,7 +14322,33 @@ type ReplicationInstance struct { // One or more public IP addresses for the replication instance. ReplicationInstancePublicIpAddresses []*string `type:"list"` - // The status of the replication instance. + // The status of the replication instance. The possible return values include: + // + // * "available" + // + // * "creating" + // + // * "deleted" + // + // * "deleting" + // + // * "failed" + // + // * "modifying" + // + // * "upgrading" + // + // * "rebooting" + // + // * "resetting-master-credentials" + // + // * "storage-full" + // + // * "incompatible-credentials" + // + // * "incompatible-network" + // + // * "maintenance" ReplicationInstanceStatus *string `type:"string"` // The subnet group for the replication instance. @@ -12579,10 +14569,12 @@ type ReplicationPendingModifiedValues struct { // to true. MultiAZ *bool `type:"boolean"` - // The compute and memory capacity of the replication instance. + // The compute and memory capacity of the replication instance as defined for + // the specified replication instance class. // - // Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large - // | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge + // For more information on the settings and capacities for the available replication + // instance classes, see Selecting the right AWS DMS replication instance for + // your migration (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth). ReplicationInstanceClass *string `type:"string"` } @@ -12789,7 +14781,7 @@ type ReplicationTask struct { // // Constraints: // - // * Must contain from 1 to 255 alphanumeric characters or hyphens. + // * Must contain 1-255 alphanumeric characters or hyphens. // // * First character must be a letter. // @@ -12812,7 +14804,20 @@ type ReplicationTask struct { // The status of the replication task. Status *string `type:"string"` - // The reason the replication task was stopped. + // The reason the replication task was stopped. This response parameter can + // return one of the following values: + // + // * "STOP_REASON_FULL_LOAD_COMPLETED" – Full-load migration completed. + // + // * "STOP_REASON_CACHED_CHANGES_APPLIED" – Change data capture (CDC) load + // completed. + // + // * "STOP_REASON_CACHED_CHANGES_NOT_APPLIED" – In a full-load and CDC + // migration, the full-load stopped as specified before starting the CDC + // migration. + // + // * "STOP_REASON_SERVER_TIME" – The migration stopped at the specified + // server time. StopReason *string `type:"string"` // Table mappings specified in the task. @@ -12824,7 +14829,7 @@ type ReplicationTask struct { // Supplemental information that the task requires to migrate the data for certain // source and target endpoints. For more information, see Specifying Supplemental // Data for Task Settings (https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.TaskData.html) - // in the AWS Database Migration User Guide. + // in the AWS Database Migration Service User Guide. TaskData *string `type:"string"` } @@ -13025,89 +15030,361 @@ func (s *ReplicationTaskAssessmentResult) SetS3ObjectUrl(v string) *ReplicationT return s } -// In response to a request by the DescribeReplicationTasks operation, this -// object provides a collection of statistics about a replication task. -type ReplicationTaskStats struct { +// Provides information that describes a premigration assessment run that you +// have started using the StartReplicationTaskAssessmentRun operation. +// +// Some of the information appears based on other operations that can return +// the ReplicationTaskAssessmentRun object. +type ReplicationTaskAssessmentRun struct { _ struct{} `type:"structure"` - // The elapsed time of the task, in milliseconds. - ElapsedTimeMillis *int64 `type:"long"` + // Indication of the completion progress for the individual assessments specified + // to run. + AssessmentProgress *ReplicationTaskAssessmentRunProgress `type:"structure"` - // The date the replication task was started either with a fresh start or a - // target reload. - FreshStartDate *time.Time `type:"timestamp"` + // Unique name of the assessment run. + AssessmentRunName *string `type:"string"` - // The date the replication task full load was completed. - FullLoadFinishDate *time.Time `type:"timestamp"` + // Last message generated by an individual assessment failure. + LastFailureMessage *string `type:"string"` - // The percent complete for the full load migration task. - FullLoadProgressPercent *int64 `type:"integer"` + // ARN of the migration task associated with this premigration assessment run. + ReplicationTaskArn *string `type:"string"` - // The date the replication task full load was started. - FullLoadStartDate *time.Time `type:"timestamp"` + // Amazon Resource Name (ARN) of this assessment run. + ReplicationTaskAssessmentRunArn *string `type:"string"` - // The date the replication task was started either with a fresh start or a - // resume. For more information, see StartReplicationTaskType (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html#DMS-StartReplicationTask-request-StartReplicationTaskType). - StartDate *time.Time `type:"timestamp"` + // Date on which the assessment run was created using the StartReplicationTaskAssessmentRun + // operation. + ReplicationTaskAssessmentRunCreationDate *time.Time `type:"timestamp"` - // The date the replication task was stopped. - StopDate *time.Time `type:"timestamp"` + // Encryption mode used to encrypt the assessment run results. + ResultEncryptionMode *string `type:"string"` - // The number of errors that have occurred during this task. - TablesErrored *int64 `type:"integer"` + // ARN of the AWS KMS encryption key used to encrypt the assessment run results. + ResultKmsKeyArn *string `type:"string"` - // The number of tables loaded for this task. - TablesLoaded *int64 `type:"integer"` + // Amazon S3 bucket where AWS DMS stores the results of this assessment run. + ResultLocationBucket *string `type:"string"` - // The number of tables currently loading for this task. - TablesLoading *int64 `type:"integer"` + // Folder in an Amazon S3 bucket where AWS DMS stores the results of this assessment + // run. + ResultLocationFolder *string `type:"string"` - // The number of tables queued for this task. - TablesQueued *int64 `type:"integer"` + // ARN of the service role used to start the assessment run using the StartReplicationTaskAssessmentRun + // operation. + ServiceAccessRoleArn *string `type:"string"` + + // Assessment run status. + // + // This status can have one of the following values: + // + // * "cancelling" – The assessment run was canceled by the CancelReplicationTaskAssessmentRun + // operation. + // + // * "deleting" – The assessment run was deleted by the DeleteReplicationTaskAssessmentRun + // operation. + // + // * "failed" – At least one individual assessment completed with a failed + // status. + // + // * "error-provisioning" – An internal error occurred while resources + // were provisioned (during provisioning status). + // + // * "error-executing" – An internal error occurred while individual assessments + // ran (during running status). + // + // * "invalid state" – The assessment run is in an unknown state. + // + // * "passed" – All individual assessments have completed, and none has + // a failed status. + // + // * "provisioning" – Resources required to run individual assessments + // are being provisioned. + // + // * "running" – Individual assessments are being run. + // + // * "starting" – The assessment run is starting, but resources are not + // yet being provisioned for individual assessments. + Status *string `type:"string"` } // String returns the string representation -func (s ReplicationTaskStats) String() string { +func (s ReplicationTaskAssessmentRun) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ReplicationTaskStats) GoString() string { +func (s ReplicationTaskAssessmentRun) GoString() string { return s.String() } -// SetElapsedTimeMillis sets the ElapsedTimeMillis field's value. -func (s *ReplicationTaskStats) SetElapsedTimeMillis(v int64) *ReplicationTaskStats { - s.ElapsedTimeMillis = &v +// SetAssessmentProgress sets the AssessmentProgress field's value. +func (s *ReplicationTaskAssessmentRun) SetAssessmentProgress(v *ReplicationTaskAssessmentRunProgress) *ReplicationTaskAssessmentRun { + s.AssessmentProgress = v return s } -// SetFreshStartDate sets the FreshStartDate field's value. -func (s *ReplicationTaskStats) SetFreshStartDate(v time.Time) *ReplicationTaskStats { - s.FreshStartDate = &v +// SetAssessmentRunName sets the AssessmentRunName field's value. +func (s *ReplicationTaskAssessmentRun) SetAssessmentRunName(v string) *ReplicationTaskAssessmentRun { + s.AssessmentRunName = &v return s } -// SetFullLoadFinishDate sets the FullLoadFinishDate field's value. -func (s *ReplicationTaskStats) SetFullLoadFinishDate(v time.Time) *ReplicationTaskStats { - s.FullLoadFinishDate = &v +// SetLastFailureMessage sets the LastFailureMessage field's value. +func (s *ReplicationTaskAssessmentRun) SetLastFailureMessage(v string) *ReplicationTaskAssessmentRun { + s.LastFailureMessage = &v return s } -// SetFullLoadProgressPercent sets the FullLoadProgressPercent field's value. -func (s *ReplicationTaskStats) SetFullLoadProgressPercent(v int64) *ReplicationTaskStats { - s.FullLoadProgressPercent = &v +// SetReplicationTaskArn sets the ReplicationTaskArn field's value. +func (s *ReplicationTaskAssessmentRun) SetReplicationTaskArn(v string) *ReplicationTaskAssessmentRun { + s.ReplicationTaskArn = &v return s } -// SetFullLoadStartDate sets the FullLoadStartDate field's value. -func (s *ReplicationTaskStats) SetFullLoadStartDate(v time.Time) *ReplicationTaskStats { - s.FullLoadStartDate = &v +// SetReplicationTaskAssessmentRunArn sets the ReplicationTaskAssessmentRunArn field's value. +func (s *ReplicationTaskAssessmentRun) SetReplicationTaskAssessmentRunArn(v string) *ReplicationTaskAssessmentRun { + s.ReplicationTaskAssessmentRunArn = &v return s } -// SetStartDate sets the StartDate field's value. -func (s *ReplicationTaskStats) SetStartDate(v time.Time) *ReplicationTaskStats { +// SetReplicationTaskAssessmentRunCreationDate sets the ReplicationTaskAssessmentRunCreationDate field's value. +func (s *ReplicationTaskAssessmentRun) SetReplicationTaskAssessmentRunCreationDate(v time.Time) *ReplicationTaskAssessmentRun { + s.ReplicationTaskAssessmentRunCreationDate = &v + return s +} + +// SetResultEncryptionMode sets the ResultEncryptionMode field's value. +func (s *ReplicationTaskAssessmentRun) SetResultEncryptionMode(v string) *ReplicationTaskAssessmentRun { + s.ResultEncryptionMode = &v + return s +} + +// SetResultKmsKeyArn sets the ResultKmsKeyArn field's value. +func (s *ReplicationTaskAssessmentRun) SetResultKmsKeyArn(v string) *ReplicationTaskAssessmentRun { + s.ResultKmsKeyArn = &v + return s +} + +// SetResultLocationBucket sets the ResultLocationBucket field's value. +func (s *ReplicationTaskAssessmentRun) SetResultLocationBucket(v string) *ReplicationTaskAssessmentRun { + s.ResultLocationBucket = &v + return s +} + +// SetResultLocationFolder sets the ResultLocationFolder field's value. +func (s *ReplicationTaskAssessmentRun) SetResultLocationFolder(v string) *ReplicationTaskAssessmentRun { + s.ResultLocationFolder = &v + return s +} + +// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value. +func (s *ReplicationTaskAssessmentRun) SetServiceAccessRoleArn(v string) *ReplicationTaskAssessmentRun { + s.ServiceAccessRoleArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ReplicationTaskAssessmentRun) SetStatus(v string) *ReplicationTaskAssessmentRun { + s.Status = &v + return s +} + +// The progress values reported by the AssessmentProgress response element. +type ReplicationTaskAssessmentRunProgress struct { + _ struct{} `type:"structure"` + + // The number of individual assessments that have completed, successfully or + // not. + IndividualAssessmentCompletedCount *int64 `type:"integer"` + + // The number of individual assessments that are specified to run. + IndividualAssessmentCount *int64 `type:"integer"` +} + +// String returns the string representation +func (s ReplicationTaskAssessmentRunProgress) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicationTaskAssessmentRunProgress) GoString() string { + return s.String() +} + +// SetIndividualAssessmentCompletedCount sets the IndividualAssessmentCompletedCount field's value. +func (s *ReplicationTaskAssessmentRunProgress) SetIndividualAssessmentCompletedCount(v int64) *ReplicationTaskAssessmentRunProgress { + s.IndividualAssessmentCompletedCount = &v + return s +} + +// SetIndividualAssessmentCount sets the IndividualAssessmentCount field's value. +func (s *ReplicationTaskAssessmentRunProgress) SetIndividualAssessmentCount(v int64) *ReplicationTaskAssessmentRunProgress { + s.IndividualAssessmentCount = &v + return s +} + +// Provides information that describes an individual assessment from a premigration +// assessment run. +type ReplicationTaskIndividualAssessment struct { + _ struct{} `type:"structure"` + + // Name of this individual assessment. + IndividualAssessmentName *string `type:"string"` + + // ARN of the premigration assessment run that is created to run this individual + // assessment. + ReplicationTaskAssessmentRunArn *string `type:"string"` + + // Amazon Resource Name (ARN) of this individual assessment. + ReplicationTaskIndividualAssessmentArn *string `type:"string"` + + // Date when this individual assessment was started as part of running the StartReplicationTaskAssessmentRun + // operation. + ReplicationTaskIndividualAssessmentStartDate *time.Time `type:"timestamp"` + + // Individual assessment status. + // + // This status can have one of the following values: + // + // * "cancelled" + // + // * "error" + // + // * "failed" + // + // * "passed" + // + // * "pending" + // + // * "running" + Status *string `type:"string"` +} + +// String returns the string representation +func (s ReplicationTaskIndividualAssessment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicationTaskIndividualAssessment) GoString() string { + return s.String() +} + +// SetIndividualAssessmentName sets the IndividualAssessmentName field's value. +func (s *ReplicationTaskIndividualAssessment) SetIndividualAssessmentName(v string) *ReplicationTaskIndividualAssessment { + s.IndividualAssessmentName = &v + return s +} + +// SetReplicationTaskAssessmentRunArn sets the ReplicationTaskAssessmentRunArn field's value. +func (s *ReplicationTaskIndividualAssessment) SetReplicationTaskAssessmentRunArn(v string) *ReplicationTaskIndividualAssessment { + s.ReplicationTaskAssessmentRunArn = &v + return s +} + +// SetReplicationTaskIndividualAssessmentArn sets the ReplicationTaskIndividualAssessmentArn field's value. +func (s *ReplicationTaskIndividualAssessment) SetReplicationTaskIndividualAssessmentArn(v string) *ReplicationTaskIndividualAssessment { + s.ReplicationTaskIndividualAssessmentArn = &v + return s +} + +// SetReplicationTaskIndividualAssessmentStartDate sets the ReplicationTaskIndividualAssessmentStartDate field's value. +func (s *ReplicationTaskIndividualAssessment) SetReplicationTaskIndividualAssessmentStartDate(v time.Time) *ReplicationTaskIndividualAssessment { + s.ReplicationTaskIndividualAssessmentStartDate = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ReplicationTaskIndividualAssessment) SetStatus(v string) *ReplicationTaskIndividualAssessment { + s.Status = &v + return s +} + +// In response to a request by the DescribeReplicationTasks operation, this +// object provides a collection of statistics about a replication task. +type ReplicationTaskStats struct { + _ struct{} `type:"structure"` + + // The elapsed time of the task, in milliseconds. + ElapsedTimeMillis *int64 `type:"long"` + + // The date the replication task was started either with a fresh start or a + // target reload. + FreshStartDate *time.Time `type:"timestamp"` + + // The date the replication task full load was completed. + FullLoadFinishDate *time.Time `type:"timestamp"` + + // The percent complete for the full load migration task. + FullLoadProgressPercent *int64 `type:"integer"` + + // The date the replication task full load was started. + FullLoadStartDate *time.Time `type:"timestamp"` + + // The date the replication task was started either with a fresh start or a + // resume. For more information, see StartReplicationTaskType (https://docs.aws.amazon.com/dms/latest/APIReference/API_StartReplicationTask.html#DMS-StartReplicationTask-request-StartReplicationTaskType). + StartDate *time.Time `type:"timestamp"` + + // The date the replication task was stopped. + StopDate *time.Time `type:"timestamp"` + + // The number of errors that have occurred during this task. + TablesErrored *int64 `type:"integer"` + + // The number of tables loaded for this task. + TablesLoaded *int64 `type:"integer"` + + // The number of tables currently loading for this task. + TablesLoading *int64 `type:"integer"` + + // The number of tables queued for this task. + TablesQueued *int64 `type:"integer"` +} + +// String returns the string representation +func (s ReplicationTaskStats) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicationTaskStats) GoString() string { + return s.String() +} + +// SetElapsedTimeMillis sets the ElapsedTimeMillis field's value. +func (s *ReplicationTaskStats) SetElapsedTimeMillis(v int64) *ReplicationTaskStats { + s.ElapsedTimeMillis = &v + return s +} + +// SetFreshStartDate sets the FreshStartDate field's value. +func (s *ReplicationTaskStats) SetFreshStartDate(v time.Time) *ReplicationTaskStats { + s.FreshStartDate = &v + return s +} + +// SetFullLoadFinishDate sets the FullLoadFinishDate field's value. +func (s *ReplicationTaskStats) SetFullLoadFinishDate(v time.Time) *ReplicationTaskStats { + s.FullLoadFinishDate = &v + return s +} + +// SetFullLoadProgressPercent sets the FullLoadProgressPercent field's value. +func (s *ReplicationTaskStats) SetFullLoadProgressPercent(v int64) *ReplicationTaskStats { + s.FullLoadProgressPercent = &v + return s +} + +// SetFullLoadStartDate sets the FullLoadStartDate field's value. +func (s *ReplicationTaskStats) SetFullLoadStartDate(v time.Time) *ReplicationTaskStats { + s.FullLoadStartDate = &v + return s +} + +// SetStartDate sets the StartDate field's value. +func (s *ReplicationTaskStats) SetStartDate(v time.Time) *ReplicationTaskStats { s.StartDate = &v return s } @@ -13348,6 +15625,118 @@ func (s *ResourceQuotaExceededFault) RequestID() string { return s.RespMetadata.RequestID } +// Insufficient privileges are preventing access to an Amazon S3 object. +type S3AccessDeniedFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s S3AccessDeniedFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3AccessDeniedFault) GoString() string { + return s.String() +} + +func newErrorS3AccessDeniedFault(v protocol.ResponseMetadata) error { + return &S3AccessDeniedFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *S3AccessDeniedFault) Code() string { + return "S3AccessDeniedFault" +} + +// Message returns the exception's message. +func (s *S3AccessDeniedFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *S3AccessDeniedFault) OrigErr() error { + return nil +} + +func (s *S3AccessDeniedFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *S3AccessDeniedFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *S3AccessDeniedFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// A specified Amazon S3 bucket, bucket folder, or other object can't be found. +type S3ResourceNotFoundFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s S3ResourceNotFoundFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3ResourceNotFoundFault) GoString() string { + return s.String() +} + +func newErrorS3ResourceNotFoundFault(v protocol.ResponseMetadata) error { + return &S3ResourceNotFoundFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *S3ResourceNotFoundFault) Code() string { + return "S3ResourceNotFoundFault" +} + +// Message returns the exception's message. +func (s *S3ResourceNotFoundFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *S3ResourceNotFoundFault) OrigErr() error { + return nil +} + +func (s *S3ResourceNotFoundFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *S3ResourceNotFoundFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *S3ResourceNotFoundFault) RequestID() string { + return s.RespMetadata.RequestID +} + // Settings for exporting data to Amazon S3. type S3Settings struct { _ struct{} `type:"structure"` @@ -13895,6 +16284,187 @@ func (s *StartReplicationTaskAssessmentOutput) SetReplicationTask(v *Replication return s } +type StartReplicationTaskAssessmentRunInput struct { + _ struct{} `type:"structure"` + + // Unique name to identify the assessment run. + // + // AssessmentRunName is a required field + AssessmentRunName *string `type:"string" required:"true"` + + // Space-separated list of names for specific individual assessments that you + // want to exclude. These names come from the default list of individual assessments + // that AWS DMS supports for the associated migration task. This task is specified + // by ReplicationTaskArn. + // + // You can't set a value for Exclude if you also set a value for IncludeOnly + // in the API operation. + // + // To identify the names of the default individual assessments that AWS DMS + // supports for the associated migration task, run the DescribeApplicableIndividualAssessments + // operation using its own ReplicationTaskArn request parameter. + Exclude []*string `type:"list"` + + // Space-separated list of names for specific individual assessments that you + // want to include. These names come from the default list of individual assessments + // that AWS DMS supports for the associated migration task. This task is specified + // by ReplicationTaskArn. + // + // You can't set a value for IncludeOnly if you also set a value for Exclude + // in the API operation. + // + // To identify the names of the default individual assessments that AWS DMS + // supports for the associated migration task, run the DescribeApplicableIndividualAssessments + // operation using its own ReplicationTaskArn request parameter. + IncludeOnly []*string `type:"list"` + + // Amazon Resource Name (ARN) of the migration task associated with the premigration + // assessment run that you want to start. + // + // ReplicationTaskArn is a required field + ReplicationTaskArn *string `type:"string" required:"true"` + + // Encryption mode that you can specify to encrypt the results of this assessment + // run. If you don't specify this request parameter, AWS DMS stores the assessment + // run results without encryption. You can specify one of the options following: + // + // * "SSE_S3" – The server-side encryption provided as a default by Amazon + // S3. + // + // * "SSE_KMS" – AWS Key Management Service (AWS KMS) encryption. This + // encryption can use either a custom KMS encryption key that you specify + // or the default KMS encryption key that DMS provides. + ResultEncryptionMode *string `type:"string"` + + // ARN of a custom KMS encryption key that you specify when you set ResultEncryptionMode + // to "SSE_KMS". + ResultKmsKeyArn *string `type:"string"` + + // Amazon S3 bucket where you want AWS DMS to store the results of this assessment + // run. + // + // ResultLocationBucket is a required field + ResultLocationBucket *string `type:"string" required:"true"` + + // Folder within an Amazon S3 bucket where you want AWS DMS to store the results + // of this assessment run. + ResultLocationFolder *string `type:"string"` + + // ARN of a service role needed to start the assessment run. + // + // ServiceAccessRoleArn is a required field + ServiceAccessRoleArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s StartReplicationTaskAssessmentRunInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartReplicationTaskAssessmentRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartReplicationTaskAssessmentRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartReplicationTaskAssessmentRunInput"} + if s.AssessmentRunName == nil { + invalidParams.Add(request.NewErrParamRequired("AssessmentRunName")) + } + if s.ReplicationTaskArn == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationTaskArn")) + } + if s.ResultLocationBucket == nil { + invalidParams.Add(request.NewErrParamRequired("ResultLocationBucket")) + } + if s.ServiceAccessRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("ServiceAccessRoleArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssessmentRunName sets the AssessmentRunName field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetAssessmentRunName(v string) *StartReplicationTaskAssessmentRunInput { + s.AssessmentRunName = &v + return s +} + +// SetExclude sets the Exclude field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetExclude(v []*string) *StartReplicationTaskAssessmentRunInput { + s.Exclude = v + return s +} + +// SetIncludeOnly sets the IncludeOnly field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetIncludeOnly(v []*string) *StartReplicationTaskAssessmentRunInput { + s.IncludeOnly = v + return s +} + +// SetReplicationTaskArn sets the ReplicationTaskArn field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetReplicationTaskArn(v string) *StartReplicationTaskAssessmentRunInput { + s.ReplicationTaskArn = &v + return s +} + +// SetResultEncryptionMode sets the ResultEncryptionMode field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetResultEncryptionMode(v string) *StartReplicationTaskAssessmentRunInput { + s.ResultEncryptionMode = &v + return s +} + +// SetResultKmsKeyArn sets the ResultKmsKeyArn field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetResultKmsKeyArn(v string) *StartReplicationTaskAssessmentRunInput { + s.ResultKmsKeyArn = &v + return s +} + +// SetResultLocationBucket sets the ResultLocationBucket field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetResultLocationBucket(v string) *StartReplicationTaskAssessmentRunInput { + s.ResultLocationBucket = &v + return s +} + +// SetResultLocationFolder sets the ResultLocationFolder field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetResultLocationFolder(v string) *StartReplicationTaskAssessmentRunInput { + s.ResultLocationFolder = &v + return s +} + +// SetServiceAccessRoleArn sets the ServiceAccessRoleArn field's value. +func (s *StartReplicationTaskAssessmentRunInput) SetServiceAccessRoleArn(v string) *StartReplicationTaskAssessmentRunInput { + s.ServiceAccessRoleArn = &v + return s +} + +type StartReplicationTaskAssessmentRunOutput struct { + _ struct{} `type:"structure"` + + // The premigration assessment run that was started. + ReplicationTaskAssessmentRun *ReplicationTaskAssessmentRun `type:"structure"` +} + +// String returns the string representation +func (s StartReplicationTaskAssessmentRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartReplicationTaskAssessmentRunOutput) GoString() string { + return s.String() +} + +// SetReplicationTaskAssessmentRun sets the ReplicationTaskAssessmentRun field's value. +func (s *StartReplicationTaskAssessmentRunOutput) SetReplicationTaskAssessmentRun(v *ReplicationTaskAssessmentRun) *StartReplicationTaskAssessmentRunOutput { + s.ReplicationTaskAssessmentRun = v + return s +} + type StartReplicationTaskInput struct { _ struct{} `type:"structure"` @@ -14257,7 +16827,7 @@ type SupportedEndpointType struct { // The database engine name. Valid values, depending on the EndpointType, include // "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql", // "redshift", "s3", "db2", "azuredb", "sybase", "dynamodb", "mongodb", "kinesis", - // "kafka", "elasticsearch", "documentdb", and "sqlserver". + // "kafka", "elasticsearch", "documentdb", "sqlserver", and "neptune". EngineName *string `type:"string"` // The earliest AWS DMS engine version that supports this endpoint engine. Note @@ -14309,6 +16879,66 @@ func (s *SupportedEndpointType) SetSupportsCDC(v bool) *SupportedEndpointType { return s } +// Provides information that defines a SAP ASE endpoint. +type SybaseSettings struct { + _ struct{} `type:"structure"` + + // Database name for the endpoint. + DatabaseName *string `type:"string"` + + // Endpoint connection password. + Password *string `type:"string" sensitive:"true"` + + // Endpoint TCP port. + Port *int64 `type:"integer"` + + // Fully qualified domain name of the endpoint. + ServerName *string `type:"string"` + + // Endpoint connection user name. + Username *string `type:"string"` +} + +// String returns the string representation +func (s SybaseSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SybaseSettings) GoString() string { + return s.String() +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *SybaseSettings) SetDatabaseName(v string) *SybaseSettings { + s.DatabaseName = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *SybaseSettings) SetPassword(v string) *SybaseSettings { + s.Password = &v + return s +} + +// SetPort sets the Port field's value. +func (s *SybaseSettings) SetPort(v int64) *SybaseSettings { + s.Port = &v + return s +} + +// SetServerName sets the ServerName field's value. +func (s *SybaseSettings) SetServerName(v string) *SybaseSettings { + s.ServerName = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *SybaseSettings) SetUsername(v string) *SybaseSettings { + s.Username = &v + return s +} + // Provides a collection of table statistics in response to a request by the // DescribeTableStatistics operation. type TableStatistics struct { @@ -14532,10 +17162,14 @@ type TableToReload struct { _ struct{} `type:"structure"` // The schema name of the table to be reloaded. - SchemaName *string `type:"string"` + // + // SchemaName is a required field + SchemaName *string `type:"string" required:"true"` // The table name of the table to be reloaded. - TableName *string `type:"string"` + // + // TableName is a required field + TableName *string `type:"string" required:"true"` } // String returns the string representation @@ -14548,6 +17182,22 @@ func (s TableToReload) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *TableToReload) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TableToReload"} + if s.SchemaName == nil { + invalidParams.Add(request.NewErrParamRequired("SchemaName")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetSchemaName sets the SchemaName field's value. func (s *TableToReload) SetSchemaName(v string) *TableToReload { s.SchemaName = &v @@ -14571,16 +17221,16 @@ func (s *TableToReload) SetTableName(v string) *TableToReload { type Tag struct { _ struct{} `type:"structure"` - // A key is the required name of the tag. The string value can be from 1 to - // 128 Unicode characters in length and can't be prefixed with "aws:" or "dms:". - // The string can only contain only the set of Unicode letters, digits, white-space, - // '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"). + // A key is the required name of the tag. The string value can be 1-128 Unicode + // characters in length and can't be prefixed with "aws:" or "dms:". The string + // can only contain only the set of Unicode letters, digits, white-space, '_', + // '.', '/', '=', '+', '-' (Java regular expressions: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"). Key *string `type:"string"` - // A value is the optional value of the tag. The string value can be from 1 - // to 256 Unicode characters in length and can't be prefixed with "aws:" or - // "dms:". The string can only contain only the set of Unicode letters, digits, - // white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"). + // A value is the optional value of the tag. The string value can be 1-256 Unicode + // characters in length and can't be prefixed with "aws:" or "dms:". The string + // can only contain only the set of Unicode letters, digits, white-space, '_', + // '.', '/', '=', '+', '-' (Java regular expressions: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$"). Value *string `type:"string"` } @@ -14737,15 +17387,15 @@ func (s *UpgradeDependencyFailureFault) RequestID() string { return s.RespMetadata.RequestID } -// Describes status of a security group associated with the virtual private -// cloud hosting your replication and DB instances. +// Describes the status of a security group associated with the virtual private +// cloud (VPC) hosting your replication and DB instances. type VpcSecurityGroupMembership struct { _ struct{} `type:"structure"` // The status of the VPC security group. Status *string `type:"string"` - // The VPC security group Id. + // The VPC security group ID. VpcSecurityGroupId *string `type:"string"` } diff --git a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/errors.go b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/errors.go index e2e32caf6f0..b02044ee188 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/databasemigrationservice/errors.go @@ -53,6 +53,13 @@ const ( // The specified master key (CMK) isn't enabled. ErrCodeKMSDisabledFault = "KMSDisabledFault" + // ErrCodeKMSFault for service response error code + // "KMSFault". + // + // An AWS Key Management Service (AWS KMS) error is preventing access to AWS + // KMS. + ErrCodeKMSFault = "KMSFault" + // ErrCodeKMSInvalidStateFault for service response error code // "KMSInvalidStateFault". // @@ -102,6 +109,18 @@ const ( // The quota for this resource quota has been exceeded. ErrCodeResourceQuotaExceededFault = "ResourceQuotaExceededFault" + // ErrCodeS3AccessDeniedFault for service response error code + // "S3AccessDeniedFault". + // + // Insufficient privileges are preventing access to an Amazon S3 object. + ErrCodeS3AccessDeniedFault = "S3AccessDeniedFault" + + // ErrCodeS3ResourceNotFoundFault for service response error code + // "S3ResourceNotFoundFault". + // + // A specified Amazon S3 bucket, bucket folder, or other object can't be found. + ErrCodeS3ResourceNotFoundFault = "S3ResourceNotFoundFault" + // ErrCodeSNSInvalidTopicFault for service response error code // "SNSInvalidTopicFault". // @@ -141,6 +160,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidSubnet": newErrorInvalidSubnet, "KMSAccessDeniedFault": newErrorKMSAccessDeniedFault, "KMSDisabledFault": newErrorKMSDisabledFault, + "KMSFault": newErrorKMSFault, "KMSInvalidStateFault": newErrorKMSInvalidStateFault, "KMSKeyNotAccessibleFault": newErrorKMSKeyNotAccessibleFault, "KMSNotFoundFault": newErrorKMSNotFoundFault, @@ -149,6 +169,8 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ResourceAlreadyExistsFault": newErrorResourceAlreadyExistsFault, "ResourceNotFoundFault": newErrorResourceNotFoundFault, "ResourceQuotaExceededFault": newErrorResourceQuotaExceededFault, + "S3AccessDeniedFault": newErrorS3AccessDeniedFault, + "S3ResourceNotFoundFault": newErrorS3ResourceNotFoundFault, "SNSInvalidTopicFault": newErrorSNSInvalidTopicFault, "SNSNoAuthorizationFault": newErrorSNSNoAuthorizationFault, "StorageQuotaExceededFault": newErrorStorageQuotaExceededFault, diff --git a/vendor/github.com/aws/aws-sdk-go/service/dataexchange/api.go b/vendor/github.com/aws/aws-sdk-go/service/dataexchange/api.go index eefda3be8c5..4c2d95b46bc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dataexchange/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dataexchange/api.go @@ -3801,9 +3801,7 @@ type ExportServerSideEncryption struct { // The Amazon Resource Name (ARN) of the the AWS KMS key you want to use to // encrypt the Amazon S3 objects. This parameter is required if you choose aws:kms // as an encryption type. - // - // KmsKeyArn is a required field - KmsKeyArn *string `type:"string" required:"true"` + KmsKeyArn *string `type:"string"` // The type of server side encryption used for encrypting the objects in Amazon // S3. @@ -3825,9 +3823,6 @@ func (s ExportServerSideEncryption) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ExportServerSideEncryption) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ExportServerSideEncryption"} - if s.KmsKeyArn == nil { - invalidParams.Add(request.NewErrParamRequired("KmsKeyArn")) - } if s.Type == nil { invalidParams.Add(request.NewErrParamRequired("Type")) } diff --git a/vendor/github.com/aws/aws-sdk-go/service/datasync/api.go b/vendor/github.com/aws/aws-sdk-go/service/datasync/api.go index 79b332bbf01..3473737cf83 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/datasync/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/datasync/api.go @@ -60,7 +60,7 @@ func (c *DataSync) CancelTaskExecutionRequest(input *CancelTaskExecutionInput) ( // // Cancels execution of a task. // -// When you cancel a task execution, the transfer of some files are abruptly +// When you cancel a task execution, the transfer of some files is abruptly // interrupted. The contents of files that are transferred to the destination // might be incomplete or inconsistent with the source files. However, if you // start a new task execution on the same task and you allow the task execution @@ -156,7 +156,7 @@ func (c *DataSync) CreateAgentRequest(input *CreateAgentInput) (req *request.Req // target locations (in Amazon S3 or Amazon EFS) reside. Your tasks are created // in this AWS Region. // -// You can activate the agent in a VPC (Virtual private Cloud) or provide the +// You can activate the agent in a VPC (virtual private cloud) or provide the // agent access to a VPC endpoint so you can run tasks without going over the // public Internet. // @@ -413,7 +413,7 @@ func (c *DataSync) CreateLocationNfsRequest(input *CreateLocationNfsInput) (req // CreateLocationNfs API operation for AWS DataSync. // // Defines a file system on a Network File System (NFS) server that can be read -// from or written to +// from or written to. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -451,6 +451,88 @@ func (c *DataSync) CreateLocationNfsWithContext(ctx aws.Context, input *CreateLo return out, req.Send() } +const opCreateLocationObjectStorage = "CreateLocationObjectStorage" + +// CreateLocationObjectStorageRequest generates a "aws/request.Request" representing the +// client's request for the CreateLocationObjectStorage operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateLocationObjectStorage for more information on using the CreateLocationObjectStorage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateLocationObjectStorageRequest method. +// req, resp := client.CreateLocationObjectStorageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationObjectStorage +func (c *DataSync) CreateLocationObjectStorageRequest(input *CreateLocationObjectStorageInput) (req *request.Request, output *CreateLocationObjectStorageOutput) { + op := &request.Operation{ + Name: opCreateLocationObjectStorage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateLocationObjectStorageInput{} + } + + output = &CreateLocationObjectStorageOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateLocationObjectStorage API operation for AWS DataSync. +// +// Creates an endpoint for a self-managed object storage 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 AWS DataSync's +// API operation CreateLocationObjectStorage for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * InternalException +// This exception is thrown when an error occurs in the AWS DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationObjectStorage +func (c *DataSync) CreateLocationObjectStorage(input *CreateLocationObjectStorageInput) (*CreateLocationObjectStorageOutput, error) { + req, out := c.CreateLocationObjectStorageRequest(input) + return out, req.Send() +} + +// CreateLocationObjectStorageWithContext is the same as CreateLocationObjectStorage with the addition of +// the ability to pass a context and additional request options. +// +// See CreateLocationObjectStorage for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) CreateLocationObjectStorageWithContext(ctx aws.Context, input *CreateLocationObjectStorageInput, opts ...request.Option) (*CreateLocationObjectStorageOutput, error) { + req, out := c.CreateLocationObjectStorageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateLocationS3 = "CreateLocationS3" // CreateLocationS3Request generates a "aws/request.Request" representing the @@ -586,7 +668,7 @@ func (c *DataSync) CreateLocationSmbRequest(input *CreateLocationSmbInput) (req // CreateLocationSmb API operation for AWS DataSync. // -// Defines a file system on an Server Message Block (SMB) server that can be +// Defines a file system on a Server Message Block (SMB) server that can be // read from or written to. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1269,7 +1351,7 @@ func (c *DataSync) DescribeLocationNfsRequest(input *DescribeLocationNfsInput) ( // DescribeLocationNfs API operation for AWS DataSync. // -// Returns metadata, such as the path information, about a NFS location. +// Returns metadata, such as the path information, about an NFS location. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1307,6 +1389,88 @@ func (c *DataSync) DescribeLocationNfsWithContext(ctx aws.Context, input *Descri return out, req.Send() } +const opDescribeLocationObjectStorage = "DescribeLocationObjectStorage" + +// DescribeLocationObjectStorageRequest generates a "aws/request.Request" representing the +// client's request for the DescribeLocationObjectStorage operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeLocationObjectStorage for more information on using the DescribeLocationObjectStorage +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeLocationObjectStorageRequest method. +// req, resp := client.DescribeLocationObjectStorageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationObjectStorage +func (c *DataSync) DescribeLocationObjectStorageRequest(input *DescribeLocationObjectStorageInput) (req *request.Request, output *DescribeLocationObjectStorageOutput) { + op := &request.Operation{ + Name: opDescribeLocationObjectStorage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeLocationObjectStorageInput{} + } + + output = &DescribeLocationObjectStorageOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeLocationObjectStorage API operation for AWS DataSync. +// +// Returns metadata about a self-managed object storage server location. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS DataSync's +// API operation DescribeLocationObjectStorage for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * InternalException +// This exception is thrown when an error occurs in the AWS DataSync service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationObjectStorage +func (c *DataSync) DescribeLocationObjectStorage(input *DescribeLocationObjectStorageInput) (*DescribeLocationObjectStorageOutput, error) { + req, out := c.DescribeLocationObjectStorageRequest(input) + return out, req.Send() +} + +// DescribeLocationObjectStorageWithContext is the same as DescribeLocationObjectStorage with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeLocationObjectStorage for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DataSync) DescribeLocationObjectStorageWithContext(ctx aws.Context, input *DescribeLocationObjectStorageInput, opts ...request.Option) (*DescribeLocationObjectStorageOutput, error) { + req, out := c.DescribeLocationObjectStorageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeLocationS3 = "DescribeLocationS3" // DescribeLocationS3Request generates a "aws/request.Request" representing the @@ -1433,7 +1597,7 @@ func (c *DataSync) DescribeLocationSmbRequest(input *DescribeLocationSmbInput) ( // DescribeLocationSmb API operation for AWS DataSync. // -// Returns metadata, such as the path and user information about a SMB location. +// Returns metadata, such as the path and user information about an SMB location. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1835,7 +1999,7 @@ func (c *DataSync) ListLocationsRequest(input *ListLocationsInput) (req *request // ListLocations API operation for AWS DataSync. // -// Returns a lists of source and destination locations. +// Returns a list of source and destination locations. // // If you have more locations than are returned in a response (that is, the // response returns only a truncated list of your agents), the response contains @@ -1980,7 +2144,7 @@ func (c *DataSync) ListTagsForResourceRequest(input *ListTagsForResourceInput) ( // ListTagsForResource API operation for AWS DataSync. // -// Returns all the tags associated with a specified resources. +// Returns all the tags associated with a specified resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2912,11 +3076,11 @@ type CreateAgentInput struct { // in UTF-8 format, and the following special characters: + - = . _ : / @. Tags []*TagListEntry `type:"list"` - // The ID of the VPC (Virtual Private Cloud) endpoint that the agent has access + // The ID of the VPC (virtual private cloud) endpoint that the agent has access // to. This is the client-side VPC endpoint, also called a PrivateLink. If you // don't have a PrivateLink VPC endpoint, see Creating a VPC Endpoint Service // Configuration (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#create-endpoint-service) - // in the AWS VPC User Guide. + // in the Amazon VPC User Guide. // // VPC endpoint ID looks like this: vpce-01234d5aff67890e1. VpcEndpointId *string `type:"string"` @@ -3061,7 +3225,7 @@ type CreateLocationEfsInput struct { // system is used to read data from the EFS source location or write data to // the EFS destination. By default, AWS DataSync uses the root directory. // - // Subdirectory must be specified with forward slashes. For example /path/to/folder. + // Subdirectory must be specified with forward slashes. For example, /path/to/folder. Subdirectory *string `type:"string"` // The key-value pair that represents a tag that you want to add to the resource. @@ -3323,6 +3487,10 @@ type CreateLocationNfsInput struct { // Contains a list of Amazon Resource Names (ARNs) of agents that are used to // connect to an NFS server. // + // If you are copying data to or from your AWS Snowcone device, see NFS Server + // on AWS Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone) + // for more information. + // // OnPremConfig is a required field OnPremConfig *OnPremConfig `type:"structure" required:"true"` @@ -3330,6 +3498,10 @@ type CreateLocationNfsInput struct { // (DNS) name of the NFS server. An agent that is installed on-premises uses // this host name to mount the NFS server in a network. // + // If you are copying data to or from your AWS Snowcone device, see NFS Server + // on AWS Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone) + // for more information. + // // This name must either be DNS-compliant or must be an IP version 4 (IPv4) // address. // @@ -3354,6 +3526,10 @@ type CreateLocationNfsInput struct { // enables the agent to read the files. For the agent to access directories, // you must additionally enable all execute access. // + // If you are copying data to or from your AWS Snowcone device, see NFS Server + // on AWS Snowcone (https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone) + // for more information. + // // For information about NFS export configuration, see 18.7. The /etc/exports // Configuration File in the Red Hat Enterprise Linux documentation. // @@ -3464,6 +3640,189 @@ func (s *CreateLocationNfsOutput) SetLocationArn(v string) *CreateLocationNfsOut return s } +// CreateLocationObjectStorageRequest +type CreateLocationObjectStorageInput struct { + _ struct{} `type:"structure"` + + // Optional. The access key is used if credentials are required to access the + // self-managed object storage server. + AccessKey *string `min:"8" type:"string"` + + // The Amazon Resource Name (ARN) of the agents associated with the self-managed + // object storage server location. + // + // AgentArns is a required field + AgentArns []*string `min:"1" type:"list" required:"true"` + + // The bucket on the self-managed object storage server that is used to read + // data from. + // + // BucketName is a required field + BucketName *string `min:"3" type:"string" required:"true"` + + // Optional. The secret key is used if credentials are required to access the + // self-managed object storage server. + SecretKey *string `min:"8" type:"string" sensitive:"true"` + + // The name of the self-managed object storage server. This value is the IP + // address or Domain Name Service (DNS) name of the object storage server. An + // agent uses this host name to mount the object storage server in a network. + // + // ServerHostname is a required field + ServerHostname *string `type:"string" required:"true"` + + // The port that your self-managed object storage server accepts inbound network + // traffic on. The server port is set by default to TCP 80 (HTTP) or TCP 443 + // (HTTPS). You can specify a custom port if your self-managed object storage + // server requires one. + ServerPort *int64 `min:"1" type:"integer"` + + // The protocol that the object storage server uses to communicate. Valid values + // are HTTP or HTTPS. + ServerProtocol *string `type:"string" enum:"ObjectStorageServerProtocol"` + + // The subdirectory in the self-managed object storage server that is used to + // read data from. + Subdirectory *string `type:"string"` + + // The key-value pair that represents the tag that you want to add to the location. + // The value can be an empty string. We recommend using tags to name your resources. + Tags []*TagListEntry `type:"list"` +} + +// String returns the string representation +func (s CreateLocationObjectStorageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLocationObjectStorageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLocationObjectStorageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLocationObjectStorageInput"} + if s.AccessKey != nil && len(*s.AccessKey) < 8 { + invalidParams.Add(request.NewErrParamMinLen("AccessKey", 8)) + } + if s.AgentArns == nil { + invalidParams.Add(request.NewErrParamRequired("AgentArns")) + } + if s.AgentArns != nil && len(s.AgentArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AgentArns", 1)) + } + if s.BucketName == nil { + invalidParams.Add(request.NewErrParamRequired("BucketName")) + } + if s.BucketName != nil && len(*s.BucketName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("BucketName", 3)) + } + if s.SecretKey != nil && len(*s.SecretKey) < 8 { + invalidParams.Add(request.NewErrParamMinLen("SecretKey", 8)) + } + if s.ServerHostname == nil { + invalidParams.Add(request.NewErrParamRequired("ServerHostname")) + } + if s.ServerPort != nil && *s.ServerPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("ServerPort", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessKey sets the AccessKey field's value. +func (s *CreateLocationObjectStorageInput) SetAccessKey(v string) *CreateLocationObjectStorageInput { + s.AccessKey = &v + return s +} + +// SetAgentArns sets the AgentArns field's value. +func (s *CreateLocationObjectStorageInput) SetAgentArns(v []*string) *CreateLocationObjectStorageInput { + s.AgentArns = v + return s +} + +// SetBucketName sets the BucketName field's value. +func (s *CreateLocationObjectStorageInput) SetBucketName(v string) *CreateLocationObjectStorageInput { + s.BucketName = &v + return s +} + +// SetSecretKey sets the SecretKey field's value. +func (s *CreateLocationObjectStorageInput) SetSecretKey(v string) *CreateLocationObjectStorageInput { + s.SecretKey = &v + return s +} + +// SetServerHostname sets the ServerHostname field's value. +func (s *CreateLocationObjectStorageInput) SetServerHostname(v string) *CreateLocationObjectStorageInput { + s.ServerHostname = &v + return s +} + +// SetServerPort sets the ServerPort field's value. +func (s *CreateLocationObjectStorageInput) SetServerPort(v int64) *CreateLocationObjectStorageInput { + s.ServerPort = &v + return s +} + +// SetServerProtocol sets the ServerProtocol field's value. +func (s *CreateLocationObjectStorageInput) SetServerProtocol(v string) *CreateLocationObjectStorageInput { + s.ServerProtocol = &v + return s +} + +// SetSubdirectory sets the Subdirectory field's value. +func (s *CreateLocationObjectStorageInput) SetSubdirectory(v string) *CreateLocationObjectStorageInput { + s.Subdirectory = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateLocationObjectStorageInput) SetTags(v []*TagListEntry) *CreateLocationObjectStorageInput { + s.Tags = v + return s +} + +// CreateLocationObjectStorageResponse +type CreateLocationObjectStorageOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the agents associated with the self-managed + // object storage server location. + LocationArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateLocationObjectStorageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLocationObjectStorageOutput) GoString() string { + return s.String() +} + +// SetLocationArn sets the LocationArn field's value. +func (s *CreateLocationObjectStorageOutput) SetLocationArn(v string) *CreateLocationObjectStorageOutput { + s.LocationArn = &v + return s +} + // CreateLocationS3Request type CreateLocationS3Input struct { _ struct{} `type:"structure"` @@ -3633,7 +3992,7 @@ type CreateLocationSmbInput struct { // The path should be such that it can be mounted by other SMB clients in your // network. // - // Subdirectory must be specified with forward slashes. For example /path/to/folder. + // Subdirectory must be specified with forward slashes. For example, /path/to/folder. // // To transfer all the data in the folder you specified, DataSync needs to have // permissions to mount the SMB share, as well as to access all the data in @@ -3785,12 +4144,6 @@ type CreateTaskInput struct { // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is // used to monitor and log events in the task. - // - // For more information on these groups, see Working with Log Groups and Log - // Streams in the Amazon CloudWatch User Guide. - // - // For more information about how to use CloudWatch Logs with DataSync, see - // Monitoring Your Task in the AWS DataSync User Guide. CloudWatchLogGroupArn *string `type:"string"` // The Amazon Resource Name (ARN) of an AWS storage resource's location. @@ -3814,7 +4167,7 @@ type CreateTaskInput struct { // file permissions, data integrity verification, and so on. // // For each individual task execution, you can override these options by specifying - // the OverrideOptions before starting a the task execution. For more information, + // the OverrideOptions before starting the task execution. For more information, // see the operation. Options *Options `type:"structure"` @@ -4164,7 +4517,7 @@ type DescribeAgentOutput struct { CreationTime *time.Time `type:"timestamp"` // The type of endpoint that your agent is connected to. If the endpoint is - // a VPC endpoint, the agent is not accessible over the public Internet. + // a VPC endpoint, the agent is not accessible over the public internet. EndpointType *string `type:"string" enum:"EndpointType"` // The time that the agent last connected to DataSyc. @@ -4288,7 +4641,7 @@ type DescribeLocationEfsOutput struct { // with the security group on the mount target in the subnet specified. Ec2Config *Ec2Config `type:"structure"` - // The Amazon resource Name (ARN) of the EFS location that was described. + // The Amazon Resource Name (ARN) of the EFS location that was described. LocationArn *string `type:"string"` // The URL of the EFS location that was described. @@ -4376,14 +4729,14 @@ type DescribeLocationFsxWindowsOutput struct { // The name of the Windows domain that the FSx for Windows server belongs to. Domain *string `type:"string"` - // The Amazon resource Name (ARN) of the FSx for Windows location that was described. + // The Amazon Resource Name (ARN) of the FSx for Windows location that was described. LocationArn *string `type:"string"` // The URL of the FSx for Windows location that was described. LocationUri *string `type:"string"` // The Amazon Resource Names (ARNs) of the security groups that are configured - // for the for the FSx for Windows file system. + // for the FSx for Windows file system. SecurityGroupArns []*string `min:"1" type:"list"` // The user who has the permissions to access files and folders in the FSx for @@ -4441,7 +4794,7 @@ func (s *DescribeLocationFsxWindowsOutput) SetUser(v string) *DescribeLocationFs type DescribeLocationNfsInput struct { _ struct{} `type:"structure"` - // The Amazon resource Name (ARN) of the NFS location to describe. + // The Amazon Resource Name (ARN) of the NFS location to describe. // // LocationArn is a required field LocationArn *string `type:"string" required:"true"` @@ -4483,7 +4836,7 @@ type DescribeLocationNfsOutput struct { // The time that the NFS location was created. CreationTime *time.Time `type:"timestamp"` - // The Amazon resource Name (ARN) of the NFS location that was described. + // The Amazon Resource Name (ARN) of the NFS location that was described. LocationArn *string `type:"string"` // The URL of the source NFS location that was described. @@ -4537,6 +4890,131 @@ func (s *DescribeLocationNfsOutput) SetOnPremConfig(v *OnPremConfig) *DescribeLo return s } +// DescribeLocationObjectStorageRequest +type DescribeLocationObjectStorageInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the self-managed object storage server + // location that was described. + // + // LocationArn is a required field + LocationArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeLocationObjectStorageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLocationObjectStorageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeLocationObjectStorageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeLocationObjectStorageInput"} + if s.LocationArn == nil { + invalidParams.Add(request.NewErrParamRequired("LocationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLocationArn sets the LocationArn field's value. +func (s *DescribeLocationObjectStorageInput) SetLocationArn(v string) *DescribeLocationObjectStorageInput { + s.LocationArn = &v + return s +} + +// DescribeLocationObjectStorageResponse +type DescribeLocationObjectStorageOutput struct { + _ struct{} `type:"structure"` + + // Optional. The access key is used if credentials are required to access the + // self-managed object storage server. + AccessKey *string `min:"8" type:"string"` + + // The Amazon Resource Name (ARN) of the agents associated with the self-managed + // object storage server location. + AgentArns []*string `min:"1" type:"list"` + + // The time that the self-managed object storage server agent was created. + CreationTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the self-managed object storage server + // location to describe. + LocationArn *string `type:"string"` + + // The URL of the source self-managed object storage server location that was + // described. + LocationUri *string `type:"string"` + + // The port that your self-managed object storage server accepts inbound network + // traffic on. The server port is set by default to TCP 80 (HTTP) or TCP 443 + // (HTTPS). + ServerPort *int64 `min:"1" type:"integer"` + + // The protocol that the object storage server uses to communicate. Valid values + // are HTTP or HTTPS. + ServerProtocol *string `type:"string" enum:"ObjectStorageServerProtocol"` +} + +// String returns the string representation +func (s DescribeLocationObjectStorageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeLocationObjectStorageOutput) GoString() string { + return s.String() +} + +// SetAccessKey sets the AccessKey field's value. +func (s *DescribeLocationObjectStorageOutput) SetAccessKey(v string) *DescribeLocationObjectStorageOutput { + s.AccessKey = &v + return s +} + +// SetAgentArns sets the AgentArns field's value. +func (s *DescribeLocationObjectStorageOutput) SetAgentArns(v []*string) *DescribeLocationObjectStorageOutput { + s.AgentArns = v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeLocationObjectStorageOutput) SetCreationTime(v time.Time) *DescribeLocationObjectStorageOutput { + s.CreationTime = &v + return s +} + +// SetLocationArn sets the LocationArn field's value. +func (s *DescribeLocationObjectStorageOutput) SetLocationArn(v string) *DescribeLocationObjectStorageOutput { + s.LocationArn = &v + return s +} + +// SetLocationUri sets the LocationUri field's value. +func (s *DescribeLocationObjectStorageOutput) SetLocationUri(v string) *DescribeLocationObjectStorageOutput { + s.LocationUri = &v + return s +} + +// SetServerPort sets the ServerPort field's value. +func (s *DescribeLocationObjectStorageOutput) SetServerPort(v int64) *DescribeLocationObjectStorageOutput { + s.ServerPort = &v + return s +} + +// SetServerProtocol sets the ServerProtocol field's value. +func (s *DescribeLocationObjectStorageOutput) SetServerProtocol(v string) *DescribeLocationObjectStorageOutput { + s.ServerProtocol = &v + return s +} + // DescribeLocationS3Request type DescribeLocationS3Input struct { _ struct{} `type:"structure"` @@ -4649,7 +5127,7 @@ func (s *DescribeLocationS3Output) SetS3StorageClass(v string) *DescribeLocation type DescribeLocationSmbInput struct { _ struct{} `type:"structure"` - // The Amazon resource Name (ARN) of the SMB location to describe. + // The Amazon Resource Name (ARN) of the SMB location to describe. // // LocationArn is a required field LocationArn *string `type:"string" required:"true"` @@ -4698,7 +5176,7 @@ type DescribeLocationSmbOutput struct { // The name of the Windows domain that the SMB server belongs to. Domain *string `type:"string"` - // The Amazon resource Name (ARN) of the SMB location that was described. + // The Amazon Resource Name (ARN) of the SMB location that was described. LocationArn *string `type:"string"` // The URL of the source SBM location that was described. @@ -5938,10 +6416,12 @@ type Options struct { // NONE: Ignore UID and GID. Gid *string `type:"string" enum:"Gid"` - // A value that determines the type of logs DataSync will deliver to your AWS - // CloudWatch Logs file. If set to OFF, no logs will be delivered. BASIC will - // deliver a few logs per transfer operation and TRANSFER will deliver a verbose - // log that contains logs for every file that is transferred. + // A value that determines the type of logs that DataSync publishes to a log + // stream in the Amazon CloudWatch log group that you provide. For more information + // about providing a log group for DataSync, see CloudWatchLogGroupArn (https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html#DataSync-CreateTask-request-CloudWatchLogGroupArn). + // If set to OFF, no logs are published. BASIC publishes logs on errors for + // individual files transferred, and TRANSFER publishes logs for every file + // or object that is transferred and integrity checked. LogLevel *string `type:"string" enum:"LogLevel"` // A value that indicates the last time that a file was modified (that is, a @@ -6012,10 +6492,16 @@ type Options struct { // A value that determines whether tasks should be queued before executing the // tasks. If set to ENABLED, the tasks will be queued. The default is ENABLED. // - // If you use the same agent to run multiple tasks you can enable the tasks - // to run in series. For more information see queue-task-execution. + // If you use the same agent to run multiple tasks, you can enable the tasks + // to run in series. For more information, see queue-task-execution. TaskQueueing *string `type:"string" enum:"TaskQueueing"` + // TransferMode has two values: CHANGED and ALL. CHANGED performs an "incremental" + // or "delta sync", it compares file modification time between source and destination + // to determine which files need to be transferred. ALL skips destination inventory + // and transfers all files discovered on the source. + TransferMode *string `type:"string" enum:"TransferMode"` + // The user ID (UID) of the file's owner. // // Default value: INT_VALUE. This preserves the integer value of the ID. @@ -6027,14 +6513,21 @@ type Options struct { // A value that determines whether a data integrity verification should be performed // at the end of a task execution after all data and metadata have been transferred. + // For more information, see create-task // // Default value: POINT_IN_TIME_CONSISTENT. // - // POINT_IN_TIME_CONSISTENT: Perform verification (recommended). + // ONLY_FILES_TRANSFERRED (recommended): Perform verification only on files + // that were transferred. // - // ONLY_FILES_TRANSFERRED: Perform verification on only files that were transferred. + // POINT_IN_TIME_CONSISTENT: Scan the entire source and entire destination at + // the end of the transfer to verify that source and destination are fully synchronized. + // This option isn't supported when transferring to S3 Glacier or S3 Glacier + // Deep Archive storage classes. // - // NONE: Skip verification. + // NONE: No additional verification is done at the end of the transfer, but + // all data transmissions are integrity-checked with checksum verification during + // the transfer. VerifyMode *string `type:"string" enum:"VerifyMode"` } @@ -6121,6 +6614,12 @@ func (s *Options) SetTaskQueueing(v string) *Options { return s } +// SetTransferMode sets the TransferMode field's value. +func (s *Options) SetTransferMode(v string) *Options { + s.TransferMode = &v + return s +} + // SetUid sets the Uid field's value. func (s *Options) SetUid(v string) *Options { s.Uid = &v @@ -6133,7 +6632,7 @@ func (s *Options) SetVerifyMode(v string) *Options { return s } -// The VPC endpoint, subnet and security group that an agent uses to access +// The VPC endpoint, subnet, and security group that an agent uses to access // IP addresses in a VPC (Virtual Private Cloud). type PrivateLinkConfig struct { _ struct{} `type:"structure"` @@ -6141,7 +6640,7 @@ type PrivateLinkConfig struct { // The private endpoint that is configured for an agent that has access to IP // addresses in a PrivateLink (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html). // An agent that is configured with this endpoint will not be accessible over - // the public Internet. + // the public internet. PrivateLinkEndpoint *string `min:"7" type:"string"` // The Amazon Resource Names (ARNs) of the security groups that are configured @@ -6155,7 +6654,7 @@ type PrivateLinkConfig struct { // The ID of the VPC endpoint that is configured for an agent. An agent that // is configured with a VPC endpoint will not be accessible over the public - // Internet. + // internet. VpcEndpointId *string `type:"string"` } @@ -7058,6 +7557,14 @@ const ( NfsVersionNfs41 = "NFS4_1" ) +const ( + // ObjectStorageServerProtocolHttps is a ObjectStorageServerProtocol enum value + ObjectStorageServerProtocolHttps = "HTTPS" + + // ObjectStorageServerProtocolHttp is a ObjectStorageServerProtocol enum value + ObjectStorageServerProtocolHttp = "HTTP" +) + const ( // OverwriteModeAlways is a OverwriteMode enum value OverwriteModeAlways = "ALWAYS" @@ -7180,6 +7687,14 @@ const ( TaskStatusUnavailable = "UNAVAILABLE" ) +const ( + // TransferModeChanged is a TransferMode enum value + TransferModeChanged = "CHANGED" + + // TransferModeAll is a TransferMode enum value + TransferModeAll = "ALL" +) + const ( // UidNone is a Uid enum value UidNone = "NONE" diff --git a/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go b/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go index fe73bb92626..e68e32007c6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/directconnect/api.go @@ -1620,10 +1620,8 @@ func (c *DirectConnect) CreateDirectConnectGatewayAssociationProposalRequest(inp // Creates a proposal to associate the specified virtual private gateway or // transit gateway with the specified Direct Connect gateway. // -// You can only associate a Direct Connect gateway and virtual private gateway -// or transit gateway when the account that owns the Direct Connect gateway -// and the account that owns the virtual private gateway or transit gateway -// have the same AWS Payer ID. +// You can associate a Direct Connect gateway and virtual private gateway or +// transit gateway that is owned by any AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1935,6 +1933,13 @@ func (c *DirectConnect) CreatePrivateVirtualInterfaceRequest(input *CreatePrivat // different AWS Regions. Connecting the private virtual interface to a VGW // only provides access to a single VPC within the same Region. // +// Setting the MTU of a virtual interface to 9001 (jumbo frames) can cause an +// update to the underlying physical connection if it wasn't updated to support +// jumbo frames. Updating the connection disrupts network connectivity for all +// virtual interfaces associated with the connection for up to 30 seconds. To +// check whether your connection supports jumbo frames, call DescribeConnections. +// To check whether your virtual interface supports jumbo frames, call DescribeVirtualInterfaces. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -2126,6 +2131,13 @@ func (c *DirectConnect) CreateTransitVirtualInterfaceRequest(input *CreateTransi // 64512 for both your the transit gateway and Direct Connect gateway, the association // request fails. // +// Setting the MTU of a virtual interface to 8500 (jumbo frames) can cause an +// update to the underlying physical connection if it wasn't updated to support +// jumbo frames. Updating the connection disrupts network connectivity for all +// virtual interfaces associated with the connection for up to 30 seconds. To +// check whether your connection supports jumbo frames, call DescribeConnections. +// To check whether your virtual interface supports jumbo frames, call DescribeVirtualInterfaces. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -4331,6 +4343,262 @@ func (c *DirectConnect) DisassociateConnectionFromLagWithContext(ctx aws.Context return out, req.Send() } +const opListVirtualInterfaceTestHistory = "ListVirtualInterfaceTestHistory" + +// ListVirtualInterfaceTestHistoryRequest generates a "aws/request.Request" representing the +// client's request for the ListVirtualInterfaceTestHistory operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListVirtualInterfaceTestHistory for more information on using the ListVirtualInterfaceTestHistory +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListVirtualInterfaceTestHistoryRequest method. +// req, resp := client.ListVirtualInterfaceTestHistoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ListVirtualInterfaceTestHistory +func (c *DirectConnect) ListVirtualInterfaceTestHistoryRequest(input *ListVirtualInterfaceTestHistoryInput) (req *request.Request, output *ListVirtualInterfaceTestHistoryOutput) { + op := &request.Operation{ + Name: opListVirtualInterfaceTestHistory, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListVirtualInterfaceTestHistoryInput{} + } + + output = &ListVirtualInterfaceTestHistoryOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListVirtualInterfaceTestHistory API operation for AWS Direct Connect. +// +// Lists the virtual interface failover test history. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Direct Connect's +// API operation ListVirtualInterfaceTestHistory for usage and error information. +// +// Returned Error Types: +// * ServerException +// A server-side error occurred. +// +// * ClientException +// One or more parameters are not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/ListVirtualInterfaceTestHistory +func (c *DirectConnect) ListVirtualInterfaceTestHistory(input *ListVirtualInterfaceTestHistoryInput) (*ListVirtualInterfaceTestHistoryOutput, error) { + req, out := c.ListVirtualInterfaceTestHistoryRequest(input) + return out, req.Send() +} + +// ListVirtualInterfaceTestHistoryWithContext is the same as ListVirtualInterfaceTestHistory with the addition of +// the ability to pass a context and additional request options. +// +// See ListVirtualInterfaceTestHistory for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DirectConnect) ListVirtualInterfaceTestHistoryWithContext(ctx aws.Context, input *ListVirtualInterfaceTestHistoryInput, opts ...request.Option) (*ListVirtualInterfaceTestHistoryOutput, error) { + req, out := c.ListVirtualInterfaceTestHistoryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartBgpFailoverTest = "StartBgpFailoverTest" + +// StartBgpFailoverTestRequest generates a "aws/request.Request" representing the +// client's request for the StartBgpFailoverTest operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartBgpFailoverTest for more information on using the StartBgpFailoverTest +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StartBgpFailoverTestRequest method. +// req, resp := client.StartBgpFailoverTestRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/StartBgpFailoverTest +func (c *DirectConnect) StartBgpFailoverTestRequest(input *StartBgpFailoverTestInput) (req *request.Request, output *StartBgpFailoverTestOutput) { + op := &request.Operation{ + Name: opStartBgpFailoverTest, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartBgpFailoverTestInput{} + } + + output = &StartBgpFailoverTestOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartBgpFailoverTest API operation for AWS Direct Connect. +// +// Starts the virtual interface failover test that verifies your configuration +// meets your resiliency requirements by placing the BGP peering session in +// the DOWN state. You can then send traffic to verify that there are no outages. +// +// You can run the test on public, private, transit, and hosted virtual interfaces. +// +// You can use ListVirtualInterfaceTestHistory (https://docs.aws.amazon.com/directconnect/latest/APIReference/API_ListVirtualInterfaceTestHistory.html) +// to view the virtual interface test history. +// +// If you need to stop the test before the test interval completes, use StopBgpFailoverTest +// (https://docs.aws.amazon.com/directconnect/latest/APIReference/API_StopBgpFailoverTest.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Direct Connect's +// API operation StartBgpFailoverTest for usage and error information. +// +// Returned Error Types: +// * ServerException +// A server-side error occurred. +// +// * ClientException +// One or more parameters are not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/StartBgpFailoverTest +func (c *DirectConnect) StartBgpFailoverTest(input *StartBgpFailoverTestInput) (*StartBgpFailoverTestOutput, error) { + req, out := c.StartBgpFailoverTestRequest(input) + return out, req.Send() +} + +// StartBgpFailoverTestWithContext is the same as StartBgpFailoverTest with the addition of +// the ability to pass a context and additional request options. +// +// See StartBgpFailoverTest for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DirectConnect) StartBgpFailoverTestWithContext(ctx aws.Context, input *StartBgpFailoverTestInput, opts ...request.Option) (*StartBgpFailoverTestOutput, error) { + req, out := c.StartBgpFailoverTestRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopBgpFailoverTest = "StopBgpFailoverTest" + +// StopBgpFailoverTestRequest generates a "aws/request.Request" representing the +// client's request for the StopBgpFailoverTest operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopBgpFailoverTest for more information on using the StopBgpFailoverTest +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopBgpFailoverTestRequest method. +// req, resp := client.StopBgpFailoverTestRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/StopBgpFailoverTest +func (c *DirectConnect) StopBgpFailoverTestRequest(input *StopBgpFailoverTestInput) (req *request.Request, output *StopBgpFailoverTestOutput) { + op := &request.Operation{ + Name: opStopBgpFailoverTest, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopBgpFailoverTestInput{} + } + + output = &StopBgpFailoverTestOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopBgpFailoverTest API operation for AWS Direct Connect. +// +// Stops the virtual interface failover test. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Direct Connect's +// API operation StopBgpFailoverTest for usage and error information. +// +// Returned Error Types: +// * ServerException +// A server-side error occurred. +// +// * ClientException +// One or more parameters are not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/StopBgpFailoverTest +func (c *DirectConnect) StopBgpFailoverTest(input *StopBgpFailoverTestInput) (*StopBgpFailoverTestOutput, error) { + req, out := c.StopBgpFailoverTestRequest(input) + return out, req.Send() +} + +// StopBgpFailoverTestWithContext is the same as StopBgpFailoverTest with the addition of +// the ability to pass a context and additional request options. +// +// See StopBgpFailoverTest for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *DirectConnect) StopBgpFailoverTestWithContext(ctx aws.Context, input *StopBgpFailoverTestInput, opts ...request.Option) (*StopBgpFailoverTestOutput, error) { + req, out := c.StopBgpFailoverTestRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the @@ -4738,7 +5006,7 @@ func (c *DirectConnect) UpdateVirtualInterfaceAttributesRequest(input *UpdateVir // jumbo frames. Updating the connection disrupts network connectivity for all // virtual interfaces associated with the connection for up to 30 seconds. To // check whether your connection supports jumbo frames, call DescribeConnections. -// To check whether your virtual interface supports jumbo frames, call DescribeVirtualInterfaces. +// To check whether your virtual q interface supports jumbo frames, call DescribeVirtualInterfaces. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -9489,6 +9757,111 @@ func (s *Lag) SetTags(v []*Tag) *Lag { return s } +type ListVirtualInterfaceTestHistoryInput struct { + _ struct{} `type:"structure"` + + // The BGP peers that were placed in the DOWN state during the virtual interface + // failover test. + BgpPeers []*string `locationName:"bgpPeers" type:"list"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + // + // If MaxResults is given a value larger than 100, only 100 results are returned. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // The token for the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The status of the virtual interface failover test. + Status *string `locationName:"status" type:"string"` + + // The ID of the virtual interface failover test. + TestId *string `locationName:"testId" type:"string"` + + // The ID of the virtual interface that was tested. + VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"` +} + +// String returns the string representation +func (s ListVirtualInterfaceTestHistoryInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListVirtualInterfaceTestHistoryInput) GoString() string { + return s.String() +} + +// SetBgpPeers sets the BgpPeers field's value. +func (s *ListVirtualInterfaceTestHistoryInput) SetBgpPeers(v []*string) *ListVirtualInterfaceTestHistoryInput { + s.BgpPeers = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListVirtualInterfaceTestHistoryInput) SetMaxResults(v int64) *ListVirtualInterfaceTestHistoryInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualInterfaceTestHistoryInput) SetNextToken(v string) *ListVirtualInterfaceTestHistoryInput { + s.NextToken = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListVirtualInterfaceTestHistoryInput) SetStatus(v string) *ListVirtualInterfaceTestHistoryInput { + s.Status = &v + return s +} + +// SetTestId sets the TestId field's value. +func (s *ListVirtualInterfaceTestHistoryInput) SetTestId(v string) *ListVirtualInterfaceTestHistoryInput { + s.TestId = &v + return s +} + +// SetVirtualInterfaceId sets the VirtualInterfaceId field's value. +func (s *ListVirtualInterfaceTestHistoryInput) SetVirtualInterfaceId(v string) *ListVirtualInterfaceTestHistoryInput { + s.VirtualInterfaceId = &v + return s +} + +type ListVirtualInterfaceTestHistoryOutput 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 ID of the tested virtual interface. + VirtualInterfaceTestHistory []*VirtualInterfaceTestHistory `locationName:"virtualInterfaceTestHistory" type:"list"` +} + +// String returns the string representation +func (s ListVirtualInterfaceTestHistoryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListVirtualInterfaceTestHistoryOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualInterfaceTestHistoryOutput) SetNextToken(v string) *ListVirtualInterfaceTestHistoryOutput { + s.NextToken = &v + return s +} + +// SetVirtualInterfaceTestHistory sets the VirtualInterfaceTestHistory field's value. +func (s *ListVirtualInterfaceTestHistoryOutput) SetVirtualInterfaceTestHistory(v []*VirtualInterfaceTestHistory) *ListVirtualInterfaceTestHistoryOutput { + s.VirtualInterfaceTestHistory = v + return s +} + // Information about a Letter of Authorization - Connecting Facility Assignment // (LOA-CFA) for a connection. type Loa struct { @@ -9685,7 +10058,9 @@ type NewPrivateVirtualInterface struct { // The ID of the virtual private gateway. VirtualGatewayId *string `locationName:"virtualGatewayId" type:"string"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). // // VirtualInterfaceName is a required field VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"` @@ -9835,7 +10210,9 @@ type NewPrivateVirtualInterfaceAllocation struct { // The tags associated with the private virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). // // VirtualInterfaceName is a required field VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"` @@ -9973,7 +10350,9 @@ type NewPublicVirtualInterface struct { // The tags associated with the public virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). // // VirtualInterfaceName is a required field VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"` @@ -10111,7 +10490,9 @@ type NewPublicVirtualInterfaceAllocation struct { // The tags associated with the public virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). // // VirtualInterfaceName is a required field VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string" required:"true"` @@ -10250,7 +10631,9 @@ type NewTransitVirtualInterface struct { // The tags associated with the transitive virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string"` // The ID of the VLAN. @@ -10379,7 +10762,9 @@ type NewTransitVirtualInterfaceAllocation struct { // The tags associated with the transitive virtual interface. Tags []*Tag `locationName:"tags" min:"1" type:"list"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string"` // The ID of the VLAN. @@ -10588,6 +10973,150 @@ func (s *ServerException) RequestID() string { return s.RespMetadata.RequestID } +type StartBgpFailoverTestInput struct { + _ struct{} `type:"structure"` + + // The BGP peers to place in the DOWN state. + BgpPeers []*string `locationName:"bgpPeers" type:"list"` + + // The time in minutes that the virtual interface failover test will last. + // + // Maximum value: 180 minutes (3 hours). + // + // Default: 180 minutes (3 hours). + TestDurationInMinutes *int64 `locationName:"testDurationInMinutes" type:"integer"` + + // The ID of the virtual interface you want to test. + // + // VirtualInterfaceId is a required field + VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartBgpFailoverTestInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartBgpFailoverTestInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartBgpFailoverTestInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartBgpFailoverTestInput"} + if s.VirtualInterfaceId == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBgpPeers sets the BgpPeers field's value. +func (s *StartBgpFailoverTestInput) SetBgpPeers(v []*string) *StartBgpFailoverTestInput { + s.BgpPeers = v + return s +} + +// SetTestDurationInMinutes sets the TestDurationInMinutes field's value. +func (s *StartBgpFailoverTestInput) SetTestDurationInMinutes(v int64) *StartBgpFailoverTestInput { + s.TestDurationInMinutes = &v + return s +} + +// SetVirtualInterfaceId sets the VirtualInterfaceId field's value. +func (s *StartBgpFailoverTestInput) SetVirtualInterfaceId(v string) *StartBgpFailoverTestInput { + s.VirtualInterfaceId = &v + return s +} + +type StartBgpFailoverTestOutput struct { + _ struct{} `type:"structure"` + + // Information about the virtual interface failover test. + VirtualInterfaceTest *VirtualInterfaceTestHistory `locationName:"virtualInterfaceTest" type:"structure"` +} + +// String returns the string representation +func (s StartBgpFailoverTestOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartBgpFailoverTestOutput) GoString() string { + return s.String() +} + +// SetVirtualInterfaceTest sets the VirtualInterfaceTest field's value. +func (s *StartBgpFailoverTestOutput) SetVirtualInterfaceTest(v *VirtualInterfaceTestHistory) *StartBgpFailoverTestOutput { + s.VirtualInterfaceTest = v + return s +} + +type StopBgpFailoverTestInput struct { + _ struct{} `type:"structure"` + + // The ID of the virtual interface you no longer want to test. + // + // VirtualInterfaceId is a required field + VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopBgpFailoverTestInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopBgpFailoverTestInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopBgpFailoverTestInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopBgpFailoverTestInput"} + if s.VirtualInterfaceId == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualInterfaceId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetVirtualInterfaceId sets the VirtualInterfaceId field's value. +func (s *StopBgpFailoverTestInput) SetVirtualInterfaceId(v string) *StopBgpFailoverTestInput { + s.VirtualInterfaceId = &v + return s +} + +type StopBgpFailoverTestOutput struct { + _ struct{} `type:"structure"` + + // Information about the virtual interface failover test. + VirtualInterfaceTest *VirtualInterfaceTestHistory `locationName:"virtualInterfaceTest" type:"structure"` +} + +// String returns the string representation +func (s StopBgpFailoverTestOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopBgpFailoverTestOutput) GoString() string { + return s.String() +} + +// SetVirtualInterfaceTest sets the VirtualInterfaceTest field's value. +func (s *StopBgpFailoverTestOutput) SetVirtualInterfaceTest(v *VirtualInterfaceTestHistory) *StopBgpFailoverTestOutput { + s.VirtualInterfaceTest = v + return s +} + // Information about a tag. type Tag struct { _ struct{} `type:"structure"` @@ -11079,7 +11608,9 @@ type UpdateVirtualInterfaceAttributesOutput struct { // The ID of the virtual interface. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string"` // The state of the virtual interface. The following are the possible values: @@ -11387,7 +11918,9 @@ type VirtualInterface struct { // The ID of the virtual interface. VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"` - // The name of the virtual interface assigned by the customer network. + // The name of the virtual interface assigned by the customer network. The name + // has a maximum of 100 characters. The following are valid characters: a-z, + // 0-9 and a hyphen (-). VirtualInterfaceName *string `locationName:"virtualInterfaceName" type:"string"` // The state of the virtual interface. The following are the possible values: @@ -11583,6 +12116,94 @@ func (s *VirtualInterface) SetVlan(v int64) *VirtualInterface { return s } +// Information about the virtual interface failover test. +type VirtualInterfaceTestHistory struct { + _ struct{} `type:"structure"` + + // The BGP peers that were put in the DOWN state as part of the virtual interface + // failover test. + BgpPeers []*string `locationName:"bgpPeers" type:"list"` + + // The time that the virtual interface moves out of the DOWN state. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // The owner ID of the tested virtual interface. + OwnerAccount *string `locationName:"ownerAccount" type:"string"` + + // The time that the virtual interface moves to the DOWN state. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` + + // The status of the virtual interface failover test. + Status *string `locationName:"status" type:"string"` + + // The time that the virtual interface failover test ran in minutes. + TestDurationInMinutes *int64 `locationName:"testDurationInMinutes" type:"integer"` + + // The ID of the virtual interface failover test. + TestId *string `locationName:"testId" type:"string"` + + // The ID of the tested virtual interface. + VirtualInterfaceId *string `locationName:"virtualInterfaceId" type:"string"` +} + +// String returns the string representation +func (s VirtualInterfaceTestHistory) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VirtualInterfaceTestHistory) GoString() string { + return s.String() +} + +// SetBgpPeers sets the BgpPeers field's value. +func (s *VirtualInterfaceTestHistory) SetBgpPeers(v []*string) *VirtualInterfaceTestHistory { + s.BgpPeers = v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *VirtualInterfaceTestHistory) SetEndTime(v time.Time) *VirtualInterfaceTestHistory { + s.EndTime = &v + return s +} + +// SetOwnerAccount sets the OwnerAccount field's value. +func (s *VirtualInterfaceTestHistory) SetOwnerAccount(v string) *VirtualInterfaceTestHistory { + s.OwnerAccount = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *VirtualInterfaceTestHistory) SetStartTime(v time.Time) *VirtualInterfaceTestHistory { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *VirtualInterfaceTestHistory) SetStatus(v string) *VirtualInterfaceTestHistory { + s.Status = &v + return s +} + +// SetTestDurationInMinutes sets the TestDurationInMinutes field's value. +func (s *VirtualInterfaceTestHistory) SetTestDurationInMinutes(v int64) *VirtualInterfaceTestHistory { + s.TestDurationInMinutes = &v + return s +} + +// SetTestId sets the TestId field's value. +func (s *VirtualInterfaceTestHistory) SetTestId(v string) *VirtualInterfaceTestHistory { + s.TestId = &v + return s +} + +// SetVirtualInterfaceId sets the VirtualInterfaceId field's value. +func (s *VirtualInterfaceTestHistory) SetVirtualInterfaceId(v string) *VirtualInterfaceTestHistory { + s.VirtualInterfaceId = &v + return s +} + const ( // AddressFamilyIpv4 is a AddressFamily enum value AddressFamilyIpv4 = "ipv4" diff --git a/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go b/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go index 4ad17a35eda..5dba373071e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dlm/api.go @@ -830,23 +830,29 @@ func (s *CreateLifecyclePolicyOutput) SetPolicyId(v string) *CreateLifecyclePoli } // Specifies when to create snapshots of EBS volumes. +// +// You must specify either a Cron expression or an interval, interval unit, +// and start time. You cannot specify both. type CreateRule struct { _ struct{} `type:"structure"` + // The schedule, as a Cron expression. The schedule interval must be between + // 1 hour and 1 year. For more information, see Cron expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // in the Amazon CloudWatch User Guide. + CronExpression *string `min:"17" type:"string"` + // The interval between snapshots. The supported values are 1, 2, 3, 4, 6, 8, // 12, and 24. - // - // Interval is a required field - Interval *int64 `min:"1" type:"integer" required:"true"` + Interval *int64 `min:"1" type:"integer"` // The interval unit. - // - // IntervalUnit is a required field - IntervalUnit *string `type:"string" required:"true" enum:"IntervalUnitValues"` + IntervalUnit *string `type:"string" enum:"IntervalUnitValues"` // The time, in UTC, to start the operation. The supported format is hh:mm. // // The operation occurs within a one-hour window following the specified time. + // If you do not specify a time, Amazon DLM selects a time within the next 24 + // hours. Times []*string `type:"list"` } @@ -863,15 +869,12 @@ func (s CreateRule) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateRule) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateRule"} - if s.Interval == nil { - invalidParams.Add(request.NewErrParamRequired("Interval")) + if s.CronExpression != nil && len(*s.CronExpression) < 17 { + invalidParams.Add(request.NewErrParamMinLen("CronExpression", 17)) } if s.Interval != nil && *s.Interval < 1 { invalidParams.Add(request.NewErrParamMinValue("Interval", 1)) } - if s.IntervalUnit == nil { - invalidParams.Add(request.NewErrParamRequired("IntervalUnit")) - } if invalidParams.Len() > 0 { return invalidParams @@ -879,6 +882,12 @@ func (s *CreateRule) Validate() error { return nil } +// SetCronExpression sets the CronExpression field's value. +func (s *CreateRule) SetCronExpression(v string) *CreateRule { + s.CronExpression = &v + return s +} + // SetInterval sets the Interval field's value. func (s *CreateRule) SetInterval(v int64) *CreateRule { s.Interval = &v @@ -1777,7 +1786,8 @@ type PolicyDetails struct { // is EBS_SNAPSHOT_MANAGEMENT. PolicyType *string `type:"string" enum:"PolicyTypeValues"` - // The resource type. + // The resource type. Use VOLUME to create snapshots of individual volumes or + // use INSTANCE to create multi-volume snapshots from the volumes for an instance. ResourceTypes []*string `min:"1" type:"list"` // The schedule of policy-defined actions. diff --git a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go index e7983fa8e3d..f6ca35dce25 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/dynamodb/api.go @@ -61,9 +61,9 @@ func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.R output = &BatchGetItemOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -282,9 +282,9 @@ func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *reque output = &BatchWriteItemOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -476,9 +476,9 @@ func (c *DynamoDB) CreateBackupRequest(input *CreateBackupInput) (req *request.R output = &CreateBackupOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -636,9 +636,9 @@ func (c *DynamoDB) CreateGlobalTableRequest(input *CreateGlobalTableInput) (req output = &CreateGlobalTableOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -670,7 +670,7 @@ func (c *DynamoDB) CreateGlobalTableRequest(input *CreateGlobalTableInput) (req // relationship between two or more DynamoDB tables with the same table name // in the provided Regions. // -// This method only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) +// This operation only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) // of global tables. // // If you want to add a new replica table to a global table, each of the following @@ -693,6 +693,14 @@ func (c *DynamoDB) CreateGlobalTableRequest(input *CreateGlobalTableInput) (req // * The global secondary indexes must have the same hash key and sort key // (if present). // +// If local secondary indexes are specified, then the following conditions must +// also be met: +// +// * The local secondary indexes must have the same name. +// +// * The local secondary indexes must have the same hash key and sort key +// (if present). +// // Write capacity settings should be set consistently across your replica tables // and secondary indexes. DynamoDB strongly recommends enabling auto scaling // to manage the write capacity settings for all of your global tables replicas @@ -796,9 +804,9 @@ func (c *DynamoDB) CreateTableRequest(input *CreateTableInput) (req *request.Req output = &CreateTableOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -933,9 +941,9 @@ func (c *DynamoDB) DeleteBackupRequest(input *DeleteBackupInput) (req *request.R output = &DeleteBackupOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -1060,9 +1068,9 @@ func (c *DynamoDB) DeleteItemRequest(input *DeleteItemInput) (req *request.Reque output = &DeleteItemOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -1204,9 +1212,9 @@ func (c *DynamoDB) DeleteTableRequest(input *DeleteTableInput) (req *request.Req output = &DeleteTableOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -1348,9 +1356,9 @@ func (c *DynamoDB) DescribeBackupRequest(input *DescribeBackupInput) (req *reque output = &DescribeBackupOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -1457,9 +1465,9 @@ func (c *DynamoDB) DescribeContinuousBackupsRequest(input *DescribeContinuousBac output = &DescribeContinuousBackupsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -1807,9 +1815,9 @@ func (c *DynamoDB) DescribeGlobalTableRequest(input *DescribeGlobalTableInput) ( output = &DescribeGlobalTableOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -1839,8 +1847,10 @@ func (c *DynamoDB) DescribeGlobalTableRequest(input *DescribeGlobalTableInput) ( // // Returns information about the specified global table. // -// This method only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) -// of global tables. +// This operation only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) +// of global tables. If you are using global tables Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) +// you can use DescribeTable (https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DescribeTable.html) +// instead. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1917,9 +1927,9 @@ func (c *DynamoDB) DescribeGlobalTableSettingsRequest(input *DescribeGlobalTable output = &DescribeGlobalTableSettingsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -1949,7 +1959,7 @@ func (c *DynamoDB) DescribeGlobalTableSettingsRequest(input *DescribeGlobalTable // // Describes Region-specific settings for a global table. // -// This method only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) +// This operation only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) // of global tables. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2027,9 +2037,9 @@ func (c *DynamoDB) DescribeLimitsRequest(input *DescribeLimitsInput) (req *reque output = &DescribeLimitsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -2188,9 +2198,9 @@ func (c *DynamoDB) DescribeTableRequest(input *DescribeTableInput) (req *request output = &DescribeTableOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -2311,7 +2321,7 @@ func (c *DynamoDB) DescribeTableReplicaAutoScalingRequest(input *DescribeTableRe // // Describes auto scaling settings across replicas of the global table at once. // -// This method only applies to Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) +// This operation only applies to Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) // of global tables. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2390,9 +2400,9 @@ func (c *DynamoDB) DescribeTimeToLiveRequest(input *DescribeTimeToLiveInput) (re output = &DescribeTimeToLiveOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -2498,9 +2508,9 @@ func (c *DynamoDB) GetItemRequest(input *GetItemInput) (req *request.Request, ou output = &GetItemOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -2626,9 +2636,9 @@ func (c *DynamoDB) ListBackupsRequest(input *ListBackupsInput) (req *request.Req output = &ListBackupsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -2880,9 +2890,9 @@ func (c *DynamoDB) ListGlobalTablesRequest(input *ListGlobalTablesInput) (req *r output = &ListGlobalTablesOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -2912,7 +2922,7 @@ func (c *DynamoDB) ListGlobalTablesRequest(input *ListGlobalTablesInput) (req *r // // Lists all global tables that have a replica in the specified Region. // -// This method only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) +// This operation only applies to Version 2017.11.29 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V1.html) // of global tables. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2993,9 +3003,9 @@ func (c *DynamoDB) ListTablesRequest(input *ListTablesInput) (req *request.Reque output = &ListTablesOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -3151,9 +3161,9 @@ func (c *DynamoDB) ListTagsOfResourceRequest(input *ListTagsOfResourceInput) (re output = &ListTagsOfResourceOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -3263,9 +3273,9 @@ func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, ou output = &PutItemOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -3325,9 +3335,15 @@ func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, ou // * PutItem in the AWS SDK for Ruby V2 (http://docs.aws.amazon.com/goto/SdkForRubyV2/dynamodb-2012-08-10/PutItem) // // When you add an item, the primary key attributes are the only required attributes. -// Attribute values cannot be null. String and Binary type attributes must have -// lengths greater than zero. Set type attributes cannot be empty. Requests -// with empty values will be rejected with a ValidationException exception. +// Attribute values cannot be null. +// +// Empty String and Binary attribute values are allowed. Attribute values of +// type String and Binary must have a length greater than zero if the attribute +// is used as a key attribute for a table or index. Set type attributes cannot +// be empty. +// +// Invalid Requests with empty values will be rejected with a ValidationException +// exception. // // To prevent a new item from replacing an existing item, use a conditional // expression that contains the attribute_not_exists function with the name @@ -3443,9 +3459,9 @@ func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output output = &QueryOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -3663,9 +3679,9 @@ func (c *DynamoDB) RestoreTableFromBackupRequest(input *RestoreTableFromBackupIn output = &RestoreTableFromBackupOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -3811,9 +3827,9 @@ func (c *DynamoDB) RestoreTableToPointInTimeRequest(input *RestoreTableToPointIn output = &RestoreTableToPointInTimeOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -3987,9 +4003,9 @@ func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output * output = &ScanOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -4188,9 +4204,9 @@ func (c *DynamoDB) TagResourceRequest(input *TagResourceInput) (req *request.Req output = &TagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -4321,9 +4337,9 @@ func (c *DynamoDB) TransactGetItemsRequest(input *TransactGetItemsInput) (req *r output = &TransactGetItemsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -4548,9 +4564,9 @@ func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (re output = &TransactWriteItemsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -4817,9 +4833,9 @@ func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request output = &UntagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -4948,9 +4964,9 @@ func (c *DynamoDB) UpdateContinuousBackupsRequest(input *UpdateContinuousBackups output = &UpdateContinuousBackupsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -5152,9 +5168,9 @@ func (c *DynamoDB) UpdateGlobalTableRequest(input *UpdateGlobalTableInput) (req output = &UpdateGlobalTableOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -5288,9 +5304,9 @@ func (c *DynamoDB) UpdateGlobalTableSettingsRequest(input *UpdateGlobalTableSett output = &UpdateGlobalTableSettingsOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -5420,9 +5436,9 @@ func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Reque output = &UpdateItemOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -5558,9 +5574,9 @@ func (c *DynamoDB) UpdateTableRequest(input *UpdateTableInput) (req *request.Req output = &UpdateTableOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -5709,7 +5725,7 @@ func (c *DynamoDB) UpdateTableReplicaAutoScalingRequest(input *UpdateTableReplic // // Updates auto scaling settings on your global tables at once. // -// This method only applies to Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) +// This operation only applies to Version 2019.11.21 (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables.V2.html) // of global tables. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5807,9 +5823,9 @@ func (c *DynamoDB) UpdateTimeToLiveRequest(input *UpdateTimeToLiveInput) (req *r output = &UpdateTimeToLiveOutput{} req = c.newRequest(op, input, output) - // if a custom endpoint is provided for the request, - // we skip endpoint discovery workflow - if req.Config.Endpoint == nil { + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { if aws.BoolValue(req.Config.EnableEndpointDiscovery) { de := discovererDescribeEndpoints{ Required: false, @@ -13564,6 +13580,10 @@ type PutItemInput struct { // types for those attributes must match those of the schema in the table's // attribute definition. // + // Empty String and Binary attribute values are allowed. Attribute values of + // type String and Binary must have a length greater than zero if the attribute + // is used as a key attribute for a table or index. + // // For more information about primary keys, see Primary Key (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html#HowItWorks.CoreComponents.PrimaryKey) // in the Amazon DynamoDB Developer Guide. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go index 3f68867ee8b..b20ea843819 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go @@ -554,6 +554,10 @@ func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request. // For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) // in the Amazon Elastic Compute Cloud User Guide. // +// You can allocate a carrier IP address which is a public IP address from a +// telecommunication carrier, to a network interface which resides in a subnet +// in a Wavelength Zone (for example an EC2 instance). +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -955,7 +959,8 @@ func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *reques // AssociateAddress API operation for Amazon Elastic Compute Cloud. // -// Associates an Elastic IP address with an instance or a network interface. +// Associates an Elastic IP address, or carrier IP address (for instances that +// are in subnets in Wavelength Zones) with an instance or a network interface. // Before you can use an Elastic IP address, you must allocate it to your account. // // An Elastic IP address is for use in either the EC2-Classic platform or in @@ -976,6 +981,9 @@ func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *reques // an Elastic IP address with an instance or network interface that has an existing // Elastic IP address. // +// [Subnets in Wavelength Zones] You can associate an IP address from the telecommunication +// carrier to the instance or network interface. +// // You cannot associate an Elastic IP address with an interface in a different // network border group. // @@ -3453,6 +3461,82 @@ func (c *EC2) CreateCapacityReservationWithContext(ctx aws.Context, input *Creat return out, req.Send() } +const opCreateCarrierGateway = "CreateCarrierGateway" + +// CreateCarrierGatewayRequest generates a "aws/request.Request" representing the +// client's request for the CreateCarrierGateway operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateCarrierGateway for more information on using the CreateCarrierGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateCarrierGatewayRequest method. +// req, resp := client.CreateCarrierGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCarrierGateway +func (c *EC2) CreateCarrierGatewayRequest(input *CreateCarrierGatewayInput) (req *request.Request, output *CreateCarrierGatewayOutput) { + op := &request.Operation{ + Name: opCreateCarrierGateway, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateCarrierGatewayInput{} + } + + output = &CreateCarrierGatewayOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCarrierGateway API operation for Amazon Elastic Compute Cloud. +// +// Creates a carrier gateway. For more information about carrier gateways, see +// Carrier gateways (https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#wavelength-carrier-gateway) +// in the AWS Wavelength Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateCarrierGateway for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCarrierGateway +func (c *EC2) CreateCarrierGateway(input *CreateCarrierGatewayInput) (*CreateCarrierGatewayOutput, error) { + req, out := c.CreateCarrierGatewayRequest(input) + return out, req.Send() +} + +// CreateCarrierGatewayWithContext is the same as CreateCarrierGateway with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCarrierGateway for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) CreateCarrierGatewayWithContext(ctx aws.Context, input *CreateCarrierGatewayInput, opts ...request.Option) (*CreateCarrierGatewayOutput, error) { + req, out := c.CreateCarrierGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateClientVpnEndpoint = "CreateClientVpnEndpoint" // CreateClientVpnEndpointRequest generates a "aws/request.Request" representing the @@ -3926,13 +4010,13 @@ func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *requ // * 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. +// Otherwise, specify a domain name (for example, ExampleCompany.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. @@ -4432,7 +4516,7 @@ func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInp // CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud. // -// Exports a running or stopped instance to an S3 bucket. +// Exports a running or stopped instance to an Amazon S3 bucket. // // For information about the supported operating systems, image formats, and // known limitations for the types of instances you can export, see Exporting @@ -4678,6 +4762,8 @@ func (c *EC2) CreateLaunchTemplateRequest(input *CreateLaunchTemplateInput) (req // 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. +// For more information, see Launching an instance from a launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.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 @@ -4757,6 +4843,9 @@ func (c *EC2) CreateLaunchTemplateVersionRequest(input *CreateLaunchTemplateVers // 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. // +// For more information, see Managing launch template versions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#manage-launch-template-versions)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. @@ -4933,6 +5022,84 @@ func (c *EC2) CreateLocalGatewayRouteTableVpcAssociationWithContext(ctx aws.Cont return out, req.Send() } +const opCreateManagedPrefixList = "CreateManagedPrefixList" + +// CreateManagedPrefixListRequest generates a "aws/request.Request" representing the +// client's request for the CreateManagedPrefixList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateManagedPrefixList for more information on using the CreateManagedPrefixList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateManagedPrefixListRequest method. +// req, resp := client.CreateManagedPrefixListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateManagedPrefixList +func (c *EC2) CreateManagedPrefixListRequest(input *CreateManagedPrefixListInput) (req *request.Request, output *CreateManagedPrefixListOutput) { + op := &request.Operation{ + Name: opCreateManagedPrefixList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateManagedPrefixListInput{} + } + + output = &CreateManagedPrefixListOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateManagedPrefixList API operation for Amazon Elastic Compute Cloud. +// +// Creates a managed prefix list. You can specify one or more entries for the +// prefix list. Each entry consists of a CIDR block and an optional description. +// +// You must specify the maximum number of entries for the prefix list. The maximum +// number of entries cannot be changed later. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation CreateManagedPrefixList for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateManagedPrefixList +func (c *EC2) CreateManagedPrefixList(input *CreateManagedPrefixListInput) (*CreateManagedPrefixListOutput, error) { + req, out := c.CreateManagedPrefixListRequest(input) + return out, req.Send() +} + +// CreateManagedPrefixListWithContext is the same as CreateManagedPrefixList with the addition of +// the ability to pass a context and additional request options. +// +// See CreateManagedPrefixList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) CreateManagedPrefixListWithContext(ctx aws.Context, input *CreateManagedPrefixListInput, opts ...request.Option) (*CreateManagedPrefixListOutput, error) { + req, out := c.CreateManagedPrefixListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateNatGateway = "CreateNatGateway" // CreateNatGatewayRequest generates a "aws/request.Request" representing the @@ -5392,7 +5559,7 @@ func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req // instances in one partition do not share the same hardware with instances // in another partition. // -// For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) +// For more information, see Placement groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6017,7 +6184,7 @@ func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSub // // Creates a data feed for Spot Instances, enabling you to view Spot Instance // usage logs. You can create one data feed per AWS account. For more information, -// see Spot Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) +// see Spot Instance data feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6092,15 +6259,12 @@ func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Reques // CreateSubnet API operation for Amazon Elastic Compute Cloud. // -// Creates a subnet in an existing VPC. +// Creates a subnet in a specified VPC. // -// When you create each subnet, you provide the VPC ID and IPv4 CIDR block 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). +// You must specify an IPv4 CIDR block for the subnet. After you create a subnet, +// you can't change its CIDR block. The allowed block size is between a /16 +// netmask (65,536 IP addresses) and /28 netmask (16 IP addresses). The CIDR +// block must not overlap with the CIDR block of an existing subnet in the VPC. // // 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. @@ -6111,9 +6275,7 @@ func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Reques // 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). +// When you stop an instance in a subnet, it retains its private IPv4 address. // It's therefore possible to have a subnet with no running instances (they're // all stopped), but no remaining IP addresses available. // @@ -6193,9 +6355,10 @@ func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, o // CreateTags API operation for Amazon Elastic Compute Cloud. // -// Adds or overwrites the specified 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. +// Adds or overwrites only the specified tags for the specified Amazon EC2 resource +// or resources. When you specify an existing tag key, the value is overwritten +// with the new value. 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 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) // in the Amazon Elastic Compute Cloud User Guide. For more information about @@ -7824,6 +7987,84 @@ func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatew return out, req.Send() } +const opDeleteCarrierGateway = "DeleteCarrierGateway" + +// DeleteCarrierGatewayRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCarrierGateway operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteCarrierGateway for more information on using the DeleteCarrierGateway +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteCarrierGatewayRequest method. +// req, resp := client.DeleteCarrierGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCarrierGateway +func (c *EC2) DeleteCarrierGatewayRequest(input *DeleteCarrierGatewayInput) (req *request.Request, output *DeleteCarrierGatewayOutput) { + op := &request.Operation{ + Name: opDeleteCarrierGateway, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteCarrierGatewayInput{} + } + + output = &DeleteCarrierGatewayOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteCarrierGateway API operation for Amazon Elastic Compute Cloud. +// +// Deletes a carrier gateway. +// +// If you do not delete the route that contains the carrier gateway as the Target, +// the route is a blackhole route. For information about how to delete a route, +// see DeleteRoute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteRoute.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 DeleteCarrierGateway for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCarrierGateway +func (c *EC2) DeleteCarrierGateway(input *DeleteCarrierGatewayInput) (*DeleteCarrierGatewayOutput, error) { + req, out := c.DeleteCarrierGatewayRequest(input) + return out, req.Send() +} + +// DeleteCarrierGatewayWithContext is the same as DeleteCarrierGateway with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCarrierGateway for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DeleteCarrierGatewayWithContext(ctx aws.Context, input *DeleteCarrierGatewayInput, opts ...request.Option) (*DeleteCarrierGatewayOutput, error) { + req, out := c.DeleteCarrierGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteClientVpnEndpoint = "DeleteClientVpnEndpoint" // DeleteClientVpnEndpointRequest generates a "aws/request.Request" representing the @@ -8884,6 +9125,81 @@ func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociationWithContext(ctx aws.Cont return out, req.Send() } +const opDeleteManagedPrefixList = "DeleteManagedPrefixList" + +// DeleteManagedPrefixListRequest generates a "aws/request.Request" representing the +// client's request for the DeleteManagedPrefixList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteManagedPrefixList for more information on using the DeleteManagedPrefixList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteManagedPrefixListRequest method. +// req, resp := client.DeleteManagedPrefixListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteManagedPrefixList +func (c *EC2) DeleteManagedPrefixListRequest(input *DeleteManagedPrefixListInput) (req *request.Request, output *DeleteManagedPrefixListOutput) { + op := &request.Operation{ + Name: opDeleteManagedPrefixList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteManagedPrefixListInput{} + } + + output = &DeleteManagedPrefixListOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteManagedPrefixList API operation for Amazon Elastic Compute Cloud. +// +// Deletes the specified managed prefix list. You must first remove all references +// to the prefix list in your 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 DeleteManagedPrefixList for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteManagedPrefixList +func (c *EC2) DeleteManagedPrefixList(input *DeleteManagedPrefixListInput) (*DeleteManagedPrefixListOutput, error) { + req, out := c.DeleteManagedPrefixListRequest(input) + return out, req.Send() +} + +// DeleteManagedPrefixListWithContext is the same as DeleteManagedPrefixList with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteManagedPrefixList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DeleteManagedPrefixListWithContext(ctx aws.Context, input *DeleteManagedPrefixListInput, opts ...request.Option) (*DeleteManagedPrefixListOutput, error) { + req, out := c.DeleteManagedPrefixListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteNatGateway = "DeleteNatGateway" // DeleteNatGatewayRequest generates a "aws/request.Request" representing the @@ -9312,7 +9628,7 @@ func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req // // Deletes the specified placement group. You must terminate all instances in // the placement group before you can delete the placement group. For more information, -// see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) +// see Placement groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -11234,9 +11550,13 @@ func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req * // 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 +// reconfigure the customer gateway device using the new configuration information // returned with the new VPN connection ID. // +// For certificate-based authentication, delete all AWS Certificate Manager +// (ACM) private certificates used for the AWS-side tunnel endpoints for the +// VPN connection before deleting the VPN connection. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -12113,13 +12433,12 @@ func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesI // DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud. // -// Describes the Availability Zones and Local Zones that are available to you. -// If there is an event impacting an Availability Zone or Local Zone, you can -// use this request to view the state and any provided messages for that Availability -// Zone or Local Zone. +// Describes the Availability Zones, Local Zones, and Wavelength Zones that +// are available to you. If there is an event impacting a zone, you can use +// this request to view the state and any provided messages for that zone. // -// For more information about Availability Zones and Local Zones, see Regions -// and Availability Zones (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html) +// For more information about Availability Zones, Local Zones, and Wavelength +// Zones, see Regions, Zones and Outposts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -12497,6 +12816,138 @@ func (c *EC2) DescribeCapacityReservationsPagesWithContext(ctx aws.Context, inpu return p.Err() } +const opDescribeCarrierGateways = "DescribeCarrierGateways" + +// DescribeCarrierGatewaysRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCarrierGateways operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeCarrierGateways for more information on using the DescribeCarrierGateways +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeCarrierGatewaysRequest method. +// req, resp := client.DescribeCarrierGatewaysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCarrierGateways +func (c *EC2) DescribeCarrierGatewaysRequest(input *DescribeCarrierGatewaysInput) (req *request.Request, output *DescribeCarrierGatewaysOutput) { + op := &request.Operation{ + Name: opDescribeCarrierGateways, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeCarrierGatewaysInput{} + } + + output = &DescribeCarrierGatewaysOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeCarrierGateways API operation for Amazon Elastic Compute Cloud. +// +// Describes one or more of your carrier 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 DescribeCarrierGateways for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCarrierGateways +func (c *EC2) DescribeCarrierGateways(input *DescribeCarrierGatewaysInput) (*DescribeCarrierGatewaysOutput, error) { + req, out := c.DescribeCarrierGatewaysRequest(input) + return out, req.Send() +} + +// DescribeCarrierGatewaysWithContext is the same as DescribeCarrierGateways with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeCarrierGateways for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeCarrierGatewaysWithContext(ctx aws.Context, input *DescribeCarrierGatewaysInput, opts ...request.Option) (*DescribeCarrierGatewaysOutput, error) { + req, out := c.DescribeCarrierGatewaysRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeCarrierGatewaysPages iterates over the pages of a DescribeCarrierGateways operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeCarrierGateways 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 DescribeCarrierGateways operation. +// pageNum := 0 +// err := client.DescribeCarrierGatewaysPages(params, +// func(page *ec2.DescribeCarrierGatewaysOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeCarrierGatewaysPages(input *DescribeCarrierGatewaysInput, fn func(*DescribeCarrierGatewaysOutput, bool) bool) error { + return c.DescribeCarrierGatewaysPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeCarrierGatewaysPagesWithContext same as DescribeCarrierGatewaysPages 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) DescribeCarrierGatewaysPagesWithContext(ctx aws.Context, input *DescribeCarrierGatewaysInput, fn func(*DescribeCarrierGatewaysOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeCarrierGatewaysInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeCarrierGatewaysRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeCarrierGatewaysOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances" // DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the @@ -13974,7 +14425,7 @@ func (c *EC2) DescribeExportImageTasksRequest(input *DescribeExportImageTasksInp // DescribeExportImageTasks API operation for Amazon Elastic Compute Cloud. // -// Describes the specified export image tasks or all your export image tasks. +// Describes the specified export image tasks or all of your export image 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 @@ -14100,7 +14551,7 @@ func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req * // DescribeExportTasks API operation for Amazon Elastic Compute Cloud. // -// Describes the specified export instance tasks or all your export instance +// Describes the specified export instance tasks or all of your export instance // tasks. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -16185,7 +16636,7 @@ func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanc // all, the call fails. If you specify only instance IDs in an unaffected zone, // the call works normally. // -// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) +// For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -16401,18 +16852,18 @@ func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) // // * Status checks - Amazon EC2 performs status checks on running EC2 instances // to identify hardware and software issues. For more information, see Status -// Checks for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html) -// and Troubleshooting Instances with Failed Status Checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html) +// checks for your instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html) +// and Troubleshooting instances with failed status checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html) // in the Amazon Elastic Compute Cloud User Guide. // // * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, // or terminate) for your instances related to hardware issues, software -// updates, or system maintenance. For more information, see Scheduled Events -// for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html) +// updates, or system maintenance. For more information, see Scheduled events +// for your instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html) // in the Amazon Elastic Compute Cloud User Guide. // // * Instance state - You can manage your instances from the moment you launch -// them through their termination. For more information, see Instance Lifecycle +// them through their termination. For more information, see Instance lifecycle // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) // in the Amazon Elastic Compute Cloud User Guide. // @@ -16680,7 +17131,7 @@ func (c *EC2) DescribeInstanceTypesRequest(input *DescribeInstanceTypesInput) (r // DescribeInstanceTypes API operation for Amazon Elastic Compute Cloud. // -// Returns a list of all instance types offered in your current AWS Region. +// Describes the details of the instance types that are offered in a location. // The results can be filtered by the attributes of the instance types. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -16813,13 +17264,17 @@ func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *requ // DescribeInstances API operation for Amazon Elastic Compute Cloud. // -// Describes the specified instances or all of AWS account's instances. +// Describes the specified instances or all instances. +// +// If you specify instance IDs, the output includes information for only the +// specified instances. If you specify filters, the output includes information +// for only those instances that meet the filter criteria. If you do not specify +// instance IDs or filters, the output includes information for all instances, +// which can affect performance. We recommend that you use pagination to ensure +// that the operation returns quickly and successfully. // -// 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. +// 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 output. // // Recently terminated instances might appear in the returned results. This // interval is usually less than one hour. @@ -17302,7 +17757,9 @@ func (c *EC2) DescribeLaunchTemplateVersionsRequest(input *DescribeLaunchTemplat // 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. +// all versions, individual versions, or a range of versions. You can also describe +// all the latest versions or all the default versions of all the launch templates +// 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 @@ -18312,6 +18769,140 @@ func (c *EC2) DescribeLocalGatewaysPagesWithContext(ctx aws.Context, input *Desc return p.Err() } +const opDescribeManagedPrefixLists = "DescribeManagedPrefixLists" + +// DescribeManagedPrefixListsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeManagedPrefixLists operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeManagedPrefixLists for more information on using the DescribeManagedPrefixLists +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeManagedPrefixListsRequest method. +// req, resp := client.DescribeManagedPrefixListsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeManagedPrefixLists +func (c *EC2) DescribeManagedPrefixListsRequest(input *DescribeManagedPrefixListsInput) (req *request.Request, output *DescribeManagedPrefixListsOutput) { + op := &request.Operation{ + Name: opDescribeManagedPrefixLists, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeManagedPrefixListsInput{} + } + + output = &DescribeManagedPrefixListsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeManagedPrefixLists API operation for Amazon Elastic Compute Cloud. +// +// Describes your managed prefix lists and any AWS-managed prefix lists. +// +// To view the entries for your prefix list, use GetManagedPrefixListEntries. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DescribeManagedPrefixLists for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeManagedPrefixLists +func (c *EC2) DescribeManagedPrefixLists(input *DescribeManagedPrefixListsInput) (*DescribeManagedPrefixListsOutput, error) { + req, out := c.DescribeManagedPrefixListsRequest(input) + return out, req.Send() +} + +// DescribeManagedPrefixListsWithContext is the same as DescribeManagedPrefixLists with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeManagedPrefixLists for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DescribeManagedPrefixListsWithContext(ctx aws.Context, input *DescribeManagedPrefixListsInput, opts ...request.Option) (*DescribeManagedPrefixListsOutput, error) { + req, out := c.DescribeManagedPrefixListsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeManagedPrefixListsPages iterates over the pages of a DescribeManagedPrefixLists operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeManagedPrefixLists 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 DescribeManagedPrefixLists operation. +// pageNum := 0 +// err := client.DescribeManagedPrefixListsPages(params, +// func(page *ec2.DescribeManagedPrefixListsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeManagedPrefixListsPages(input *DescribeManagedPrefixListsInput, fn func(*DescribeManagedPrefixListsOutput, bool) bool) error { + return c.DescribeManagedPrefixListsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeManagedPrefixListsPagesWithContext same as DescribeManagedPrefixListsPages 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) DescribeManagedPrefixListsPagesWithContext(ctx aws.Context, input *DescribeManagedPrefixListsInput, fn func(*DescribeManagedPrefixListsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeManagedPrefixListsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeManagedPrefixListsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeManagedPrefixListsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMovingAddresses = "DescribeMovingAddresses" // DescribeMovingAddressesRequest generates a "aws/request.Request" representing the @@ -19097,7 +19688,7 @@ func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput // DescribePlacementGroups API operation for Amazon Elastic Compute Cloud. // // Describes the specified placement groups or all of your placement groups. -// For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) +// For more information, see Placement groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -19180,10 +19771,9 @@ func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req * // // 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. +// range for the service. +// +// We recommend that you use DescribeManagedPrefixLists instead. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -20870,12 +21460,12 @@ func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *requ // (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. +// If you are describing a long list of snapshots, we recommend that you 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. // // To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores. // @@ -21007,7 +21597,7 @@ func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafee // DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud. // // Describes the data feed for Spot Instances. For more information, see Spot -// Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) +// Instance data feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -21525,7 +22115,7 @@ func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInp // DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud. // // Describes the Spot price history. For more information, see Spot Instance -// Pricing History (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html) +// pricing history (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html) // in the Amazon EC2 User Guide for Linux Instances. // // When you specify a start and end time, this operation returns the prices @@ -23510,12 +24100,12 @@ func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request. // // Describes the specified EBS volumes or all of your 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. +// If you are describing a long list of volumes, we recommend that you 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 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html) // in the Amazon Elastic Compute Cloud User Guide. @@ -23650,19 +24240,17 @@ func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModifica // DescribeVolumesModifications API operation for Amazon Elastic Compute Cloud. // -// Reports the current modification status of EBS volumes. +// Describes the most recent volume modification request for the specified 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. +// If a volume has never been modified, some information in the output will +// be null. If a volume has been modified more than once, the output includes +// only the most recent modification request. // // 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 (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/). -// For more information, see Monitoring Volume Modifications" (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods) +// For more information, see Monitoring Volume Modifications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -28042,7 +28630,7 @@ func (c *EC2) GetDefaultCreditSpecificationRequest(input *GetDefaultCreditSpecif // Describes the default credit option for CPU usage of a burstable performance // instance family. // -// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) +// For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -28230,6 +28818,138 @@ func (c *EC2) GetEbsEncryptionByDefaultWithContext(ctx aws.Context, input *GetEb return out, req.Send() } +const opGetGroupsForCapacityReservation = "GetGroupsForCapacityReservation" + +// GetGroupsForCapacityReservationRequest generates a "aws/request.Request" representing the +// client's request for the GetGroupsForCapacityReservation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetGroupsForCapacityReservation for more information on using the GetGroupsForCapacityReservation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetGroupsForCapacityReservationRequest method. +// req, resp := client.GetGroupsForCapacityReservationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetGroupsForCapacityReservation +func (c *EC2) GetGroupsForCapacityReservationRequest(input *GetGroupsForCapacityReservationInput) (req *request.Request, output *GetGroupsForCapacityReservationOutput) { + op := &request.Operation{ + Name: opGetGroupsForCapacityReservation, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetGroupsForCapacityReservationInput{} + } + + output = &GetGroupsForCapacityReservationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetGroupsForCapacityReservation API operation for Amazon Elastic Compute Cloud. +// +// Lists the resource groups to which a Capacity Reservation has been added. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetGroupsForCapacityReservation for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetGroupsForCapacityReservation +func (c *EC2) GetGroupsForCapacityReservation(input *GetGroupsForCapacityReservationInput) (*GetGroupsForCapacityReservationOutput, error) { + req, out := c.GetGroupsForCapacityReservationRequest(input) + return out, req.Send() +} + +// GetGroupsForCapacityReservationWithContext is the same as GetGroupsForCapacityReservation with the addition of +// the ability to pass a context and additional request options. +// +// See GetGroupsForCapacityReservation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetGroupsForCapacityReservationWithContext(ctx aws.Context, input *GetGroupsForCapacityReservationInput, opts ...request.Option) (*GetGroupsForCapacityReservationOutput, error) { + req, out := c.GetGroupsForCapacityReservationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetGroupsForCapacityReservationPages iterates over the pages of a GetGroupsForCapacityReservation operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetGroupsForCapacityReservation 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 GetGroupsForCapacityReservation operation. +// pageNum := 0 +// err := client.GetGroupsForCapacityReservationPages(params, +// func(page *ec2.GetGroupsForCapacityReservationOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) GetGroupsForCapacityReservationPages(input *GetGroupsForCapacityReservationInput, fn func(*GetGroupsForCapacityReservationOutput, bool) bool) error { + return c.GetGroupsForCapacityReservationPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetGroupsForCapacityReservationPagesWithContext same as GetGroupsForCapacityReservationPages 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) GetGroupsForCapacityReservationPagesWithContext(ctx aws.Context, input *GetGroupsForCapacityReservationInput, fn func(*GetGroupsForCapacityReservationOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetGroupsForCapacityReservationInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetGroupsForCapacityReservationRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetGroupsForCapacityReservationOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview" // GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the @@ -28356,6 +29076,12 @@ func (c *EC2) GetLaunchTemplateDataRequest(input *GetLaunchTemplateDataInput) (r // Retrieves the configuration data of the specified instance. You can use this // data to create a launch template. // +// This action calls on other describe actions to get instance information. +// Depending on your instance configuration, you may need to allow the following +// actions in your IAM policy: DescribeSpotInstanceRequests, DescribeInstanceCreditSpecifications, +// DescribeVolumes, DescribeInstanceAttribute, and DescribeElasticGpus. Or, +// you can allow describe* depending on your instance requirements. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -28384,6 +29110,271 @@ func (c *EC2) GetLaunchTemplateDataWithContext(ctx aws.Context, input *GetLaunch return out, req.Send() } +const opGetManagedPrefixListAssociations = "GetManagedPrefixListAssociations" + +// GetManagedPrefixListAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the GetManagedPrefixListAssociations operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetManagedPrefixListAssociations for more information on using the GetManagedPrefixListAssociations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetManagedPrefixListAssociationsRequest method. +// req, resp := client.GetManagedPrefixListAssociationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListAssociations +func (c *EC2) GetManagedPrefixListAssociationsRequest(input *GetManagedPrefixListAssociationsInput) (req *request.Request, output *GetManagedPrefixListAssociationsOutput) { + op := &request.Operation{ + Name: opGetManagedPrefixListAssociations, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetManagedPrefixListAssociationsInput{} + } + + output = &GetManagedPrefixListAssociationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetManagedPrefixListAssociations API operation for Amazon Elastic Compute Cloud. +// +// Gets information about the resources that are associated with the specified +// managed prefix list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetManagedPrefixListAssociations for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListAssociations +func (c *EC2) GetManagedPrefixListAssociations(input *GetManagedPrefixListAssociationsInput) (*GetManagedPrefixListAssociationsOutput, error) { + req, out := c.GetManagedPrefixListAssociationsRequest(input) + return out, req.Send() +} + +// GetManagedPrefixListAssociationsWithContext is the same as GetManagedPrefixListAssociations with the addition of +// the ability to pass a context and additional request options. +// +// See GetManagedPrefixListAssociations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetManagedPrefixListAssociationsWithContext(ctx aws.Context, input *GetManagedPrefixListAssociationsInput, opts ...request.Option) (*GetManagedPrefixListAssociationsOutput, error) { + req, out := c.GetManagedPrefixListAssociationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetManagedPrefixListAssociationsPages iterates over the pages of a GetManagedPrefixListAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetManagedPrefixListAssociations 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 GetManagedPrefixListAssociations operation. +// pageNum := 0 +// err := client.GetManagedPrefixListAssociationsPages(params, +// func(page *ec2.GetManagedPrefixListAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) GetManagedPrefixListAssociationsPages(input *GetManagedPrefixListAssociationsInput, fn func(*GetManagedPrefixListAssociationsOutput, bool) bool) error { + return c.GetManagedPrefixListAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetManagedPrefixListAssociationsPagesWithContext same as GetManagedPrefixListAssociationsPages 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) GetManagedPrefixListAssociationsPagesWithContext(ctx aws.Context, input *GetManagedPrefixListAssociationsInput, fn func(*GetManagedPrefixListAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetManagedPrefixListAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetManagedPrefixListAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetManagedPrefixListAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetManagedPrefixListEntries = "GetManagedPrefixListEntries" + +// GetManagedPrefixListEntriesRequest generates a "aws/request.Request" representing the +// client's request for the GetManagedPrefixListEntries operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetManagedPrefixListEntries for more information on using the GetManagedPrefixListEntries +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetManagedPrefixListEntriesRequest method. +// req, resp := client.GetManagedPrefixListEntriesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListEntries +func (c *EC2) GetManagedPrefixListEntriesRequest(input *GetManagedPrefixListEntriesInput) (req *request.Request, output *GetManagedPrefixListEntriesOutput) { + op := &request.Operation{ + Name: opGetManagedPrefixListEntries, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetManagedPrefixListEntriesInput{} + } + + output = &GetManagedPrefixListEntriesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetManagedPrefixListEntries API operation for Amazon Elastic Compute Cloud. +// +// Gets information about the entries for a specified managed prefix list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetManagedPrefixListEntries for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListEntries +func (c *EC2) GetManagedPrefixListEntries(input *GetManagedPrefixListEntriesInput) (*GetManagedPrefixListEntriesOutput, error) { + req, out := c.GetManagedPrefixListEntriesRequest(input) + return out, req.Send() +} + +// GetManagedPrefixListEntriesWithContext is the same as GetManagedPrefixListEntries with the addition of +// the ability to pass a context and additional request options. +// +// See GetManagedPrefixListEntries for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetManagedPrefixListEntriesWithContext(ctx aws.Context, input *GetManagedPrefixListEntriesInput, opts ...request.Option) (*GetManagedPrefixListEntriesOutput, error) { + req, out := c.GetManagedPrefixListEntriesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetManagedPrefixListEntriesPages iterates over the pages of a GetManagedPrefixListEntries operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetManagedPrefixListEntries 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 GetManagedPrefixListEntries operation. +// pageNum := 0 +// err := client.GetManagedPrefixListEntriesPages(params, +// func(page *ec2.GetManagedPrefixListEntriesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) GetManagedPrefixListEntriesPages(input *GetManagedPrefixListEntriesInput, fn func(*GetManagedPrefixListEntriesOutput, bool) bool) error { + return c.GetManagedPrefixListEntriesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetManagedPrefixListEntriesPagesWithContext same as GetManagedPrefixListEntriesPages 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) GetManagedPrefixListEntriesPagesWithContext(ctx aws.Context, input *GetManagedPrefixListEntriesInput, fn func(*GetManagedPrefixListEntriesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetManagedPrefixListEntriesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetManagedPrefixListEntriesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetManagedPrefixListEntriesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetPasswordData = "GetPasswordData" // GetPasswordDataRequest generates a "aws/request.Request" representing the @@ -29596,9 +30587,10 @@ func (c *EC2) ModifyAvailabilityZoneGroupRequest(input *ModifyAvailabilityZoneGr // ModifyAvailabilityZoneGroup API operation for Amazon Elastic Compute Cloud. // -// Enables or disables an Availability Zone group for your account. +// Changes the opt-in status of the Local Zone and Wavelength Zone group for +// your account. // -// Use describe-availability-zones (https://docs.aws.amazon.com/AWSEC2ApiDocReef/build/server-root/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) +// Use DescribeAvailabilityZones (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) // to view the value for GroupName. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -29840,7 +30832,7 @@ func (c *EC2) ModifyDefaultCreditSpecificationRequest(input *ModifyDefaultCredit // can call GetDefaultCreditSpecification and check DefaultCreditSpecification // for updates. // -// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) +// For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -30552,7 +31544,7 @@ func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput // we recommend that you use the ModifyNetworkInterfaceAttribute action. // // To modify some attributes, the instance must be stopped. For more information, -// see Modifying Attributes of a Stopped Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html) +// see Modifying attributes of a stopped instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -30707,7 +31699,7 @@ func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCred // Modifies the credit option for CPU usage on a running or stopped burstable // performance instance. The credit options are standard and unlimited. // -// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) +// For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -30862,7 +31854,7 @@ func (c *EC2) ModifyInstanceMetadataOptionsRequest(input *ModifyInstanceMetadata // the API responds with a state of “pending”. After the parameter modifications // are successfully applied to the instance, the state of the modifications // changes from “pending” to “applied” in subsequent describe-instances -// API calls. For more information, see Instance Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). +// API calls. For more information, see Instance metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.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 @@ -31063,6 +32055,86 @@ func (c *EC2) ModifyLaunchTemplateWithContext(ctx aws.Context, input *ModifyLaun return out, req.Send() } +const opModifyManagedPrefixList = "ModifyManagedPrefixList" + +// ModifyManagedPrefixListRequest generates a "aws/request.Request" representing the +// client's request for the ModifyManagedPrefixList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ModifyManagedPrefixList for more information on using the ModifyManagedPrefixList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ModifyManagedPrefixListRequest method. +// req, resp := client.ModifyManagedPrefixListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyManagedPrefixList +func (c *EC2) ModifyManagedPrefixListRequest(input *ModifyManagedPrefixListInput) (req *request.Request, output *ModifyManagedPrefixListOutput) { + op := &request.Operation{ + Name: opModifyManagedPrefixList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyManagedPrefixListInput{} + } + + output = &ModifyManagedPrefixListOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyManagedPrefixList API operation for Amazon Elastic Compute Cloud. +// +// Modifies the specified managed prefix list. +// +// Adding or removing entries in a prefix list creates a new version of the +// prefix list. Changing the name of the prefix list does not affect the version. +// +// If you specify a current version number that does not match the true current +// version number, the request fails. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation ModifyManagedPrefixList for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyManagedPrefixList +func (c *EC2) ModifyManagedPrefixList(input *ModifyManagedPrefixListInput) (*ModifyManagedPrefixListOutput, error) { + req, out := c.ModifyManagedPrefixListRequest(input) + return out, req.Send() +} + +// ModifyManagedPrefixListWithContext is the same as ModifyManagedPrefixList with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyManagedPrefixList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) ModifyManagedPrefixListWithContext(ctx aws.Context, input *ModifyManagedPrefixListInput, opts ...request.Option) (*ModifyManagedPrefixListOutput, error) { + req, out := c.ModifyManagedPrefixListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute" // ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the @@ -32598,8 +33670,9 @@ func (c *EC2) ModifyVpnConnectionRequest(input *ModifyVpnConnectionInput) (req * // ModifyVpnConnection API operation for Amazon Elastic Compute Cloud. // -// Modifies the target gateway of an AWS Site-to-Site VPN connection. The following -// migration options are available: +// Modifies the customer gateway or the target gateway of an AWS Site-to-Site +// VPN connection. To modify the target gateway, the following migration options +// are available: // // * An existing virtual private gateway to a new virtual private gateway // @@ -32864,7 +33937,7 @@ func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *reques // 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 +// is enabled. For more information, see Monitoring your instances and volumes // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) // in the Amazon Elastic Compute Cloud User Guide. // @@ -33368,8 +34441,8 @@ func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request. // 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 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html) +// For more information about troubleshooting, see Getting console output and +// rebooting instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -33446,7 +34519,7 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ // // Registers an AMI. When you're creating an AMI, this is the final step you // must complete before you can launch an instance from the AMI. For more information -// about creating AMIs, see Creating Your Own AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html) +// about creating AMIs, see Creating your own AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html) // in the Amazon Elastic Compute Cloud User Guide. // // For Amazon EBS-backed instances, CreateImage creates and registers the AMI @@ -33454,12 +34527,12 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ // // You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from // a snapshot of a root device volume. You specify the snapshot using the block -// device mapping. For more information, see Launching a Linux Instance from -// a Backup (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html) +// device mapping. For more information, see Launching a Linux instance from +// a backup (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html) // in the Amazon Elastic Compute Cloud User Guide. // -// You can't register an image where a secondary (non-root) snapshot has AWS -// Marketplace product codes. +// If any snapshots have AWS Marketplace product codes, they are copied to the +// new AMI. // // Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) // and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code @@ -33480,7 +34553,7 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ // a Reserved Instance without the matching billing product code, the Reserved // Instance will not be applied to the On-Demand Instance. For information about // how to obtain the platform details and billing information of an AMI, see -// Obtaining Billing Information (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html) +// Obtaining billing information (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html) // in the Amazon Elastic Compute Cloud User Guide. // // If needed, you can deregister an AMI at any time. Any modifications you make @@ -34858,7 +35931,7 @@ func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *reques // the fleet. You cannot tag other resource types in a Spot Fleet request because // only the spot-fleet-request and instance resource types are supported. // -// For more information, see Spot Fleet Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html) +// For more information, see Spot Fleet requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -34935,7 +36008,7 @@ func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req // // Creates a Spot Instance request. // -// For more information, see Spot Instance Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) +// For more information, see Spot Instance requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html) // in the Amazon EC2 User Guide for Linux Instances. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -35513,6 +36586,81 @@ func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *Restore return out, req.Send() } +const opRestoreManagedPrefixListVersion = "RestoreManagedPrefixListVersion" + +// RestoreManagedPrefixListVersionRequest generates a "aws/request.Request" representing the +// client's request for the RestoreManagedPrefixListVersion operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See RestoreManagedPrefixListVersion for more information on using the RestoreManagedPrefixListVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the RestoreManagedPrefixListVersionRequest method. +// req, resp := client.RestoreManagedPrefixListVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreManagedPrefixListVersion +func (c *EC2) RestoreManagedPrefixListVersionRequest(input *RestoreManagedPrefixListVersionInput) (req *request.Request, output *RestoreManagedPrefixListVersionOutput) { + op := &request.Operation{ + Name: opRestoreManagedPrefixListVersion, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RestoreManagedPrefixListVersionInput{} + } + + output = &RestoreManagedPrefixListVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// RestoreManagedPrefixListVersion API operation for Amazon Elastic Compute Cloud. +// +// Restores the entries from a previous version of a managed prefix list to +// a new version of the prefix list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation RestoreManagedPrefixListVersion for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreManagedPrefixListVersion +func (c *EC2) RestoreManagedPrefixListVersion(input *RestoreManagedPrefixListVersionInput) (*RestoreManagedPrefixListVersionOutput, error) { + req, out := c.RestoreManagedPrefixListVersionRequest(input) + return out, req.Send() +} + +// RestoreManagedPrefixListVersionWithContext is the same as RestoreManagedPrefixListVersion with the addition of +// the ability to pass a context and additional request options. +// +// See RestoreManagedPrefixListVersion for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) RestoreManagedPrefixListVersionWithContext(ctx aws.Context, input *RestoreManagedPrefixListVersionInput, opts ...request.Option) (*RestoreManagedPrefixListVersionOutput, error) { + req, out := c.RestoreManagedPrefixListVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRevokeClientVpnIngress = "RevokeClientVpnIngress" // RevokeClientVpnIngressRequest generates a "aws/request.Request" representing the @@ -35823,17 +36971,17 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques // // * Some instance types must be launched into a VPC. If you do not have // a default VPC, or if you do not specify a subnet ID, the request fails. -// For more information, see Instance Types Available Only in a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types). +// For more information, see Instance types available only in a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types). // // * [EC2-VPC] All instances have a network interface with a primary private // IPv4 address. If you don't specify this address, we choose one from the // IPv4 range of your subnet. // // * Not all instance types support IPv6 addresses. For more information, -// see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). +// see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). // // * If you don't specify a security group ID, we use the default security -// group. For more information, see Security Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html). +// group. For more information, see Security groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html). // // * If any of the AMIs have a product code attached for which the user has // not subscribed, the request fails. @@ -35850,17 +36998,17 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques // An instance is ready for you to use when it's in the running state. You can // check the state of your instance using DescribeInstances. You can tag instances // and EBS volumes during launch, after launch, or both. For more information, -// see CreateTags and Tagging Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html). +// see CreateTags and Tagging your Amazon EC2 resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html). // // Linux instances have access to the public key of the key pair at boot. You // can use this key to provide secure access to the instance. Amazon EC2 public // images use this feature to provide secure access without passwords. For more -// information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) +// information, see Key pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) // in the Amazon Elastic Compute Cloud User Guide. // -// For troubleshooting, see What To Do If An Instance Immediately Terminates +// For troubleshooting, see What to do if an instance immediately terminates // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html), -// and Troubleshooting Connecting to Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html) +// and Troubleshooting connecting to your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -36373,8 +37521,8 @@ func (c *EC2) SendDiagnosticInterruptRequest(input *SendDiagnosticInterruptInput // system is configured to perform the required diagnostic tasks. // // For more information about configuring your operating system to generate -// a crash dump when a kernel panic or stop error occurs, see Send a Diagnostic -// Interrupt (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/diagnostic-interrupt.html) +// a crash dump when a kernel panic or stop error occurs, see Send a diagnostic +// interrupt (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/diagnostic-interrupt.html) // (Linux instances) or Send a Diagnostic Interrupt (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/diagnostic-interrupt.html) // (Windows instances). // @@ -36471,7 +37619,7 @@ func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Re // Performing this operation on an instance that uses an instance store as its // root device returns an error. // -// For more information, see Stopping Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html) +// For more information, see Stopping instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -36634,7 +37782,7 @@ func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Requ // You can use the Stop action to hibernate an instance if the instance is enabled // for hibernation (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#enabling-hibernation) // and it meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). -// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) +// For more information, see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. // // We don't charge usage for a stopped instance, or data transfer fees; however, @@ -36650,7 +37798,7 @@ func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Requ // You can't stop or hibernate instance store-backed instances. You can't use // the Stop action to hibernate Spot Instances, but you can specify that Amazon // EC2 should hibernate Spot Instances when they are interrupted. For more information, -// see Hibernating Interrupted Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances) +// see Hibernating interrupted Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances) // in the Amazon Elastic Compute Cloud User Guide. // // When you stop or hibernate an instance, we shut it down. You can restart @@ -36666,13 +37814,13 @@ func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Requ // an instance, the root device and any other devices attached during the instance // launch are automatically deleted. For more information about the differences // between rebooting, stopping, hibernating, and terminating instances, see -// Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) +// Instance lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) // in the Amazon Elastic Compute Cloud User Guide. // // When you stop an instance, we attempt to shut it down forcibly after a short // while. If your instance appears stuck in the stopping state after a period // of time, there may be an issue with the underlying host computer. For more -// information, see Troubleshooting Stopping Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html) +// information, see Troubleshooting stopping your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -36842,11 +37990,11 @@ func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *re // an instance, any attached EBS volumes with the DeleteOnTermination block // device mapping parameter set to true are automatically deleted. For more // information about the differences between stopping and terminating instances, -// see Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) +// see Instance lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html) // in the Amazon Elastic Compute Cloud User Guide. // -// For more information about troubleshooting, see Troubleshooting Terminating -// Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html) +// For more information about troubleshooting, see Troubleshooting terminating +// your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -37071,7 +38219,7 @@ func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *re // UnmonitorInstances API operation for Amazon Elastic Compute Cloud. // // Disables detailed monitoring for a running instance. For more information, -// see Monitoring Your Instances and Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) +// see Monitoring your instances and volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -37840,7 +38988,57 @@ func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance { return s } -// Describes an Elastic IP address. +// An entry for a prefix list. +type AddPrefixListEntry struct { + _ struct{} `type:"structure"` + + // The CIDR block. + // + // Cidr is a required field + Cidr *string `type:"string" required:"true"` + + // A description for the entry. + // + // Constraints: Up to 255 characters in length. + Description *string `type:"string"` +} + +// String returns the string representation +func (s AddPrefixListEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddPrefixListEntry) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddPrefixListEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddPrefixListEntry"} + if s.Cidr == nil { + invalidParams.Add(request.NewErrParamRequired("Cidr")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCidr sets the Cidr field's value. +func (s *AddPrefixListEntry) SetCidr(v string) *AddPrefixListEntry { + s.Cidr = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AddPrefixListEntry) SetDescription(v string) *AddPrefixListEntry { + s.Description = &v + return s +} + +// Describes an Elastic IP address, or a carrier IP address. type Address struct { _ struct{} `type:"structure"` @@ -37851,6 +39049,11 @@ type Address struct { // VPC. AssociationId *string `locationName:"associationId" type:"string"` + // The carrier IP address associated. This option is only available for network + // interfaces which reside in a subnet in a Wavelength Zone (for example an + // EC2 instance). + CarrierIp *string `locationName:"carrierIp" type:"string"` + // The customer-owned IP address. CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"` @@ -37864,7 +39067,8 @@ type Address struct { // The ID of the instance that the address is associated with (if any). InstanceId *string `locationName:"instanceId" type:"string"` - // The name of the location from which the IP address is advertised. + // The name of the unique set of Availability Zones, Local Zones, or Wavelength + // Zones from which AWS advertises IP addresses. NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"` // The ID of the network interface. @@ -37908,6 +39112,12 @@ func (s *Address) SetAssociationId(v string) *Address { return s } +// SetCarrierIp sets the CarrierIp field's value. +func (s *Address) SetCarrierIp(v string) *Address { + s.CarrierIp = &v + return s +} + // SetCustomerOwnedIp sets the CustomerOwnedIp field's value. func (s *Address) SetCustomerOwnedIp(v string) *Address { s.CustomerOwnedIp = &v @@ -38060,9 +39270,11 @@ type AllocateAddressInput struct { // address from the address pool. CustomerOwnedIpv4Pool *string `type:"string"` - // Set to vpc to allocate the address for use with instances in a VPC. + // Indicates whether the Elastic IP address is for use with instances in a VPC + // or instances in EC2-Classic. // - // Default: The address is for use with instances in EC2-Classic. + // Default: If the Region supports EC2-Classic, the default is standard. Otherwise, + // the default is vpc. Domain *string `type:"string" enum:"DomainType"` // Checks whether you have the required permissions for the action, without @@ -38071,12 +39283,9 @@ type AllocateAddressInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // The location from which the IP address is advertised. Use this parameter - // to limit the address to this location. - // - // A network border group is a unique set of Availability Zones or Local Zones - // from where AWS advertises IP addresses and limits the addresses to the group. - // IP addresses cannot move between network border groups. + // A unique set of Availability Zones, Local Zones, or Wavelength Zones from + // which AWS advertises IP addresses. Use this parameter to limit the IP address + // to this location. IP addresses cannot move between network border groups. // // Use DescribeAvailabilityZones (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) // to view the network border groups. @@ -38145,17 +39354,22 @@ type AllocateAddressOutput struct { // IP address for use with instances in a VPC. AllocationId *string `locationName:"allocationId" type:"string"` + // The carrier IP address. This option is only available for network interfaces + // which reside in a subnet in a Wavelength Zone (for example an EC2 instance). + CarrierIp *string `locationName:"carrierIp" type:"string"` + // The customer-owned IP address. CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"` // The ID of the customer-owned address pool. CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"` - // Indicates whether this Elastic IP address is for use with instances in EC2-Classic - // (standard) or instances in a VPC (vpc). + // Indicates whether the Elastic IP address is for use with instances in a VPC + // (vpc) or instances in EC2-Classic (standard). Domain *string `locationName:"domain" type:"string" enum:"DomainType"` - // The location from which the IP address is advertised. + // The set of Availability Zones, Local Zones, or Wavelength Zones from which + // AWS advertises IP addresses. NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"` // The Elastic IP address. @@ -38181,6 +39395,12 @@ func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput return s } +// SetCarrierIp sets the CarrierIp field's value. +func (s *AllocateAddressOutput) SetCarrierIp(v string) *AllocateAddressOutput { + s.CarrierIp = &v + return s +} + // SetCustomerOwnedIp sets the CustomerOwnedIp field's value. func (s *AllocateAddressOutput) SetCustomerOwnedIp(v string) *AllocateAddressOutput { s.CustomerOwnedIp = &v @@ -39473,7 +40693,7 @@ type AssociateVpcCidrBlockInput struct { Ipv6CidrBlock *string `type:"string"` // The name of the location from which we advertise the IPV6 CIDR block. Use - // this parameter to limit the CiDR block to this location. + // this parameter to limit the CIDR block to this location. // // You must set AmazonProvidedIpv6CidrBlock to true to use this parameter. // @@ -40229,11 +41449,14 @@ func (s *AuthorizationRule) SetStatus(v *ClientVpnAuthorizationRuleStatus) *Auth type AuthorizeClientVpnIngressInput struct { _ struct{} `type:"structure"` - // The ID of the Active Directory group to grant access. + // The ID of the group to grant access to, for example, the Active Directory + // group or identity provider (IdP) group. Required if AuthorizeAllGroups is + // false or not specified. AccessGroupId *string `type:"string"` - // Indicates whether to grant access to all clients. Use true to grant all clients - // who successfully establish a VPN connection access to the network. + // Indicates whether to grant access to all clients. Specify true to grant all + // clients who successfully establish a VPN connection access to the network. + // Must be set to true if AccessGroupId is not specified. AuthorizeAllGroups *bool `type:"boolean"` // Unique, case-sensitive identifier that you provide to ensure the idempotency @@ -40641,38 +41864,52 @@ func (s AuthorizeSecurityGroupIngressOutput) GoString() string { return s.String() } -// Describes an Availability Zone or Local Zone. +// Describes Availability Zones, Local Zones, and Wavelength Zones. type AvailabilityZone struct { _ struct{} `type:"structure"` // For Availability Zones, this parameter has the same value as the Region name. // // For Local Zones, the name of the associated group, for example us-west-2-lax-1. + // + // For Wavelength Zones, the name of the associated group, for example us-east-1-wl1-bos-wlz-1. GroupName *string `locationName:"groupName" type:"string"` - // Any messages about the Availability Zone or Local Zone. + // Any messages about the Availability Zone, Local Zone, or Wavelength Zone. Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"` - // The name of the location from which the address is advertised. + // The name of the network border group. NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"` // For Availability Zones, this parameter always has the value of opt-in-not-required. // - // For Local Zones, this parameter is the opt in status. The possible values - // are opted-in, and not-opted-in. + // For Local Zones and Wavelength Zones, this parameter is the opt-in status. + // The possible values are opted-in, and not-opted-in. OptInStatus *string `locationName:"optInStatus" type:"string" enum:"AvailabilityZoneOptInStatus"` + // The ID of the zone that handles some of the Local Zone or Wavelength Zone + // control plane operations, such as API calls. + ParentZoneId *string `locationName:"parentZoneId" type:"string"` + + // The name of the zone that handles some of the Local Zone or Wavelength Zone + // control plane operations, such as API calls. + ParentZoneName *string `locationName:"parentZoneName" type:"string"` + // The name of the Region. RegionName *string `locationName:"regionName" type:"string"` - // The state of the Availability Zone or Local Zone. + // The state of the Availability Zone, Local Zone, or Wavelength Zone. State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"` - // The ID of the Availability Zone or Local Zone. + // The ID of the Availability Zone, Local Zone, or Wavelength Zone. ZoneId *string `locationName:"zoneId" type:"string"` - // The name of the Availability Zone or Local Zone. + // The name of the Availability Zone, Local Zone, or Wavelength Zone. ZoneName *string `locationName:"zoneName" type:"string"` + + // The type of zone. The valid values are availability-zone, local-zone, and + // wavelength-zone. + ZoneType *string `locationName:"zoneType" type:"string"` } // String returns the string representation @@ -40709,6 +41946,18 @@ func (s *AvailabilityZone) SetOptInStatus(v string) *AvailabilityZone { return s } +// SetParentZoneId sets the ParentZoneId field's value. +func (s *AvailabilityZone) SetParentZoneId(v string) *AvailabilityZone { + s.ParentZoneId = &v + return s +} + +// SetParentZoneName sets the ParentZoneName field's value. +func (s *AvailabilityZone) SetParentZoneName(v string) *AvailabilityZone { + s.ParentZoneName = &v + return s +} + // SetRegionName sets the RegionName field's value. func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone { s.RegionName = &v @@ -40733,11 +41982,18 @@ func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone { return s } -// Describes a message about an Availability Zone or Local Zone. +// SetZoneType sets the ZoneType field's value. +func (s *AvailabilityZone) SetZoneType(v string) *AvailabilityZone { + s.ZoneType = &v + return s +} + +// Describes a message about an Availability Zone, Local Zone, or Wavelength +// Zone. type AvailabilityZoneMessage struct { _ struct{} `type:"structure"` - // The message about the Availability Zone or Local Zone. + // The message about the Availability Zone, Local Zone, or Wavelength Zone. Message *string `locationName:"message" type:"string"` } @@ -42120,6 +43376,39 @@ func (s *CapacityReservation) SetTotalInstanceCount(v int64) *CapacityReservatio return s } +// Describes a resource group to which a Capacity Reservation has been added. +type CapacityReservationGroup struct { + _ struct{} `type:"structure"` + + // The ARN of the resource group. + GroupArn *string `locationName:"groupArn" type:"string"` + + // The ID of the AWS account that owns the resource group. + OwnerId *string `locationName:"ownerId" type:"string"` +} + +// String returns the string representation +func (s CapacityReservationGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CapacityReservationGroup) GoString() string { + return s.String() +} + +// SetGroupArn sets the GroupArn field's value. +func (s *CapacityReservationGroup) SetGroupArn(v string) *CapacityReservationGroup { + s.GroupArn = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *CapacityReservationGroup) SetOwnerId(v string) *CapacityReservationGroup { + s.OwnerId = &v + return s +} + // Describes the strategy for using unused Capacity Reservations for fulfilling // On-Demand capacity. // @@ -42218,7 +43507,7 @@ func (s *CapacityReservationOptionsRequest) SetUsageStrategy(v string) *Capacity // to run as an On-Demand Instance or to run in any open Capacity Reservation // that has matching attributes (instance type, platform, Availability Zone). // Use the CapacityReservationTarget parameter to explicitly target a specific -// Capacity Reservation. +// Capacity Reservation or a Capacity Reservation group. type CapacityReservationSpecification struct { _ struct{} `type:"structure"` @@ -42232,7 +43521,8 @@ type CapacityReservationSpecification struct { // one is available. The instance runs as an On-Demand Instance. CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"` - // Information about the target Capacity Reservation. + // Information about the target Capacity Reservation or Capacity Reservation + // group. CapacityReservationTarget *CapacityReservationTarget `type:"structure"` } @@ -42263,7 +43553,8 @@ func (s *CapacityReservationSpecification) SetCapacityReservationTarget(v *Capac // instance is configured to run in On-Demand capacity, or if it is configured // in run in any open Capacity Reservation that has matching attributes (instance // type, platform, Availability Zone). The action returns the capacityReservationTarget -// response element if the instance explicily targets a specific Capacity Reservation. +// response element if the instance explicily targets a specific Capacity Reservation +// or Capacity Reservation group. type CapacityReservationSpecificationResponse struct { _ struct{} `type:"structure"` @@ -42277,7 +43568,8 @@ type CapacityReservationSpecificationResponse struct { // one is available. The instance runs in On-Demand capacity. CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"` - // Information about the targeted Capacity Reservation. + // Information about the targeted Capacity Reservation or Capacity Reservation + // group. CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"` } @@ -42303,12 +43595,15 @@ func (s *CapacityReservationSpecificationResponse) SetCapacityReservationTarget( return s } -// Describes a target Capacity Reservation. +// Describes a target Capacity Reservation or Capacity Reservation group. type CapacityReservationTarget struct { _ struct{} `type:"structure"` - // The ID of the Capacity Reservation. + // The ID of the Capacity Reservation in which to run the instance. CapacityReservationId *string `type:"string"` + + // The ARN of the Capacity Reservation resource group in which to run the instance. + CapacityReservationResourceGroupArn *string `type:"string"` } // String returns the string representation @@ -42327,12 +43622,21 @@ func (s *CapacityReservationTarget) SetCapacityReservationId(v string) *Capacity return s } -// Describes a target Capacity Reservation. +// SetCapacityReservationResourceGroupArn sets the CapacityReservationResourceGroupArn field's value. +func (s *CapacityReservationTarget) SetCapacityReservationResourceGroupArn(v string) *CapacityReservationTarget { + s.CapacityReservationResourceGroupArn = &v + return s +} + +// Describes a target Capacity Reservation or Capacity Reservation group. type CapacityReservationTargetResponse struct { _ struct{} `type:"structure"` - // The ID of the Capacity Reservation. + // The ID of the targeted Capacity Reservation. CapacityReservationId *string `locationName:"capacityReservationId" type:"string"` + + // The ARN of the targeted Capacity Reservation group. + CapacityReservationResourceGroupArn *string `locationName:"capacityReservationResourceGroupArn" type:"string"` } // String returns the string representation @@ -42351,6 +43655,72 @@ func (s *CapacityReservationTargetResponse) SetCapacityReservationId(v string) * return s } +// SetCapacityReservationResourceGroupArn sets the CapacityReservationResourceGroupArn field's value. +func (s *CapacityReservationTargetResponse) SetCapacityReservationResourceGroupArn(v string) *CapacityReservationTargetResponse { + s.CapacityReservationResourceGroupArn = &v + return s +} + +// Describes a carrier gateway. +type CarrierGateway struct { + _ struct{} `type:"structure"` + + // The ID of the carrier gateway. + CarrierGatewayId *string `locationName:"carrierGatewayId" type:"string"` + + // The AWS account ID of the owner of the carrier gateway. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The state of the carrier gateway. + State *string `locationName:"state" type:"string" enum:"CarrierGatewayState"` + + // The tags assigned to the carrier gateway. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // The ID of the VPC associated with the carrier gateway. + VpcId *string `locationName:"vpcId" type:"string"` +} + +// String returns the string representation +func (s CarrierGateway) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CarrierGateway) GoString() string { + return s.String() +} + +// SetCarrierGatewayId sets the CarrierGatewayId field's value. +func (s *CarrierGateway) SetCarrierGatewayId(v string) *CarrierGateway { + s.CarrierGatewayId = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *CarrierGateway) SetOwnerId(v string) *CarrierGateway { + s.OwnerId = &v + return s +} + +// SetState sets the State field's value. +func (s *CarrierGateway) SetState(v string) *CarrierGateway { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CarrierGateway) SetTags(v []*Tag) *CarrierGateway { + s.Tags = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *CarrierGateway) SetVpcId(v string) *CarrierGateway { + s.VpcId = &v + return s +} + // Information about the client certificate used for authentication. type CertificateAuthentication struct { _ struct{} `type:"structure"` @@ -42712,9 +44082,8 @@ func (s *ClientData) SetUploadStart(v time.Time) *ClientData { return s } -// Describes the authentication methods used by a Client VPN endpoint. Client -// VPN supports Active Directory and mutual authentication. For more information, -// see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication) +// Describes the authentication methods used by a Client VPN endpoint. For more +// information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication) // in the AWS Client VPN Administrator Guide. type ClientVpnAuthentication struct { _ struct{} `type:"structure"` @@ -42722,6 +44091,9 @@ type ClientVpnAuthentication struct { // Information about the Active Directory, if applicable. ActiveDirectory *DirectoryServiceAuthentication `locationName:"activeDirectory" type:"structure"` + // Information about the IAM SAML identity provider, if applicable. + FederatedAuthentication *FederatedAuthentication `locationName:"federatedAuthentication" type:"structure"` + // Information about the authentication certificates, if applicable. MutualAuthentication *CertificateAuthentication `locationName:"mutualAuthentication" type:"structure"` @@ -42745,6 +44117,12 @@ func (s *ClientVpnAuthentication) SetActiveDirectory(v *DirectoryServiceAuthenti return s } +// SetFederatedAuthentication sets the FederatedAuthentication field's value. +func (s *ClientVpnAuthentication) SetFederatedAuthentication(v *FederatedAuthentication) *ClientVpnAuthentication { + s.FederatedAuthentication = v + return s +} + // SetMutualAuthentication sets the MutualAuthentication field's value. func (s *ClientVpnAuthentication) SetMutualAuthentication(v *CertificateAuthentication) *ClientVpnAuthentication { s.MutualAuthentication = v @@ -42758,8 +44136,7 @@ func (s *ClientVpnAuthentication) SetType(v string) *ClientVpnAuthentication { } // Describes the authentication method to be used by a Client VPN endpoint. -// Client VPN supports Active Directory and mutual authentication. For more -// information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication) +// For more information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication) // in the AWS Client VPN Administrator Guide. type ClientVpnAuthenticationRequest struct { _ struct{} `type:"structure"` @@ -42768,13 +44145,15 @@ type ClientVpnAuthenticationRequest struct { // provide this information if Type is directory-service-authentication. ActiveDirectory *DirectoryServiceAuthenticationRequest `type:"structure"` + // Information about the IAM SAML identity provider to be used, if applicable. + // You must provide this information if Type is federated-authentication. + FederatedAuthentication *FederatedAuthenticationRequest `type:"structure"` + // Information about the authentication certificates to be used, if applicable. // You must provide this information if Type is certificate-authentication. MutualAuthentication *CertificateAuthenticationRequest `type:"structure"` - // The type of client authentication to be used. Specify certificate-authentication - // to use certificate-based authentication, or directory-service-authentication - // to use Active Directory authentication. + // The type of client authentication to be used. Type *string `type:"string" enum:"ClientVpnAuthenticationType"` } @@ -42794,6 +44173,12 @@ func (s *ClientVpnAuthenticationRequest) SetActiveDirectory(v *DirectoryServiceA return s } +// SetFederatedAuthentication sets the FederatedAuthentication field's value. +func (s *ClientVpnAuthenticationRequest) SetFederatedAuthentication(v *FederatedAuthenticationRequest) *ClientVpnAuthenticationRequest { + s.FederatedAuthentication = v + return s +} + // SetMutualAuthentication sets the MutualAuthentication field's value. func (s *ClientVpnAuthenticationRequest) SetMutualAuthentication(v *CertificateAuthenticationRequest) *ClientVpnAuthenticationRequest { s.MutualAuthentication = v @@ -43419,6 +44804,9 @@ type CoipPool struct { // The ID of the local gateway route table. LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"` + // The ARN of the address pool. + PoolArn *string `locationName:"poolArn" min:"1" type:"string"` + // The address ranges of the address pool. PoolCidrs []*string `locationName:"poolCidrSet" locationNameList:"item" type:"list"` @@ -43445,6 +44833,12 @@ func (s *CoipPool) SetLocalGatewayRouteTableId(v string) *CoipPool { return s } +// SetPoolArn sets the PoolArn field's value. +func (s *CoipPool) SetPoolArn(v string) *CoipPool { + s.PoolArn = &v + return s +} + // SetPoolCidrs sets the PoolCidrs field's value. func (s *CoipPool) SetPoolCidrs(v []*string) *CoipPool { s.PoolCidrs = v @@ -43565,7 +44959,8 @@ func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstance type ConnectionLogOptions struct { _ struct{} `type:"structure"` - // The name of the CloudWatch Logs log group. + // The name of the CloudWatch Logs log group. Required if connection logging + // is enabled. CloudwatchLogGroup *string `type:"string"` // The name of the CloudWatch Logs log stream to which the connection data is @@ -44366,8 +45761,6 @@ type CreateCapacityReservationInput struct { // Unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). - // - // Constraint: Maximum 64 ASCII characters. ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -44595,6 +45988,98 @@ func (s *CreateCapacityReservationOutput) SetCapacityReservation(v *CapacityRese return s } +type CreateCarrierGatewayInput struct { + _ struct{} `type:"structure"` + + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/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 tags to associate with the carrier gateway. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + + // The ID of the VPC to associate with the carrier gateway. + // + // VpcId is a required field + VpcId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateCarrierGatewayInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCarrierGatewayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCarrierGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCarrierGatewayInput"} + 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 *CreateCarrierGatewayInput) SetClientToken(v string) *CreateCarrierGatewayInput { + s.ClientToken = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateCarrierGatewayInput) SetDryRun(v bool) *CreateCarrierGatewayInput { + s.DryRun = &v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateCarrierGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateCarrierGatewayInput { + s.TagSpecifications = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *CreateCarrierGatewayInput) SetVpcId(v string) *CreateCarrierGatewayInput { + s.VpcId = &v + return s +} + +type CreateCarrierGatewayOutput struct { + _ struct{} `type:"structure"` + + // Information about the carrier gateway. + CarrierGateway *CarrierGateway `locationName:"carrierGateway" type:"structure"` +} + +// String returns the string representation +func (s CreateCarrierGatewayOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCarrierGatewayOutput) GoString() string { + return s.String() +} + +// SetCarrierGateway sets the CarrierGateway field's value. +func (s *CreateCarrierGatewayOutput) SetCarrierGateway(v *CarrierGateway) *CreateCarrierGatewayOutput { + s.CarrierGateway = v + return s +} + type CreateClientVpnEndpointInput struct { _ struct{} `type:"structure"` @@ -45003,6 +46488,9 @@ type CreateCustomerGatewayInput struct { // The address must be static. PublicIp *string `locationName:"IpAddress" type:"string"` + // The tags to apply to the customer gateway. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The type of VPN connection that this customer gateway supports (ipsec.1). // // Type is a required field @@ -45065,6 +46553,12 @@ func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewa return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateCustomerGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateCustomerGatewayInput { + s.TagSpecifications = v + return s +} + // SetType sets the Type field's value. func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput { s.Type = &v @@ -45230,6 +46724,9 @@ type CreateDhcpOptionsInput struct { // the required permissions, the error response is DryRunOperation. Otherwise, // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` + + // The tags to assign to the DHCP option. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` } // String returns the string representation @@ -45267,6 +46764,12 @@ func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput { return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateDhcpOptionsInput) SetTagSpecifications(v []*TagSpecification) *CreateDhcpOptionsInput { + s.TagSpecifications = v + return s +} + type CreateDhcpOptionsOutput struct { _ struct{} `type:"structure"` @@ -45303,6 +46806,9 @@ type CreateEgressOnlyInternetGatewayInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` + // The tags to assign to the egress-only internet gateway. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The ID of the VPC for which to create the egress-only internet gateway. // // VpcId is a required field @@ -45344,6 +46850,12 @@ func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOn return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateEgressOnlyInternetGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateEgressOnlyInternetGatewayInput { + s.TagSpecifications = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput { s.VpcId = &v @@ -46230,7 +47742,7 @@ type CreateInstanceExportTaskInput struct { _ struct{} `type:"structure"` // A description for the conversion task or the resource being exported. The - // maximum length is 255 bytes. + // maximum length is 255 characters. Description *string `locationName:"description" type:"string"` // The format and location for an instance export task. @@ -46241,6 +47753,9 @@ type CreateInstanceExportTaskInput struct { // InstanceId is a required field InstanceId *string `locationName:"instanceId" type:"string" required:"true"` + // The tags to apply to the instance export task during creation. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The target virtualization environment. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"` } @@ -46286,6 +47801,12 @@ func (s *CreateInstanceExportTaskInput) SetInstanceId(v string) *CreateInstanceE return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateInstanceExportTaskInput) SetTagSpecifications(v []*TagSpecification) *CreateInstanceExportTaskInput { + s.TagSpecifications = v + return s +} + // SetTargetEnvironment sets the TargetEnvironment field's value. func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateInstanceExportTaskInput { s.TargetEnvironment = &v @@ -46323,6 +47844,9 @@ type CreateInternetGatewayInput struct { // the required permissions, the error response is DryRunOperation. Otherwise, // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` + + // The tags to assign to the internet gateway. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` } // String returns the string representation @@ -46341,6 +47865,12 @@ func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInp return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateInternetGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateInternetGatewayInput { + s.TagSpecifications = v + return s +} + type CreateInternetGatewayOutput struct { _ struct{} `type:"structure"` @@ -46592,6 +48122,11 @@ type CreateLaunchTemplateOutput struct { // Information about the launch template. LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"` + + // If the launch template contains parameters or parameter combinations that + // are not valid, an error code and an error message are returned for each issue + // that's found. + Warning *ValidationWarning `locationName:"warning" type:"structure"` } // String returns the string representation @@ -46610,6 +48145,12 @@ func (s *CreateLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *Creat return s } +// SetWarning sets the Warning field's value. +func (s *CreateLaunchTemplateOutput) SetWarning(v *ValidationWarning) *CreateLaunchTemplateOutput { + s.Warning = v + return s +} + type CreateLaunchTemplateVersionInput struct { _ struct{} `type:"structure"` @@ -46727,6 +48268,11 @@ type CreateLaunchTemplateVersionOutput struct { // Information about the launch template version. LaunchTemplateVersion *LaunchTemplateVersion `locationName:"launchTemplateVersion" type:"structure"` + + // If the new version of the launch template contains parameters or parameter + // combinations that are not valid, an error code and an error message are returned + // for each issue that's found. + Warning *ValidationWarning `locationName:"warning" type:"structure"` } // String returns the string representation @@ -46745,6 +48291,12 @@ func (s *CreateLaunchTemplateVersionOutput) SetLaunchTemplateVersion(v *LaunchTe return s } +// SetWarning sets the Warning field's value. +func (s *CreateLaunchTemplateVersionOutput) SetWarning(v *ValidationWarning) *CreateLaunchTemplateVersionOutput { + s.Warning = v + return s +} + type CreateLocalGatewayRouteInput struct { _ struct{} `type:"structure"` @@ -46861,6 +48413,9 @@ type CreateLocalGatewayRouteTableVpcAssociationInput struct { // LocalGatewayRouteTableId is a required field LocalGatewayRouteTableId *string `type:"string" required:"true"` + // The tags to assign to the local gateway route table VPC association. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The ID of the VPC. // // VpcId is a required field @@ -46905,6 +48460,12 @@ func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetLocalGatewayRouteTa return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetTagSpecifications(v []*TagSpecification) *CreateLocalGatewayRouteTableVpcAssociationInput { + s.TagSpecifications = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetVpcId(v string) *CreateLocalGatewayRouteTableVpcAssociationInput { s.VpcId = &v @@ -46934,6 +48495,151 @@ func (s *CreateLocalGatewayRouteTableVpcAssociationOutput) SetLocalGatewayRouteT return s } +type CreateManagedPrefixListInput struct { + _ struct{} `type:"structure"` + + // The IP address type. + // + // Valid Values: IPv4 | IPv6 + // + // AddressFamily is a required field + AddressFamily *string `type:"string" required:"true"` + + // Unique, case-sensitive identifier you provide to ensure the idempotency of + // the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // + // Constraints: Up to 255 UTF-8 characters in length. + 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 entries for the prefix list. + Entries []*AddPrefixListEntry `locationName:"Entry" type:"list"` + + // The maximum number of entries for the prefix list. + // + // MaxEntries is a required field + MaxEntries *int64 `type:"integer" required:"true"` + + // A name for the prefix list. + // + // Constraints: Up to 255 characters in length. The name cannot start with com.amazonaws. + // + // PrefixListName is a required field + PrefixListName *string `type:"string" required:"true"` + + // The tags to apply to the prefix list during creation. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s CreateManagedPrefixListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateManagedPrefixListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateManagedPrefixListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateManagedPrefixListInput"} + if s.AddressFamily == nil { + invalidParams.Add(request.NewErrParamRequired("AddressFamily")) + } + if s.MaxEntries == nil { + invalidParams.Add(request.NewErrParamRequired("MaxEntries")) + } + if s.PrefixListName == nil { + invalidParams.Add(request.NewErrParamRequired("PrefixListName")) + } + if s.Entries != nil { + for i, v := range s.Entries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddressFamily sets the AddressFamily field's value. +func (s *CreateManagedPrefixListInput) SetAddressFamily(v string) *CreateManagedPrefixListInput { + s.AddressFamily = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateManagedPrefixListInput) SetClientToken(v string) *CreateManagedPrefixListInput { + s.ClientToken = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *CreateManagedPrefixListInput) SetDryRun(v bool) *CreateManagedPrefixListInput { + s.DryRun = &v + return s +} + +// SetEntries sets the Entries field's value. +func (s *CreateManagedPrefixListInput) SetEntries(v []*AddPrefixListEntry) *CreateManagedPrefixListInput { + s.Entries = v + return s +} + +// SetMaxEntries sets the MaxEntries field's value. +func (s *CreateManagedPrefixListInput) SetMaxEntries(v int64) *CreateManagedPrefixListInput { + s.MaxEntries = &v + return s +} + +// SetPrefixListName sets the PrefixListName field's value. +func (s *CreateManagedPrefixListInput) SetPrefixListName(v string) *CreateManagedPrefixListInput { + s.PrefixListName = &v + return s +} + +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateManagedPrefixListInput) SetTagSpecifications(v []*TagSpecification) *CreateManagedPrefixListInput { + s.TagSpecifications = v + return s +} + +type CreateManagedPrefixListOutput struct { + _ struct{} `type:"structure"` + + // Information about the prefix list. + PrefixList *ManagedPrefixList `locationName:"prefixList" type:"structure"` +} + +// String returns the string representation +func (s CreateManagedPrefixListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateManagedPrefixListOutput) GoString() string { + return s.String() +} + +// SetPrefixList sets the PrefixList field's value. +func (s *CreateManagedPrefixListOutput) SetPrefixList(v *ManagedPrefixList) *CreateManagedPrefixListOutput { + s.PrefixList = v + return s +} + type CreateNatGatewayInput struct { _ struct{} `type:"structure"` @@ -47058,6 +48764,8 @@ type CreateNetworkAclEntryInput struct { _ struct{} `type:"structure"` // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24). + // We modify the specified CIDR block to its canonical form; for example, if + // you specify 100.68.0.18/18, we modify it to 100.68.0.0/18. CidrBlock *string `locationName:"cidrBlock" type:"string"` // Checks whether you have the required permissions for the action, without @@ -47232,6 +48940,9 @@ type CreateNetworkAclInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` + // The tags to assign to the network ACL. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The ID of the VPC. // // VpcId is a required field @@ -47267,6 +48978,12 @@ func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput { return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateNetworkAclInput) SetTagSpecifications(v []*TagSpecification) *CreateNetworkAclInput { + s.TagSpecifications = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput { s.VpcId = &v @@ -47353,6 +49070,9 @@ type CreateNetworkInterfaceInput struct { // // SubnetId is a required field SubnetId *string `locationName:"subnetId" type:"string" required:"true"` + + // The tags to apply to the new network interface. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` } // String returns the string representation @@ -47438,6 +49158,12 @@ func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterf return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateNetworkInterfaceInput) SetTagSpecifications(v []*TagSpecification) *CreateNetworkInterfaceInput { + s.TagSpecifications = v + return s +} + // Contains the output of CreateNetworkInterface. type CreateNetworkInterfaceOutput struct { _ struct{} `type:"structure"` @@ -47771,14 +49497,25 @@ func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v [] type CreateRouteInput struct { _ struct{} `type:"structure"` + // The ID of the carrier gateway. + // + // You can only use this option when the VPC contains a subnet which is associated + // with a Wavelength Zone. + CarrierGatewayId *string `type:"string"` + // The IPv4 CIDR address block used for the destination match. Routing decisions - // are based on the most specific match. + // are based on the most specific match. We modify the specified CIDR block + // to its canonical form; for example, if you specify 100.68.0.18/18, we modify + // it to 100.68.0.0/18. 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"` + // The ID of a prefix list used for the destination match. + DestinationPrefixListId *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, @@ -47840,6 +49577,12 @@ func (s *CreateRouteInput) Validate() error { return nil } +// SetCarrierGatewayId sets the CarrierGatewayId field's value. +func (s *CreateRouteInput) SetCarrierGatewayId(v string) *CreateRouteInput { + s.CarrierGatewayId = &v + return s +} + // SetDestinationCidrBlock sets the DestinationCidrBlock field's value. func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput { s.DestinationCidrBlock = &v @@ -47852,6 +49595,12 @@ func (s *CreateRouteInput) SetDestinationIpv6CidrBlock(v string) *CreateRouteInp return s } +// SetDestinationPrefixListId sets the DestinationPrefixListId field's value. +func (s *CreateRouteInput) SetDestinationPrefixListId(v string) *CreateRouteInput { + s.DestinationPrefixListId = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput { s.DryRun = &v @@ -47944,6 +49693,9 @@ type CreateRouteTableInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` + // The tags to assign to the route table. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The ID of the VPC. // // VpcId is a required field @@ -47979,6 +49731,12 @@ func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput { return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateRouteTableInput) SetTagSpecifications(v []*TagSpecification) *CreateRouteTableInput { + s.TagSpecifications = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput { s.VpcId = &v @@ -48039,6 +49797,9 @@ type CreateSecurityGroupInput struct { // GroupName is a required field GroupName *string `type:"string" required:"true"` + // The tags to assign to the security group. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // [EC2-VPC] The ID of the VPC. Required for EC2-VPC. VpcId *string `type:"string"` } @@ -48087,6 +49848,12 @@ func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupIn return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateSecurityGroupInput) SetTagSpecifications(v []*TagSpecification) *CreateSecurityGroupInput { + s.TagSpecifications = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput { s.VpcId = &v @@ -48098,6 +49865,9 @@ type CreateSecurityGroupOutput struct { // The ID of the security group. GroupId *string `locationName:"groupId" type:"string"` + + // The tags assigned to the security group. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` } // String returns the string representation @@ -48116,6 +49886,12 @@ func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOut return s } +// SetTags sets the Tags field's value. +func (s *CreateSecurityGroupOutput) SetTags(v []*Tag) *CreateSecurityGroupOutput { + s.Tags = v + return s +} + type CreateSnapshotInput struct { _ struct{} `type:"structure"` @@ -48389,6 +50165,8 @@ type CreateSubnetInput struct { AvailabilityZoneId *string `type:"string"` // The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. + // We modify the specified CIDR block to its canonical form; for example, if + // you specify 100.68.0.18/18, we modify it to 100.68.0.0/18. // // CidrBlock is a required field CidrBlock *string `type:"string" required:"true"` @@ -48403,9 +50181,13 @@ type CreateSubnetInput struct { // must use a /64 prefix length. Ipv6CidrBlock *string `type:"string"` - // The Amazon Resource Name (ARN) of the Outpost. + // The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost + // ARN, you must also specify the Availability Zone of the Outpost subnet. OutpostArn *string `type:"string"` + // The tags to assign to the subnet. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The ID of the VPC. // // VpcId is a required field @@ -48474,6 +50256,12 @@ func (s *CreateSubnetInput) SetOutpostArn(v string) *CreateSubnetInput { return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateSubnetInput) SetTagSpecifications(v []*TagSpecification) *CreateSubnetInput { + s.TagSpecifications = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput { s.VpcId = &v @@ -50488,6 +52276,8 @@ type CreateVpcInput struct { AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"` // The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16. + // We modify the specified CIDR block to its canonical form; for example, if + // you specify 100.68.0.18/18, we modify it to 100.68.0.0/18. // // CidrBlock is a required field CidrBlock *string `type:"string" required:"true"` @@ -50524,6 +52314,9 @@ type CreateVpcInput struct { // The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block. Ipv6Pool *string `type:"string"` + + // The tags to assign to the VPC. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` } // String returns the string representation @@ -50591,6 +52384,12 @@ func (s *CreateVpcInput) SetIpv6Pool(v string) *CreateVpcInput { return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateVpcInput) SetTagSpecifications(v []*TagSpecification) *CreateVpcInput { + s.TagSpecifications = v + return s +} + type CreateVpcOutput struct { _ struct{} `type:"structure"` @@ -50638,6 +52437,9 @@ type CreateVpcPeeringConnectionInput struct { // You must specify this parameter in the request. PeerVpcId *string `locationName:"peerVpcId" type:"string"` + // The tags to assign to the peering connection. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The ID of the requester VPC. You must specify this parameter in the request. VpcId *string `locationName:"vpcId" type:"string"` } @@ -50676,6 +52478,12 @@ func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeri return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateVpcPeeringConnectionInput) SetTagSpecifications(v []*TagSpecification) *CreateVpcPeeringConnectionInput { + s.TagSpecifications = v + return s +} + // SetVpcId sets the VpcId field's value. func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput { s.VpcId = &v @@ -50723,6 +52531,9 @@ type CreateVpnConnectionInput struct { // The options for the VPN connection. Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"` + // The tags to apply to the VPN connection. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The ID of the transit gateway. If you specify a transit gateway, you cannot // specify a virtual private gateway. TransitGatewayId *string `type:"string"` @@ -50781,6 +52592,12 @@ func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecificati return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateVpnConnectionInput) SetTagSpecifications(v []*TagSpecification) *CreateVpnConnectionInput { + s.TagSpecifications = v + return s +} + // SetTransitGatewayId sets the TransitGatewayId field's value. func (s *CreateVpnConnectionInput) SetTransitGatewayId(v string) *CreateVpnConnectionInput { s.TransitGatewayId = &v @@ -50910,6 +52727,9 @@ type CreateVpnGatewayInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` + // The tags to apply to the virtual private gateway. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The type of VPN connection this virtual private gateway supports. // // Type is a required field @@ -50957,6 +52777,12 @@ func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput { return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *CreateVpnGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateVpnGatewayInput { + s.TagSpecifications = v + return s +} + // SetType sets the Type field's value. func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput { s.Type = &v @@ -50987,12 +52813,12 @@ func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayO return s } -// Describes the credit option for CPU usage of a T2 or T3 instance. +// Describes the credit option for CPU usage of a T2, T3, or T3a instance. type CreditSpecification struct { _ struct{} `type:"structure"` - // The credit option for CPU usage of a T2 or T3 instance. Valid values are - // standard and unlimited. + // The credit option for CPU usage of a T2, T3, or T3a instance. Valid values + // are standard and unlimited. CpuCredits *string `locationName:"cpuCredits" type:"string"` } @@ -51012,12 +52838,12 @@ func (s *CreditSpecification) SetCpuCredits(v string) *CreditSpecification { return s } -// The credit option for CPU usage of a T2 or T3 instance. +// The credit option for CPU usage of a T2, T3, or T3a instance. type CreditSpecificationRequest struct { _ struct{} `type:"structure"` - // The credit option for CPU usage of a T2 or T3 instance. Valid values are - // standard and unlimited. + // The credit option for CPU usage of a T2, T3, or T3a instance. Valid values + // are standard and unlimited. // // CpuCredits is a required field CpuCredits *string `type:"string" required:"true"` @@ -51141,6 +52967,79 @@ func (s *CustomerGateway) SetType(v string) *CustomerGateway { return s } +type DeleteCarrierGatewayInput struct { + _ struct{} `type:"structure"` + + // The ID of the carrier gateway. + // + // CarrierGatewayId is a required field + CarrierGatewayId *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 DeleteCarrierGatewayInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCarrierGatewayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCarrierGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCarrierGatewayInput"} + if s.CarrierGatewayId == nil { + invalidParams.Add(request.NewErrParamRequired("CarrierGatewayId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCarrierGatewayId sets the CarrierGatewayId field's value. +func (s *DeleteCarrierGatewayInput) SetCarrierGatewayId(v string) *DeleteCarrierGatewayInput { + s.CarrierGatewayId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteCarrierGatewayInput) SetDryRun(v bool) *DeleteCarrierGatewayInput { + s.DryRun = &v + return s +} + +type DeleteCarrierGatewayOutput struct { + _ struct{} `type:"structure"` + + // Information about the carrier gateway. + CarrierGateway *CarrierGateway `locationName:"carrierGateway" type:"structure"` +} + +// String returns the string representation +func (s DeleteCarrierGatewayOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCarrierGatewayOutput) GoString() string { + return s.String() +} + +// SetCarrierGateway sets the CarrierGateway field's value. +func (s *DeleteCarrierGatewayOutput) SetCarrierGateway(v *CarrierGateway) *DeleteCarrierGatewayOutput { + s.CarrierGateway = v + return s +} + type DeleteClientVpnEndpointInput struct { _ struct{} `type:"structure"` @@ -52427,6 +54326,79 @@ func (s *DeleteLocalGatewayRouteTableVpcAssociationOutput) SetLocalGatewayRouteT return s } +type DeleteManagedPrefixListInput 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 prefix list. + // + // PrefixListId is a required field + PrefixListId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteManagedPrefixListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteManagedPrefixListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteManagedPrefixListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteManagedPrefixListInput"} + if s.PrefixListId == nil { + invalidParams.Add(request.NewErrParamRequired("PrefixListId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DeleteManagedPrefixListInput) SetDryRun(v bool) *DeleteManagedPrefixListInput { + s.DryRun = &v + return s +} + +// SetPrefixListId sets the PrefixListId field's value. +func (s *DeleteManagedPrefixListInput) SetPrefixListId(v string) *DeleteManagedPrefixListInput { + s.PrefixListId = &v + return s +} + +type DeleteManagedPrefixListOutput struct { + _ struct{} `type:"structure"` + + // Information about the prefix list. + PrefixList *ManagedPrefixList `locationName:"prefixList" type:"structure"` +} + +// String returns the string representation +func (s DeleteManagedPrefixListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteManagedPrefixListOutput) GoString() string { + return s.String() +} + +// SetPrefixList sets the PrefixList field's value. +func (s *DeleteManagedPrefixListOutput) SetPrefixList(v *ManagedPrefixList) *DeleteManagedPrefixListOutput { + s.PrefixList = v + return s +} + type DeleteNatGatewayInput struct { _ struct{} `type:"structure"` @@ -53000,6 +54972,9 @@ type DeleteRouteInput struct { // for the route exactly. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"` + // The ID of the prefix list for the route. + DestinationPrefixListId *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, @@ -53047,6 +55022,12 @@ func (s *DeleteRouteInput) SetDestinationIpv6CidrBlock(v string) *DeleteRouteInp return s } +// SetDestinationPrefixListId sets the DestinationPrefixListId field's value. +func (s *DeleteRouteInput) SetDestinationPrefixListId(v string) *DeleteRouteInput { + s.DestinationPrefixListId = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput { s.DryRun = &v @@ -55279,7 +57260,8 @@ type DescribeAddressesInput struct { // * instance-id - The ID of the instance the address is associated with, // if any. // - // * network-border-group - The location from where the IP address is advertised. + // * network-border-group - A unique set of Availability Zones, Local Zones, + // or Wavelength Zones from where AWS advertises IP addresses. // // * network-interface-id - [EC2-VPC] The ID of the network interface that // the address is associated with, if any. @@ -55289,7 +57271,7 @@ type DescribeAddressesInput struct { // * private-ip-address - [EC2-VPC] The private IP address associated with // the Elastic IP address. // - // * public-ip - The Elastic IP address. + // * public-ip - The Elastic IP address, or the carrier IP address. // // * tag: - The key/value combination of a tag assigned to the resource. // Use the tag key in the filter name and the tag value as the filter value. @@ -55428,8 +57410,8 @@ func (s *DescribeAggregateIdFormatOutput) SetUseLongIdsAggregated(v bool) *Descr type DescribeAvailabilityZonesInput struct { _ struct{} `type:"structure"` - // Include all Availability Zones and Local Zones regardless of your opt in - // status. + // Include all Availability Zones, Local Zones, and Wavelength Zones regardless + // of your opt-in status. // // If you do not use this parameter, the results include only the zones for // the Regions where you have chosen the option to opt in. @@ -55445,29 +57427,41 @@ type DescribeAvailabilityZonesInput struct { // // * group-name - For Availability Zones, use the Region name. For Local // Zones, use the name of the group associated with the Local Zone (for example, - // us-west-2-lax-1). + // us-west-2-lax-1) For Wavelength Zones, use the name of the group associated + // with the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1). + // + // * message - The Zone message. // - // * message - The Availability Zone or Local Zone message. + // * opt-in-status - The opt-in status (opted-in, and not-opted-in | opt-in-not-required). // - // * opt-in-status - The opt in status (opted-in, and not-opted-in | opt-in-not-required). + // * parent-zoneID - The ID of the zone that handles some of the Local Zone + // and Wavelength Zone control plane operations, such as API calls. // - // * region-name - The name of the Region for the Availability Zone or Local - // Zone (for example, us-east-1). + // * parent-zoneName - The ID of the zone that handles some of the Local + // Zone and Wavelength Zone control plane operations, such as API calls. // - // * state - The state of the Availability Zone or Local Zone (available - // | information | impaired | unavailable). + // * region-name - The name of the Region for the Zone (for example, us-east-1). // - // * zone-id - The ID of the Availability Zone (for example, use1-az1) or - // the Local Zone (for example, use usw2-lax1-az1). + // * state - The state of the Availability Zone, the Local Zone, or the Wavelength + // Zone (available | information | impaired | unavailable). // - // * zone-name - The name of the Availability Zone (for example, us-east-1a) - // or the Local Zone (for example, use us-west-2-lax-1a). + // * zone-id - The ID of the Availability Zone (for example, use1-az1), the + // Local Zone (for example, usw2-lax1-az1), or the Wavelength Zone (for example, + // us-east-1-wl1-bos-wlz-1). + // + // * zone-type - The type of zone, for example, local-zone. + // + // * zone-name - The name of the Availability Zone (for example, us-east-1a), + // the Local Zone (for example, us-west-2-lax-1a), or the Wavelength Zone + // (for example, us-east-1-wl1-bos-wlz-1). + // + // * zone-type - The type of zone, for example, local-zone. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // The IDs of the Availability Zones and Local Zones. + // The IDs of the Availability Zones, Local Zones, and Wavelength Zones. ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"` - // The names of the Availability Zones and Local Zones. + // The names of the Availability Zones, Local Zones, and Wavelength Zones. ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"` } @@ -55514,7 +57508,7 @@ func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvai type DescribeAvailabilityZonesOutput struct { _ struct{} `type:"structure"` - // Information about the Availability Zones and Local Zones. + // Information about the Availability Zones, Local Zones, and Wavelength Zones. AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"` } @@ -55789,10 +57783,11 @@ type DescribeCapacityReservationsInput struct { // 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. + // nextToken value. This value can be between 5 and 500. If maxResults is given + // a larger value than 500, you receive an error. MaxResults *int64 `min:"1" type:"integer"` - // The token to retrieve the next page of results. + // The token to use to retrieve the next page of results. NextToken *string `type:"string"` } @@ -55882,6 +57877,134 @@ func (s *DescribeCapacityReservationsOutput) SetNextToken(v string) *DescribeCap return s } +type DescribeCarrierGatewaysInput struct { + _ struct{} `type:"structure"` + + // One or more carrier gateway IDs. + CarrierGatewayIds []*string `locationName:"CarrierGatewayId" type:"list"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // One or more filters. + // + // * carrier-gateway-id - The ID of the carrier gateway. + // + // * state - The state of the carrier gateway (pending | failed | available + // | deleting | deleted). + // + // * owner-id - The AWS account ID of the owner of the carrier gateway. + // + // * tag: - The key/value combination of a tag assigned to the resource. + // Use the tag key in the filter name and the tag value as the filter value. + // For example, to find all resources that have a tag with the key Owner + // and the value TeamA, specify tag:Owner for the filter name and TeamA for + // the filter value. + // + // * tag-key - The key of a tag assigned to the resource. Use this filter + // to find all resources assigned a tag with a specific key, regardless of + // the tag value. + // + // * vpc-id - The ID of the VPC associated with the carrier gateway. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeCarrierGatewaysInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCarrierGatewaysInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeCarrierGatewaysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeCarrierGatewaysInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCarrierGatewayIds sets the CarrierGatewayIds field's value. +func (s *DescribeCarrierGatewaysInput) SetCarrierGatewayIds(v []*string) *DescribeCarrierGatewaysInput { + s.CarrierGatewayIds = v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeCarrierGatewaysInput) SetDryRun(v bool) *DescribeCarrierGatewaysInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeCarrierGatewaysInput) SetFilters(v []*Filter) *DescribeCarrierGatewaysInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeCarrierGatewaysInput) SetMaxResults(v int64) *DescribeCarrierGatewaysInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeCarrierGatewaysInput) SetNextToken(v string) *DescribeCarrierGatewaysInput { + s.NextToken = &v + return s +} + +type DescribeCarrierGatewaysOutput struct { + _ struct{} `type:"structure"` + + // Information about the carrier gateway. + CarrierGateways []*CarrierGateway `locationName:"carrierGatewaySet" 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 DescribeCarrierGatewaysOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeCarrierGatewaysOutput) GoString() string { + return s.String() +} + +// SetCarrierGateways sets the CarrierGateways field's value. +func (s *DescribeCarrierGatewaysOutput) SetCarrierGateways(v []*CarrierGateway) *DescribeCarrierGatewaysOutput { + s.CarrierGateways = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeCarrierGatewaysOutput) SetNextToken(v string) *DescribeCarrierGatewaysOutput { + s.NextToken = &v + return s +} + type DescribeClassicLinkInstancesInput struct { _ struct{} `type:"structure"` @@ -57455,10 +59578,11 @@ type DescribeFastSnapshotRestoreSuccessItem struct { // The time at which fast snapshot restores entered the optimizing state. OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"` - // The alias of the snapshot owner. + // The AWS owner alias that enabled fast snapshot restores on the snapshot. + // This is intended for future use. OwnerAlias *string `locationName:"ownerAlias" type:"string"` - // The ID of the AWS account that owns the snapshot. + // The ID of the AWS account that enabled fast snapshot restores on the snapshot. OwnerId *string `locationName:"ownerId" type:"string"` // The ID of the snapshot. @@ -57566,7 +59690,8 @@ type DescribeFastSnapshotRestoresInput struct { // // * availability-zone: The Availability Zone of the snapshot. // - // * owner-id: The ID of the AWS account that owns the snapshot. + // * owner-id: The ID of the AWS account that enabled fast snapshot restore + // on the snapshot. // // * snapshot-id: The ID of the snapshot. // @@ -59296,11 +61421,13 @@ type DescribeImagesInput struct { // // * 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-alias - The owner alias, from an Amazon-maintained list (amazon + // | aws-marketplace). This is not the user-configured AWS account alias + // set using the IAM console. We recommend that you use the related parameter + // instead of this filter. // - // * owner-id - The AWS account ID of the image owner. + // * owner-id - The AWS account ID of the owner. We recommend that you use + // the related parameter instead of this filter. // // * platform - The platform. To only list Windows-based AMIs, use windows. // @@ -59342,10 +61469,10 @@ type DescribeImagesInput struct { // 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. + // Scopes the results to images with the specified owners. You can specify a + // combination of AWS account IDs, self, amazon, and aws-marketplace. If you + // omit this parameter, the results include all images for which you have launch + // permissions, regardless of ownership. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"` } @@ -60286,12 +62413,33 @@ type DescribeInstanceTypesInput struct { // * current-generation - Indicates whether this instance type is the latest // generation instance type of an instance family. (true | false) // + // * ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline + // bandwidth performance for an EBS-optimized instance type, in Mbps. + // + // * ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline + // throughput performance for an EBS-optimized instance type, in MBps. + // + // * ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output + // storage operations per second for an EBS-optimized instance type. + // + // * ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum + // bandwidth performance for an EBS-optimized instance type, in Mbps. + // + // * ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum + // throughput performance for an EBS-optimized instance type, in MBps. + // + // * ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output + // storage operations per second for an EBS-optimized instance type. + // // * ebs-info.ebs-optimized-support - Indicates whether the instance type // is EBS-optimized. (supported | unsupported | default) // // * ebs-info.encryption-support - Indicates whether EBS encryption is supported. // (supported | unsupported) // + // * ebs-info.nvme-support - Indicates whether non-volatile memory express + // (NVMe) is supported or required. (required | supported | unsupported) + // // * free-tier-eligible - Indicates whether the instance type is eligible // to use in the free tier. (true | false) // @@ -60319,6 +62467,9 @@ type DescribeInstanceTypesInput struct { // * network-info.ena-support - Indicates whether Elastic Network Adapter // (ENA) is supported or required. (required | supported | unsupported) // + // * network-info.efa-supported - Indicates whether the instance type supports + // Elastic Fabric Adapter (EFA). (true | false) + // // * network-info.ipv4-addresses-per-interface - The maximum number of private // IPv4 addresses per network interface. // @@ -61165,12 +63316,16 @@ type DescribeLaunchTemplateVersionsInput struct { // * 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. + // The ID of the launch template. To describe one or more versions of a specified + // launch template, you must specify either the launch template ID or the launch + // template name in the request. To describe all the latest or default launch + // template versions in your account, you must omit this parameter. 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. + // The name of the launch template. To describe one or more versions of a specified + // launch template, you must specify either the launch template ID or the launch + // template name in the request. To describe all the latest or default launch + // template versions in your account, you must omit this parameter. LaunchTemplateName *string `min:"3" type:"string"` // The maximum number of results to return in a single call. To retrieve the @@ -61187,7 +63342,18 @@ type DescribeLaunchTemplateVersionsInput struct { // The token to request the next page of results. NextToken *string `type:"string"` - // One or more versions of the launch template. + // One or more versions of the launch template. Valid values depend on whether + // you are describing a specified launch template (by ID or name) or all launch + // templates in your account. + // + // To describe one or more versions of a specified launch template, valid values + // are $Latest, $Default, and numbers. + // + // To describe all launch templates in your account that are defined as the + // latest version, the valid value is $Latest. To describe all launch templates + // in your account that are defined as the default version, the valid value + // is $Default. You can specify $Latest and $Default in the same call. You cannot + // specify numbers. Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list"` } @@ -61444,6 +63610,18 @@ type DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput struct DryRun *bool `type:"boolean"` // One or more filters. + // + // * local-gateway-id - The ID of a local gateway. + // + // * local-gateway-route-table-id - The ID of the local gateway route table. + // + // * local-gateway-route-table-virtual-interface-group-association-id - The + // ID of the association. + // + // * local-gateway-route-table-virtual-interface-group-id - The ID of the + // virtual interface group. + // + // * state - The state of the association. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The IDs of the associations. @@ -61553,6 +63731,16 @@ type DescribeLocalGatewayRouteTableVpcAssociationsInput struct { DryRun *bool `type:"boolean"` // One or more filters. + // + // * local-gateway-id - The ID of a local gateway. + // + // * local-gateway-route-table-id - The ID of the local gateway route table. + // + // * local-gateway-route-table-vpc-association-id - The ID of the association. + // + // * state - The state of the association. + // + // * vpc-id - The ID of the VPC. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The IDs of the associations. @@ -61662,6 +63850,14 @@ type DescribeLocalGatewayRouteTablesInput struct { DryRun *bool `type:"boolean"` // One or more filters. + // + // * local-gateway-id - The ID of a local gateway. + // + // * local-gateway-route-table-id - The ID of a local gateway route table. + // + // * outpost-arn - The Amazon Resource Name (ARN) of the Outpost. + // + // * state - The state of the local gateway route table. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The IDs of the local gateway route tables. @@ -61771,6 +63967,13 @@ type DescribeLocalGatewayVirtualInterfaceGroupsInput struct { DryRun *bool `type:"boolean"` // One or more filters. + // + // * local-gateway-id - The ID of a local gateway. + // + // * local-gateway-virtual-interface-id - The ID of the virtual interface. + // + // * local-gateway-virtual-interface-group-id - The ID of the virtual interface + // group. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The IDs of the virtual interface groups. @@ -61991,7 +64194,21 @@ type DescribeLocalGatewaysInput struct { // One or more filters. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` - // The IDs of the local gateways. + // One or more filters. + // + // * local-gateway-id - The ID of a local gateway. + // + // * local-gateway-route-table-id - The ID of the local gateway route table. + // + // * local-gateway-route-table-virtual-interface-group-association-id - The + // ID of the association. + // + // * local-gateway-route-table-virtual-interface-group-id - The ID of the + // virtual interface group. + // + // * outpost-arn - The Amazon Resource Name (ARN) of the Outpost. + // + // * state - The state of the association. LocalGatewayIds []*string `locationName:"LocalGatewayId" locationNameList:"item" type:"list"` // The maximum number of results to return with a single call. To retrieve the @@ -62088,6 +64305,121 @@ func (s *DescribeLocalGatewaysOutput) SetNextToken(v string) *DescribeLocalGatew return s } +type DescribeManagedPrefixListsInput 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. + // + // * owner-id - The ID of the prefix list owner. + // + // * prefix-list-id - The ID of the prefix list. + // + // * prefix-list-name - The name of the prefix list. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next page of results. + 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 DescribeManagedPrefixListsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeManagedPrefixListsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeManagedPrefixListsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeManagedPrefixListsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeManagedPrefixListsInput) SetDryRun(v bool) *DescribeManagedPrefixListsInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeManagedPrefixListsInput) SetFilters(v []*Filter) *DescribeManagedPrefixListsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeManagedPrefixListsInput) SetMaxResults(v int64) *DescribeManagedPrefixListsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeManagedPrefixListsInput) SetNextToken(v string) *DescribeManagedPrefixListsInput { + s.NextToken = &v + return s +} + +// SetPrefixListIds sets the PrefixListIds field's value. +func (s *DescribeManagedPrefixListsInput) SetPrefixListIds(v []*string) *DescribeManagedPrefixListsInput { + s.PrefixListIds = v + return s +} + +type DescribeManagedPrefixListsOutput 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 prefix lists. + PrefixLists []*ManagedPrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeManagedPrefixListsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeManagedPrefixListsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeManagedPrefixListsOutput) SetNextToken(v string) *DescribeManagedPrefixListsOutput { + s.NextToken = &v + return s +} + +// SetPrefixLists sets the PrefixLists field's value. +func (s *DescribeManagedPrefixListsOutput) SetPrefixLists(v []*ManagedPrefixList) *DescribeManagedPrefixListsOutput { + s.PrefixLists = v + return s +} + type DescribeMovingAddressesInput struct { _ struct{} `type:"structure"` @@ -62778,9 +65110,6 @@ type DescribeNetworkInterfacesInput struct { // * 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). // @@ -64070,8 +66399,6 @@ type DescribeRouteTablesInput struct { // to find all resources assigned a tag with a specific key, regardless of // the tag value. // - // * transit-gateway-id - The ID of a transit gateway. - // // * vpc-id - The ID of the VPC for the route table. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -64560,8 +66887,8 @@ type DescribeSecurityGroupsInput struct { // * 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.prefix-list-id - The ID of a prefix list 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). @@ -64591,8 +66918,8 @@ type DescribeSecurityGroupsInput struct { // * 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.prefix-list-id - The ID of a prefix list 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). @@ -64855,12 +67182,12 @@ type DescribeSnapshotsInput struct { // // * encrypted - Indicates whether the snapshot is encrypted (true | false) // - // * owner-alias - Value from an Amazon-maintained list (amazon | self | - // all | 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-alias - The owner alias, from an Amazon-maintained list (amazon). + // This is not the user-configured AWS account alias set using the IAM console. + // We recommend that you use the related parameter instead of this filter. // - // * owner-id - The ID of the AWS account that owns the snapshot. + // * owner-id - The AWS account ID of the owner. We recommend that you use + // the related parameter instead of this filter. // // * progress - The progress of the snapshot, as a percentage (for example, // 80%). @@ -64904,7 +67231,8 @@ type DescribeSnapshotsInput struct { // to return. NextToken *string `type:"string"` - // Describes the snapshots owned by these owners. + // Scopes the results to snapshots with the specified owners. You can specify + // a combination of AWS account IDs, self, and amazon. OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"` // The IDs of the AWS accounts that can create volumes from the snapshot. @@ -65515,7 +67843,7 @@ type DescribeSpotInstanceRequestsInput struct { // * state - The state of the Spot Instance request (open | active | closed // | cancelled | failed). Spot request status information can help you track // your Amazon EC2 Spot Instance requests. For more information, see Spot - // Request Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) + // request status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) // in the Amazon EC2 User Guide for Linux Instances. // // * status-code - The short code describing the most recent evaluation of @@ -67643,9 +69971,34 @@ type DescribeVolumesModificationsInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // The filters. Supported filters: volume-id | modification-state | target-size - // | target-iops | target-volume-type | original-size | original-iops | original-volume-type - // | start-time | originalMultiAttachEnabled | targetMultiAttachEnabled. + // The filters. + // + // * modification-state - The current modification state (modifying | optimizing + // | completed | failed). + // + // * original-iops - The original IOPS rate of the volume. + // + // * original-size - The original size of the volume, in GiB. + // + // * original-volume-type - The original volume type of the volume (standard + // | io1 | gp2 | sc1 | st1). + // + // * originalMultiAttachEnabled - Indicates whether Multi-Attach support + // was enabled (true | false). + // + // * start-time - The modification start time. + // + // * target-iops - The target IOPS rate of the volume. + // + // * target-size - The target size of the volume, in GiB. + // + // * target-volume-type - The target volume type of the volume (standard + // | io1 | gp2 | sc1 | st1). + // + // * targetMultiAttachEnabled - Indicates whether Multi-Attach support is + // to be enabled (true | false). + // + // * volume-id - The ID of the volume. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` // The maximum number of results (up to a limit of 500) to be returned in a @@ -67655,7 +70008,7 @@ type DescribeVolumesModificationsInput struct { // The nextToken value returned by a previous paginated request. NextToken *string `type:"string"` - // The IDs of the volumes for which in-progress modifications will be described. + // The IDs of the volumes. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"` } @@ -69966,10 +72319,11 @@ type DisableFastSnapshotRestoreSuccessItem struct { // The time at which fast snapshot restores entered the optimizing state. OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"` - // The alias of the snapshot owner. + // The AWS owner alias that enabled fast snapshot restores on the snapshot. + // This is intended for future use. OwnerAlias *string `locationName:"ownerAlias" type:"string"` - // The ID of the AWS account that owns the snapshot. + // The ID of the AWS account that enabled fast snapshot restores on the snapshot. OwnerId *string `locationName:"ownerId" type:"string"` // The ID of the snapshot. @@ -71382,7 +73736,7 @@ type EbsBlockDevice struct { _ struct{} `type:"structure"` // Indicates whether the EBS volume is deleted on instance termination. For - // more information, see Preserving Amazon EBS Volumes on Instance Termination + // more information, see Preserving Amazon EBS volumes on instance termination // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination) // in the Amazon Elastic Compute Cloud User Guide. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"` @@ -71397,7 +73751,7 @@ type EbsBlockDevice struct { // In no case can you remove encryption from an encrypted volume. // // Encrypted volumes can only be attached to instances that support Amazon EBS - // encryption. For more information, see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances). + // encryption. For more information, see Supported instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances). // // This parameter is not returned by . Encrypted *bool `locationName:"encrypted" type:"boolean"` @@ -71406,10 +73760,10 @@ type EbsBlockDevice struct { // For io1 volumes, this represents the number of IOPS that are provisioned // for the volume. For gp2 volumes, this represents the baseline performance // of the volume and the rate at which the volume accumulates I/O credits for - // bursting. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) + // bursting. For more information, see Amazon EBS volume types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) // in the Amazon Elastic Compute Cloud User Guide. // - // Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS + // Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000 IOPS // for io1 volumes in most Regions. Maximum io1 IOPS of 64,000 is guaranteed // only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). // Other instance families guarantee performance up to 32,000 IOPS. For more @@ -71508,6 +73862,9 @@ func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice { type EbsInfo struct { _ struct{} `type:"structure"` + // Describes the optimized EBS performance for the instance type. + EbsOptimizedInfo *EbsOptimizedInfo `locationName:"ebsOptimizedInfo" type:"structure"` + // Indicates that the instance type is Amazon EBS-optimized. For more information, // see Amazon EBS-Optimized Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) // in Amazon EC2 User Guide for Linux Instances. @@ -71515,6 +73872,9 @@ type EbsInfo struct { // Indicates whether Amazon EBS encryption is supported. EncryptionSupport *string `locationName:"encryptionSupport" type:"string" enum:"EbsEncryptionSupport"` + + // Indicates whether non-volatile memory express (NVMe) is supported. + NvmeSupport *string `locationName:"nvmeSupport" type:"string" enum:"EbsNvmeSupport"` } // String returns the string representation @@ -71527,6 +73887,12 @@ func (s EbsInfo) GoString() string { return s.String() } +// SetEbsOptimizedInfo sets the EbsOptimizedInfo field's value. +func (s *EbsInfo) SetEbsOptimizedInfo(v *EbsOptimizedInfo) *EbsInfo { + s.EbsOptimizedInfo = v + return s +} + // SetEbsOptimizedSupport sets the EbsOptimizedSupport field's value. func (s *EbsInfo) SetEbsOptimizedSupport(v string) *EbsInfo { s.EbsOptimizedSupport = &v @@ -71539,6 +73905,12 @@ func (s *EbsInfo) SetEncryptionSupport(v string) *EbsInfo { return s } +// SetNvmeSupport sets the NvmeSupport field's value. +func (s *EbsInfo) SetNvmeSupport(v string) *EbsInfo { + s.NvmeSupport = &v + return s +} + // Describes a parameter used to set up an EBS volume in a block device mapping. type EbsInstanceBlockDevice struct { _ struct{} `type:"structure"` @@ -71624,6 +73996,81 @@ func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstance return s } +// Describes the optimized EBS performance for supported instance types. +type EbsOptimizedInfo struct { + _ struct{} `type:"structure"` + + // The baseline bandwidth performance for an EBS-optimized instance type, in + // Mbps. + BaselineBandwidthInMbps *int64 `locationName:"baselineBandwidthInMbps" type:"integer"` + + // The baseline input/output storage operations per seconds for an EBS-optimized + // instance type. + BaselineIops *int64 `locationName:"baselineIops" type:"integer"` + + // The baseline throughput performance for an EBS-optimized instance type, in + // MBps. + BaselineThroughputInMBps *float64 `locationName:"baselineThroughputInMBps" type:"double"` + + // The maximum bandwidth performance for an EBS-optimized instance type, in + // Mbps. + MaximumBandwidthInMbps *int64 `locationName:"maximumBandwidthInMbps" type:"integer"` + + // The maximum input/output storage operations per second for an EBS-optimized + // instance type. + MaximumIops *int64 `locationName:"maximumIops" type:"integer"` + + // The maximum throughput performance for an EBS-optimized instance type, in + // MBps. + MaximumThroughputInMBps *float64 `locationName:"maximumThroughputInMBps" type:"double"` +} + +// String returns the string representation +func (s EbsOptimizedInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EbsOptimizedInfo) GoString() string { + return s.String() +} + +// SetBaselineBandwidthInMbps sets the BaselineBandwidthInMbps field's value. +func (s *EbsOptimizedInfo) SetBaselineBandwidthInMbps(v int64) *EbsOptimizedInfo { + s.BaselineBandwidthInMbps = &v + return s +} + +// SetBaselineIops sets the BaselineIops field's value. +func (s *EbsOptimizedInfo) SetBaselineIops(v int64) *EbsOptimizedInfo { + s.BaselineIops = &v + return s +} + +// SetBaselineThroughputInMBps sets the BaselineThroughputInMBps field's value. +func (s *EbsOptimizedInfo) SetBaselineThroughputInMBps(v float64) *EbsOptimizedInfo { + s.BaselineThroughputInMBps = &v + return s +} + +// SetMaximumBandwidthInMbps sets the MaximumBandwidthInMbps field's value. +func (s *EbsOptimizedInfo) SetMaximumBandwidthInMbps(v int64) *EbsOptimizedInfo { + s.MaximumBandwidthInMbps = &v + return s +} + +// SetMaximumIops sets the MaximumIops field's value. +func (s *EbsOptimizedInfo) SetMaximumIops(v int64) *EbsOptimizedInfo { + s.MaximumIops = &v + return s +} + +// SetMaximumThroughputInMBps sets the MaximumThroughputInMBps field's value. +func (s *EbsOptimizedInfo) SetMaximumThroughputInMBps(v float64) *EbsOptimizedInfo { + s.MaximumThroughputInMBps = &v + return s +} + // Describes an egress-only internet gateway. type EgressOnlyInternetGateway struct { _ struct{} `type:"structure"` @@ -71896,7 +74343,7 @@ type ElasticInferenceAccelerator struct { Count *int64 `min:"1" type:"integer"` // The type of elastic inference accelerator. The possible values are eia1.medium, - // eia1.large, and eia1.xlarge. + // eia1.large, eia1.xlarge, eia2.medium, eia2.large, and eia2.xlarge. // // Type is a required field Type *string `type:"string" required:"true"` @@ -72164,10 +74611,11 @@ type EnableFastSnapshotRestoreSuccessItem struct { // The time at which fast snapshot restores entered the optimizing state. OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"` - // The alias of the snapshot owner. + // The AWS owner alias that enabled fast snapshot restores on the snapshot. + // This is intended for future use. OwnerAlias *string `locationName:"ownerAlias" type:"string"` - // The ID of the AWS account that owns the snapshot. + // The ID of the AWS account that enabled fast snapshot restores on the snapshot. OwnerId *string `locationName:"ownerId" type:"string"` // The ID of the snapshot. @@ -72979,7 +75427,7 @@ type ExportImageInput struct { // Token to enable idempotency for export image requests. ClientToken *string `type:"string" idempotencyToken:"true"` - // A description of the image being exported. The maximum length is 255 bytes. + // A description of the image being exported. The maximum length is 255 characters. Description *string `type:"string"` // The disk image format. @@ -72999,15 +75447,18 @@ type ExportImageInput struct { ImageId *string `type:"string" required:"true"` // The name of the role that grants VM Import/Export permission to export images - // to your S3 bucket. If this parameter is not specified, the default role is - // named 'vmimport'. + // to your Amazon S3 bucket. If this parameter is not specified, the default + // role is named 'vmimport'. RoleName *string `type:"string"` - // Information about the destination S3 bucket. The bucket must exist and grant - // WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com. + // Information about the destination Amazon S3 bucket. The bucket must exist + // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com. // // S3ExportLocation is a required field S3ExportLocation *ExportTaskS3LocationRequest `type:"structure" required:"true"` + + // The tags to apply to the image being exported. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` } // String returns the string representation @@ -73086,6 +75537,12 @@ func (s *ExportImageInput) SetS3ExportLocation(v *ExportTaskS3LocationRequest) * return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *ExportImageInput) SetTagSpecifications(v []*TagSpecification) *ExportImageInput { + s.TagSpecifications = v + return s +} + type ExportImageOutput struct { _ struct{} `type:"structure"` @@ -73105,10 +75562,10 @@ type ExportImageOutput struct { Progress *string `locationName:"progress" type:"string"` // The name of the role that grants VM Import/Export permission to export images - // to your S3 bucket. + // to your Amazon S3 bucket. RoleName *string `locationName:"roleName" type:"string"` - // Information about the destination S3 bucket. + // Information about the destination Amazon S3 bucket. S3ExportLocation *ExportTaskS3Location `locationName:"s3ExportLocation" type:"structure"` // The status of the export image task. The possible values are active, completed, @@ -73117,6 +75574,9 @@ type ExportImageOutput struct { // The status message for the export image task. StatusMessage *string `locationName:"statusMessage" type:"string"` + + // Any tags assigned to the image being exported. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` } // String returns the string representation @@ -73183,6 +75643,12 @@ func (s *ExportImageOutput) SetStatusMessage(v string) *ExportImageOutput { return s } +// SetTags sets the Tags field's value. +func (s *ExportImageOutput) SetTags(v []*Tag) *ExportImageOutput { + s.Tags = v + return s +} + // Describes an export image task. type ExportImageTask struct { _ struct{} `type:"structure"` @@ -73199,7 +75665,7 @@ type ExportImageTask struct { // The percent complete of the export image task. Progress *string `locationName:"progress" type:"string"` - // Information about the destination S3 bucket. + // Information about the destination Amazon S3 bucket. S3ExportLocation *ExportTaskS3Location `locationName:"s3ExportLocation" type:"structure"` // The status of the export image task. The possible values are active, completed, @@ -73208,6 +75674,9 @@ type ExportImageTask struct { // The status message for the export image task. StatusMessage *string `locationName:"statusMessage" type:"string"` + + // Any tags assigned to the image being exported. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` } // String returns the string representation @@ -73262,6 +75731,12 @@ func (s *ExportImageTask) SetStatusMessage(v string) *ExportImageTask { return s } +// SetTags sets the Tags field's value. +func (s *ExportImageTask) SetTags(v []*Tag) *ExportImageTask { + s.Tags = v + return s +} + // Describes an instance export task. type ExportTask struct { _ struct{} `type:"structure"` @@ -73344,7 +75819,7 @@ func (s *ExportTask) SetTags(v []*Tag) *ExportTask { type ExportTaskS3Location struct { _ struct{} `type:"structure"` - // The destination S3 bucket. + // The destination Amazon S3 bucket. S3Bucket *string `locationName:"s3Bucket" type:"string"` // The prefix (logical hierarchy) in the bucket. @@ -73377,7 +75852,7 @@ func (s *ExportTaskS3Location) SetS3Prefix(v string) *ExportTaskS3Location { type ExportTaskS3LocationRequest struct { _ struct{} `type:"structure"` - // The destination S3 bucket. + // The destination Amazon S3 bucket. // // S3Bucket is a required field S3Bucket *string `type:"string" required:"true"` @@ -73432,8 +75907,8 @@ type ExportToS3Task struct { // 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. + // The Amazon 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. @@ -73485,12 +75960,12 @@ type ExportToS3TaskSpecification struct { // 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. + // The Amazon 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. + // The image is written to a single object in the Amazon S3 bucket at the S3 + // key s3prefix + exportTaskId + '.' + diskImageFormat. S3Prefix *string `locationName:"s3Prefix" type:"string"` } @@ -73683,6 +76158,54 @@ func (s *FailedQueuedPurchaseDeletion) SetReservedInstancesId(v string) *FailedQ return s } +// Describes the IAM SAML identity provider used for federated authentication. +type FederatedAuthentication struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the IAM SAML identity provider. + SamlProviderArn *string `locationName:"samlProviderArn" type:"string"` +} + +// String returns the string representation +func (s FederatedAuthentication) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FederatedAuthentication) GoString() string { + return s.String() +} + +// SetSamlProviderArn sets the SamlProviderArn field's value. +func (s *FederatedAuthentication) SetSamlProviderArn(v string) *FederatedAuthentication { + s.SamlProviderArn = &v + return s +} + +// The IAM SAML identity provider used for federated authentication. +type FederatedAuthenticationRequest struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the IAM SAML identity provider. + SAMLProviderArn *string `type:"string"` +} + +// String returns the string representation +func (s FederatedAuthenticationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FederatedAuthenticationRequest) GoString() string { + return s.String() +} + +// SetSAMLProviderArn sets the SAMLProviderArn field's value. +func (s *FederatedAuthenticationRequest) SetSAMLProviderArn(v string) *FederatedAuthenticationRequest { + s.SAMLProviderArn = &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 @@ -74214,19 +76737,30 @@ func (s *FleetLaunchTemplateOverridesRequest) SetWeightedCapacity(v float64) *Fl return s } -// Describes a launch template. +// Describes the Amazon EC2 launch template and the launch template version +// that can be used by a Spot Fleet request to configure Amazon EC2 instances. +// For information about launch templates, see Launching an instance from a +// launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) +// in the Amazon EC2 User Guide for Linux Instances. type FleetLaunchTemplateSpecification struct { _ struct{} `type:"structure"` - // The ID of the launch template. You must specify either a template ID or a - // template name. + // The ID of the launch template. If you specify the template ID, you can't + // specify the 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. + // The name of the launch template. If you specify the template name, you can't + // specify the template ID. LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"` - // The version number of the launch template. You must specify a version number. + // The launch template version number, $Latest, or $Default. You must specify + // a value, otherwise the request fails. + // + // If the value is $Latest, Amazon EC2 uses the latest version of the launch + // template. + // + // If the value is $Default, Amazon EC2 uses the default version of the launch + // template. Version *string `locationName:"version" type:"string"` } @@ -74271,19 +76805,30 @@ func (s *FleetLaunchTemplateSpecification) SetVersion(v string) *FleetLaunchTemp return s } -// The launch template to use. You must specify either the launch template ID -// or launch template name in the request. +// Describes the Amazon EC2 launch template and the launch template version +// that can be used by an EC2 Fleet to configure Amazon EC2 instances. For information +// about launch templates, see Launching an instance from a launch template +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) +// in the Amazon Elastic Compute Cloud User Guide. type FleetLaunchTemplateSpecificationRequest struct { _ struct{} `type:"structure"` - // The ID of the launch template. + // The ID of the launch template. If you specify the template ID, you can't + // specify the template name. LaunchTemplateId *string `type:"string"` - // The name of the launch template. + // The name of the launch template. If you specify the template name, you can't + // specify the template ID. LaunchTemplateName *string `min:"3" type:"string"` - // The version number of the launch template. Note: This is a required parameter - // and will be updated soon. + // The launch template version number, $Latest, or $Default. You must specify + // a value, otherwise the request fails. + // + // If the value is $Latest, Amazon EC2 uses the latest version of the launch + // template. + // + // If the value is $Default, Amazon EC2 uses the default version of the launch + // template. Version *string `type:"string"` } @@ -74968,12 +77513,13 @@ type GetCapacityReservationUsageInput struct { // 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. + // nextToken value. This value can be between 5 and 500. If maxResults is given + // a larger value than 500, you receive an error. // // Valid range: Minimum value of 1. Maximum value of 1000. MaxResults *int64 `min:"1" type:"integer"` - // The token to retrieve the next page of results. + // The token to use to retrieve the next page of results. NextToken *string `type:"string"` } @@ -75620,6 +78166,114 @@ func (s *GetEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *Get return s } +type GetGroupsForCapacityReservationInput struct { + _ struct{} `type:"structure"` + + // The ID of the Capacity Reservation. + // + // CapacityReservationId is a required field + CapacityReservationId *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 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 receive an error. + MaxResults *int64 `min:"1" type:"integer"` + + // The token to use to retrieve the next page of results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetGroupsForCapacityReservationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetGroupsForCapacityReservationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetGroupsForCapacityReservationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetGroupsForCapacityReservationInput"} + if s.CapacityReservationId == nil { + invalidParams.Add(request.NewErrParamRequired("CapacityReservationId")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCapacityReservationId sets the CapacityReservationId field's value. +func (s *GetGroupsForCapacityReservationInput) SetCapacityReservationId(v string) *GetGroupsForCapacityReservationInput { + s.CapacityReservationId = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *GetGroupsForCapacityReservationInput) SetDryRun(v bool) *GetGroupsForCapacityReservationInput { + s.DryRun = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetGroupsForCapacityReservationInput) SetMaxResults(v int64) *GetGroupsForCapacityReservationInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetGroupsForCapacityReservationInput) SetNextToken(v string) *GetGroupsForCapacityReservationInput { + s.NextToken = &v + return s +} + +type GetGroupsForCapacityReservationOutput struct { + _ struct{} `type:"structure"` + + // Information about the resource groups to which the Capacity Reservation has + // been added. + CapacityReservationGroups []*CapacityReservationGroup `locationName:"capacityReservationGroupSet" 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 GetGroupsForCapacityReservationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetGroupsForCapacityReservationOutput) GoString() string { + return s.String() +} + +// SetCapacityReservationGroups sets the CapacityReservationGroups field's value. +func (s *GetGroupsForCapacityReservationOutput) SetCapacityReservationGroups(v []*CapacityReservationGroup) *GetGroupsForCapacityReservationOutput { + s.CapacityReservationGroups = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetGroupsForCapacityReservationOutput) SetNextToken(v string) *GetGroupsForCapacityReservationOutput { + s.NextToken = &v + return s +} + type GetHostReservationPurchasePreviewInput struct { _ struct{} `type:"structure"` @@ -75797,6 +78451,226 @@ func (s *GetLaunchTemplateDataOutput) SetLaunchTemplateData(v *ResponseLaunchTem return s } +type GetManagedPrefixListAssociationsInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` + + // The ID of the prefix list. + // + // PrefixListId is a required field + PrefixListId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetManagedPrefixListAssociationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetManagedPrefixListAssociationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetManagedPrefixListAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetManagedPrefixListAssociationsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + if s.PrefixListId == nil { + invalidParams.Add(request.NewErrParamRequired("PrefixListId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *GetManagedPrefixListAssociationsInput) SetDryRun(v bool) *GetManagedPrefixListAssociationsInput { + s.DryRun = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetManagedPrefixListAssociationsInput) SetMaxResults(v int64) *GetManagedPrefixListAssociationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetManagedPrefixListAssociationsInput) SetNextToken(v string) *GetManagedPrefixListAssociationsInput { + s.NextToken = &v + return s +} + +// SetPrefixListId sets the PrefixListId field's value. +func (s *GetManagedPrefixListAssociationsInput) SetPrefixListId(v string) *GetManagedPrefixListAssociationsInput { + s.PrefixListId = &v + return s +} + +type GetManagedPrefixListAssociationsOutput 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 associations. + PrefixListAssociations []*PrefixListAssociation `locationName:"prefixListAssociationSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s GetManagedPrefixListAssociationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetManagedPrefixListAssociationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetManagedPrefixListAssociationsOutput) SetNextToken(v string) *GetManagedPrefixListAssociationsOutput { + s.NextToken = &v + return s +} + +// SetPrefixListAssociations sets the PrefixListAssociations field's value. +func (s *GetManagedPrefixListAssociationsOutput) SetPrefixListAssociations(v []*PrefixListAssociation) *GetManagedPrefixListAssociationsOutput { + s.PrefixListAssociations = v + return s +} + +type GetManagedPrefixListEntriesInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` + + // The ID of the prefix list. + // + // PrefixListId is a required field + PrefixListId *string `type:"string" required:"true"` + + // The version of the prefix list for which to return the entries. The default + // is the current version. + TargetVersion *int64 `type:"long"` +} + +// String returns the string representation +func (s GetManagedPrefixListEntriesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetManagedPrefixListEntriesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetManagedPrefixListEntriesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetManagedPrefixListEntriesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.PrefixListId == nil { + invalidParams.Add(request.NewErrParamRequired("PrefixListId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *GetManagedPrefixListEntriesInput) SetDryRun(v bool) *GetManagedPrefixListEntriesInput { + s.DryRun = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetManagedPrefixListEntriesInput) SetMaxResults(v int64) *GetManagedPrefixListEntriesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetManagedPrefixListEntriesInput) SetNextToken(v string) *GetManagedPrefixListEntriesInput { + s.NextToken = &v + return s +} + +// SetPrefixListId sets the PrefixListId field's value. +func (s *GetManagedPrefixListEntriesInput) SetPrefixListId(v string) *GetManagedPrefixListEntriesInput { + s.PrefixListId = &v + return s +} + +// SetTargetVersion sets the TargetVersion field's value. +func (s *GetManagedPrefixListEntriesInput) SetTargetVersion(v int64) *GetManagedPrefixListEntriesInput { + s.TargetVersion = &v + return s +} + +type GetManagedPrefixListEntriesOutput struct { + _ struct{} `type:"structure"` + + // Information about the prefix list entries. + Entries []*PrefixListEntry `locationName:"entrySet" 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 GetManagedPrefixListEntriesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetManagedPrefixListEntriesOutput) GoString() string { + return s.String() +} + +// SetEntries sets the Entries field's value. +func (s *GetManagedPrefixListEntriesOutput) SetEntries(v []*PrefixListEntry) *GetManagedPrefixListEntriesOutput { + s.Entries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetManagedPrefixListEntriesOutput) SetNextToken(v string) *GetManagedPrefixListEntriesOutput { + s.NextToken = &v + return s +} + type GetPasswordDataInput struct { _ struct{} `type:"structure"` @@ -76676,7 +79550,7 @@ func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier { // Indicates whether your instance is configured for hibernation. This parameter // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). -// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) +// For more information, see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. type HibernationOptions struct { _ struct{} `type:"structure"` @@ -76704,7 +79578,7 @@ func (s *HibernationOptions) SetConfigured(v bool) *HibernationOptions { // Indicates whether your instance is configured for hibernation. This parameter // is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites). -// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) +// For more information, see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. type HibernationOptionsRequest struct { _ struct{} `type:"structure"` @@ -77854,7 +80728,7 @@ type ImageDiskContainer struct { // The format of the disk image being imported. // - // Valid values: VHD | VMDK | OVA + // Valid values: OVA | VHD | VHDX |VMDK Format *string `type:"string"` // The ID of the EBS snapshot to be used for importing the snapshot. @@ -78096,6 +80970,9 @@ type ImportImageInput struct { // The name of the role to use when not using the default role, 'vmimport'. RoleName *string `type:"string"` + + // The tags to apply to the image being imported. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` } // String returns the string representation @@ -78186,6 +81063,12 @@ func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput { return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *ImportImageInput) SetTagSpecifications(v []*TagSpecification) *ImportImageInput { + s.TagSpecifications = v + return s +} + // The request information of license configurations. type ImportImageLicenseConfigurationRequest struct { _ struct{} `type:"structure"` @@ -78243,7 +81126,7 @@ type ImportImageOutput struct { // A description of the import task. Description *string `locationName:"description" type:"string"` - // Indicates whether the AMI is encypted. + // Indicates whether the AMI is encrypted. Encrypted *bool `locationName:"encrypted" type:"boolean"` // The target hypervisor of the import task. @@ -78279,6 +81162,9 @@ type ImportImageOutput struct { // A detailed status message of the import task. StatusMessage *string `locationName:"statusMessage" type:"string"` + + // Any tags assigned to the image being imported. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` } // String returns the string representation @@ -78375,6 +81261,12 @@ func (s *ImportImageOutput) SetStatusMessage(v string) *ImportImageOutput { return s } +// SetTags sets the Tags field's value. +func (s *ImportImageOutput) SetTags(v []*Tag) *ImportImageOutput { + s.Tags = v + return s +} + // Describes an import image task. type ImportImageTask struct { _ struct{} `type:"structure"` @@ -79075,6 +81967,9 @@ type ImportSnapshotInput struct { // The name of the role to use when not using the default role, 'vmimport'. RoleName *string `type:"string"` + + // The tags to apply to the snapshot being imported. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` } // String returns the string representation @@ -79135,6 +82030,12 @@ func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput { return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *ImportSnapshotInput) SetTagSpecifications(v []*TagSpecification) *ImportSnapshotInput { + s.TagSpecifications = v + return s +} + type ImportSnapshotOutput struct { _ struct{} `type:"structure"` @@ -79146,6 +82047,9 @@ type ImportSnapshotOutput struct { // Information about the import snapshot task. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"` + + // Any tags assigned to the snapshot being imported. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` } // String returns the string representation @@ -79176,6 +82080,12 @@ func (s *ImportSnapshotOutput) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *Imp return s } +// SetTags sets the Tags field's value. +func (s *ImportSnapshotOutput) SetTags(v []*Tag) *ImportSnapshotOutput { + s.Tags = v + return s +} + // Describes an import snapshot task. type ImportSnapshotTask struct { _ struct{} `type:"structure"` @@ -79589,7 +82499,11 @@ type Instance struct { // 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. + // The public IPv4 address, or the Carrier IP address assigned to the instance, + // if applicable. + // + // A Carrier IP address only applies to an instance launched in a subnet associated + // with a Wavelength Zone. PublicIpAddress *string `locationName:"ipAddress" type:"string"` // The RAM disk associated with this instance, if applicable. @@ -80654,6 +83568,9 @@ func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface type InstanceNetworkInterfaceAssociation struct { _ struct{} `type:"structure"` + // The carrier IP address associated with the network interface. + CarrierIp *string `locationName:"carrierIp" type:"string"` + // The ID of the owner of the Elastic IP address. IpOwnerId *string `locationName:"ipOwnerId" type:"string"` @@ -80674,6 +83591,12 @@ func (s InstanceNetworkInterfaceAssociation) GoString() string { return s.String() } +// SetCarrierIp sets the CarrierIp field's value. +func (s *InstanceNetworkInterfaceAssociation) SetCarrierIp(v string) *InstanceNetworkInterfaceAssociation { + s.CarrierIp = &v + return s +} + // SetIpOwnerId sets the IpOwnerId field's value. func (s *InstanceNetworkInterfaceAssociation) SetIpOwnerId(v string) *InstanceNetworkInterfaceAssociation { s.IpOwnerId = &v @@ -80756,6 +83679,13 @@ func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetwor type InstanceNetworkInterfaceSpecification struct { _ struct{} `type:"structure"` + // Indicates whether to assign a carrier IP address to the network interface. + // + // You can only assign a carrier IP address to a network interface that is in + // a subnet in a Wavelength Zone. For more information about carrier IP addresses, + // see Carrier IP addresses in the AWS Wavelength Developer Guide. + AssociateCarrierIpAddress *bool `type:"boolean"` + // 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 @@ -80846,6 +83776,12 @@ func (s InstanceNetworkInterfaceSpecification) GoString() string { return s.String() } +// SetAssociateCarrierIpAddress sets the AssociateCarrierIpAddress field's value. +func (s *InstanceNetworkInterfaceSpecification) SetAssociateCarrierIpAddress(v bool) *InstanceNetworkInterfaceSpecification { + s.AssociateCarrierIpAddress = &v + return s +} + // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value. func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *InstanceNetworkInterfaceSpecification { s.AssociatePublicIpAddress = &v @@ -81476,6 +84412,9 @@ type InstanceTypeInfo struct { // Indicates whether the instance type is offered for spot or On-Demand. SupportedUsageClasses []*string `locationName:"supportedUsageClasses" locationNameList:"item" type:"list"` + // The supported virtualization types. + SupportedVirtualizationTypes []*string `locationName:"supportedVirtualizationTypes" locationNameList:"item" type:"list"` + // Describes the vCPU configurations for the instance type. VCpuInfo *VCpuInfo `locationName:"vCpuInfo" type:"structure"` } @@ -81616,6 +84555,12 @@ func (s *InstanceTypeInfo) SetSupportedUsageClasses(v []*string) *InstanceTypeIn return s } +// SetSupportedVirtualizationTypes sets the SupportedVirtualizationTypes field's value. +func (s *InstanceTypeInfo) SetSupportedVirtualizationTypes(v []*string) *InstanceTypeInfo { + s.SupportedVirtualizationTypes = v + return s +} + // SetVCpuInfo sets the VCpuInfo field's value. func (s *InstanceTypeInfo) SetVCpuInfo(v *VCpuInfo) *InstanceTypeInfo { s.VCpuInfo = v @@ -81812,9 +84757,7 @@ type IpPermission struct { // [VPC only] The IPv6 ranges. Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"` - // [VPC only] The prefix list IDs for an AWS service. With outbound rules, this - // is the AWS service to access through a VPC endpoint from instances associated - // with the security group. + // [VPC only] The prefix list IDs. PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"` // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. @@ -82601,7 +85544,7 @@ func (s *LaunchTemplateBlockDeviceMappingRequest) SetVirtualName(v string) *Laun // to configure the instance to run in On-Demand capacity or to run in any open // Capacity Reservation that has matching attributes (instance type, platform, // Availability Zone). Use the CapacityReservationTarget parameter to explicitly -// target a specific Capacity Reservation. +// target a specific Capacity Reservation or a Capacity Reservation group. type LaunchTemplateCapacityReservationSpecificationRequest struct { _ struct{} `type:"structure"` @@ -82615,7 +85558,8 @@ type LaunchTemplateCapacityReservationSpecificationRequest struct { // one is available. The instance runs in On-Demand capacity. CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"` - // Information about the target Capacity Reservation. + // Information about the target Capacity Reservation or Capacity Reservation + // group. CapacityReservationTarget *CapacityReservationTarget `type:"structure"` } @@ -82655,7 +85599,8 @@ type LaunchTemplateCapacityReservationSpecificationResponse struct { // one is available. The instance runs in On-Demand capacity. CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"` - // Information about the target Capacity Reservation. + // Information about the target Capacity Reservation or Capacity Reservation + // group. CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"` } @@ -83391,6 +86336,15 @@ func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetHttpTokens(v string) * type LaunchTemplateInstanceNetworkInterfaceSpecification struct { _ struct{} `type:"structure"` + // Indicates whether to associate a Carrier IP address with eth0 for a new network + // interface. + // + // Use this option when you launch an instance in a Wavelength Zone and want + // to associate a Carrier IP address with the network interface. For more information + // about Carrier IP addresses, see Carrier IP addresses (https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip) + // in the AWS Wavelength Developer Guide. + AssociateCarrierIpAddress *bool `locationName:"associateCarrierIpAddress" type:"boolean"` + // Indicates whether to associate a public IPv4 address with eth0 for a new // network interface. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"` @@ -83442,6 +86396,12 @@ func (s LaunchTemplateInstanceNetworkInterfaceSpecification) GoString() string { return s.String() } +// SetAssociateCarrierIpAddress sets the AssociateCarrierIpAddress field's value. +func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetAssociateCarrierIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification { + s.AssociateCarrierIpAddress = &v + return s +} + // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value. func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification { s.AssociatePublicIpAddress = &v @@ -83524,6 +86484,14 @@ func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSubnetId(v stri type LaunchTemplateInstanceNetworkInterfaceSpecificationRequest struct { _ struct{} `type:"structure"` + // Associates a Carrier IP address with eth0 for a new network interface. + // + // Use this option when you launch an instance in a Wavelength Zone and want + // to associate a Carrier IP address with the network interface. For more information + // about Carrier IP addresses, see Carrier IP addresses (https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip) + // in the AWS Wavelength Developer Guide. + AssociateCarrierIpAddress *bool `type:"boolean"` + // Associates a public IPv4 address with eth0 for a new network interface. AssociatePublicIpAddress *bool `type:"boolean"` @@ -83583,6 +86551,12 @@ func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) GoString() s return s.String() } +// SetAssociateCarrierIpAddress sets the AssociateCarrierIpAddress field's value. +func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetAssociateCarrierIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { + s.AssociateCarrierIpAddress = &v + return s +} + // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value. func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { s.AssociatePublicIpAddress = &v @@ -85003,6 +87977,111 @@ func (s *LocalGatewayVirtualInterfaceGroup) SetTags(v []*Tag) *LocalGatewayVirtu return s } +// Describes a managed prefix list. +type ManagedPrefixList struct { + _ struct{} `type:"structure"` + + // The IP address version. + AddressFamily *string `locationName:"addressFamily" type:"string"` + + // The maximum number of entries for the prefix list. + MaxEntries *int64 `locationName:"maxEntries" type:"integer"` + + // The ID of the owner of the prefix list. + OwnerId *string `locationName:"ownerId" type:"string"` + + // The Amazon Resource Name (ARN) for the prefix list. + PrefixListArn *string `locationName:"prefixListArn" min:"1" type:"string"` + + // The ID of the prefix list. + PrefixListId *string `locationName:"prefixListId" type:"string"` + + // The name of the prefix list. + PrefixListName *string `locationName:"prefixListName" type:"string"` + + // The state of the prefix list. + State *string `locationName:"state" type:"string" enum:"PrefixListState"` + + // The state message. + StateMessage *string `locationName:"stateMessage" type:"string"` + + // The tags for the prefix list. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // The version of the prefix list. + Version *int64 `locationName:"version" type:"long"` +} + +// String returns the string representation +func (s ManagedPrefixList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ManagedPrefixList) GoString() string { + return s.String() +} + +// SetAddressFamily sets the AddressFamily field's value. +func (s *ManagedPrefixList) SetAddressFamily(v string) *ManagedPrefixList { + s.AddressFamily = &v + return s +} + +// SetMaxEntries sets the MaxEntries field's value. +func (s *ManagedPrefixList) SetMaxEntries(v int64) *ManagedPrefixList { + s.MaxEntries = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *ManagedPrefixList) SetOwnerId(v string) *ManagedPrefixList { + s.OwnerId = &v + return s +} + +// SetPrefixListArn sets the PrefixListArn field's value. +func (s *ManagedPrefixList) SetPrefixListArn(v string) *ManagedPrefixList { + s.PrefixListArn = &v + return s +} + +// SetPrefixListId sets the PrefixListId field's value. +func (s *ManagedPrefixList) SetPrefixListId(v string) *ManagedPrefixList { + s.PrefixListId = &v + return s +} + +// SetPrefixListName sets the PrefixListName field's value. +func (s *ManagedPrefixList) SetPrefixListName(v string) *ManagedPrefixList { + s.PrefixListName = &v + return s +} + +// SetState sets the State field's value. +func (s *ManagedPrefixList) SetState(v string) *ManagedPrefixList { + s.State = &v + return s +} + +// SetStateMessage sets the StateMessage field's value. +func (s *ManagedPrefixList) SetStateMessage(v string) *ManagedPrefixList { + s.StateMessage = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ManagedPrefixList) SetTags(v []*Tag) *ManagedPrefixList { + s.Tags = v + return s +} + +// SetVersion sets the Version field's value. +func (s *ManagedPrefixList) SetVersion(v int64) *ManagedPrefixList { + s.Version = &v + return s +} + // Describes the memory for the instance type. type MemoryInfo struct { _ struct{} `type:"structure"` @@ -85036,14 +88115,16 @@ type ModifyAvailabilityZoneGroupInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` - // The name of the Availability Zone Group. + // The name of the Availability Zone group, Local Zone group, or Wavelength + // Zone group. // // GroupName is a required field GroupName *string `type:"string" required:"true"` - // Indicates whether to enable or disable membership. The valid values are opted-in. - // You must contact AWS Support (https://console.aws.amazon.com/support/home#/case/create%3FissueType=customer-service%26serviceCode=general-info%26getting-started%26categoryCode=using-aws%26services) - // to disable an Availability Zone group. + // Indicates whether you are opted in to the Local Zone group or Wavelength + // Zone group. The only valid value is opted-in. You must contact AWS Support + // (https://console.aws.amazon.com/support/home#/case/create%3FissueType=customer-service%26serviceCode=general-info%26getting-started%26categoryCode=using-aws%26services) + // to opt out of a Local Zone group, or Wavelength Zone group. // // OptInStatus is a required field OptInStatus *string `type:"string" required:"true" enum:"ModifyAvailabilityZoneOptInStatus"` @@ -86274,7 +89355,7 @@ type ModifyInstanceAttributeInput struct { // // To add instance store volumes to an Amazon EBS-backed instance, you must // add them when you launch the instance. For more information, see Updating - // the Block Device Mapping when Launching an Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM) + // the block device mapping when launching an instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM) // in the Amazon Elastic Compute Cloud User Guide. BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"` @@ -86317,7 +89398,7 @@ type ModifyInstanceAttributeInput struct { InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"` // Changes the instance type to the specified value. For more information, see - // Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). + // Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). // If the instance type is not valid, the error returned is InvalidInstanceAttributeValue. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"` @@ -87125,6 +90206,135 @@ func (s *ModifyLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *Modif return s } +type ModifyManagedPrefixListInput struct { + _ struct{} `type:"structure"` + + // One or more entries to add to the prefix list. + AddEntries []*AddPrefixListEntry `locationName:"AddEntry" type:"list"` + + // The current version of the prefix list. + CurrentVersion *int64 `type:"long"` + + // 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 prefix list. + // + // PrefixListId is a required field + PrefixListId *string `type:"string" required:"true"` + + // A name for the prefix list. + PrefixListName *string `type:"string"` + + // One or more entries to remove from the prefix list. + RemoveEntries []*RemovePrefixListEntry `locationName:"RemoveEntry" type:"list"` +} + +// String returns the string representation +func (s ModifyManagedPrefixListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyManagedPrefixListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyManagedPrefixListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyManagedPrefixListInput"} + if s.PrefixListId == nil { + invalidParams.Add(request.NewErrParamRequired("PrefixListId")) + } + if s.AddEntries != nil { + for i, v := range s.AddEntries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddEntries", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RemoveEntries != nil { + for i, v := range s.RemoveEntries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RemoveEntries", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddEntries sets the AddEntries field's value. +func (s *ModifyManagedPrefixListInput) SetAddEntries(v []*AddPrefixListEntry) *ModifyManagedPrefixListInput { + s.AddEntries = v + return s +} + +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *ModifyManagedPrefixListInput) SetCurrentVersion(v int64) *ModifyManagedPrefixListInput { + s.CurrentVersion = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifyManagedPrefixListInput) SetDryRun(v bool) *ModifyManagedPrefixListInput { + s.DryRun = &v + return s +} + +// SetPrefixListId sets the PrefixListId field's value. +func (s *ModifyManagedPrefixListInput) SetPrefixListId(v string) *ModifyManagedPrefixListInput { + s.PrefixListId = &v + return s +} + +// SetPrefixListName sets the PrefixListName field's value. +func (s *ModifyManagedPrefixListInput) SetPrefixListName(v string) *ModifyManagedPrefixListInput { + s.PrefixListName = &v + return s +} + +// SetRemoveEntries sets the RemoveEntries field's value. +func (s *ModifyManagedPrefixListInput) SetRemoveEntries(v []*RemovePrefixListEntry) *ModifyManagedPrefixListInput { + s.RemoveEntries = v + return s +} + +type ModifyManagedPrefixListOutput struct { + _ struct{} `type:"structure"` + + // Information about the prefix list. + PrefixList *ManagedPrefixList `locationName:"prefixList" type:"structure"` +} + +// String returns the string representation +func (s ModifyManagedPrefixListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyManagedPrefixListOutput) GoString() string { + return s.String() +} + +// SetPrefixList sets the PrefixList field's value. +func (s *ModifyManagedPrefixListOutput) SetPrefixList(v *ManagedPrefixList) *ModifyManagedPrefixListOutput { + s.PrefixList = v + return s +} + // Contains the parameters for ModifyNetworkInterfaceAttribute. type ModifyNetworkInterfaceAttributeInput struct { _ struct{} `type:"structure"` @@ -90231,6 +93441,9 @@ func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry { type NetworkInfo struct { _ struct{} `type:"structure"` + // Indicates whether Elastic Fabric Adapter (EFA) is supported. + EfaSupported *bool `locationName:"efaSupported" type:"boolean"` + // Indicates whether Elastic Network Adapter (ENA) is supported. EnaSupport *string `locationName:"enaSupport" type:"string" enum:"EnaSupport"` @@ -90260,6 +93473,12 @@ func (s NetworkInfo) GoString() string { return s.String() } +// SetEfaSupported sets the EfaSupported field's value. +func (s *NetworkInfo) SetEfaSupported(v bool) *NetworkInfo { + s.EfaSupported = &v + return s +} + // SetEnaSupport sets the EnaSupport field's value. func (s *NetworkInfo) SetEnaSupport(v string) *NetworkInfo { s.EnaSupport = &v @@ -90502,7 +93721,9 @@ func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface { return s } -// Describes association information for an Elastic IP address (IPv4 only). +// Describes association information for an Elastic IP address (IPv4 only), +// or a Carrier IP address (for a network interface which resides in a subnet +// in a Wavelength Zone). type NetworkInterfaceAssociation struct { _ struct{} `type:"structure"` @@ -90512,13 +93733,20 @@ type NetworkInterfaceAssociation struct { // The association ID. AssociationId *string `locationName:"associationId" type:"string"` + // The carrier IP address associated with the network interface. + // + // This option is only available when the network interface is in a subnet which + // is associated with a Wavelength Zone. + CarrierIp *string `locationName:"carrierIp" 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. + // The address of the Elastic IP address or Carrier IP address bound to the + // network interface. PublicIp *string `locationName:"publicIp" type:"string"` } @@ -90544,6 +93772,12 @@ func (s *NetworkInterfaceAssociation) SetAssociationId(v string) *NetworkInterfa return s } +// SetCarrierIp sets the CarrierIp field's value. +func (s *NetworkInterfaceAssociation) SetCarrierIp(v string) *NetworkInterfaceAssociation { + s.CarrierIp = &v + return s +} + // SetIpOwnerId sets the IpOwnerId field's value. func (s *NetworkInterfaceAssociation) SetIpOwnerId(v string) *NetworkInterfaceAssociation { s.IpOwnerId = &v @@ -91877,6 +95111,72 @@ func (s *PrefixList) SetPrefixListName(v string) *PrefixList { return s } +// Describes the resource with which a prefix list is associated. +type PrefixListAssociation struct { + _ struct{} `type:"structure"` + + // The ID of the resource. + ResourceId *string `locationName:"resourceId" type:"string"` + + // The owner of the resource. + ResourceOwner *string `locationName:"resourceOwner" type:"string"` +} + +// String returns the string representation +func (s PrefixListAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PrefixListAssociation) GoString() string { + return s.String() +} + +// SetResourceId sets the ResourceId field's value. +func (s *PrefixListAssociation) SetResourceId(v string) *PrefixListAssociation { + s.ResourceId = &v + return s +} + +// SetResourceOwner sets the ResourceOwner field's value. +func (s *PrefixListAssociation) SetResourceOwner(v string) *PrefixListAssociation { + s.ResourceOwner = &v + return s +} + +// Describes a prefix list entry. +type PrefixListEntry struct { + _ struct{} `type:"structure"` + + // The CIDR block. + Cidr *string `locationName:"cidr" type:"string"` + + // The description. + Description *string `locationName:"description" type:"string"` +} + +// String returns the string representation +func (s PrefixListEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PrefixListEntry) GoString() string { + return s.String() +} + +// SetCidr sets the Cidr field's value. +func (s *PrefixListEntry) SetCidr(v string) *PrefixListEntry { + s.Cidr = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *PrefixListEntry) SetDescription(v string) *PrefixListEntry { + s.Description = &v + return s +} + // Describes a prefix list ID. type PrefixListId struct { _ struct{} `type:"structure"` @@ -92293,6 +95593,9 @@ type ProvisionByoipCidrInput struct { // it is UnauthorizedOperation. DryRun *bool `type:"boolean"` + // The tags to apply to the address pool. + PoolTagSpecifications []*TagSpecification `locationName:"PoolTagSpecification" locationNameList:"item" type:"list"` + // (IPv6 only) Indicate whether the address range will be publicly advertised // to the internet. // @@ -92352,6 +95655,12 @@ func (s *ProvisionByoipCidrInput) SetDryRun(v bool) *ProvisionByoipCidrInput { return s } +// SetPoolTagSpecifications sets the PoolTagSpecifications field's value. +func (s *ProvisionByoipCidrInput) SetPoolTagSpecifications(v []*TagSpecification) *ProvisionByoipCidrInput { + s.PoolTagSpecifications = v + return s +} + // SetPubliclyAdvertisable sets the PubliclyAdvertisable field's value. func (s *ProvisionByoipCidrInput) SetPubliclyAdvertisable(v bool) *ProvisionByoipCidrInput { s.PubliclyAdvertisable = &v @@ -92460,6 +95769,11 @@ type PublicIpv4Pool struct { // A description of the address pool. Description *string `locationName:"description" type:"string"` + // The name of the location from which the address pool is advertised. A network + // border group is a unique set of Availability Zones or Local Zones from where + // AWS advertises public IP addresses. + NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"` + // The address ranges. PoolAddressRanges []*PublicIpv4PoolRange `locationName:"poolAddressRangeSet" locationNameList:"item" type:"list"` @@ -92492,6 +95806,12 @@ func (s *PublicIpv4Pool) SetDescription(v string) *PublicIpv4Pool { return s } +// SetNetworkBorderGroup sets the NetworkBorderGroup field's value. +func (s *PublicIpv4Pool) SetNetworkBorderGroup(v string) *PublicIpv4Pool { + s.NetworkBorderGroup = &v + return s +} + // SetPoolAddressRanges sets the PoolAddressRanges field's value. func (s *PublicIpv4Pool) SetPoolAddressRanges(v []*PublicIpv4PoolRange) *PublicIpv4Pool { s.PoolAddressRanges = v @@ -92690,6 +96010,9 @@ type PurchaseHostReservationInput struct { // // OfferingId is a required field OfferingId *string `type:"string" required:"true"` + + // The tags to apply to the Dedicated Host Reservation during purchase. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` } // String returns the string representation @@ -92748,6 +96071,12 @@ func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostRese return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *PurchaseHostReservationInput) SetTagSpecifications(v []*TagSpecification) *PurchaseHostReservationInput { + s.TagSpecifications = v + return s +} + type PurchaseHostReservationOutput struct { _ struct{} `type:"structure"` @@ -93976,7 +97305,8 @@ type ReleaseAddressInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // The location that the IP address is released from. + // The set of Availability Zones, Local Zones, or Wavelength Zones from which + // AWS advertises IP addresses. // // If you provide an incorrect network border group, you will receive an InvalidAddress.NotFound // error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html). @@ -94109,6 +97439,45 @@ func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHost return s } +// An entry for a prefix list. +type RemovePrefixListEntry struct { + _ struct{} `type:"structure"` + + // The CIDR block. + // + // Cidr is a required field + Cidr *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s RemovePrefixListEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemovePrefixListEntry) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemovePrefixListEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemovePrefixListEntry"} + if s.Cidr == nil { + invalidParams.Add(request.NewErrParamRequired("Cidr")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCidr sets the Cidr field's value. +func (s *RemovePrefixListEntry) SetCidr(v string) *RemovePrefixListEntry { + s.Cidr = &v + return s +} + type ReplaceIamInstanceProfileAssociationInput struct { _ struct{} `type:"structure"` @@ -94441,6 +97810,9 @@ func (s ReplaceNetworkAclEntryOutput) GoString() string { type ReplaceRouteInput struct { _ struct{} `type:"structure"` + // [IPv4 traffic only] The ID of a carrier gateway. + CarrierGatewayId *string `type:"string"` + // The IPv4 CIDR address block used for the destination match. The value that // you provide must match the CIDR of an existing route in the table. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"` @@ -94449,6 +97821,9 @@ type ReplaceRouteInput struct { // you provide must match the CIDR of an existing route in the table. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"` + // The ID of the prefix list for the route. + DestinationPrefixListId *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, @@ -94511,6 +97886,12 @@ func (s *ReplaceRouteInput) Validate() error { return nil } +// SetCarrierGatewayId sets the CarrierGatewayId field's value. +func (s *ReplaceRouteInput) SetCarrierGatewayId(v string) *ReplaceRouteInput { + s.CarrierGatewayId = &v + return s +} + // SetDestinationCidrBlock sets the DestinationCidrBlock field's value. func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput { s.DestinationCidrBlock = &v @@ -94523,6 +97904,12 @@ func (s *ReplaceRouteInput) SetDestinationIpv6CidrBlock(v string) *ReplaceRouteI return s } +// SetDestinationPrefixListId sets the DestinationPrefixListId field's value. +func (s *ReplaceRouteInput) SetDestinationPrefixListId(v string) *ReplaceRouteInput { + s.DestinationPrefixListId = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput { s.DryRun = &v @@ -94963,8 +98350,8 @@ type RequestLaunchTemplateData struct { // in the Amazon Elastic Compute Cloud User Guide. CpuOptions *LaunchTemplateCpuOptionsRequest `type:"structure"` - // The credit option for CPU usage of the instance. Valid for T2 or T3 instances - // only. + // The credit option for CPU usage of the instance. Valid for T2, T3, or T3a + // instances only. CreditSpecification *CreditSpecificationRequest `type:"structure"` // If you set this parameter to true, you can't terminate the instance using @@ -95426,6 +98813,12 @@ type RequestSpotInstancesInput struct { // The default is the On-Demand price. SpotPrice *string `locationName:"spotPrice" type:"string"` + // The key-value pair for tagging the Spot Instance request on creation. The + // value for ResourceType must be spot-instances-request, otherwise the Spot + // Instance request fails. To tag the Spot Instance request after it has been + // created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The Spot Instance request type. // // Default: one-time @@ -95529,6 +98922,12 @@ func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstances return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *RequestSpotInstancesInput) SetTagSpecifications(v []*TagSpecification) *RequestSpotInstancesInput { + s.TagSpecifications = v + return s +} + // SetType sets the Type field's value. func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput { s.Type = &v @@ -97416,6 +100815,107 @@ func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToCla return s } +type RestoreManagedPrefixListVersionInput struct { + _ struct{} `type:"structure"` + + // The current version number for the prefix list. + // + // CurrentVersion is a required field + CurrentVersion *int64 `type:"long" 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 prefix list. + // + // PrefixListId is a required field + PrefixListId *string `type:"string" required:"true"` + + // The version to restore. + // + // PreviousVersion is a required field + PreviousVersion *int64 `type:"long" required:"true"` +} + +// String returns the string representation +func (s RestoreManagedPrefixListVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RestoreManagedPrefixListVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RestoreManagedPrefixListVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RestoreManagedPrefixListVersionInput"} + if s.CurrentVersion == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentVersion")) + } + if s.PrefixListId == nil { + invalidParams.Add(request.NewErrParamRequired("PrefixListId")) + } + if s.PreviousVersion == nil { + invalidParams.Add(request.NewErrParamRequired("PreviousVersion")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *RestoreManagedPrefixListVersionInput) SetCurrentVersion(v int64) *RestoreManagedPrefixListVersionInput { + s.CurrentVersion = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *RestoreManagedPrefixListVersionInput) SetDryRun(v bool) *RestoreManagedPrefixListVersionInput { + s.DryRun = &v + return s +} + +// SetPrefixListId sets the PrefixListId field's value. +func (s *RestoreManagedPrefixListVersionInput) SetPrefixListId(v string) *RestoreManagedPrefixListVersionInput { + s.PrefixListId = &v + return s +} + +// SetPreviousVersion sets the PreviousVersion field's value. +func (s *RestoreManagedPrefixListVersionInput) SetPreviousVersion(v int64) *RestoreManagedPrefixListVersionInput { + s.PreviousVersion = &v + return s +} + +type RestoreManagedPrefixListVersionOutput struct { + _ struct{} `type:"structure"` + + // Information about the prefix list. + PrefixList *ManagedPrefixList `locationName:"prefixList" type:"structure"` +} + +// String returns the string representation +func (s RestoreManagedPrefixListVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RestoreManagedPrefixListVersionOutput) GoString() string { + return s.String() +} + +// SetPrefixList sets the PrefixList field's value. +func (s *RestoreManagedPrefixListVersionOutput) SetPrefixList(v *ManagedPrefixList) *RestoreManagedPrefixListVersionOutput { + s.PrefixList = v + return s +} + type RevokeClientVpnIngressInput struct { _ struct{} `type:"structure"` @@ -97796,6 +101296,9 @@ func (s RevokeSecurityGroupIngressOutput) GoString() string { type Route struct { _ struct{} `type:"structure"` + // The ID of the carrier gateway. + CarrierGatewayId *string `locationName:"carrierGatewayId" type:"string"` + // The IPv4 CIDR block used for the destination match. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"` @@ -97858,6 +101361,12 @@ func (s Route) GoString() string { return s.String() } +// SetCarrierGatewayId sets the CarrierGatewayId field's value. +func (s *Route) SetCarrierGatewayId(v string) *Route { + s.CarrierGatewayId = &v + return s +} + // SetDestinationCidrBlock sets the DestinationCidrBlock field's value. func (s *Route) SetDestinationCidrBlock(v string) *Route { s.DestinationCidrBlock = &v @@ -98145,17 +101654,17 @@ type RunInstancesInput struct { // For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). // // Constraints: Maximum 64 ASCII characters - ClientToken *string `locationName:"clientToken" type:"string"` + ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // The CPU options for the instance. For more information, see Optimizing CPU - // Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) + // options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) // in the Amazon Elastic Compute Cloud User Guide. CpuOptions *CpuOptionsRequest `type:"structure"` // The credit option for CPU usage of the burstable performance instance. Valid // values are standard and unlimited. To change this attribute after launch, // use ModifyInstanceCreditSpecification (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html). - // For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) + // For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) // in the Amazon Elastic Compute Cloud User Guide. // // Default: standard (T2 instances) or unlimited (T3/T3a instances) @@ -98194,10 +101703,12 @@ type RunInstancesInput struct { // An elastic inference accelerator to associate with the instance. Elastic // inference accelerators are a resource you can attach to your Amazon EC2 instances // to accelerate your Deep Learning (DL) inference workloads. + // + // You cannot specify accelerators from different generations in the same request. ElasticInferenceAccelerators []*ElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"` // Indicates whether an instance is enabled for hibernation. For more information, - // see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) + // see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. HibernationOptions *HibernationOptionsRequest `type:"structure"` @@ -98220,7 +101731,7 @@ type RunInstancesInput struct { // InstanceInterruptionBehavior is set to either hibernate or stop. InstanceMarketOptions *InstanceMarketOptionsRequest `type:"structure"` - // The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) + // The instance type. For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) // in the Amazon Elastic Compute Cloud User Guide. // // Default: m1.small @@ -98280,7 +101791,7 @@ type RunInstancesInput struct { MaxCount *int64 `type:"integer" required:"true"` // The metadata options for the instance. For more information, see Instance - // Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). + // metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). MetadataOptions *InstanceMetadataOptionsRequest `type:"structure"` // The minimum number of instances to launch. If you specify a minimum that @@ -98357,7 +101868,7 @@ type RunInstancesInput struct { TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` // The user data to make available to the instance. For more information, see - // Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) + // Running commands on your Linux instance at launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) // (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data) // (Windows). If you are using a command line tool, base64-encoding is performed // for you, and you can load the text from a file. Otherwise, you must provide @@ -100863,9 +104374,10 @@ type Snapshot struct { // key for the parent volume. KmsKeyId *string `locationName:"kmsKeyId" type:"string"` - // Value from an Amazon-maintained list (amazon | self | all | aws-marketplace - // | microsoft) of snapshot owners. Not to be confused with the user-configured - // AWS account alias, which is set from the IAM console. + // The AWS owner alias, as maintained by Amazon. The possible values are: amazon + // | self | all | aws-marketplace | microsoft. This AWS owner alias is 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. @@ -101028,7 +104540,7 @@ type SnapshotDetail struct { // The URL used to access the disk image. Url *string `locationName:"url" type:"string"` - // The S3 bucket for the disk image. + // The Amazon S3 bucket for the disk image. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"` } @@ -101118,7 +104630,7 @@ type SnapshotDiskContainer struct { // a https URL (https://..) or an Amazon S3 URL (s3://..). Url *string `type:"string"` - // The S3 bucket for the disk image. + // The Amazon S3 bucket for the disk image. UserBucket *UserBucket `type:"structure"` } @@ -101298,7 +104810,7 @@ type SnapshotTaskDetail struct { // 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. + // The Amazon S3 bucket for the disk image. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"` } @@ -101778,7 +105290,7 @@ type SpotFleetRequestConfigData struct { // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) // role that grants the Spot Fleet the permission to request, launch, terminate, - // and tag instances on your behalf. For more information, see Spot Fleet Prerequisites + // and tag instances on your behalf. For more information, see Spot Fleet prerequisites // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites) // in the Amazon EC2 User Guide for Linux Instances. Spot Fleet can terminate // Spot Instances on your behalf when you cancel its Spot Fleet request using @@ -102170,7 +105682,7 @@ type SpotInstanceRequest struct { SpotPrice *string `locationName:"spotPrice" type:"string"` // The state of the Spot Instance request. Spot status information helps track - // your Spot Instance requests. For more information, see Spot Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) + // your Spot Instance requests. For more information, see Spot status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html) // in the Amazon EC2 User Guide for Linux Instances. State *string `locationName:"state" type:"string" enum:"SpotInstanceState"` @@ -102356,7 +105868,7 @@ func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault { type SpotInstanceStatus struct { _ struct{} `type:"structure"` - // The status code. For a list of status codes, see Spot Status Codes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand) + // The status code. For a list of status codes, see Spot status codes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand) // in the Amazon EC2 User Guide for Linux Instances. Code *string `locationName:"code" type:"string"` @@ -102780,8 +106292,7 @@ type StaleIpPermission struct { // The IP ranges. Not applicable for stale security group rules. IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"` - // The prefix list IDs for an AWS service. Not applicable for stale security - // group rules. + // The prefix list IDs. 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 @@ -103153,7 +106664,7 @@ type StopInstancesInput struct { // Hibernates the instance if the instance was enabled for hibernation at launch. // If the instance cannot hibernate successfully, a normal shutdown occurs. - // For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) + // For more information, see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) // in the Amazon Elastic Compute Cloud User Guide. // // Default: false @@ -103717,12 +107228,17 @@ type TagSpecification struct { _ struct{} `type:"structure"` // The type of resource to tag. Currently, the resource types that support tagging - // on creation are: capacity-reservation | client-vpn-endpoint | dedicated-host - // | fleet | fpga-image | instance | key-pair | launch-template | | natgateway - // | spot-fleet-request | placement-group | snapshot | traffic-mirror-filter - // | traffic-mirror-session | traffic-mirror-target | transit-gateway | transit-gateway-attachment - // | transit-gateway-route-table | vpc-endpoint (for interface VPC endpoints)| - // vpc-endpoint-service (for gateway VPC endpoints) | volume | vpc-flow-log. + // on creation are: capacity-reservation | client-vpn-endpoint | customer-gateway + // | dedicated-host | dhcp-options | export-image-task | export-instance-task + // | fleet | fpga-image | host-reservation | import-image-task | import-snapshot-task + // | instance | internet-gateway | ipv4pool-ec2 | ipv6pool-ec2 | key-pair | + // launch-template | placement-group | prefix-list | natgateway | network-acl + // | route-table | security-group | spot-fleet-request | spot-instances-request + // | snapshot | subnet | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target + // | transit-gateway | transit-gateway-attachment | transit-gateway-route-table + // | volume |vpc | vpc-peering-connection | vpc-endpoint (for interface and + // gateway endpoints) | vpc-endpoint-service (for AWS PrivateLink) | vpc-flow-log + // | vpn-connection | vpn-gateway. // // To tag a resource after it has been created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` @@ -105833,28 +109349,28 @@ type TransitGatewayRequestOptions struct { // A private Autonomous System Number (ASN) for the Amazon side of a BGP session. // The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 - // for 32-bit ASNs. + // for 32-bit ASNs. The default is 64512. AmazonSideAsn *int64 `type:"long"` - // Enable or disable automatic acceptance of attachment requests. The default - // is disable. + // Enable or disable automatic acceptance of attachment requests. Disabled by + // default. AutoAcceptSharedAttachments *string `type:"string" enum:"AutoAcceptSharedAttachmentsValue"` // Enable or disable automatic association with the default association route - // table. The default is enable. + // table. Enabled by default. DefaultRouteTableAssociation *string `type:"string" enum:"DefaultRouteTableAssociationValue"` // Enable or disable automatic propagation of routes to the default propagation - // route table. The default is enable. + // route table. Enabled by default. DefaultRouteTablePropagation *string `type:"string" enum:"DefaultRouteTablePropagationValue"` - // Enable or disable DNS support. + // Enable or disable DNS support. Enabled by default. DnsSupport *string `type:"string" enum:"DnsSupportValue"` // Indicates whether multicast is enabled on the transit gateway MulticastSupport *string `type:"string" enum:"MulticastSupportValue"` - // Enable or disable Equal Cost Multipath Protocol support. + // Enable or disable Equal Cost Multipath Protocol support. Enabled by default. VpnEcmpSupport *string `type:"string" enum:"VpnEcmpSupportValue"` } @@ -107027,11 +110543,11 @@ func (s *UpdateSecurityGroupRuleDescriptionsIngressOutput) SetReturn(v bool) *Up return s } -// Describes the S3 bucket for the disk image. +// Describes the Amazon S3 bucket for the disk image. type UserBucket struct { _ struct{} `type:"structure"` - // The name of the S3 bucket where the disk image is located. + // The name of the Amazon S3 bucket where the disk image is located. S3Bucket *string `type:"string"` // The file name of the disk image. @@ -107060,11 +110576,11 @@ func (s *UserBucket) SetS3Key(v string) *UserBucket { return s } -// Describes the S3 bucket for the disk image. +// Describes the Amazon S3 bucket for the disk image. type UserBucketDetails struct { _ struct{} `type:"structure"` - // The S3 bucket from which the disk image was created. + // The Amazon S3 bucket from which the disk image was created. S3Bucket *string `locationName:"s3Bucket" type:"string"` // The file name of the disk image. @@ -107275,6 +110791,70 @@ func (s *VCpuInfo) SetValidThreadsPerCore(v []*int64) *VCpuInfo { return s } +// The error code and error message that is returned for a parameter or parameter +// combination that is not valid when a new launch template or new version of +// a launch template is created. +type ValidationError struct { + _ struct{} `type:"structure"` + + // The error code that indicates why the parameter or parameter combination + // is not valid. For more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). + Code *string `locationName:"code" type:"string"` + + // The error message that describes why the parameter or parameter combination + // is not valid. For more information about error messages, see Error Codes + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ValidationError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidationError) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ValidationError) SetCode(v string) *ValidationError { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ValidationError) SetMessage(v string) *ValidationError { + s.Message = &v + return s +} + +// The error codes and error messages that are returned for the parameters or +// parameter combinations that are not valid when a new launch template or new +// version of a launch template is created. +type ValidationWarning struct { + _ struct{} `type:"structure"` + + // The error codes and error messages. + Errors []*ValidationError `locationName:"errorSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s ValidationWarning) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidationWarning) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *ValidationWarning) SetErrors(v []*ValidationError) *ValidationWarning { + s.Errors = v + return s +} + // Describes telemetry for a VPN tunnel. type VgwTelemetry struct { _ struct{} `type:"structure"` @@ -107637,7 +111217,7 @@ type VolumeModification struct { // The original IOPS rate of the volume. OriginalIops *int64 `locationName:"originalIops" type:"integer"` - // The original size of the volume. + // The original size of the volume, in GiB. OriginalSize *int64 `locationName:"originalSize" type:"integer"` // The original EBS volume type of the volume. @@ -108054,8 +111634,7 @@ type Vpc struct { // 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). + // The ID of the set of DHCP options you've associated with the VPC. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"` // The allowed tenancy of instances launched into the VPC. @@ -108564,7 +112143,8 @@ type VpcIpv6CidrBlockAssociation struct { // The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated. Ipv6Pool *string `locationName:"ipv6Pool" type:"string"` - // The name of the location from which we advertise the IPV6 CIDR block. + // The name of the unique set of Availability Zones, Local Zones, or Wavelength + // Zones from which AWS advertises IP addresses, for example, us-east-1-wl1-bos-wlz-1. NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"` } @@ -109774,6 +113354,9 @@ const ( // CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise = "Linux with SQL Server Enterprise" + + // CapacityReservationInstancePlatformWindowsByol is a CapacityReservationInstancePlatform enum value + CapacityReservationInstancePlatformWindowsByol = "Windows BYOL" ) const ( @@ -109809,6 +113392,20 @@ const ( CapacityReservationTenancyDedicated = "dedicated" ) +const ( + // CarrierGatewayStatePending is a CarrierGatewayState enum value + CarrierGatewayStatePending = "pending" + + // CarrierGatewayStateAvailable is a CarrierGatewayState enum value + CarrierGatewayStateAvailable = "available" + + // CarrierGatewayStateDeleting is a CarrierGatewayState enum value + CarrierGatewayStateDeleting = "deleting" + + // CarrierGatewayStateDeleted is a CarrierGatewayState enum value + CarrierGatewayStateDeleted = "deleted" +) + const ( // ClientCertificateRevocationListStatusCodePending is a ClientCertificateRevocationListStatusCode enum value ClientCertificateRevocationListStatusCodePending = "pending" @@ -109823,6 +113420,9 @@ const ( // ClientVpnAuthenticationTypeDirectoryServiceAuthentication is a ClientVpnAuthenticationType enum value ClientVpnAuthenticationTypeDirectoryServiceAuthentication = "directory-service-authentication" + + // ClientVpnAuthenticationTypeFederatedAuthentication is a ClientVpnAuthenticationType enum value + ClientVpnAuthenticationTypeFederatedAuthentication = "federated-authentication" ) const ( @@ -110042,6 +113642,17 @@ const ( EbsEncryptionSupportSupported = "supported" ) +const ( + // EbsNvmeSupportUnsupported is a EbsNvmeSupport enum value + EbsNvmeSupportUnsupported = "unsupported" + + // EbsNvmeSupportSupported is a EbsNvmeSupport enum value + EbsNvmeSupportSupported = "supported" + + // EbsNvmeSupportRequired is a EbsNvmeSupport enum value + EbsNvmeSupportRequired = "required" +) + const ( // EbsOptimizedSupportUnsupported is a EbsOptimizedSupport enum value EbsOptimizedSupportUnsupported = "unsupported" @@ -110772,6 +114383,60 @@ const ( // InstanceTypeR5ad24xlarge is a InstanceType enum value InstanceTypeR5ad24xlarge = "r5ad.24xlarge" + // InstanceTypeR6gMetal is a InstanceType enum value + InstanceTypeR6gMetal = "r6g.metal" + + // InstanceTypeR6gMedium is a InstanceType enum value + InstanceTypeR6gMedium = "r6g.medium" + + // InstanceTypeR6gLarge is a InstanceType enum value + InstanceTypeR6gLarge = "r6g.large" + + // InstanceTypeR6gXlarge is a InstanceType enum value + InstanceTypeR6gXlarge = "r6g.xlarge" + + // InstanceTypeR6g2xlarge is a InstanceType enum value + InstanceTypeR6g2xlarge = "r6g.2xlarge" + + // InstanceTypeR6g4xlarge is a InstanceType enum value + InstanceTypeR6g4xlarge = "r6g.4xlarge" + + // InstanceTypeR6g8xlarge is a InstanceType enum value + InstanceTypeR6g8xlarge = "r6g.8xlarge" + + // InstanceTypeR6g12xlarge is a InstanceType enum value + InstanceTypeR6g12xlarge = "r6g.12xlarge" + + // InstanceTypeR6g16xlarge is a InstanceType enum value + InstanceTypeR6g16xlarge = "r6g.16xlarge" + + // InstanceTypeR6gdMetal is a InstanceType enum value + InstanceTypeR6gdMetal = "r6gd.metal" + + // InstanceTypeR6gdMedium is a InstanceType enum value + InstanceTypeR6gdMedium = "r6gd.medium" + + // InstanceTypeR6gdLarge is a InstanceType enum value + InstanceTypeR6gdLarge = "r6gd.large" + + // InstanceTypeR6gdXlarge is a InstanceType enum value + InstanceTypeR6gdXlarge = "r6gd.xlarge" + + // InstanceTypeR6gd2xlarge is a InstanceType enum value + InstanceTypeR6gd2xlarge = "r6gd.2xlarge" + + // InstanceTypeR6gd4xlarge is a InstanceType enum value + InstanceTypeR6gd4xlarge = "r6gd.4xlarge" + + // InstanceTypeR6gd8xlarge is a InstanceType enum value + InstanceTypeR6gd8xlarge = "r6gd.8xlarge" + + // InstanceTypeR6gd12xlarge is a InstanceType enum value + InstanceTypeR6gd12xlarge = "r6gd.12xlarge" + + // InstanceTypeR6gd16xlarge is a InstanceType enum value + InstanceTypeR6gd16xlarge = "r6gd.16xlarge" + // InstanceTypeX116xlarge is a InstanceType enum value InstanceTypeX116xlarge = "x1.16xlarge" @@ -110922,6 +114587,30 @@ const ( // InstanceTypeC5Metal is a InstanceType enum value InstanceTypeC5Metal = "c5.metal" + // InstanceTypeC5aLarge is a InstanceType enum value + InstanceTypeC5aLarge = "c5a.large" + + // InstanceTypeC5aXlarge is a InstanceType enum value + InstanceTypeC5aXlarge = "c5a.xlarge" + + // InstanceTypeC5a2xlarge is a InstanceType enum value + InstanceTypeC5a2xlarge = "c5a.2xlarge" + + // InstanceTypeC5a4xlarge is a InstanceType enum value + InstanceTypeC5a4xlarge = "c5a.4xlarge" + + // InstanceTypeC5a8xlarge is a InstanceType enum value + InstanceTypeC5a8xlarge = "c5a.8xlarge" + + // InstanceTypeC5a12xlarge is a InstanceType enum value + InstanceTypeC5a12xlarge = "c5a.12xlarge" + + // InstanceTypeC5a16xlarge is a InstanceType enum value + InstanceTypeC5a16xlarge = "c5a.16xlarge" + + // InstanceTypeC5a24xlarge is a InstanceType enum value + InstanceTypeC5a24xlarge = "c5a.24xlarge" + // InstanceTypeC5dLarge is a InstanceType enum value InstanceTypeC5dLarge = "c5d.large" @@ -110967,6 +114656,60 @@ const ( // InstanceTypeC5n18xlarge is a InstanceType enum value InstanceTypeC5n18xlarge = "c5n.18xlarge" + // InstanceTypeC6gMetal is a InstanceType enum value + InstanceTypeC6gMetal = "c6g.metal" + + // InstanceTypeC6gMedium is a InstanceType enum value + InstanceTypeC6gMedium = "c6g.medium" + + // InstanceTypeC6gLarge is a InstanceType enum value + InstanceTypeC6gLarge = "c6g.large" + + // InstanceTypeC6gXlarge is a InstanceType enum value + InstanceTypeC6gXlarge = "c6g.xlarge" + + // InstanceTypeC6g2xlarge is a InstanceType enum value + InstanceTypeC6g2xlarge = "c6g.2xlarge" + + // InstanceTypeC6g4xlarge is a InstanceType enum value + InstanceTypeC6g4xlarge = "c6g.4xlarge" + + // InstanceTypeC6g8xlarge is a InstanceType enum value + InstanceTypeC6g8xlarge = "c6g.8xlarge" + + // InstanceTypeC6g12xlarge is a InstanceType enum value + InstanceTypeC6g12xlarge = "c6g.12xlarge" + + // InstanceTypeC6g16xlarge is a InstanceType enum value + InstanceTypeC6g16xlarge = "c6g.16xlarge" + + // InstanceTypeC6gdMetal is a InstanceType enum value + InstanceTypeC6gdMetal = "c6gd.metal" + + // InstanceTypeC6gdMedium is a InstanceType enum value + InstanceTypeC6gdMedium = "c6gd.medium" + + // InstanceTypeC6gdLarge is a InstanceType enum value + InstanceTypeC6gdLarge = "c6gd.large" + + // InstanceTypeC6gdXlarge is a InstanceType enum value + InstanceTypeC6gdXlarge = "c6gd.xlarge" + + // InstanceTypeC6gd2xlarge is a InstanceType enum value + InstanceTypeC6gd2xlarge = "c6gd.2xlarge" + + // InstanceTypeC6gd4xlarge is a InstanceType enum value + InstanceTypeC6gd4xlarge = "c6gd.4xlarge" + + // InstanceTypeC6gd8xlarge is a InstanceType enum value + InstanceTypeC6gd8xlarge = "c6gd.8xlarge" + + // InstanceTypeC6gd12xlarge is a InstanceType enum value + InstanceTypeC6gd12xlarge = "c6gd.12xlarge" + + // InstanceTypeC6gd16xlarge is a InstanceType enum value + InstanceTypeC6gd16xlarge = "c6gd.16xlarge" + // InstanceTypeCc14xlarge is a InstanceType enum value InstanceTypeCc14xlarge = "cc1.4xlarge" @@ -111009,6 +114752,9 @@ const ( // InstanceTypeG4dn16xlarge is a InstanceType enum value InstanceTypeG4dn16xlarge = "g4dn.16xlarge" + // InstanceTypeG4dnMetal is a InstanceType enum value + InstanceTypeG4dnMetal = "g4dn.metal" + // InstanceTypeCg14xlarge is a InstanceType enum value InstanceTypeCg14xlarge = "cg1.4xlarge" @@ -111329,6 +115075,60 @@ const ( // InstanceTypeInf124xlarge is a InstanceType enum value InstanceTypeInf124xlarge = "inf1.24xlarge" + + // InstanceTypeM6gMetal is a InstanceType enum value + InstanceTypeM6gMetal = "m6g.metal" + + // InstanceTypeM6gMedium is a InstanceType enum value + InstanceTypeM6gMedium = "m6g.medium" + + // InstanceTypeM6gLarge is a InstanceType enum value + InstanceTypeM6gLarge = "m6g.large" + + // InstanceTypeM6gXlarge is a InstanceType enum value + InstanceTypeM6gXlarge = "m6g.xlarge" + + // InstanceTypeM6g2xlarge is a InstanceType enum value + InstanceTypeM6g2xlarge = "m6g.2xlarge" + + // InstanceTypeM6g4xlarge is a InstanceType enum value + InstanceTypeM6g4xlarge = "m6g.4xlarge" + + // InstanceTypeM6g8xlarge is a InstanceType enum value + InstanceTypeM6g8xlarge = "m6g.8xlarge" + + // InstanceTypeM6g12xlarge is a InstanceType enum value + InstanceTypeM6g12xlarge = "m6g.12xlarge" + + // InstanceTypeM6g16xlarge is a InstanceType enum value + InstanceTypeM6g16xlarge = "m6g.16xlarge" + + // InstanceTypeM6gdMetal is a InstanceType enum value + InstanceTypeM6gdMetal = "m6gd.metal" + + // InstanceTypeM6gdMedium is a InstanceType enum value + InstanceTypeM6gdMedium = "m6gd.medium" + + // InstanceTypeM6gdLarge is a InstanceType enum value + InstanceTypeM6gdLarge = "m6gd.large" + + // InstanceTypeM6gdXlarge is a InstanceType enum value + InstanceTypeM6gdXlarge = "m6gd.xlarge" + + // InstanceTypeM6gd2xlarge is a InstanceType enum value + InstanceTypeM6gd2xlarge = "m6gd.2xlarge" + + // InstanceTypeM6gd4xlarge is a InstanceType enum value + InstanceTypeM6gd4xlarge = "m6gd.4xlarge" + + // InstanceTypeM6gd8xlarge is a InstanceType enum value + InstanceTypeM6gd8xlarge = "m6gd.8xlarge" + + // InstanceTypeM6gd12xlarge is a InstanceType enum value + InstanceTypeM6gd12xlarge = "m6gd.12xlarge" + + // InstanceTypeM6gd16xlarge is a InstanceType enum value + InstanceTypeM6gd16xlarge = "m6gd.16xlarge" ) const ( @@ -111701,6 +115501,44 @@ const ( PlatformValuesWindows = "Windows" ) +const ( + // PrefixListStateCreateInProgress is a PrefixListState enum value + PrefixListStateCreateInProgress = "create-in-progress" + + // PrefixListStateCreateComplete is a PrefixListState enum value + PrefixListStateCreateComplete = "create-complete" + + // PrefixListStateCreateFailed is a PrefixListState enum value + PrefixListStateCreateFailed = "create-failed" + + // PrefixListStateModifyInProgress is a PrefixListState enum value + PrefixListStateModifyInProgress = "modify-in-progress" + + // PrefixListStateModifyComplete is a PrefixListState enum value + PrefixListStateModifyComplete = "modify-complete" + + // PrefixListStateModifyFailed is a PrefixListState enum value + PrefixListStateModifyFailed = "modify-failed" + + // PrefixListStateRestoreInProgress is a PrefixListState enum value + PrefixListStateRestoreInProgress = "restore-in-progress" + + // PrefixListStateRestoreComplete is a PrefixListState enum value + PrefixListStateRestoreComplete = "restore-complete" + + // PrefixListStateRestoreFailed is a PrefixListState enum value + PrefixListStateRestoreFailed = "restore-failed" + + // PrefixListStateDeleteInProgress is a PrefixListState enum value + PrefixListStateDeleteInProgress = "delete-in-progress" + + // PrefixListStateDeleteComplete is a PrefixListState enum value + PrefixListStateDeleteComplete = "delete-complete" + + // PrefixListStateDeleteFailed is a PrefixListState enum value + PrefixListStateDeleteFailed = "delete-failed" +) + const ( // PrincipalTypeAll is a PrincipalType enum value PrincipalTypeAll = "All" @@ -111845,6 +115683,15 @@ const ( // ResourceTypeElasticIp is a ResourceType enum value ResourceTypeElasticIp = "elastic-ip" + // ResourceTypeElasticGpu is a ResourceType enum value + ResourceTypeElasticGpu = "elastic-gpu" + + // ResourceTypeExportImageTask is a ResourceType enum value + ResourceTypeExportImageTask = "export-image-task" + + // ResourceTypeExportInstanceTask is a ResourceType enum value + ResourceTypeExportInstanceTask = "export-instance-task" + // ResourceTypeFleet is a ResourceType enum value ResourceTypeFleet = "fleet" @@ -111857,6 +115704,12 @@ const ( // ResourceTypeImage is a ResourceType enum value ResourceTypeImage = "image" + // ResourceTypeImportImageTask is a ResourceType enum value + ResourceTypeImportImageTask = "import-image-task" + + // ResourceTypeImportSnapshotTask is a ResourceType enum value + ResourceTypeImportSnapshotTask = "import-snapshot-task" + // ResourceTypeInstance is a ResourceType enum value ResourceTypeInstance = "instance" @@ -111869,6 +115722,9 @@ const ( // ResourceTypeLaunchTemplate is a ResourceType enum value ResourceTypeLaunchTemplate = "launch-template" + // ResourceTypeLocalGatewayRouteTableVpcAssociation is a ResourceType enum value + ResourceTypeLocalGatewayRouteTableVpcAssociation = "local-gateway-route-table-vpc-association" + // ResourceTypeNatgateway is a ResourceType enum value ResourceTypeNatgateway = "natgateway" diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go b/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go index 91e36f08d1c..1a185d7c0aa 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go @@ -369,7 +369,7 @@ func (c *ECR) CompleteLayerUploadRequest(input *CompleteLayerUploadInput) (req * // repository and ensure that you are performing operations on the correct registry. // // * UploadNotFoundException -// The upload could not be found, or the specified upload id is not valid for +// The upload could not be found, or the specified upload ID is not valid for // this repository. // // * InvalidLayerException @@ -385,6 +385,9 @@ func (c *ECR) CompleteLayerUploadRequest(input *CompleteLayerUploadInput) (req * // * EmptyUploadException // The specified layer upload does not contain any layer parts. // +// * KmsException +// The operation failed due to a KMS exception. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CompleteLayerUpload func (c *ECR) CompleteLayerUpload(input *CompleteLayerUploadInput) (*CompleteLayerUploadOutput, error) { req, out := c.CompleteLayerUploadRequest(input) @@ -483,10 +486,12 @@ func (c *ECR) CreateRepositoryRequest(input *CreateRepositoryInput) (req *reques // // * LimitExceededException // The operation did not succeed because it would have exceeded a service limit -// for your account. For more information, see Amazon ECR Default Service Limits -// (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service_limits.html) +// for your account. For more information, see Amazon ECR Service Quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html) // in the Amazon Elastic Container Registry User Guide. // +// * KmsException +// The operation failed due to a KMS exception. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CreateRepository func (c *ECR) CreateRepository(input *CreateRepositoryInput) (*CreateRepositoryOutput, error) { req, out := c.CreateRepositoryRequest(input) @@ -670,6 +675,9 @@ func (c *ECR) DeleteRepositoryRequest(input *DeleteRepositoryInput) (req *reques // The specified repository contains images. To delete a repository that contains // images, you must force the deletion with the force parameter. // +// * KmsException +// The operation failed due to a KMS exception. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteRepository func (c *ECR) DeleteRepository(input *DeleteRepositoryInput) (*DeleteRepositoryOutput, error) { req, out := c.DeleteRepositoryRequest(input) @@ -1831,6 +1839,9 @@ func (c *ECR) InitiateLayerUploadRequest(input *InitiateLayerUploadInput) (req * // The specified repository could not be found. Check the spelling of the specified // repository and ensure that you are performing operations on the correct registry. // +// * KmsException +// The operation failed due to a KMS exception. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/InitiateLayerUpload func (c *ECR) InitiateLayerUpload(input *InitiateLayerUploadInput) (*InitiateLayerUploadOutput, error) { req, out := c.InitiateLayerUploadRequest(input) @@ -2178,14 +2189,20 @@ func (c *ECR) PutImageRequest(input *PutImageInput) (req *request.Request, outpu // // * LimitExceededException // The operation did not succeed because it would have exceeded a service limit -// for your account. For more information, see Amazon ECR Default Service Limits -// (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service_limits.html) +// for your account. For more information, see Amazon ECR Service Quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html) // in the Amazon Elastic Container Registry User Guide. // // * ImageTagAlreadyExistsException // The specified image is tagged with a tag that already exists. The repository // is configured for tag immutability. // +// * ImageDigestDoesNotMatchException +// The specified image digest does not match the digest that Amazon ECR calculated +// for the image. +// +// * KmsException +// The operation failed due to a KMS exception. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutImage func (c *ECR) PutImage(input *PutImageInput) (*PutImageOutput, error) { req, out := c.PutImageRequest(input) @@ -2517,7 +2534,7 @@ func (c *ECR) SetRepositoryPolicyRequest(input *SetRepositoryPolicyInput) (req * // SetRepositoryPolicy API operation for Amazon EC2 Container Registry. // // Applies a repository policy to the specified repository to control access -// permissions. For more information, see Amazon ECR Repository Policies (https://docs.aws.amazon.com/AmazonECR/latest/userguide/RepositoryPolicies.html) +// permissions. For more information, see Amazon ECR Repository Policies (https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policies.html) // in the Amazon Elastic Container Registry User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2630,8 +2647,7 @@ func (c *ECR) StartImageScanRequest(input *StartImageScanInput) (req *request.Re // // * LimitExceededException // The operation did not succeed because it would have exceeded a service limit -// for your account. For more information, see Amazon ECR Default Service Limits -// (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service_limits.html) +// for your account. For more information, see Amazon ECR Service Quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html) // in the Amazon Elastic Container Registry User Guide. // // * RepositoryNotFoundException @@ -2734,8 +2750,8 @@ func (c *ECR) StartLifecyclePolicyPreviewRequest(input *StartLifecyclePolicyPrev // The lifecycle policy could not be found, and no policy is set to the repository. // // * LifecyclePolicyPreviewInProgressException -// The previous lifecycle policy preview request has not completed. Please try -// again later. +// The previous lifecycle policy preview request has not completed. Wait and +// try again. // // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartLifecyclePolicyPreview func (c *ECR) StartLifecyclePolicyPreview(input *StartLifecyclePolicyPreviewInput) (*StartLifecyclePolicyPreviewOutput, error) { @@ -3032,15 +3048,17 @@ func (c *ECR) UploadLayerPartRequest(input *UploadLayerPartInput) (req *request. // repository and ensure that you are performing operations on the correct registry. // // * UploadNotFoundException -// The upload could not be found, or the specified upload id is not valid for +// The upload could not be found, or the specified upload ID is not valid for // this repository. // // * LimitExceededException // The operation did not succeed because it would have exceeded a service limit -// for your account. For more information, see Amazon ECR Default Service Limits -// (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service_limits.html) +// for your account. For more information, see Amazon ECR Service Quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html) // in the Amazon Elastic Container Registry User Guide. // +// * KmsException +// The operation failed due to a KMS exception. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UploadLayerPart func (c *ECR) UploadLayerPart(input *UploadLayerPartInput) (*UploadLayerPartOutput, error) { req, out := c.UploadLayerPartRequest(input) @@ -3621,9 +3639,12 @@ func (s *CompleteLayerUploadOutput) SetUploadId(v string) *CompleteLayerUploadOu type CreateRepositoryInput struct { _ struct{} `type:"structure"` - // The image scanning configuration for the repository. This setting determines - // whether images are scanned for known vulnerabilities after being pushed to - // the repository. + // The encryption configuration for the repository. This determines how the + // contents of your repository are encrypted at rest. + EncryptionConfiguration *EncryptionConfiguration `locationName:"encryptionConfiguration" type:"structure"` + + // The image scanning configuration for the repository. This determines whether + // images are scanned for known vulnerabilities after being pushed to the repository. ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"` // The tag mutability setting for the repository. If this parameter is omitted, @@ -3665,6 +3686,11 @@ func (s *CreateRepositoryInput) Validate() error { if s.RepositoryName != nil && len(*s.RepositoryName) < 2 { invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 2)) } + if s.EncryptionConfiguration != nil { + if err := s.EncryptionConfiguration.Validate(); err != nil { + invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3672,6 +3698,12 @@ func (s *CreateRepositoryInput) Validate() error { return nil } +// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. +func (s *CreateRepositoryInput) SetEncryptionConfiguration(v *EncryptionConfiguration) *CreateRepositoryInput { + s.EncryptionConfiguration = v + return s +} + // SetImageScanningConfiguration sets the ImageScanningConfiguration field's value. func (s *CreateRepositoryInput) SetImageScanningConfiguration(v *ImageScanningConfiguration) *CreateRepositoryInput { s.ImageScanningConfiguration = v @@ -4522,6 +4554,87 @@ func (s *EmptyUploadException) RequestID() string { return s.RespMetadata.RequestID } +// The encryption configuration for the repository. This determines how the +// contents of your repository are encrypted at rest. +// +// By default, when no encryption configuration is set or the AES256 encryption +// type is used, Amazon ECR uses server-side encryption with Amazon S3-managed +// encryption keys which encrypts your data at rest using an AES-256 encryption +// algorithm. This does not require any action on your part. +// +// For more control over the encryption of the contents of your repository, +// you can use server-side encryption with customer master keys (CMKs) stored +// in AWS Key Management Service (AWS KMS) to encrypt your images. For more +// information, see Amazon ECR encryption at rest (https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html) +// in the Amazon Elastic Container Registry User Guide. +type EncryptionConfiguration struct { + _ struct{} `type:"structure"` + + // The encryption type to use. + // + // If you use the KMS encryption type, the contents of the repository will be + // encrypted using server-side encryption with customer master keys (CMKs) stored + // in AWS KMS. When you use AWS KMS to encrypt your data, you can either use + // the default AWS managed CMK for Amazon ECR, or specify your own CMK, which + // you already created. For more information, see Protecting Data Using Server-Side + // Encryption with CMKs Stored in AWS Key Management Service (SSE-KMS) (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) + // in the Amazon Simple Storage Service Console Developer Guide.. + // + // If you use the AES256 encryption type, Amazon ECR uses server-side encryption + // with Amazon S3-managed encryption keys which encrypts the images in the repository + // using an AES-256 encryption algorithm. For more information, see Protecting + // Data Using Server-Side Encryption with Amazon S3-Managed Encryption Keys + // (SSE-S3) (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) + // in the Amazon Simple Storage Service Console Developer Guide.. + // + // EncryptionType is a required field + EncryptionType *string `locationName:"encryptionType" type:"string" required:"true" enum:"EncryptionType"` + + // If you use the KMS encryption type, specify the CMK to use for encryption. + // The alias, key ID, or full ARN of the CMK can be specified. The key must + // exist in the same Region as the repository. If no key is specified, the default + // AWS managed CMK for Amazon ECR will be used. + KmsKey *string `locationName:"kmsKey" min:"1" type:"string"` +} + +// String returns the string representation +func (s EncryptionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EncryptionConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EncryptionConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EncryptionConfiguration"} + if s.EncryptionType == nil { + invalidParams.Add(request.NewErrParamRequired("EncryptionType")) + } + if s.KmsKey != nil && len(*s.KmsKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncryptionType sets the EncryptionType field's value. +func (s *EncryptionConfiguration) SetEncryptionType(v string) *EncryptionConfiguration { + s.EncryptionType = &v + return s +} + +// SetKmsKey sets the KmsKey field's value. +func (s *EncryptionConfiguration) SetKmsKey(v string) *EncryptionConfiguration { + s.KmsKey = &v + return s +} + type GetAuthorizationTokenInput struct { _ struct{} `type:"structure"` @@ -5080,6 +5193,9 @@ type Image struct { // The image manifest associated with the image. ImageManifest *string `locationName:"imageManifest" min:"1" type:"string"` + // The media type associated with the image manifest. + ImageManifestMediaType *string `locationName:"imageManifestMediaType" type:"string"` + // The AWS account ID associated with the registry containing the image. RegistryId *string `locationName:"registryId" type:"string"` @@ -5109,6 +5225,12 @@ func (s *Image) SetImageManifest(v string) *Image { return s } +// SetImageManifestMediaType sets the ImageManifestMediaType field's value. +func (s *Image) SetImageManifestMediaType(v string) *Image { + s.ImageManifestMediaType = &v + return s +} + // SetRegistryId sets the RegistryId field's value. func (s *Image) SetRegistryId(v string) *Image { s.RegistryId = &v @@ -5275,6 +5397,63 @@ func (s *ImageDetail) SetRepositoryName(v string) *ImageDetail { return s } +// The specified image digest does not match the digest that Amazon ECR calculated +// for the image. +type ImageDigestDoesNotMatchException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ImageDigestDoesNotMatchException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImageDigestDoesNotMatchException) GoString() string { + return s.String() +} + +func newErrorImageDigestDoesNotMatchException(v protocol.ResponseMetadata) error { + return &ImageDigestDoesNotMatchException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ImageDigestDoesNotMatchException) Code() string { + return "ImageDigestDoesNotMatchException" +} + +// Message returns the exception's message. +func (s *ImageDigestDoesNotMatchException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ImageDigestDoesNotMatchException) OrigErr() error { + return nil +} + +func (s *ImageDigestDoesNotMatchException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ImageDigestDoesNotMatchException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ImageDigestDoesNotMatchException) RequestID() string { + return s.RespMetadata.RequestID +} + // An object representing an Amazon ECR image failure. type ImageFailure struct { _ struct{} `type:"structure"` @@ -6020,6 +6199,65 @@ func (s *InvalidTagParameterException) RequestID() string { return s.RespMetadata.RequestID } +// The operation failed due to a KMS exception. +type KmsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // The error code returned by AWS KMS. + KmsError *string `locationName:"kmsError" type:"string"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s KmsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KmsException) GoString() string { + return s.String() +} + +func newErrorKmsException(v protocol.ResponseMetadata) error { + return &KmsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *KmsException) Code() string { + return "KmsException" +} + +// Message returns the exception's message. +func (s *KmsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *KmsException) OrigErr() error { + return nil +} + +func (s *KmsException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *KmsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *KmsException) RequestID() string { + return s.RespMetadata.RequestID +} + // An object representing an Amazon ECR image layer. type Layer struct { _ struct{} `type:"structure"` @@ -6424,8 +6662,8 @@ func (s *LifecyclePolicyPreviewFilter) SetTagStatus(v string) *LifecyclePolicyPr return s } -// The previous lifecycle policy preview request has not completed. Please try -// again later. +// The previous lifecycle policy preview request has not completed. Wait and +// try again. type LifecyclePolicyPreviewInProgressException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -6647,8 +6885,7 @@ func (s *LifecyclePolicyRuleAction) SetType(v string) *LifecyclePolicyRuleAction } // The operation did not succeed because it would have exceeded a service limit -// for your account. For more information, see Amazon ECR Default Service Limits -// (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service_limits.html) +// for your account. For more information, see Amazon ECR Service Quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html) // in the Amazon Elastic Container Registry User Guide. type LimitExceededException struct { _ struct{} `type:"structure"` @@ -6925,13 +7162,22 @@ func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput type PutImageInput struct { _ struct{} `type:"structure"` + // The image digest of the image manifest corresponding to the image. + ImageDigest *string `locationName:"imageDigest" type:"string"` + // The image manifest corresponding to the image to be uploaded. // // ImageManifest is a required field ImageManifest *string `locationName:"imageManifest" min:"1" type:"string" required:"true"` + // The media type of the image manifest. If you push an image manifest that + // does not contain the mediaType field, you must specify the imageManifestMediaType + // in the request. + ImageManifestMediaType *string `locationName:"imageManifestMediaType" type:"string"` + // The tag to associate with the image. This parameter is required for images - // that use the Docker Image Manifest V2 Schema 2 or OCI formats. + // that use the Docker Image Manifest V2 Schema 2 or Open Container Initiative + // (OCI) formats. ImageTag *string `locationName:"imageTag" min:"1" type:"string"` // The AWS account ID associated with the registry that contains the repository @@ -6980,12 +7226,24 @@ func (s *PutImageInput) Validate() error { return nil } +// SetImageDigest sets the ImageDigest field's value. +func (s *PutImageInput) SetImageDigest(v string) *PutImageInput { + s.ImageDigest = &v + return s +} + // SetImageManifest sets the ImageManifest field's value. func (s *PutImageInput) SetImageManifest(v string) *PutImageInput { s.ImageManifest = &v return s } +// SetImageManifestMediaType sets the ImageManifestMediaType field's value. +func (s *PutImageInput) SetImageManifestMediaType(v string) *PutImageInput { + s.ImageManifestMediaType = &v + return s +} + // SetImageTag sets the ImageTag field's value. func (s *PutImageInput) SetImageTag(v string) *PutImageInput { s.ImageTag = &v @@ -7418,6 +7676,10 @@ type Repository struct { // The date and time, in JavaScript date format, when the repository was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + // The encryption configuration for the repository. This determines how the + // contents of your repository are encrypted at rest. + EncryptionConfiguration *EncryptionConfiguration `locationName:"encryptionConfiguration" type:"structure"` + // The image scanning configuration for a repository. ImageScanningConfiguration *ImageScanningConfiguration `locationName:"imageScanningConfiguration" type:"structure"` @@ -7436,8 +7698,8 @@ type Repository struct { // The name of the repository. RepositoryName *string `locationName:"repositoryName" min:"2" type:"string"` - // The URI for the repository. You can use this URI for Docker push or pull - // operations. + // The URI for the repository. You can use this URI for container image push + // and pull operations. RepositoryUri *string `locationName:"repositoryUri" type:"string"` } @@ -7457,6 +7719,12 @@ func (s *Repository) SetCreatedAt(v time.Time) *Repository { return s } +// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. +func (s *Repository) SetEncryptionConfiguration(v *EncryptionConfiguration) *Repository { + s.EncryptionConfiguration = v + return s +} + // SetImageScanningConfiguration sets the ImageScanningConfiguration field's value. func (s *Repository) SetImageScanningConfiguration(v *ImageScanningConfiguration) *Repository { s.ImageScanningConfiguration = v @@ -7847,7 +8115,7 @@ type SetRepositoryPolicyInput struct { Force *bool `locationName:"force" type:"boolean"` // The JSON repository policy text to apply to the repository. For more information, - // see Amazon ECR Repository Policy Examples (https://docs.aws.amazon.com/AmazonECR/latest/userguide/RepositoryPolicyExamples.html) + // see Amazon ECR Repository Policies (https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policy-examples.html) // in the Amazon Elastic Container Registry User Guide. // // PolicyText is a required field @@ -8489,12 +8757,14 @@ type UploadLayerPartInput struct { // LayerPartBlob is a required field LayerPartBlob []byte `locationName:"layerPartBlob" type:"blob" required:"true"` - // The integer value of the first byte of the layer part. + // The position of the first byte of the layer part witin the overall image + // layer. // // PartFirstByte is a required field PartFirstByte *int64 `locationName:"partFirstByte" type:"long" required:"true"` - // The integer value of the last byte of the layer part. + // The position of the last byte of the layer part within the overall image + // layer. // // PartLastByte is a required field PartLastByte *int64 `locationName:"partLastByte" type:"long" required:"true"` @@ -8639,7 +8909,7 @@ func (s *UploadLayerPartOutput) SetUploadId(v string) *UploadLayerPartOutput { return s } -// The upload could not be found, or the specified upload id is not valid for +// The upload could not be found, or the specified upload ID is not valid for // this repository. type UploadNotFoundException struct { _ struct{} `type:"structure"` @@ -8697,6 +8967,14 @@ func (s *UploadNotFoundException) RequestID() string { return s.RespMetadata.RequestID } +const ( + // EncryptionTypeAes256 is a EncryptionType enum value + EncryptionTypeAes256 = "AES256" + + // EncryptionTypeKms is a EncryptionType enum value + EncryptionTypeKms = "KMS" +) + const ( // FindingSeverityInformational is a FindingSeverity enum value FindingSeverityInformational = "INFORMATIONAL" @@ -8740,6 +9018,9 @@ const ( // ImageFailureCodeImageReferencedByManifestList is a ImageFailureCode enum value ImageFailureCodeImageReferencedByManifestList = "ImageReferencedByManifestList" + + // ImageFailureCodeKmsError is a ImageFailureCode enum value + ImageFailureCodeKmsError = "KmsError" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go b/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go index d970974bcda..3c3843ae3e5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go @@ -3,12 +3,13 @@ // Package ecr provides the client and types for making API // requests to Amazon EC2 Container Registry. // -// Amazon Elastic Container Registry (Amazon ECR) is a managed Docker registry -// service. Customers can use the familiar Docker CLI to push, pull, and manage -// images. Amazon ECR provides a secure, scalable, and reliable registry. Amazon -// ECR supports private Docker repositories with resource-based permissions +// Amazon Elastic Container Registry (Amazon ECR) is a managed container image +// registry service. Customers can use the familiar Docker CLI, or their preferred +// client, to push, pull, and manage images. Amazon ECR provides a secure, scalable, +// and reliable registry for your Docker or Open Container Initiative (OCI) +// images. Amazon ECR supports private repositories with resource-based permissions // using IAM so that specific users or Amazon EC2 instances can access repositories -// and images. Developers can use the Docker CLI to author and manage images. +// and images. // // See https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go b/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go index c4e9b4013b4..8191013264f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go @@ -21,6 +21,13 @@ const ( // the manifest or image tag after the last push. ErrCodeImageAlreadyExistsException = "ImageAlreadyExistsException" + // ErrCodeImageDigestDoesNotMatchException for service response error code + // "ImageDigestDoesNotMatchException". + // + // The specified image digest does not match the digest that Amazon ECR calculated + // for the image. + ErrCodeImageDigestDoesNotMatchException = "ImageDigestDoesNotMatchException" + // ErrCodeImageNotFoundException for service response error code // "ImageNotFoundException". // @@ -63,6 +70,12 @@ const ( // characters. ErrCodeInvalidTagParameterException = "InvalidTagParameterException" + // ErrCodeKmsException for service response error code + // "KmsException". + // + // The operation failed due to a KMS exception. + ErrCodeKmsException = "KmsException" + // ErrCodeLayerAlreadyExistsException for service response error code // "LayerAlreadyExistsException". // @@ -98,8 +111,8 @@ const ( // ErrCodeLifecyclePolicyPreviewInProgressException for service response error code // "LifecyclePolicyPreviewInProgressException". // - // The previous lifecycle policy preview request has not completed. Please try - // again later. + // The previous lifecycle policy preview request has not completed. Wait and + // try again. ErrCodeLifecyclePolicyPreviewInProgressException = "LifecyclePolicyPreviewInProgressException" // ErrCodeLifecyclePolicyPreviewNotFoundException for service response error code @@ -112,8 +125,7 @@ const ( // "LimitExceededException". // // The operation did not succeed because it would have exceeded a service limit - // for your account. For more information, see Amazon ECR Default Service Limits - // (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service_limits.html) + // for your account. For more information, see Amazon ECR Service Quotas (https://docs.aws.amazon.com/AmazonECR/latest/userguide/service-quotas.html) // in the Amazon Elastic Container Registry User Guide. ErrCodeLimitExceededException = "LimitExceededException" @@ -179,7 +191,7 @@ const ( // ErrCodeUploadNotFoundException for service response error code // "UploadNotFoundException". // - // The upload could not be found, or the specified upload id is not valid for + // The upload could not be found, or the specified upload ID is not valid for // this repository. ErrCodeUploadNotFoundException = "UploadNotFoundException" ) @@ -187,12 +199,14 @@ const ( var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "EmptyUploadException": newErrorEmptyUploadException, "ImageAlreadyExistsException": newErrorImageAlreadyExistsException, + "ImageDigestDoesNotMatchException": newErrorImageDigestDoesNotMatchException, "ImageNotFoundException": newErrorImageNotFoundException, "ImageTagAlreadyExistsException": newErrorImageTagAlreadyExistsException, "InvalidLayerException": newErrorInvalidLayerException, "InvalidLayerPartException": newErrorInvalidLayerPartException, "InvalidParameterException": newErrorInvalidParameterException, "InvalidTagParameterException": newErrorInvalidTagParameterException, + "KmsException": newErrorKmsException, "LayerAlreadyExistsException": newErrorLayerAlreadyExistsException, "LayerInaccessibleException": newErrorLayerInaccessibleException, "LayerPartTooSmallException": newErrorLayerPartTooSmallException, diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go b/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go index 533e5460c24..0838f1be037 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecs/api.go @@ -89,6 +89,13 @@ func (c *ECS) CreateCapacityProviderRequest(input *CreateCapacityProviderInput) // * LimitExceededException // The limit for the resource has been exceeded. // +// * UpdateInProgressException +// There is already a current Amazon ECS container agent update in progress +// on the specified container instance. If the container agent becomes disconnected +// while it is in a transitional stage, such as PENDING or STAGING, the update +// process can get stuck in that state. However, when the agent reconnects, +// it resumes where it stopped previously. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCapacityProvider func (c *ECS) CreateCapacityProvider(input *CreateCapacityProviderInput) (*CreateCapacityProviderOutput, error) { req, out := c.CreateCapacityProviderRequest(input) @@ -708,6 +715,108 @@ func (c *ECS) DeleteAttributesWithContext(ctx aws.Context, input *DeleteAttribut return out, req.Send() } +const opDeleteCapacityProvider = "DeleteCapacityProvider" + +// DeleteCapacityProviderRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCapacityProvider operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteCapacityProvider for more information on using the DeleteCapacityProvider +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteCapacityProviderRequest method. +// req, resp := client.DeleteCapacityProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCapacityProvider +func (c *ECS) DeleteCapacityProviderRequest(input *DeleteCapacityProviderInput) (req *request.Request, output *DeleteCapacityProviderOutput) { + op := &request.Operation{ + Name: opDeleteCapacityProvider, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteCapacityProviderInput{} + } + + output = &DeleteCapacityProviderOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteCapacityProvider API operation for Amazon EC2 Container Service. +// +// Deletes the specified capacity provider. +// +// The FARGATE and FARGATE_SPOT capacity providers are reserved and cannot be +// deleted. You can disassociate them from a cluster using either the PutClusterCapacityProviders +// API or by deleting the cluster. +// +// Prior to a capacity provider being deleted, the capacity provider must be +// removed from the capacity provider strategy from all services. The UpdateService +// API can be used to remove a capacity provider from a service's capacity provider +// strategy. When updating a service, the forceNewDeployment option can be used +// to ensure that any tasks using the Amazon EC2 instance capacity provided +// by the capacity provider are transitioned to use the capacity from the remaining +// capacity providers. Only capacity providers that are not associated with +// a cluster can be deleted. To remove a capacity provider from a cluster, you +// can either use PutClusterCapacityProviders or delete the cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon EC2 Container Service's +// API operation DeleteCapacityProvider for usage and error information. +// +// Returned Error Types: +// * ServerException +// These errors are usually caused by a server issue. +// +// * ClientException +// These errors are usually caused by a client action, such as using an action +// or resource on behalf of a user that doesn't have permissions to use the +// action or resource, or specifying an identifier that is not valid. +// +// * InvalidParameterException +// The specified parameter is invalid. Review the available parameters for the +// API request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCapacityProvider +func (c *ECS) DeleteCapacityProvider(input *DeleteCapacityProviderInput) (*DeleteCapacityProviderOutput, error) { + req, out := c.DeleteCapacityProviderRequest(input) + return out, req.Send() +} + +// DeleteCapacityProviderWithContext is the same as DeleteCapacityProvider with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCapacityProvider for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ECS) DeleteCapacityProviderWithContext(ctx aws.Context, input *DeleteCapacityProviderInput, opts ...request.Option) (*DeleteCapacityProviderOutput, error) { + req, out := c.DeleteCapacityProviderRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteCluster = "DeleteCluster" // DeleteClusterRequest generates a "aws/request.Request" representing the @@ -6033,7 +6142,8 @@ type CapacityProvider struct { Name *string `locationName:"name" type:"string"` // The current status of the capacity provider. Only capacity providers in an - // ACTIVE state can be used in a cluster. + // ACTIVE state can be used in a cluster. When a capacity provider is successfully + // deleted, it will have an INACTIVE status. Status *string `locationName:"status" type:"string" enum:"CapacityProviderStatus"` // The metadata that you apply to the capacity provider to help you categorize @@ -6063,6 +6173,28 @@ type CapacityProvider struct { // cannot edit or delete tag keys or values with this prefix. Tags with this // prefix do not count against your tags per resource limit. Tags []*Tag `locationName:"tags" type:"list"` + + // The update status of the capacity provider. The following are the possible + // states that will be returned. + // + // DELETE_IN_PROGRESS + // + // The capacity provider is in the process of being deleted. + // + // DELETE_COMPLETE + // + // The capacity provider has been successfully deleted and will have an INACTIVE + // status. + // + // DELETE_FAILED + // + // The capacity provider was unable to be deleted. The update status reason + // will provide further details about why the delete failed. + UpdateStatus *string `locationName:"updateStatus" type:"string" enum:"CapacityProviderUpdateStatus"` + + // The update status reason. This provides further details about the update + // status for the capacity provider. + UpdateStatusReason *string `locationName:"updateStatusReason" type:"string"` } // String returns the string representation @@ -6105,6 +6237,18 @@ func (s *CapacityProvider) SetTags(v []*Tag) *CapacityProvider { return s } +// SetUpdateStatus sets the UpdateStatus field's value. +func (s *CapacityProvider) SetUpdateStatus(v string) *CapacityProvider { + s.UpdateStatus = &v + return s +} + +// SetUpdateStatusReason sets the UpdateStatusReason field's value. +func (s *CapacityProvider) SetUpdateStatusReason(v string) *CapacityProvider { + s.UpdateStatusReason = &v + return s +} + // The details of a capacity provider strategy. type CapacityProviderStrategyItem struct { _ struct{} `type:"structure"` @@ -7060,6 +7204,27 @@ type ContainerDefinition struct { // such as credential data. Environment []*KeyValuePair `locationName:"environment" type:"list"` + // A list of files containing the environment variables to pass to a container. + // This parameter maps to the --env-file option to docker run (https://docs.docker.com/engine/reference/run/). + // + // You can specify up to ten environment files. The file must have a .env file + // extension. Each line in an environment file should contain an environment + // variable in VARIABLE=VALUE format. Lines beginning with # are treated as + // comments and are ignored. For more information on the environment variable + // file syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/). + // + // If there are environment variables specified using the environment parameter + // in a container definition, they take precedence over the variables contained + // within an environment file. If multiple environment files are specified that + // contain the same variable, they are processed from the top down. It is recommended + // to use unique variable names. For more information, see Specifying Environment + // Variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) + // in the Amazon Elastic Container Service Developer Guide. + // + // This field is not valid for containers in tasks using the Fargate launch + // type. + EnvironmentFiles []*EnvironmentFile `locationName:"environmentFiles" type:"list"` + // If the essential parameter of a container is marked as true, and that container // fails or stops for any reason, all other containers that are part of the // task are stopped. If the essential parameter of a container is marked as @@ -7400,8 +7565,9 @@ type ContainerDefinition struct { // namespaced kernel parameters as well as the containers. SystemControls []*SystemControl `locationName:"systemControls" type:"list"` - // A list of ulimits to set in the container. This parameter maps to Ulimits - // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) + // A list of ulimits to set in the container. If a ulimit value is specified + // in a task definition, it will override the default values set by Docker. + // This parameter maps to Ulimits in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). // Valid naming values are displayed in the Ulimit data type. This parameter @@ -7472,6 +7638,16 @@ func (s *ContainerDefinition) Validate() error { } } } + if s.EnvironmentFiles != nil { + for i, v := range s.EnvironmentFiles { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentFiles", i), err.(request.ErrInvalidParams)) + } + } + } if s.ExtraHosts != nil { for i, v := range s.ExtraHosts { if v == nil { @@ -7604,6 +7780,12 @@ func (s *ContainerDefinition) SetEnvironment(v []*KeyValuePair) *ContainerDefini return s } +// SetEnvironmentFiles sets the EnvironmentFiles field's value. +func (s *ContainerDefinition) SetEnvironmentFiles(v []*EnvironmentFile) *ContainerDefinition { + s.EnvironmentFiles = v + return s +} + // SetEssential sets the Essential field's value. func (s *ContainerDefinition) SetEssential(v bool) *ContainerDefinition { s.Essential = &v @@ -8119,6 +8301,10 @@ type ContainerOverride struct { // You must also specify a container name. Environment []*KeyValuePair `locationName:"environment" type:"list"` + // A list of files containing the environment variables to pass to a container, + // instead of the value from the container definition. + EnvironmentFiles []*EnvironmentFile `locationName:"environmentFiles" type:"list"` + // The hard limit (in MiB) of memory to present to the container, instead of // the default value from the task definition. If your container attempts to // exceed the memory specified here, the container is killed. You must also @@ -8153,6 +8339,16 @@ func (s ContainerOverride) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ContainerOverride) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ContainerOverride"} + if s.EnvironmentFiles != nil { + for i, v := range s.EnvironmentFiles { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentFiles", i), err.(request.ErrInvalidParams)) + } + } + } if s.ResourceRequirements != nil { for i, v := range s.ResourceRequirements { if v == nil { @@ -8188,6 +8384,12 @@ func (s *ContainerOverride) SetEnvironment(v []*KeyValuePair) *ContainerOverride return s } +// SetEnvironmentFiles sets the EnvironmentFiles field's value. +func (s *ContainerOverride) SetEnvironmentFiles(v []*EnvironmentFile) *ContainerOverride { + s.EnvironmentFiles = v + return s +} + // SetMemory sets the Memory field's value. func (s *ContainerOverride) SetMemory(v int64) *ContainerOverride { s.Memory = &v @@ -9492,6 +9694,68 @@ func (s *DeleteAttributesOutput) SetAttributes(v []*Attribute) *DeleteAttributes return s } +type DeleteCapacityProviderInput struct { + _ struct{} `type:"structure"` + + // The short name or full Amazon Resource Name (ARN) of the capacity provider + // to delete. + // + // CapacityProvider is a required field + CapacityProvider *string `locationName:"capacityProvider" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteCapacityProviderInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCapacityProviderInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCapacityProviderInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCapacityProviderInput"} + if s.CapacityProvider == nil { + invalidParams.Add(request.NewErrParamRequired("CapacityProvider")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCapacityProvider sets the CapacityProvider field's value. +func (s *DeleteCapacityProviderInput) SetCapacityProvider(v string) *DeleteCapacityProviderInput { + s.CapacityProvider = &v + return s +} + +type DeleteCapacityProviderOutput struct { + _ struct{} `type:"structure"` + + // The details of a capacity provider. + CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` +} + +// String returns the string representation +func (s DeleteCapacityProviderOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteCapacityProviderOutput) GoString() string { + return s.String() +} + +// SetCapacityProvider sets the CapacityProvider field's value. +func (s *DeleteCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *DeleteCapacityProviderOutput { + s.CapacityProvider = v + return s +} + type DeleteClusterInput struct { _ struct{} `type:"structure"` @@ -11219,6 +11483,76 @@ func (s *EFSVolumeConfiguration) SetTransitEncryptionPort(v int64) *EFSVolumeCon return s } +// A list of files containing the environment variables to pass to a container. +// You can specify up to ten environment files. The file must have a .env file +// extension. Each line in an environment file should contain an environment +// variable in VARIABLE=VALUE format. Lines beginning with # are treated as +// comments and are ignored. For more information on the environment variable +// file syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/). +// +// If there are environment variables specified using the environment parameter +// in a container definition, they take precedence over the variables contained +// within an environment file. If multiple environment files are specified that +// contain the same variable, they are processed from the top down. It is recommended +// to use unique variable names. For more information, see Specifying Environment +// Variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) +// in the Amazon Elastic Container Service Developer Guide. +// +// This field is not valid for containers in tasks using the Fargate launch +// type. +type EnvironmentFile struct { + _ struct{} `type:"structure"` + + // The file type to use. The only supported value is s3. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"EnvironmentFileType"` + + // The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment + // variable file. + // + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true"` +} + +// String returns the string representation +func (s EnvironmentFile) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnvironmentFile) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnvironmentFile) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnvironmentFile"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetType sets the Type field's value. +func (s *EnvironmentFile) SetType(v string) *EnvironmentFile { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *EnvironmentFile) SetValue(v string) *EnvironmentFile { + s.Value = &v + return s +} + // A failed resource. type Failure struct { _ struct{} `type:"structure"` @@ -11715,8 +12049,9 @@ type KernelCapabilities struct { // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) // and the --cap-add option to docker run (https://docs.docker.com/engine/reference/run/). // - // If you are using tasks that use the Fargate launch type, the add parameter - // is not supported. + // The SYS_PTRACE capability is supported for tasks that use the Fargate launch + // type if they are also using platform version 1.4.0. The other capabilities + // are not supported for any platform versions. // // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" @@ -11865,8 +12200,9 @@ type LinuxParameters struct { // The Linux capabilities for the container that are added to or dropped from // the default configuration provided by Docker. // - // If you are using tasks that use the Fargate launch type, capabilities is - // supported but the add parameter is not supported. + // For tasks that use the Fargate launch type, capabilities is supported for + // all platform versions but the add parameter is only supported if using platform + // version 1.4.0 or later. Capabilities *KernelCapabilities `locationName:"capabilities" type:"structure"` // Any host devices to expose to the container. This parameter maps to Devices @@ -12028,7 +12364,7 @@ type ListAccountSettingsInput struct { // returns up to 10 results and a nextToken value if applicable. MaxResults *int64 `locationName:"maxResults" type:"integer"` - // The resource name you want to list the account settings for. + // The name of the account setting you want to list the settings for. Name *string `locationName:"name" type:"string" enum:"SettingName"` // The nextToken value returned from a ListAccountSettings request indicating @@ -14692,8 +15028,11 @@ type RegisterTaskDefinitionInput struct { // (30 GB) in increments of 1024 (1 GB) Cpu *string `locationName:"cpu" type:"string"` - // The Amazon Resource Name (ARN) of the task execution role that the Amazon - // ECS container agent and the Docker daemon can assume. + // The Amazon Resource Name (ARN) of the task execution role that grants the + // Amazon ECS container agent permission to make AWS API calls on your behalf. + // The task execution IAM role is required depending on the requirements of + // your task. For more information, see Amazon ECS task execution IAM role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) + // in the Amazon Elastic Container Service Developer Guide. ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` // You must specify a family for a task definition, which allows you to track @@ -17872,9 +18211,11 @@ type TaskDefinition struct { // (30 GB) in increments of 1024 (1 GB) Cpu *string `locationName:"cpu" type:"string"` - // The Amazon Resource Name (ARN) of the task execution role that containers - // in this task can assume. All containers in this task are granted the permissions - // that are specified in this role. + // The Amazon Resource Name (ARN) of the task execution role that grants the + // Amazon ECS container agent permission to make AWS API calls on your behalf. + // The task execution IAM role is required depending on the requirements of + // your task. For more information, see Amazon ECS task execution IAM role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) + // in the Amazon Elastic Container Service Developer Guide. ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` // The name of a family that this task definition is registered to. Up to 255 @@ -18237,8 +18578,8 @@ type TaskOverride struct { // The cpu override for the task. Cpu *string `locationName:"cpu" type:"string"` - // The Amazon Resource Name (ARN) of the task execution role that the Amazon - // ECS container agent and the Docker daemon can assume. + // The Amazon Resource Name (ARN) of the task execution IAM role override for + // the task. ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` // The Elastic Inference accelerator override for the task. @@ -19737,10 +20078,11 @@ func (s *VersionInfo) SetDockerVersion(v string) *VersionInfo { return s } -// A data volume used in a task definition. For tasks that use a Docker volume, -// specify a DockerVolumeConfiguration. For tasks that use a bind mount host -// volume, specify a host and optional sourcePath. For more information, see -// Using Data Volumes in Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html). +// A data volume used in a task definition. For tasks that use Amazon Elastic +// File System (Amazon EFS) file storage, specify an efsVolumeConfiguration. +// For tasks that use a Docker volume, specify a DockerVolumeConfiguration. +// For tasks that use a bind mount host volume, specify a host and optional +// sourcePath. For more information, see Using Data Volumes in Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html). type Volume struct { _ struct{} `type:"structure"` @@ -19751,23 +20093,15 @@ type Volume struct { DockerVolumeConfiguration *DockerVolumeConfiguration `locationName:"dockerVolumeConfiguration" type:"structure"` // This parameter is specified when you are using an Amazon Elastic File System - // (Amazon EFS) file storage. Amazon EFS file systems are only supported when - // you are using the EC2 launch type. - // - // EFSVolumeConfiguration remains in preview and is a Beta Service as defined - // by and subject to the Beta Service Participation Service Terms located at - // https://aws.amazon.com/service-terms (https://aws.amazon.com/service-terms) - // ("Beta Terms"). These Beta Terms apply to your participation in this preview - // of EFSVolumeConfiguration. + // file system for task storage. EfsVolumeConfiguration *EFSVolumeConfiguration `locationName:"efsVolumeConfiguration" type:"structure"` - // This parameter is specified when you are using bind mount host volumes. Bind - // mount host volumes are supported when you are using either the EC2 or Fargate - // launch types. The contents of the host parameter determine whether your bind - // mount host volume persists on the host container instance and where it is - // stored. If the host parameter is empty, then the Docker daemon assigns a - // host path for your data volume. However, the data is not guaranteed to persist - // after the containers associated with it stop running. + // This parameter is specified when you are using bind mount host volumes. The + // contents of the host parameter determine whether your bind mount host volume + // persists on the host container instance and where it is stored. If the host + // parameter is empty, then the Docker daemon assigns a host path for your data + // volume. However, the data is not guaranteed to persist after the containers + // associated with it stop running. // // Windows containers can mount whole directories on the same drive as $env:ProgramData. // Windows containers cannot mount directories on a different drive, and mount @@ -19902,6 +20236,20 @@ const ( const ( // CapacityProviderStatusActive is a CapacityProviderStatus enum value CapacityProviderStatusActive = "ACTIVE" + + // CapacityProviderStatusInactive is a CapacityProviderStatus enum value + CapacityProviderStatusInactive = "INACTIVE" +) + +const ( + // CapacityProviderUpdateStatusDeleteInProgress is a CapacityProviderUpdateStatus enum value + CapacityProviderUpdateStatusDeleteInProgress = "DELETE_IN_PROGRESS" + + // CapacityProviderUpdateStatusDeleteComplete is a CapacityProviderUpdateStatus enum value + CapacityProviderUpdateStatusDeleteComplete = "DELETE_COMPLETE" + + // CapacityProviderUpdateStatusDeleteFailed is a CapacityProviderUpdateStatus enum value + CapacityProviderUpdateStatusDeleteFailed = "DELETE_FAILED" ) const ( @@ -20024,6 +20372,11 @@ const ( EFSTransitEncryptionDisabled = "DISABLED" ) +const ( + // EnvironmentFileTypeS3 is a EnvironmentFileType enum value + EnvironmentFileTypeS3 = "s3" +) + const ( // FirelensConfigurationTypeFluentd is a FirelensConfigurationType enum value FirelensConfigurationTypeFluentd = "fluentd" diff --git a/vendor/github.com/aws/aws-sdk-go/service/efs/api.go b/vendor/github.com/aws/aws-sdk-go/service/efs/api.go index c2bb5354400..f194fbcefb7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/efs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/efs/api.go @@ -85,6 +85,9 @@ func (c *EFS) CreateAccessPointRequest(input *CreateAccessPointInput) (req *requ // Returned if the access point you are trying to create already exists, with // the creation token you provided in the request. // +// * IncorrectFileSystemLifeCycleState +// Returned if the file system's lifecycle state is not "available". +// // * InternalServerError // Returned if an error occurred on the server side. // @@ -1248,6 +1251,101 @@ func (c *EFS) DescribeAccessPointsPagesWithContext(ctx aws.Context, input *Descr return p.Err() } +const opDescribeBackupPolicy = "DescribeBackupPolicy" + +// DescribeBackupPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBackupPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeBackupPolicy for more information on using the DescribeBackupPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeBackupPolicyRequest method. +// req, resp := client.DescribeBackupPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeBackupPolicy +func (c *EFS) DescribeBackupPolicyRequest(input *DescribeBackupPolicyInput) (req *request.Request, output *DescribeBackupPolicyOutput) { + op := &request.Operation{ + Name: opDescribeBackupPolicy, + HTTPMethod: "GET", + HTTPPath: "/2015-02-01/file-systems/{FileSystemId}/backup-policy", + } + + if input == nil { + input = &DescribeBackupPolicyInput{} + } + + output = &DescribeBackupPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeBackupPolicy API operation for Amazon Elastic File System. +// +// Returns the backup policy for the specified EFS file system. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation DescribeBackupPolicy for usage and error information. +// +// Returned Error Types: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * FileSystemNotFound +// Returned if the specified FileSystemId value doesn't exist in the requester's +// AWS account. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * PolicyNotFound +// Returned if the default file system policy is in effect for the EFS file +// system specified. +// +// * ValidationException +// Returned if the AWS Backup service is not available in the region that the +// request was made. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeBackupPolicy +func (c *EFS) DescribeBackupPolicy(input *DescribeBackupPolicyInput) (*DescribeBackupPolicyOutput, error) { + req, out := c.DescribeBackupPolicyRequest(input) + return out, req.Send() +} + +// DescribeBackupPolicyWithContext is the same as DescribeBackupPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeBackupPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EFS) DescribeBackupPolicyWithContext(ctx aws.Context, input *DescribeBackupPolicyInput, opts ...request.Option) (*DescribeBackupPolicyOutput, error) { + req, out := c.DescribeBackupPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeFileSystemPolicy = "DescribeFileSystemPolicy" // DescribeFileSystemPolicyRequest generates a "aws/request.Request" representing the @@ -2231,6 +2329,101 @@ func (c *EFS) ModifyMountTargetSecurityGroupsWithContext(ctx aws.Context, input return out, req.Send() } +const opPutBackupPolicy = "PutBackupPolicy" + +// PutBackupPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutBackupPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutBackupPolicy for more information on using the PutBackupPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutBackupPolicyRequest method. +// req, resp := client.PutBackupPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutBackupPolicy +func (c *EFS) PutBackupPolicyRequest(input *PutBackupPolicyInput) (req *request.Request, output *PutBackupPolicyOutput) { + op := &request.Operation{ + Name: opPutBackupPolicy, + HTTPMethod: "PUT", + HTTPPath: "/2015-02-01/file-systems/{FileSystemId}/backup-policy", + } + + if input == nil { + input = &PutBackupPolicyInput{} + } + + output = &PutBackupPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutBackupPolicy API operation for Amazon Elastic File System. +// +// Updates the file system's backup policy. Use this action to start or stop +// automatic backups of the file system. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation PutBackupPolicy for usage and error information. +// +// Returned Error Types: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * FileSystemNotFound +// Returned if the specified FileSystemId value doesn't exist in the requester's +// AWS account. +// +// * IncorrectFileSystemLifeCycleState +// Returned if the file system's lifecycle state is not "available". +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * ValidationException +// Returned if the AWS Backup service is not available in the region that the +// request was made. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/PutBackupPolicy +func (c *EFS) PutBackupPolicy(input *PutBackupPolicyInput) (*PutBackupPolicyOutput, error) { + req, out := c.PutBackupPolicyRequest(input) + return out, req.Send() +} + +// PutBackupPolicyWithContext is the same as PutBackupPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutBackupPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EFS) PutBackupPolicyWithContext(ctx aws.Context, input *PutBackupPolicyInput, opts ...request.Option) (*PutBackupPolicyOutput, error) { + req, out := c.PutBackupPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutFileSystemPolicy = "PutFileSystemPolicy" // PutFileSystemPolicyRequest generates a "aws/request.Request" representing the @@ -3037,6 +3230,54 @@ func (s *AccessPointNotFound) RequestID() string { return s.RespMetadata.RequestID } +// The backup policy for the file system, showing the curent status. If ENABLED, +// the file system is being backed up. +type BackupPolicy struct { + _ struct{} `type:"structure"` + + // Describes the status of the file system's backup policy. + // + // * ENABLED - EFS is automatically backing up the file system. + // + // * ENABLING - EFS is turning on automatic backups for the file system. + // + // * DISABLED - automatic back ups are turned off for the file system. + // + // * DISABLED - EFS is turning off automatic backups for the file system. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"Status"` +} + +// String returns the string representation +func (s BackupPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BackupPolicy) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BackupPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BackupPolicy"} + 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 *BackupPolicy) SetStatus(v string) *BackupPolicy { + s.Status = &v + return s +} + // Returned if the request is malformed or contains an error such as an invalid // parameter value or a missing required parameter. type BadRequest struct { @@ -3343,7 +3584,7 @@ type CreateFileSystemInput struct { // // EFS accepts only symmetric CMKs. You cannot use asymmetric CMKs with EFS // file systems. - KmsKeyId *string `min:"1" type:"string"` + KmsKeyId *string `type:"string"` // The performance mode of the file system. We recommend generalPurpose performance // mode for most file systems. File systems using the maxIO performance mode @@ -3392,9 +3633,6 @@ func (s *CreateFileSystemInput) Validate() error { if s.CreationToken != nil && len(*s.CreationToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("CreationToken", 1)) } - if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) - } if s.ProvisionedThroughputInMibps != nil && *s.ProvisionedThroughputInMibps < 1 { invalidParams.Add(request.NewErrParamMinValue("ProvisionedThroughputInMibps", 1)) } @@ -3466,7 +3704,7 @@ type CreateMountTargetInput struct { FileSystemId *string `type:"string" required:"true"` // Valid IPv4 address within the address range of the specified subnet. - IpAddress *string `type:"string"` + IpAddress *string `min:"7" type:"string"` // Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be // for the same VPC as subnet specified. @@ -3475,7 +3713,7 @@ type CreateMountTargetInput struct { // The ID of the subnet to add the mount target in. // // SubnetId is a required field - SubnetId *string `type:"string" required:"true"` + SubnetId *string `min:"15" type:"string" required:"true"` } // String returns the string representation @@ -3494,9 +3732,15 @@ func (s *CreateMountTargetInput) Validate() error { if s.FileSystemId == nil { invalidParams.Add(request.NewErrParamRequired("FileSystemId")) } + if s.IpAddress != nil && len(*s.IpAddress) < 7 { + invalidParams.Add(request.NewErrParamMinLen("IpAddress", 7)) + } if s.SubnetId == nil { invalidParams.Add(request.NewErrParamRequired("SubnetId")) } + if s.SubnetId != nil && len(*s.SubnetId) < 15 { + invalidParams.Add(request.NewErrParamMinLen("SubnetId", 15)) + } if invalidParams.Len() > 0 { return invalidParams @@ -3856,7 +4100,7 @@ type DeleteMountTargetInput struct { // The ID of the mount target to delete (String). // // MountTargetId is a required field - MountTargetId *string `location:"uri" locationName:"MountTargetId" type:"string" required:"true"` + MountTargetId *string `location:"uri" locationName:"MountTargetId" min:"13" type:"string" required:"true"` } // String returns the string representation @@ -3875,8 +4119,8 @@ func (s *DeleteMountTargetInput) Validate() error { if s.MountTargetId == nil { invalidParams.Add(request.NewErrParamRequired("MountTargetId")) } - if s.MountTargetId != nil && len(*s.MountTargetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 1)) + if s.MountTargetId != nil && len(*s.MountTargetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 13)) } if invalidParams.Len() > 0 { @@ -4139,6 +4383,71 @@ func (s *DescribeAccessPointsOutput) SetNextToken(v string) *DescribeAccessPoint return s } +type DescribeBackupPolicyInput struct { + _ struct{} `type:"structure"` + + // Specifies which EFS file system to retrieve the BackupPolicy for. + // + // FileSystemId is a required field + FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeBackupPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBackupPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeBackupPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBackupPolicyInput"} + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) + } + if s.FileSystemId != nil && len(*s.FileSystemId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *DescribeBackupPolicyInput) SetFileSystemId(v string) *DescribeBackupPolicyInput { + s.FileSystemId = &v + return s +} + +type DescribeBackupPolicyOutput struct { + _ struct{} `type:"structure"` + + // Describes the file system's backup policy, indicating whether automatic backups + // are turned on or off.. + BackupPolicy *BackupPolicy `type:"structure"` +} + +// String returns the string representation +func (s DescribeBackupPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeBackupPolicyOutput) GoString() string { + return s.String() +} + +// SetBackupPolicy sets the BackupPolicy field's value. +func (s *DescribeBackupPolicyOutput) SetBackupPolicy(v *BackupPolicy) *DescribeBackupPolicyOutput { + s.BackupPolicy = v + return s +} + type DescribeFileSystemPolicyInput struct { _ struct{} `type:"structure"` @@ -4226,7 +4535,7 @@ type DescribeFileSystemsInput struct { // (Optional) Opaque pagination token returned from a previous DescribeFileSystems // operation (String). If present, specifies to continue the list from where // the returning call had left off. - Marker *string `location:"querystring" locationName:"Marker" type:"string"` + Marker *string `location:"querystring" locationName:"Marker" min:"1" type:"string"` // (Optional) Specifies the maximum number of file systems to return in the // response (integer). This number is automatically set to 100. The response @@ -4250,6 +4559,9 @@ func (s *DescribeFileSystemsInput) Validate() error { if s.CreationToken != nil && len(*s.CreationToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("CreationToken", 1)) } + if s.Marker != nil && len(*s.Marker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) + } if s.MaxItems != nil && *s.MaxItems < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) } @@ -4291,11 +4603,11 @@ type DescribeFileSystemsOutput struct { FileSystems []*FileSystemDescription `type:"list"` // Present if provided by caller in the request (String). - Marker *string `type:"string"` + Marker *string `min:"1" type:"string"` // Present if there are more file systems than returned in the response (String). // You can use the NextMarker in the subsequent request to fetch the descriptions. - NextMarker *string `type:"string"` + NextMarker *string `min:"1" type:"string"` } // String returns the string representation @@ -4398,7 +4710,7 @@ type DescribeMountTargetSecurityGroupsInput struct { // The ID of the mount target whose security groups you want to retrieve. // // MountTargetId is a required field - MountTargetId *string `location:"uri" locationName:"MountTargetId" type:"string" required:"true"` + MountTargetId *string `location:"uri" locationName:"MountTargetId" min:"13" type:"string" required:"true"` } // String returns the string representation @@ -4417,8 +4729,8 @@ func (s *DescribeMountTargetSecurityGroupsInput) Validate() error { if s.MountTargetId == nil { invalidParams.Add(request.NewErrParamRequired("MountTargetId")) } - if s.MountTargetId != nil && len(*s.MountTargetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 1)) + if s.MountTargetId != nil && len(*s.MountTargetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 13)) } if invalidParams.Len() > 0 { @@ -4475,7 +4787,7 @@ type DescribeMountTargetsInput struct { // (Optional) Opaque pagination token returned from a previous DescribeMountTargets // operation (String). If present, it specifies to continue the list from where // the previous returning call left off. - Marker *string `location:"querystring" locationName:"Marker" type:"string"` + Marker *string `location:"querystring" locationName:"Marker" min:"1" type:"string"` // (Optional) Maximum number of mount targets to return in the response. Currently, // this number is automatically set to 10, and other values are ignored. The @@ -4485,7 +4797,7 @@ type DescribeMountTargetsInput struct { // (Optional) ID of the mount target that you want to have described (String). // It must be included in your request if FileSystemId is not included. Accepts // either a mount target ID or ARN as input. - MountTargetId *string `location:"querystring" locationName:"MountTargetId" type:"string"` + MountTargetId *string `location:"querystring" locationName:"MountTargetId" min:"13" type:"string"` } // String returns the string representation @@ -4501,9 +4813,15 @@ func (s DescribeMountTargetsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeMountTargetsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeMountTargetsInput"} + if s.Marker != nil && len(*s.Marker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) + } if s.MaxItems != nil && *s.MaxItems < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) } + if s.MountTargetId != nil && len(*s.MountTargetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 13)) + } if invalidParams.Len() > 0 { return invalidParams @@ -4546,7 +4864,7 @@ type DescribeMountTargetsOutput struct { // If the request included the Marker, the response returns that value in this // field. - Marker *string `type:"string"` + Marker *string `min:"1" type:"string"` // Returns the file system's mount targets as an array of MountTargetDescription // objects. @@ -4555,7 +4873,7 @@ type DescribeMountTargetsOutput struct { // If a value is present, there are more mount targets to return. In a subsequent // request, you can provide Marker in your request with this value to retrieve // the next set of mount targets. - NextMarker *string `type:"string"` + NextMarker *string `min:"1" type:"string"` } // String returns the string representation @@ -4597,7 +4915,7 @@ type DescribeTagsInput struct { // (Optional) An opaque pagination token returned from a previous DescribeTags // operation (String). If present, it specifies to continue the list from where // the previous call left off. - Marker *string `location:"querystring" locationName:"Marker" type:"string"` + Marker *string `location:"querystring" locationName:"Marker" min:"1" type:"string"` // (Optional) The maximum number of file system tags to return in the response. // Currently, this number is automatically set to 100, and other values are @@ -4625,6 +4943,9 @@ func (s *DescribeTagsInput) Validate() error { if s.FileSystemId != nil && len(*s.FileSystemId) < 1 { invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1)) } + if s.Marker != nil && len(*s.Marker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) + } if s.MaxItems != nil && *s.MaxItems < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) } @@ -4658,12 +4979,12 @@ type DescribeTagsOutput struct { // If the request included a Marker, the response returns that value in this // field. - Marker *string `type:"string"` + Marker *string `min:"1" type:"string"` // If a value is present, there are more tags to return. In a subsequent request, // you can provide the value of NextMarker as the value of the Marker parameter // in your next request to retrieve the next set of tags. - NextMarker *string `type:"string"` + NextMarker *string `min:"1" type:"string"` // Returns tags associated with the file system as an array of Tag objects. // @@ -4779,6 +5100,10 @@ type FileSystemDescription struct { // A Boolean value that, if true, indicates that the file system is encrypted. Encrypted *bool `type:"boolean"` + // The Amazon Resource Name (ARN) for the EFS file system, in the format arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id + // . Example with sample data: arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567 + FileSystemArn *string `type:"string"` + // The ID of the file system, assigned by Amazon EFS. // // FileSystemId is a required field @@ -4786,7 +5111,7 @@ type FileSystemDescription struct { // The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) // that was used to protect the encrypted file system. - KmsKeyId *string `min:"1" type:"string"` + KmsKeyId *string `type:"string"` // The lifecycle phase of the file system. // @@ -4878,6 +5203,12 @@ func (s *FileSystemDescription) SetEncrypted(v bool) *FileSystemDescription { return s } +// SetFileSystemArn sets the FileSystemArn field's value. +func (s *FileSystemDescription) SetFileSystemArn(v string) *FileSystemDescription { + s.FileSystemArn = &v + return s +} + // SetFileSystemId sets the FileSystemId field's value. func (s *FileSystemDescription) SetFileSystemId(v string) *FileSystemDescription { s.FileSystemId = &v @@ -5677,7 +6008,7 @@ type ModifyMountTargetSecurityGroupsInput struct { // The ID of the mount target whose security groups you want to modify. // // MountTargetId is a required field - MountTargetId *string `location:"uri" locationName:"MountTargetId" type:"string" required:"true"` + MountTargetId *string `location:"uri" locationName:"MountTargetId" min:"13" type:"string" required:"true"` // An array of up to five VPC security group IDs. SecurityGroups []*string `type:"list"` @@ -5699,8 +6030,8 @@ func (s *ModifyMountTargetSecurityGroupsInput) Validate() error { if s.MountTargetId == nil { invalidParams.Add(request.NewErrParamRequired("MountTargetId")) } - if s.MountTargetId != nil && len(*s.MountTargetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 1)) + if s.MountTargetId != nil && len(*s.MountTargetId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("MountTargetId", 13)) } if invalidParams.Len() > 0 { @@ -5816,7 +6147,7 @@ type MountTargetDescription struct { FileSystemId *string `type:"string" required:"true"` // Address at which the file system can be mounted by using the mount target. - IpAddress *string `type:"string"` + IpAddress *string `min:"7" type:"string"` // Lifecycle state of the mount target. // @@ -5826,7 +6157,7 @@ type MountTargetDescription struct { // System-assigned mount target ID. // // MountTargetId is a required field - MountTargetId *string `type:"string" required:"true"` + MountTargetId *string `min:"13" type:"string" required:"true"` // The ID of the network interface that Amazon EFS created when it created the // mount target. @@ -5838,7 +6169,10 @@ type MountTargetDescription struct { // The ID of the mount target's subnet. // // SubnetId is a required field - SubnetId *string `type:"string" required:"true"` + SubnetId *string `min:"15" type:"string" required:"true"` + + // The Virtual Private Cloud (VPC) ID that the mount target is configured in. + VpcId *string `type:"string"` } // String returns the string representation @@ -5905,6 +6239,12 @@ func (s *MountTargetDescription) SetSubnetId(v string) *MountTargetDescription { return s } +// SetVpcId sets the VpcId field's value. +func (s *MountTargetDescription) SetVpcId(v string) *MountTargetDescription { + s.VpcId = &v + return s +} + // Returned if there is no mount target with the specified ID found in the caller's // account. type MountTargetNotFound struct { @@ -6214,6 +6554,90 @@ func (s *PosixUser) SetUid(v int64) *PosixUser { return s } +type PutBackupPolicyInput struct { + _ struct{} `type:"structure"` + + // The backup policy included in the PutBackupPolicy request. + // + // BackupPolicy is a required field + BackupPolicy *BackupPolicy `type:"structure" required:"true"` + + // Specifies which EFS file system to update the backup policy for. + // + // FileSystemId is a required field + FileSystemId *string `location:"uri" locationName:"FileSystemId" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutBackupPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutBackupPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutBackupPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutBackupPolicyInput"} + if s.BackupPolicy == nil { + invalidParams.Add(request.NewErrParamRequired("BackupPolicy")) + } + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) + } + if s.FileSystemId != nil && len(*s.FileSystemId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 1)) + } + if s.BackupPolicy != nil { + if err := s.BackupPolicy.Validate(); err != nil { + invalidParams.AddNested("BackupPolicy", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupPolicy sets the BackupPolicy field's value. +func (s *PutBackupPolicyInput) SetBackupPolicy(v *BackupPolicy) *PutBackupPolicyInput { + s.BackupPolicy = v + return s +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *PutBackupPolicyInput) SetFileSystemId(v string) *PutBackupPolicyInput { + s.FileSystemId = &v + return s +} + +type PutBackupPolicyOutput struct { + _ struct{} `type:"structure"` + + // Describes the file system's backup policy, indicating whether automatic backups + // are turned on or off.. + BackupPolicy *BackupPolicy `type:"structure"` +} + +// String returns the string representation +func (s PutBackupPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutBackupPolicyOutput) GoString() string { + return s.String() +} + +// SetBackupPolicy sets the BackupPolicy field's value. +func (s *PutBackupPolicyOutput) SetBackupPolicy(v *BackupPolicy) *PutBackupPolicyOutput { + s.BackupPolicy = v + return s +} + type PutFileSystemPolicyInput struct { _ struct{} `type:"structure"` @@ -7119,6 +7543,10 @@ type UpdateFileSystemOutput struct { // A Boolean value that, if true, indicates that the file system is encrypted. Encrypted *bool `type:"boolean"` + // The Amazon Resource Name (ARN) for the EFS file system, in the format arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id + // . Example with sample data: arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567 + FileSystemArn *string `type:"string"` + // The ID of the file system, assigned by Amazon EFS. // // FileSystemId is a required field @@ -7126,7 +7554,7 @@ type UpdateFileSystemOutput struct { // The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) // that was used to protect the encrypted file system. - KmsKeyId *string `min:"1" type:"string"` + KmsKeyId *string `type:"string"` // The lifecycle phase of the file system. // @@ -7218,6 +7646,12 @@ func (s *UpdateFileSystemOutput) SetEncrypted(v bool) *UpdateFileSystemOutput { return s } +// SetFileSystemArn sets the FileSystemArn field's value. +func (s *UpdateFileSystemOutput) SetFileSystemArn(v string) *UpdateFileSystemOutput { + s.FileSystemArn = &v + return s +} + // SetFileSystemId sets the FileSystemId field's value. func (s *UpdateFileSystemOutput) SetFileSystemId(v string) *UpdateFileSystemOutput { s.FileSystemId = &v @@ -7284,6 +7718,66 @@ func (s *UpdateFileSystemOutput) SetThroughputMode(v string) *UpdateFileSystemOu return s } +// Returned if the AWS Backup service is not available in the region that the +// request was made. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // ErrorCode is a required field + ErrorCode *string `min:"1" type:"string" required:"true"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + const ( // LifeCycleStateCreating is a LifeCycleState enum value LifeCycleStateCreating = "creating" @@ -7309,6 +7803,20 @@ const ( PerformanceModeMaxIo = "maxIO" ) +const ( + // StatusEnabled is a Status enum value + StatusEnabled = "ENABLED" + + // StatusEnabling is a Status enum value + StatusEnabling = "ENABLING" + + // StatusDisabled is a Status enum value + StatusDisabled = "DISABLED" + + // StatusDisabling is a Status enum value + StatusDisabling = "DISABLING" +) + const ( // ThroughputModeBursting is a ThroughputMode enum value ThroughputModeBursting = "bursting" diff --git a/vendor/github.com/aws/aws-sdk-go/service/efs/errors.go b/vendor/github.com/aws/aws-sdk-go/service/efs/errors.go index bccb1f84ff2..7e2f36abb24 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/efs/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/efs/errors.go @@ -189,6 +189,13 @@ const ( // ErrCodeUnsupportedAvailabilityZone for service response error code // "UnsupportedAvailabilityZone". ErrCodeUnsupportedAvailabilityZone = "UnsupportedAvailabilityZone" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // Returned if the AWS Backup service is not available in the region that the + // request was made. + ErrCodeValidationException = "ValidationException" ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ @@ -218,4 +225,5 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ThroughputLimitExceeded": newErrorThroughputLimitExceeded, "TooManyRequests": newErrorTooManyRequests, "UnsupportedAvailabilityZone": newErrorUnsupportedAvailabilityZone, + "ValidationException": newErrorValidationException, } diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go index e1e52e34aed..f8ad7ee87e0 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticache/api.go @@ -1089,7 +1089,7 @@ func (c *ElastiCache) CreateGlobalReplicationGroupRequest(input *CreateGlobalRep // reads and disaster recovery across regions. For more information, see Replication // Across Regions Using Global Datastore (/AmazonElastiCache/latest/red-ug/Redis-Global-Clusters.html). // -// * The GlobalReplicationGroupId is the name of the Global Datastore. +// * The GlobalReplicationGroupIdSuffix is the name of the Global Datastore. // // * The PrimaryReplicationGroupId represents the name of the primary cluster // that accepts writes and will replicate updates to the secondary cluster. @@ -1201,11 +1201,9 @@ func (c *ElastiCache) CreateReplicationGroupRequest(input *CreateReplicationGrou // // When a Redis (cluster mode disabled) replication group has been successfully // created, you can add one or more read replicas to it, up to a total of 5 -// read replicas. You cannot alter a Redis (cluster mode enabled) replication -// group after it has been created. However, if you need to increase or decrease -// the number of node groups (console: shards), you can avail yourself of ElastiCache -// for Redis' enhanced backup and restore. For more information, see Restoring -// From a Backup with Cluster Resizing (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-restoring.html) +// read replicas. If you need to increase or decrease the number of node groups +// (console: shards), you can avail yourself of ElastiCache for Redis' scaling. +// For more information, see Scaling ElastiCache for Redis Clusters (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Scaling.html) // in the ElastiCache User Guide. // // This operation is valid for Redis only. @@ -1273,7 +1271,7 @@ func (c *ElastiCache) CreateReplicationGroupRequest(input *CreateReplicationGrou // The Global Datastore does not exist // // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" -// The Global Datastore is not available +// The Global Datastore is not available or in primary-only state. // // * ErrCodeInvalidParameterValueException "InvalidParameterValue" // The value for a parameter is invalid. @@ -1476,7 +1474,7 @@ func (c *ElastiCache) DecreaseNodeGroupsInGlobalReplicationGroupRequest(input *D // The Global Datastore does not exist // // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" -// The Global Datastore is not available +// The Global Datastore is not available or in primary-only state. // // * ErrCodeInvalidParameterValueException "InvalidParameterValue" // The value for a parameter is invalid. @@ -2078,8 +2076,6 @@ func (c *ElastiCache) DeleteGlobalReplicationGroupRequest(input *DeleteGlobalRep // immediately begins deleting the selected resources; you cannot cancel or // revert this operation. // -// This operation is valid for Redis 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. @@ -2092,7 +2088,7 @@ func (c *ElastiCache) DeleteGlobalReplicationGroupRequest(input *DeleteGlobalRep // The Global Datastore does not exist // // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" -// The Global Datastore is not available +// The Global Datastore is not available or in primary-only state. // // * ErrCodeInvalidParameterValueException "InvalidParameterValue" // The value for a parameter is invalid. @@ -4559,7 +4555,7 @@ func (c *ElastiCache) DisassociateGlobalReplicationGroupRequest(input *Disassoci // The Global Datastore does not exist // // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" -// The Global Datastore is not available +// The Global Datastore is not available or in primary-only state. // // * ErrCodeInvalidParameterValueException "InvalidParameterValue" // The value for a parameter is invalid. @@ -4633,7 +4629,9 @@ func (c *ElastiCache) FailoverGlobalReplicationGroupRequest(input *FailoverGloba // FailoverGlobalReplicationGroup API operation for Amazon ElastiCache. // -// Used to failover the primary region to a selected secondary region. +// Used to failover the primary region to a selected secondary region. The selected +// secondary region will become primary, and all other clusters will become +// secondary. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4647,7 +4645,7 @@ func (c *ElastiCache) FailoverGlobalReplicationGroupRequest(input *FailoverGloba // The Global Datastore does not exist // // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" -// The Global Datastore is not available +// The Global Datastore is not available or in primary-only state. // // * ErrCodeInvalidParameterValueException "InvalidParameterValue" // The value for a parameter is invalid. @@ -4735,7 +4733,7 @@ func (c *ElastiCache) IncreaseNodeGroupsInGlobalReplicationGroupRequest(input *I // The Global Datastore does not exist // // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" -// The Global Datastore is not available +// The Global Datastore is not available or in primary-only state. // // * ErrCodeInvalidParameterValueException "InvalidParameterValue" // The value for a parameter is invalid. @@ -5258,7 +5256,7 @@ func (c *ElastiCache) ModifyCacheParameterGroupRequest(input *ModifyCacheParamet // Two or more incompatible parameters were specified. // // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" -// The Global Datastore is not available +// The Global Datastore is not available or in primary-only state. // // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheParameterGroup func (c *ElastiCache) ModifyCacheParameterGroup(input *ModifyCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { @@ -5430,7 +5428,7 @@ func (c *ElastiCache) ModifyGlobalReplicationGroupRequest(input *ModifyGlobalRep // The Global Datastore does not exist // // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" -// The Global Datastore is not available +// The Global Datastore is not available or in primary-only state. // // * ErrCodeInvalidParameterValueException "InvalidParameterValue" // The value for a parameter is invalid. @@ -5503,10 +5501,6 @@ func (c *ElastiCache) ModifyReplicationGroupRequest(input *ModifyReplicationGrou // // Modifies the settings for a replication group. // -// For Redis (cluster mode enabled) clusters, this operation cannot be used -// to change a cluster's node type or engine version. For more information, -// see: -// // * Scaling for Amazon ElastiCache for Redis (cluster mode enabled) (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/scaling-redis-cluster-mode-enabled.html) // in the ElastiCache User Guide // @@ -5841,7 +5835,7 @@ func (c *ElastiCache) RebalanceSlotsInGlobalReplicationGroupRequest(input *Rebal // RebalanceSlotsInGlobalReplicationGroup API operation for Amazon ElastiCache. // -// Redistribute slots to ensure unifirom distribution across existing shards +// Redistribute slots to ensure uniform distribution across existing shards // in the cluster. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5856,7 +5850,7 @@ func (c *ElastiCache) RebalanceSlotsInGlobalReplicationGroupRequest(input *Rebal // The Global Datastore does not exist // // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" -// The Global Datastore is not available +// The Global Datastore is not available or in primary-only state. // // * ErrCodeInvalidParameterValueException "InvalidParameterValue" // The value for a parameter is invalid. @@ -6141,7 +6135,7 @@ func (c *ElastiCache) ResetCacheParameterGroupRequest(input *ResetCacheParameter // Two or more incompatible parameters were specified. // // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" -// The Global Datastore is not available +// The Global Datastore is not available or in primary-only state. // // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ResetCacheParameterGroup func (c *ElastiCache) ResetCacheParameterGroup(input *ResetCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { @@ -6421,7 +6415,7 @@ func (c *ElastiCache) TestFailoverRequest(input *TestFailoverInput) (req *reques // in the ElastiCache User Guide DescribeEvents (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEvents.html) // in the ElastiCache API Reference // -// Also see, Testing Multi-AZ with Automatic Failover (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html#auto-failover-test) +// Also see, Testing Multi-AZ (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html#auto-failover-test) // in the ElastiCache User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6846,6 +6840,9 @@ func (s *BatchStopUpdateActionOutput) SetUnprocessedUpdateActions(v []*Unprocess type CacheCluster struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) of the cache cluster. + ARN *string `type:"string"` + // A flag that enables encryption at-rest when set to true. // // You cannot modify the value of AtRestEncryptionEnabled after the cluster @@ -7034,6 +7031,12 @@ func (s CacheCluster) GoString() string { return s.String() } +// SetARN sets the ARN field's value. +func (s *CacheCluster) SetARN(v string) *CacheCluster { + s.ARN = &v + return s +} + // SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. func (s *CacheCluster) SetAtRestEncryptionEnabled(v bool) *CacheCluster { s.AtRestEncryptionEnabled = &v @@ -7600,6 +7603,9 @@ func (s *CacheNodeUpdateStatus) SetNodeUpdateStatusModifiedDate(v time.Time) *Ca type CacheParameterGroup struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) of the cache parameter group. + ARN *string `type:"string"` + // The name of the cache parameter group family that this cache parameter group // is compatible with. // @@ -7627,6 +7633,12 @@ func (s CacheParameterGroup) GoString() string { return s.String() } +// SetARN sets the ARN field's value. +func (s *CacheParameterGroup) SetARN(v string) *CacheParameterGroup { + s.ARN = &v + return s +} + // SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. func (s *CacheParameterGroup) SetCacheParameterGroupFamily(v string) *CacheParameterGroup { s.CacheParameterGroupFamily = &v @@ -7732,6 +7744,9 @@ func (s *CacheParameterGroupStatus) SetParameterApplyStatus(v string) *CachePara type CacheSecurityGroup struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) of the cache security group. + ARN *string `type:"string"` + // The name of the cache security group. CacheSecurityGroupName *string `type:"string"` @@ -7756,6 +7771,12 @@ func (s CacheSecurityGroup) GoString() string { return s.String() } +// SetARN sets the ARN field's value. +func (s *CacheSecurityGroup) SetARN(v string) *CacheSecurityGroup { + s.ARN = &v + return s +} + // SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. func (s *CacheSecurityGroup) SetCacheSecurityGroupName(v string) *CacheSecurityGroup { s.CacheSecurityGroupName = &v @@ -7823,6 +7844,9 @@ func (s *CacheSecurityGroupMembership) SetStatus(v string) *CacheSecurityGroupMe type CacheSubnetGroup struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) of the cache subnet group. + ARN *string `type:"string"` + // The description of the cache subnet group. CacheSubnetGroupDescription *string `type:"string"` @@ -7847,6 +7871,12 @@ func (s CacheSubnetGroup) GoString() string { return s.String() } +// SetARN sets the ARN field's value. +func (s *CacheSubnetGroup) SetARN(v string) *CacheSubnetGroup { + s.ARN = &v + return s +} + // SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. func (s *CacheSubnetGroup) SetCacheSubnetGroupDescription(v string) *CacheSubnetGroup { s.CacheSubnetGroupDescription = &v @@ -7955,8 +7985,7 @@ type ConfigureShard struct { // // The minimum number of replicas in a shard or replication group is: // - // * Redis (cluster mode disabled) If Multi-AZ with Automatic Failover is - // enabled: 1 If Multi-AZ with Automatic Failover is not enable: 0 + // * Redis (cluster mode disabled) If Multi-AZ: 1 If Multi-AZ: 0 // // * Redis (cluster mode enabled): 0 (though you will not be able to failover // to a replica if your primary node fails) @@ -8277,9 +8306,9 @@ type CreateCacheClusterInput struct { // The EC2 Availability Zone in which the cluster is created. // - // All nodes belonging to this Memcached cluster are placed in the preferred - // Availability Zone. If you want to create your nodes across multiple Availability - // Zones, use PreferredAvailabilityZones. + // All nodes belonging to this cluster are placed in the preferred Availability + // Zone. If you want to create your nodes across multiple Availability Zones, + // use PreferredAvailabilityZones. // // Default: System chosen Availability Zone. PreferredAvailabilityZone *string `type:"string"` @@ -8858,8 +8887,8 @@ type CreateGlobalReplicationGroupInput struct { // Provides details of the Global Datastore GlobalReplicationGroupDescription *string `type:"string"` - // The suffix for name of a Global Datastore. The suffix guarantees uniqueness - // of the Global Datastore name across multiple regions. + // The suffix name of a Global Datastore. The suffix guarantees uniqueness of + // the Global Datastore name across multiple regions. // // GlobalReplicationGroupIdSuffix is a required field GlobalReplicationGroupIdSuffix *string `type:"string" required:"true"` @@ -8923,8 +8952,8 @@ type CreateGlobalReplicationGroupOutput struct { // only reads. The primary cluster automatically replicates updates to the secondary // cluster. // - // * The GlobalReplicationGroupId represents the name of the Global Datastore, - // which is what you use to associate a secondary cluster. + // * The GlobalReplicationGroupIdSuffix represents the name of the Global + // Datastore, which is what you use to associate a secondary cluster. GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` } @@ -8989,22 +9018,10 @@ type CreateReplicationGroupInput struct { // Specifies whether a read-only replica is automatically promoted to read/write // primary if the existing primary fails. // - // If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ - // is disabled for this replication group. - // // AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) // replication groups. // // Default: false - // - // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover - // on: - // - // * Redis versions earlier than 2.8.6. - // - // * Redis (cluster mode disabled): T1 node types. - // - // * Redis (cluster mode enabled): T1 node types. AutomaticFailoverEnabled *bool `type:"boolean"` // The compute and memory capacity of the nodes in the node group (shard). @@ -9093,16 +9110,20 @@ type CreateReplicationGroupInput struct { // The ID of the KMS key used to encrypt the disk in the cluster. KmsKeyId *string `type:"string"` + // A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. + // For more information, see Minimizing Downtime: Multi-AZ (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html). + MultiAZEnabled *bool `type:"boolean"` + // A list of node group (shard) configuration options. Each node group (shard) // configuration has the following members: PrimaryAvailabilityZone, ReplicaAvailabilityZones, // ReplicaCount, and Slots. // // If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode // enabled) replication group, you can use this parameter to individually configure - // each node group (shard), or you can omit this parameter. However, when seeding - // a Redis (cluster mode enabled) cluster from a S3 rdb file, you must configure - // each node group (shard) using this parameter because you must specify the - // slots for each node group. + // each node group (shard), or you can omit this parameter. However, it is required + // when seeding a Redis (cluster mode enabled) cluster from a S3 rdb file. You + // must configure each node group (shard) using this parameter because you must + // specify the slots for each node group. NodeGroupConfiguration []*NodeGroupConfiguration `locationNameList:"NodeGroupConfiguration" type:"list"` // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service @@ -9382,6 +9403,12 @@ func (s *CreateReplicationGroupInput) SetKmsKeyId(v string) *CreateReplicationGr return s } +// SetMultiAZEnabled sets the MultiAZEnabled field's value. +func (s *CreateReplicationGroupInput) SetMultiAZEnabled(v bool) *CreateReplicationGroupInput { + s.MultiAZEnabled = &v + return s +} + // SetNodeGroupConfiguration sets the NodeGroupConfiguration field's value. func (s *CreateReplicationGroupInput) SetNodeGroupConfiguration(v []*NodeGroupConfiguration) *CreateReplicationGroupInput { s.NodeGroupConfiguration = v @@ -9740,8 +9767,8 @@ type DecreaseNodeGroupsInGlobalReplicationGroupOutput struct { // only reads. The primary cluster automatically replicates updates to the secondary // cluster. // - // * The GlobalReplicationGroupId represents the name of the Global Datastore, - // which is what you use to associate a secondary cluster. + // * The GlobalReplicationGroupIdSuffix represents the name of the Global + // Datastore, which is what you use to associate a secondary cluster. GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` } @@ -9778,8 +9805,8 @@ type DecreaseReplicaCountInput struct { // // The minimum number of replicas in a shard or replication group is: // - // * Redis (cluster mode disabled) If Multi-AZ with Automatic Failover is - // enabled: 1 If Multi-AZ with Automatic Failover is not enabled: 0 + // * Redis (cluster mode disabled) If Multi-AZ is enabled: 1 If Multi-AZ + // is not enabled: 0 // // * Redis (cluster mode enabled): 0 (though you will not be able to failover // to a replica if your primary node fails) @@ -10136,8 +10163,7 @@ type DeleteGlobalReplicationGroupInput struct { // GlobalReplicationGroupId is a required field GlobalReplicationGroupId *string `type:"string" required:"true"` - // If set to true, the primary replication is retained as a standalone replication - // group. + // The primary replication group is retained as a standalone replication group. // // RetainPrimaryReplicationGroup is a required field RetainPrimaryReplicationGroup *bool `type:"boolean" required:"true"` @@ -10189,8 +10215,8 @@ type DeleteGlobalReplicationGroupOutput struct { // only reads. The primary cluster automatically replicates updates to the secondary // cluster. // - // * The GlobalReplicationGroupId represents the name of the Global Datastore, - // which is what you use to associate a secondary cluster. + // * The GlobalReplicationGroupIdSuffix represents the name of the Global + // Datastore, which is what you use to associate a secondary cluster. GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` } @@ -12127,8 +12153,8 @@ type DisassociateGlobalReplicationGroupOutput struct { // only reads. The primary cluster automatically replicates updates to the secondary // cluster. // - // * The GlobalReplicationGroupId represents the name of the Global Datastore, - // which is what you use to associate a secondary cluster. + // * The GlobalReplicationGroupIdSuffix represents the name of the Global + // Datastore, which is what you use to associate a secondary cluster. GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` } @@ -12409,8 +12435,8 @@ type FailoverGlobalReplicationGroupOutput struct { // only reads. The primary cluster automatically replicates updates to the secondary // cluster. // - // * The GlobalReplicationGroupId represents the name of the Global Datastore, - // which is what you use to associate a secondary cluster. + // * The GlobalReplicationGroupIdSuffix represents the name of the Global + // Datastore, which is what you use to associate a secondary cluster. GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` } @@ -12468,11 +12494,14 @@ func (s *GlobalNodeGroup) SetSlots(v string) *GlobalNodeGroup { // only reads. The primary cluster automatically replicates updates to the secondary // cluster. // -// * The GlobalReplicationGroupId represents the name of the Global Datastore, -// which is what you use to associate a secondary cluster. +// * The GlobalReplicationGroupIdSuffix represents the name of the Global +// Datastore, which is what you use to associate a secondary cluster. type GlobalReplicationGroup struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) of the global replication group. + ARN *string `type:"string"` + // A flag that enables encryption at rest when set to true. // // You cannot modify the value of AtRestEncryptionEnabled after the replication @@ -12495,7 +12524,7 @@ type GlobalReplicationGroup struct { // A flag that indicates whether the Global Datastore is cluster enabled. ClusterEnabled *bool `type:"boolean"` - // The Elasticache engine. For preview, it is Redis only. + // The Elasticache engine. For Redis only. Engine *string `type:"string"` // The Elasticache Redis engine version. For preview, it is Redis version 5.0.5 @@ -12534,6 +12563,12 @@ func (s GlobalReplicationGroup) GoString() string { return s.String() } +// SetARN sets the ARN field's value. +func (s *GlobalReplicationGroup) SetARN(v string) *GlobalReplicationGroup { + s.ARN = &v + return s +} + // SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. func (s *GlobalReplicationGroup) SetAtRestEncryptionEnabled(v bool) *GlobalReplicationGroup { s.AtRestEncryptionEnabled = &v @@ -12797,8 +12832,8 @@ type IncreaseNodeGroupsInGlobalReplicationGroupOutput struct { // only reads. The primary cluster automatically replicates updates to the secondary // cluster. // - // * The GlobalReplicationGroupId represents the name of the Global Datastore, - // which is what you use to associate a secondary cluster. + // * The GlobalReplicationGroupIdSuffix represents the name of the Global + // Datastore, which is what you use to associate a secondary cluster. GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` } @@ -13603,12 +13638,9 @@ func (s *ModifyCacheSubnetGroupOutput) SetCacheSubnetGroup(v *CacheSubnetGroup) type ModifyGlobalReplicationGroupInput struct { _ struct{} `type:"structure"` - // If true, this parameter causes the modifications in this request and any - // pending modifications to be applied, asynchronously and as soon as possible, - // regardless of the PreferredMaintenanceWindow setting for the replication - // group. If false, changes to the nodes in the replication group are applied - // on the next maintenance reboot, or the next failure reboot, whichever occurs - // first. + // This parameter causes the modifications in this request and any pending modifications + // to be applied, asynchronously and as soon as possible. Modifications to Global + // Replication Groups cannot be requested to be applied in PreferredMaintenceWindow. // // ApplyImmediately is a required field ApplyImmediately *bool `type:"boolean" required:"true"` @@ -13703,8 +13735,8 @@ type ModifyGlobalReplicationGroupOutput struct { // only reads. The primary cluster automatically replicates updates to the secondary // cluster. // - // * The GlobalReplicationGroupId represents the name of the Global Datastore, - // which is what you use to associate a secondary cluster. + // * The GlobalReplicationGroupIdSuffix represents the name of the Global + // Datastore, which is what you use to associate a secondary cluster. GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` } @@ -13771,15 +13803,6 @@ type ModifyReplicationGroupInput struct { // primary if the existing primary encounters a failure. // // Valid values: true | false - // - // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover - // on: - // - // * Redis versions earlier than 2.8.6. - // - // * Redis (cluster mode disabled): T1 node types. - // - // * Redis (cluster mode enabled): T1 node types. AutomaticFailoverEnabled *bool `type:"boolean"` // A valid cache node type that you want to scale this replication group to. @@ -13811,6 +13834,10 @@ type ModifyReplicationGroupInput struct { // and create it anew with the earlier engine version. EngineVersion *string `type:"string"` + // A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. + // For more information, see Minimizing Downtime: Multi-AZ (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html). + MultiAZEnabled *bool `type:"boolean"` + // Deprecated. This parameter is not used. // // Deprecated: NodeGroupId has been deprecated @@ -13973,6 +14000,12 @@ func (s *ModifyReplicationGroupInput) SetEngineVersion(v string) *ModifyReplicat return s } +// SetMultiAZEnabled sets the MultiAZEnabled field's value. +func (s *ModifyReplicationGroupInput) SetMultiAZEnabled(v bool) *ModifyReplicationGroupInput { + s.MultiAZEnabled = &v + return s +} + // SetNodeGroupId sets the NodeGroupId field's value. func (s *ModifyReplicationGroupInput) SetNodeGroupId(v string) *ModifyReplicationGroupInput { s.NodeGroupId = &v @@ -14237,7 +14270,8 @@ type NodeGroup struct { // The keyspace for this node group (shard). Slots *string `type:"string"` - // The current state of this replication group - creating, available, etc. + // The current state of this replication group - creating, available, modifying, + // deleting. Status *string `type:"string"` } @@ -15078,8 +15112,8 @@ type RebalanceSlotsInGlobalReplicationGroupOutput struct { // only reads. The primary cluster automatically replicates updates to the secondary // cluster. // - // * The GlobalReplicationGroupId represents the name of the Global Datastore, - // which is what you use to associate a secondary cluster. + // * The GlobalReplicationGroupIdSuffix represents the name of the Global + // Datastore, which is what you use to associate a secondary cluster. GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` } @@ -15350,6 +15384,9 @@ func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromRes type ReplicationGroup struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) of the replication group. + ARN *string `type:"string"` + // A flag that enables encryption at-rest when set to true. // // You cannot modify the value of AtRestEncryptionEnabled after the cluster @@ -15370,17 +15407,7 @@ type ReplicationGroup struct { // The date the auth token was last modified AuthTokenLastModifiedDate *time.Time `type:"timestamp"` - // Indicates the status of Multi-AZ with automatic failover for this Redis replication - // group. - // - // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover - // on: - // - // * Redis versions earlier than 2.8.6. - // - // * Redis (cluster mode disabled): T1 node types. - // - // * Redis (cluster mode enabled): T1 node types. + // Indicates the status of automatic failover for this Redis replication group. AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` // The name of the compute and memory capacity node type for each node in the @@ -15411,6 +15438,10 @@ type ReplicationGroup struct { // The names of all the cache clusters that are part of this replication group. MemberClusters []*string `locationNameList:"ClusterId" type:"list"` + // A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. + // For more information, see Minimizing Downtime: Multi-AZ (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html) + MultiAZ *string `type:"string" enum:"MultiAZStatus"` + // A list of node groups in this replication group. For Redis (cluster mode // disabled) replication groups, this is a single-element list. For Redis (cluster // mode enabled) replication groups, the list contains an entry for each node @@ -15474,6 +15505,12 @@ func (s ReplicationGroup) GoString() string { return s.String() } +// SetARN sets the ARN field's value. +func (s *ReplicationGroup) SetARN(v string) *ReplicationGroup { + s.ARN = &v + return s +} + // SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. func (s *ReplicationGroup) SetAtRestEncryptionEnabled(v bool) *ReplicationGroup { s.AtRestEncryptionEnabled = &v @@ -15540,6 +15577,12 @@ func (s *ReplicationGroup) SetMemberClusters(v []*string) *ReplicationGroup { return s } +// SetMultiAZ sets the MultiAZ field's value. +func (s *ReplicationGroup) SetMultiAZ(v string) *ReplicationGroup { + s.MultiAZ = &v + return s +} + // SetNodeGroups sets the NodeGroups field's value. func (s *ReplicationGroup) SetNodeGroups(v []*NodeGroup) *ReplicationGroup { s.NodeGroups = v @@ -15596,17 +15639,7 @@ type ReplicationGroupPendingModifiedValues struct { // The auth token status AuthTokenStatus *string `type:"string" enum:"AuthTokenUpdateStatus"` - // Indicates the status of Multi-AZ with automatic failover for this Redis replication - // group. - // - // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover - // on: - // - // * Redis versions earlier than 2.8.6. - // - // * Redis (cluster mode disabled): T1 node types. - // - // * Redis (cluster mode enabled): T1 node types. + // Indicates the status of automatic failover for this Redis replication group. AutomaticFailoverStatus *string `type:"string" enum:"PendingAutomaticFailoverStatus"` // The primary cluster ID that is applied immediately (if --apply-immediately @@ -16366,20 +16399,14 @@ func (s *SlotMigration) SetProgressPercentage(v float64) *SlotMigration { type Snapshot struct { _ struct{} `type:"structure"` + // The ARN (Amazon Resource Name) of the snapshot. + ARN *string `type:"string"` + // This parameter is currently disabled. AutoMinorVersionUpgrade *bool `type:"boolean"` - // Indicates the status of Multi-AZ with automatic failover for the source Redis - // replication group. - // - // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover - // on: - // - // * Redis versions earlier than 2.8.6. - // - // * Redis (cluster mode disabled): T1 node types. - // - // * Redis (cluster mode enabled): T1 node types. + // Indicates the status of automatic failover for the source Redis replication + // group. AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` // The date and time when the source cluster was created. @@ -16537,6 +16564,12 @@ func (s Snapshot) GoString() string { return s.String() } +// SetARN sets the ARN field's value. +func (s *Snapshot) SetARN(v string) *Snapshot { + s.ARN = &v + return s +} + // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. func (s *Snapshot) SetAutoMinorVersionUpgrade(v bool) *Snapshot { s.AutoMinorVersionUpgrade = &v @@ -17253,6 +17286,14 @@ const ( ChangeTypeRequiresReboot = "requires-reboot" ) +const ( + // MultiAZStatusEnabled is a MultiAZStatus enum value + MultiAZStatusEnabled = "enabled" + + // MultiAZStatusDisabled is a MultiAZStatus enum value + MultiAZStatusDisabled = "disabled" +) + const ( // NodeUpdateInitiatedBySystem is a NodeUpdateInitiatedBy enum value NodeUpdateInitiatedBySystem = "system" @@ -17365,4 +17406,13 @@ const ( // UpdateActionStatusComplete is a UpdateActionStatus enum value UpdateActionStatusComplete = "complete" + + // UpdateActionStatusScheduling is a UpdateActionStatus enum value + UpdateActionStatusScheduling = "scheduling" + + // UpdateActionStatusScheduled is a UpdateActionStatus enum value + UpdateActionStatusScheduled = "scheduled" + + // UpdateActionStatusNotApplicable is a UpdateActionStatus enum value + UpdateActionStatusNotApplicable = "not-applicable" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticache/errors.go b/vendor/github.com/aws/aws-sdk-go/service/elasticache/errors.go index e68e0121ffb..4e78aa9320e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticache/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticache/errors.go @@ -165,7 +165,7 @@ const ( // ErrCodeInvalidGlobalReplicationGroupStateFault for service response error code // "InvalidGlobalReplicationGroupState". // - // The Global Datastore is not available + // The Global Datastore is not available or in primary-only state. ErrCodeInvalidGlobalReplicationGroupStateFault = "InvalidGlobalReplicationGroupState" // ErrCodeInvalidKMSKeyFault for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go index 0a41523adeb..5b63f49883b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/api.go @@ -179,6 +179,91 @@ func (c *ElasticBeanstalk) ApplyEnvironmentManagedActionWithContext(ctx aws.Cont return out, req.Send() } +const opAssociateEnvironmentOperationsRole = "AssociateEnvironmentOperationsRole" + +// AssociateEnvironmentOperationsRoleRequest generates a "aws/request.Request" representing the +// client's request for the AssociateEnvironmentOperationsRole operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssociateEnvironmentOperationsRole for more information on using the AssociateEnvironmentOperationsRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AssociateEnvironmentOperationsRoleRequest method. +// req, resp := client.AssociateEnvironmentOperationsRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/AssociateEnvironmentOperationsRole +func (c *ElasticBeanstalk) AssociateEnvironmentOperationsRoleRequest(input *AssociateEnvironmentOperationsRoleInput) (req *request.Request, output *AssociateEnvironmentOperationsRoleOutput) { + op := &request.Operation{ + Name: opAssociateEnvironmentOperationsRole, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateEnvironmentOperationsRoleInput{} + } + + output = &AssociateEnvironmentOperationsRoleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AssociateEnvironmentOperationsRole API operation for AWS Elastic Beanstalk. +// +// Add or change the operations role used by an environment. After this call +// is made, Elastic Beanstalk uses the associated operations role for permissions +// to downstream services during subsequent calls acting on this environment. +// For more information, see Operations roles (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html) +// in the AWS Elastic Beanstalk Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elastic Beanstalk's +// API operation AssociateEnvironmentOperationsRole for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException" +// The specified account does not have sufficient privileges for one or more +// AWS services. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/AssociateEnvironmentOperationsRole +func (c *ElasticBeanstalk) AssociateEnvironmentOperationsRole(input *AssociateEnvironmentOperationsRoleInput) (*AssociateEnvironmentOperationsRoleOutput, error) { + req, out := c.AssociateEnvironmentOperationsRoleRequest(input) + return out, req.Send() +} + +// AssociateEnvironmentOperationsRoleWithContext is the same as AssociateEnvironmentOperationsRole with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateEnvironmentOperationsRole for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElasticBeanstalk) AssociateEnvironmentOperationsRoleWithContext(ctx aws.Context, input *AssociateEnvironmentOperationsRoleInput, opts ...request.Option) (*AssociateEnvironmentOperationsRoleOutput, error) { + req, out := c.AssociateEnvironmentOperationsRoleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCheckDNSAvailability = "CheckDNSAvailability" // CheckDNSAvailabilityRequest generates a "aws/request.Request" representing the @@ -1865,6 +1950,12 @@ func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryRequest(input Name: opDescribeEnvironmentManagedActionHistory, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxItems", + TruncationToken: "", + }, } if input == nil { @@ -1913,6 +2004,58 @@ func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryWithContext(ct return out, req.Send() } +// DescribeEnvironmentManagedActionHistoryPages iterates over the pages of a DescribeEnvironmentManagedActionHistory operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEnvironmentManagedActionHistory 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 DescribeEnvironmentManagedActionHistory operation. +// pageNum := 0 +// err := client.DescribeEnvironmentManagedActionHistoryPages(params, +// func(page *elasticbeanstalk.DescribeEnvironmentManagedActionHistoryOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryPages(input *DescribeEnvironmentManagedActionHistoryInput, fn func(*DescribeEnvironmentManagedActionHistoryOutput, bool) bool) error { + return c.DescribeEnvironmentManagedActionHistoryPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeEnvironmentManagedActionHistoryPagesWithContext same as DescribeEnvironmentManagedActionHistoryPages 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 *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryPagesWithContext(ctx aws.Context, input *DescribeEnvironmentManagedActionHistoryInput, fn func(*DescribeEnvironmentManagedActionHistoryOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeEnvironmentManagedActionHistoryInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEnvironmentManagedActionHistoryRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeEnvironmentManagedActionHistoryOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeEnvironmentManagedActions = "DescribeEnvironmentManagedActions" // DescribeEnvironmentManagedActionsRequest generates a "aws/request.Request" representing the @@ -2451,6 +2594,91 @@ func (c *ElasticBeanstalk) DescribePlatformVersionWithContext(ctx aws.Context, i return out, req.Send() } +const opDisassociateEnvironmentOperationsRole = "DisassociateEnvironmentOperationsRole" + +// DisassociateEnvironmentOperationsRoleRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateEnvironmentOperationsRole operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisassociateEnvironmentOperationsRole for more information on using the DisassociateEnvironmentOperationsRole +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DisassociateEnvironmentOperationsRoleRequest method. +// req, resp := client.DisassociateEnvironmentOperationsRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DisassociateEnvironmentOperationsRole +func (c *ElasticBeanstalk) DisassociateEnvironmentOperationsRoleRequest(input *DisassociateEnvironmentOperationsRoleInput) (req *request.Request, output *DisassociateEnvironmentOperationsRoleOutput) { + op := &request.Operation{ + Name: opDisassociateEnvironmentOperationsRole, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateEnvironmentOperationsRoleInput{} + } + + output = &DisassociateEnvironmentOperationsRoleOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateEnvironmentOperationsRole API operation for AWS Elastic Beanstalk. +// +// Disassociate the operations role from an environment. After this call is +// made, Elastic Beanstalk uses the caller's permissions for permissions to +// downstream services during subsequent calls acting on this environment. For +// more information, see Operations roles (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html) +// in the AWS Elastic Beanstalk Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elastic Beanstalk's +// API operation DisassociateEnvironmentOperationsRole for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException" +// The specified account does not have sufficient privileges for one or more +// AWS services. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DisassociateEnvironmentOperationsRole +func (c *ElasticBeanstalk) DisassociateEnvironmentOperationsRole(input *DisassociateEnvironmentOperationsRoleInput) (*DisassociateEnvironmentOperationsRoleOutput, error) { + req, out := c.DisassociateEnvironmentOperationsRoleRequest(input) + return out, req.Send() +} + +// DisassociateEnvironmentOperationsRoleWithContext is the same as DisassociateEnvironmentOperationsRole with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateEnvironmentOperationsRole for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElasticBeanstalk) DisassociateEnvironmentOperationsRoleWithContext(ctx aws.Context, input *DisassociateEnvironmentOperationsRoleInput, opts ...request.Option) (*DisassociateEnvironmentOperationsRoleOutput, error) { + req, out := c.DisassociateEnvironmentOperationsRoleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListAvailableSolutionStacks = "ListAvailableSolutionStacks" // ListAvailableSolutionStacksRequest generates a "aws/request.Request" representing the @@ -2693,6 +2921,12 @@ func (c *ElasticBeanstalk) ListPlatformVersionsRequest(input *ListPlatformVersio Name: opListPlatformVersions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, } if input == nil { @@ -2750,6 +2984,58 @@ func (c *ElasticBeanstalk) ListPlatformVersionsWithContext(ctx aws.Context, inpu return out, req.Send() } +// ListPlatformVersionsPages iterates over the pages of a ListPlatformVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPlatformVersions 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 ListPlatformVersions operation. +// pageNum := 0 +// err := client.ListPlatformVersionsPages(params, +// func(page *elasticbeanstalk.ListPlatformVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ElasticBeanstalk) ListPlatformVersionsPages(input *ListPlatformVersionsInput, fn func(*ListPlatformVersionsOutput, bool) bool) error { + return c.ListPlatformVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPlatformVersionsPagesWithContext same as ListPlatformVersionsPages 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 *ElasticBeanstalk) ListPlatformVersionsPagesWithContext(ctx aws.Context, input *ListPlatformVersionsInput, fn func(*ListPlatformVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPlatformVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPlatformVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPlatformVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the @@ -4552,6 +4838,80 @@ func (s *ApplyEnvironmentManagedActionOutput) SetStatus(v string) *ApplyEnvironm return s } +// Request to add or change the operations role used by an environment. +type AssociateEnvironmentOperationsRoleInput struct { + _ struct{} `type:"structure"` + + // The name of the environment to which to set the operations role. + // + // EnvironmentName is a required field + EnvironmentName *string `min:"4" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of an existing IAM role to be used as the + // environment's operations role. + // + // OperationsRole is a required field + OperationsRole *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateEnvironmentOperationsRoleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateEnvironmentOperationsRoleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateEnvironmentOperationsRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateEnvironmentOperationsRoleInput"} + if s.EnvironmentName == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentName")) + } + if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4)) + } + if s.OperationsRole == nil { + invalidParams.Add(request.NewErrParamRequired("OperationsRole")) + } + if s.OperationsRole != nil && len(*s.OperationsRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OperationsRole", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnvironmentName sets the EnvironmentName field's value. +func (s *AssociateEnvironmentOperationsRoleInput) SetEnvironmentName(v string) *AssociateEnvironmentOperationsRoleInput { + s.EnvironmentName = &v + return s +} + +// SetOperationsRole sets the OperationsRole field's value. +func (s *AssociateEnvironmentOperationsRoleInput) SetOperationsRole(v string) *AssociateEnvironmentOperationsRoleInput { + s.OperationsRole = &v + return s +} + +type AssociateEnvironmentOperationsRoleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AssociateEnvironmentOperationsRoleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateEnvironmentOperationsRoleOutput) GoString() string { + return s.String() +} + // Describes an Auto Scaling launch configuration. type AutoScalingGroup struct { _ struct{} `type:"structure"` @@ -5762,6 +6122,15 @@ type CreateEnvironmentInput struct { // for details. GroupName *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of an existing IAM role to be used as the + // environment's operations role. If specified, Elastic Beanstalk uses the operations + // role for permissions to downstream services during this call and during subsequent + // calls acting on this environment. To specify an operations role, you must + // have the iam:PassRole permission for the role. For more information, see + // Operations roles (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html) + // in the AWS Elastic Beanstalk Developer Guide. + OperationsRole *string `min:"1" type:"string"` + // If specified, AWS Elastic Beanstalk sets the specified configuration options // to the requested value in the configuration set for the new environment. // These override the values obtained from the solution stack or the configuration @@ -5839,6 +6208,9 @@ func (s *CreateEnvironmentInput) Validate() error { if s.GroupName != nil && len(*s.GroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) } + if s.OperationsRole != nil && len(*s.OperationsRole) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OperationsRole", 1)) + } if s.TemplateName != nil && len(*s.TemplateName) < 1 { invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) } @@ -5912,6 +6284,12 @@ func (s *CreateEnvironmentInput) SetGroupName(v string) *CreateEnvironmentInput return s } +// SetOperationsRole sets the OperationsRole field's value. +func (s *CreateEnvironmentInput) SetOperationsRole(v string) *CreateEnvironmentInput { + s.OperationsRole = &v + return s +} + // SetOptionSettings sets the OptionSettings field's value. func (s *CreateEnvironmentInput) SetOptionSettings(v []*ConfigurationOptionSetting) *CreateEnvironmentInput { s.OptionSettings = v @@ -7896,6 +8274,62 @@ func (s *DescribePlatformVersionOutput) SetPlatformDescription(v *PlatformDescri return s } +// Request to disassociate the operations role from an environment. +type DisassociateEnvironmentOperationsRoleInput struct { + _ struct{} `type:"structure"` + + // The name of the environment from which to disassociate the operations role. + // + // EnvironmentName is a required field + EnvironmentName *string `min:"4" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateEnvironmentOperationsRoleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateEnvironmentOperationsRoleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateEnvironmentOperationsRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateEnvironmentOperationsRoleInput"} + if s.EnvironmentName == nil { + invalidParams.Add(request.NewErrParamRequired("EnvironmentName")) + } + if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 { + invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnvironmentName sets the EnvironmentName field's value. +func (s *DisassociateEnvironmentOperationsRoleInput) SetEnvironmentName(v string) *DisassociateEnvironmentOperationsRoleInput { + s.EnvironmentName = &v + return s +} + +type DisassociateEnvironmentOperationsRoleOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisassociateEnvironmentOperationsRoleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateEnvironmentOperationsRoleOutput) GoString() string { + return s.String() +} + // Describes the properties of an environment. type EnvironmentDescription struct { _ struct{} `type:"structure"` @@ -7962,6 +8396,11 @@ type EnvironmentDescription struct { // For more information, see Health Colors and Statuses (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html). HealthStatus *string `type:"string" enum:"EnvironmentHealthStatus"` + // The Amazon Resource Name (ARN) of the environment's operations role. For + // more information, see Operations roles (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html) + // in the AWS Elastic Beanstalk Developer Guide. + OperationsRole *string `min:"1" type:"string"` + // The ARN of the platform version. PlatformArn *string `type:"string"` @@ -8084,6 +8523,12 @@ func (s *EnvironmentDescription) SetHealthStatus(v string) *EnvironmentDescripti return s } +// SetOperationsRole sets the OperationsRole field's value. +func (s *EnvironmentDescription) SetOperationsRole(v string) *EnvironmentDescription { + s.OperationsRole = &v + return s +} + // SetPlatformArn sets the PlatformArn field's value. func (s *EnvironmentDescription) SetPlatformArn(v string) *EnvironmentDescription { s.PlatformArn = &v @@ -11795,14 +12240,16 @@ type UpdateTagsForResourceInput struct { // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` - // A list of tags to add or update. + // A list of tags to add or update. If a key of an existing tag is added, the + // tag's value is updated. // - // If a key of an existing tag is added, the tag's value is updated. + // Specify at least one of these parameters: TagsToAdd, TagsToRemove. TagsToAdd []*Tag `type:"list"` - // A list of tag keys to remove. + // A list of tag keys to remove. If a tag key doesn't exist, it is silently + // ignored. // - // If a tag key doesn't exist, it is silently ignored. + // Specify at least one of these parameters: TagsToAdd, TagsToRemove. TagsToRemove []*string `type:"list"` } diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/doc.go b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/doc.go index 3a180495824..9e4abcaea29 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/doc.go @@ -9,8 +9,8 @@ // // For more information about this product, go to the AWS Elastic Beanstalk // (http://aws.amazon.com/elasticbeanstalk/) details page. The location of the -// latest AWS Elastic Beanstalk WSDL is http://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl -// (http://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl). +// latest AWS Elastic Beanstalk WSDL is https://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl +// (https://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl). // To install the Software Development Kits (SDKs), Integrated Development Environment // (IDE) Toolkits, and command line tools that enable you to access the API, // go to Tools for Amazon Web Services (http://aws.amazon.com/tools/). diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/waiters.go new file mode 100644 index 00000000000..c02c0aba934 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticbeanstalk/waiters.go @@ -0,0 +1,163 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package elasticbeanstalk + +import ( + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" +) + +// WaitUntilEnvironmentExists uses the Elastic Beanstalk API operation +// DescribeEnvironments 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 *ElasticBeanstalk) WaitUntilEnvironmentExists(input *DescribeEnvironmentsInput) error { + return c.WaitUntilEnvironmentExistsWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilEnvironmentExistsWithContext is an extended version of WaitUntilEnvironmentExists. +// 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 *ElasticBeanstalk) WaitUntilEnvironmentExistsWithContext(ctx aws.Context, input *DescribeEnvironmentsInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilEnvironmentExists", + MaxAttempts: 20, + Delay: request.ConstantWaiterDelay(20 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "Environments[].Status", + Expected: "Ready", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "Environments[].Status", + Expected: "Launching", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeEnvironmentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEnvironmentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilEnvironmentTerminated uses the Elastic Beanstalk API operation +// DescribeEnvironments 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 *ElasticBeanstalk) WaitUntilEnvironmentTerminated(input *DescribeEnvironmentsInput) error { + return c.WaitUntilEnvironmentTerminatedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilEnvironmentTerminatedWithContext is an extended version of WaitUntilEnvironmentTerminated. +// 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 *ElasticBeanstalk) WaitUntilEnvironmentTerminatedWithContext(ctx aws.Context, input *DescribeEnvironmentsInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilEnvironmentTerminated", + MaxAttempts: 20, + Delay: request.ConstantWaiterDelay(20 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "Environments[].Status", + Expected: "Terminated", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "Environments[].Status", + Expected: "Terminating", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeEnvironmentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEnvironmentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilEnvironmentUpdated uses the Elastic Beanstalk API operation +// DescribeEnvironments 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 *ElasticBeanstalk) WaitUntilEnvironmentUpdated(input *DescribeEnvironmentsInput) error { + return c.WaitUntilEnvironmentUpdatedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilEnvironmentUpdatedWithContext is an extended version of WaitUntilEnvironmentUpdated. +// 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 *ElasticBeanstalk) WaitUntilEnvironmentUpdatedWithContext(ctx aws.Context, input *DescribeEnvironmentsInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilEnvironmentUpdated", + MaxAttempts: 20, + Delay: request.ConstantWaiterDelay(20 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "Environments[].Status", + Expected: "Ready", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathAllWaiterMatch, Argument: "Environments[].Status", + Expected: "Updating", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeEnvironmentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEnvironmentsRequest(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/elasticsearchservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go index ce50a0588d5..1db5e8a5ac4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/api.go @@ -13,6 +13,92 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restjson" ) +const opAcceptInboundCrossClusterSearchConnection = "AcceptInboundCrossClusterSearchConnection" + +// AcceptInboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the +// client's request for the AcceptInboundCrossClusterSearchConnection operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AcceptInboundCrossClusterSearchConnection for more information on using the AcceptInboundCrossClusterSearchConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AcceptInboundCrossClusterSearchConnectionRequest method. +// req, resp := client.AcceptInboundCrossClusterSearchConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *ElasticsearchService) AcceptInboundCrossClusterSearchConnectionRequest(input *AcceptInboundCrossClusterSearchConnectionInput) (req *request.Request, output *AcceptInboundCrossClusterSearchConnectionOutput) { + op := &request.Operation{ + Name: opAcceptInboundCrossClusterSearchConnection, + HTTPMethod: "PUT", + HTTPPath: "/2015-01-01/es/ccs/inboundConnection/{ConnectionId}/accept", + } + + if input == nil { + input = &AcceptInboundCrossClusterSearchConnectionInput{} + } + + output = &AcceptInboundCrossClusterSearchConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// AcceptInboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service. +// +// Allows the destination domain owner to accept an inbound cross-cluster search +// connection 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 Elasticsearch Service's +// API operation AcceptInboundCrossClusterSearchConnection for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// An exception for accessing or deleting a resource that does not exist. Gives +// http status code of 400. +// +// * LimitExceededException +// An exception for trying to create more than allowed resources or sub-resources. +// Gives http status code of 409. +// +// * DisabledOperationException +// An error occured because the client wanted to access a not supported operation. +// Gives http status code of 409. +// +func (c *ElasticsearchService) AcceptInboundCrossClusterSearchConnection(input *AcceptInboundCrossClusterSearchConnectionInput) (*AcceptInboundCrossClusterSearchConnectionOutput, error) { + req, out := c.AcceptInboundCrossClusterSearchConnectionRequest(input) + return out, req.Send() +} + +// AcceptInboundCrossClusterSearchConnectionWithContext is the same as AcceptInboundCrossClusterSearchConnection with the addition of +// the ability to pass a context and additional request options. +// +// See AcceptInboundCrossClusterSearchConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElasticsearchService) AcceptInboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *AcceptInboundCrossClusterSearchConnectionInput, opts ...request.Option) (*AcceptInboundCrossClusterSearchConnectionOutput, error) { + req, out := c.AcceptInboundCrossClusterSearchConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAddTags = "AddTags" // AddTagsRequest generates a "aws/request.Request" representing the @@ -396,6 +482,97 @@ func (c *ElasticsearchService) CreateElasticsearchDomainWithContext(ctx aws.Cont return out, req.Send() } +const opCreateOutboundCrossClusterSearchConnection = "CreateOutboundCrossClusterSearchConnection" + +// CreateOutboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the +// client's request for the CreateOutboundCrossClusterSearchConnection operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateOutboundCrossClusterSearchConnection for more information on using the CreateOutboundCrossClusterSearchConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateOutboundCrossClusterSearchConnectionRequest method. +// req, resp := client.CreateOutboundCrossClusterSearchConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *ElasticsearchService) CreateOutboundCrossClusterSearchConnectionRequest(input *CreateOutboundCrossClusterSearchConnectionInput) (req *request.Request, output *CreateOutboundCrossClusterSearchConnectionOutput) { + op := &request.Operation{ + Name: opCreateOutboundCrossClusterSearchConnection, + HTTPMethod: "POST", + HTTPPath: "/2015-01-01/es/ccs/outboundConnection", + } + + if input == nil { + input = &CreateOutboundCrossClusterSearchConnectionInput{} + } + + output = &CreateOutboundCrossClusterSearchConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateOutboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service. +// +// Creates a new cross-cluster search connection from a source domain to a destination +// domain. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elasticsearch Service's +// API operation CreateOutboundCrossClusterSearchConnection for usage and error information. +// +// Returned Error Types: +// * LimitExceededException +// An exception for trying to create more than allowed resources or sub-resources. +// Gives http status code of 409. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// +// * ResourceAlreadyExistsException +// An exception for creating a resource that already exists. Gives http status +// code of 400. +// +// * DisabledOperationException +// An error occured because the client wanted to access a not supported operation. +// Gives http status code of 409. +// +func (c *ElasticsearchService) CreateOutboundCrossClusterSearchConnection(input *CreateOutboundCrossClusterSearchConnectionInput) (*CreateOutboundCrossClusterSearchConnectionOutput, error) { + req, out := c.CreateOutboundCrossClusterSearchConnectionRequest(input) + return out, req.Send() +} + +// CreateOutboundCrossClusterSearchConnectionWithContext is the same as CreateOutboundCrossClusterSearchConnection with the addition of +// the ability to pass a context and additional request options. +// +// See CreateOutboundCrossClusterSearchConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElasticsearchService) CreateOutboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *CreateOutboundCrossClusterSearchConnectionInput, opts ...request.Option) (*CreateOutboundCrossClusterSearchConnectionOutput, error) { + req, out := c.CreateOutboundCrossClusterSearchConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreatePackage = "CreatePackage" // CreatePackageRequest generates a "aws/request.Request" representing the @@ -677,6 +854,170 @@ func (c *ElasticsearchService) DeleteElasticsearchServiceRoleWithContext(ctx aws return out, req.Send() } +const opDeleteInboundCrossClusterSearchConnection = "DeleteInboundCrossClusterSearchConnection" + +// DeleteInboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteInboundCrossClusterSearchConnection operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteInboundCrossClusterSearchConnection for more information on using the DeleteInboundCrossClusterSearchConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteInboundCrossClusterSearchConnectionRequest method. +// req, resp := client.DeleteInboundCrossClusterSearchConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *ElasticsearchService) DeleteInboundCrossClusterSearchConnectionRequest(input *DeleteInboundCrossClusterSearchConnectionInput) (req *request.Request, output *DeleteInboundCrossClusterSearchConnectionOutput) { + op := &request.Operation{ + Name: opDeleteInboundCrossClusterSearchConnection, + HTTPMethod: "DELETE", + HTTPPath: "/2015-01-01/es/ccs/inboundConnection/{ConnectionId}", + } + + if input == nil { + input = &DeleteInboundCrossClusterSearchConnectionInput{} + } + + output = &DeleteInboundCrossClusterSearchConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteInboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service. +// +// Allows the destination domain owner to delete an existing inbound cross-cluster +// search connection. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elasticsearch Service's +// API operation DeleteInboundCrossClusterSearchConnection for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// An exception for accessing or deleting a resource that does not exist. Gives +// http status code of 400. +// +// * DisabledOperationException +// An error occured because the client wanted to access a not supported operation. +// Gives http status code of 409. +// +func (c *ElasticsearchService) DeleteInboundCrossClusterSearchConnection(input *DeleteInboundCrossClusterSearchConnectionInput) (*DeleteInboundCrossClusterSearchConnectionOutput, error) { + req, out := c.DeleteInboundCrossClusterSearchConnectionRequest(input) + return out, req.Send() +} + +// DeleteInboundCrossClusterSearchConnectionWithContext is the same as DeleteInboundCrossClusterSearchConnection with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteInboundCrossClusterSearchConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElasticsearchService) DeleteInboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *DeleteInboundCrossClusterSearchConnectionInput, opts ...request.Option) (*DeleteInboundCrossClusterSearchConnectionOutput, error) { + req, out := c.DeleteInboundCrossClusterSearchConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteOutboundCrossClusterSearchConnection = "DeleteOutboundCrossClusterSearchConnection" + +// DeleteOutboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteOutboundCrossClusterSearchConnection operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteOutboundCrossClusterSearchConnection for more information on using the DeleteOutboundCrossClusterSearchConnection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteOutboundCrossClusterSearchConnectionRequest method. +// req, resp := client.DeleteOutboundCrossClusterSearchConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *ElasticsearchService) DeleteOutboundCrossClusterSearchConnectionRequest(input *DeleteOutboundCrossClusterSearchConnectionInput) (req *request.Request, output *DeleteOutboundCrossClusterSearchConnectionOutput) { + op := &request.Operation{ + Name: opDeleteOutboundCrossClusterSearchConnection, + HTTPMethod: "DELETE", + HTTPPath: "/2015-01-01/es/ccs/outboundConnection/{ConnectionId}", + } + + if input == nil { + input = &DeleteOutboundCrossClusterSearchConnectionInput{} + } + + output = &DeleteOutboundCrossClusterSearchConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteOutboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service. +// +// Allows the source domain owner to delete an existing outbound cross-cluster +// search connection. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elasticsearch Service's +// API operation DeleteOutboundCrossClusterSearchConnection for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// An exception for accessing or deleting a resource that does not exist. Gives +// http status code of 400. +// +// * DisabledOperationException +// An error occured because the client wanted to access a not supported operation. +// Gives http status code of 409. +// +func (c *ElasticsearchService) DeleteOutboundCrossClusterSearchConnection(input *DeleteOutboundCrossClusterSearchConnectionInput) (*DeleteOutboundCrossClusterSearchConnectionOutput, error) { + req, out := c.DeleteOutboundCrossClusterSearchConnectionRequest(input) + return out, req.Send() +} + +// DeleteOutboundCrossClusterSearchConnectionWithContext is the same as DeleteOutboundCrossClusterSearchConnection with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteOutboundCrossClusterSearchConnection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElasticsearchService) DeleteOutboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *DeleteOutboundCrossClusterSearchConnectionInput, opts ...request.Option) (*DeleteOutboundCrossClusterSearchConnectionOutput, error) { + req, out := c.DeleteOutboundCrossClusterSearchConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeletePackage = "DeletePackage" // DeletePackageRequest generates a "aws/request.Request" representing the @@ -990,156 +1331,435 @@ func (c *ElasticsearchService) DescribeElasticsearchDomainsRequest(input *Descri input = &DescribeElasticsearchDomainsInput{} } - output = &DescribeElasticsearchDomainsOutput{} + output = &DescribeElasticsearchDomainsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeElasticsearchDomains API operation for Amazon Elasticsearch Service. +// +// Returns domain configuration information about the specified Elasticsearch +// domains, including the domain ID, domain endpoint, and domain ARN. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elasticsearch Service's +// API operation DescribeElasticsearchDomains for usage and error information. +// +// Returned Error Types: +// * BaseException +// An error occurred while processing the request. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// +func (c *ElasticsearchService) DescribeElasticsearchDomains(input *DescribeElasticsearchDomainsInput) (*DescribeElasticsearchDomainsOutput, error) { + req, out := c.DescribeElasticsearchDomainsRequest(input) + return out, req.Send() +} + +// DescribeElasticsearchDomainsWithContext is the same as DescribeElasticsearchDomains with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeElasticsearchDomains for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElasticsearchService) DescribeElasticsearchDomainsWithContext(ctx aws.Context, input *DescribeElasticsearchDomainsInput, opts ...request.Option) (*DescribeElasticsearchDomainsOutput, error) { + req, out := c.DescribeElasticsearchDomainsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeElasticsearchInstanceTypeLimits = "DescribeElasticsearchInstanceTypeLimits" + +// DescribeElasticsearchInstanceTypeLimitsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeElasticsearchInstanceTypeLimits operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeElasticsearchInstanceTypeLimits for more information on using the DescribeElasticsearchInstanceTypeLimits +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeElasticsearchInstanceTypeLimitsRequest method. +// req, resp := client.DescribeElasticsearchInstanceTypeLimitsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsRequest(input *DescribeElasticsearchInstanceTypeLimitsInput) (req *request.Request, output *DescribeElasticsearchInstanceTypeLimitsOutput) { + op := &request.Operation{ + Name: opDescribeElasticsearchInstanceTypeLimits, + HTTPMethod: "GET", + HTTPPath: "/2015-01-01/es/instanceTypeLimits/{ElasticsearchVersion}/{InstanceType}", + } + + if input == nil { + input = &DescribeElasticsearchInstanceTypeLimitsInput{} + } + + output = &DescribeElasticsearchInstanceTypeLimitsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeElasticsearchInstanceTypeLimits API operation for Amazon Elasticsearch Service. +// +// Describe Elasticsearch Limits for a given InstanceType and ElasticsearchVersion. +// When modifying existing Domain, specify the DomainName to know what Limits +// are supported for modifying. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elasticsearch Service's +// API operation DescribeElasticsearchInstanceTypeLimits for usage and error information. +// +// Returned Error Types: +// * BaseException +// An error occurred while processing the request. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// +// * InvalidTypeException +// An exception for trying to create or access sub-resource that is either invalid +// or not supported. Gives http status code of 409. +// +// * LimitExceededException +// An exception for trying to create more than allowed resources or sub-resources. +// Gives http status code of 409. +// +// * ResourceNotFoundException +// An exception for accessing or deleting a resource that does not exist. Gives +// http status code of 400. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// +func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimits(input *DescribeElasticsearchInstanceTypeLimitsInput) (*DescribeElasticsearchInstanceTypeLimitsOutput, error) { + req, out := c.DescribeElasticsearchInstanceTypeLimitsRequest(input) + return out, req.Send() +} + +// DescribeElasticsearchInstanceTypeLimitsWithContext is the same as DescribeElasticsearchInstanceTypeLimits with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeElasticsearchInstanceTypeLimits for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsWithContext(ctx aws.Context, input *DescribeElasticsearchInstanceTypeLimitsInput, opts ...request.Option) (*DescribeElasticsearchInstanceTypeLimitsOutput, error) { + req, out := c.DescribeElasticsearchInstanceTypeLimitsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeInboundCrossClusterSearchConnections = "DescribeInboundCrossClusterSearchConnections" + +// DescribeInboundCrossClusterSearchConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInboundCrossClusterSearchConnections operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeInboundCrossClusterSearchConnections for more information on using the DescribeInboundCrossClusterSearchConnections +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeInboundCrossClusterSearchConnectionsRequest method. +// req, resp := client.DescribeInboundCrossClusterSearchConnectionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsRequest(input *DescribeInboundCrossClusterSearchConnectionsInput) (req *request.Request, output *DescribeInboundCrossClusterSearchConnectionsOutput) { + op := &request.Operation{ + Name: opDescribeInboundCrossClusterSearchConnections, + HTTPMethod: "POST", + HTTPPath: "/2015-01-01/es/ccs/inboundConnection/search", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeInboundCrossClusterSearchConnectionsInput{} + } + + output = &DescribeInboundCrossClusterSearchConnectionsOutput{} req = c.newRequest(op, input, output) return } -// DescribeElasticsearchDomains API operation for Amazon Elasticsearch Service. +// DescribeInboundCrossClusterSearchConnections API operation for Amazon Elasticsearch Service. // -// Returns domain configuration information about the specified Elasticsearch -// domains, including the domain ID, domain endpoint, and domain ARN. +// Lists all the inbound cross-cluster search connections for a destination +// domain. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Elasticsearch Service's -// API operation DescribeElasticsearchDomains for usage and error information. +// API operation DescribeInboundCrossClusterSearchConnections for usage and error information. // // Returned Error Types: -// * BaseException -// An error occurred while processing the request. +// * InvalidPaginationTokenException +// The request processing has failed because of invalid pagination token provided +// by customer. Returns an HTTP status code of 400. // -// * InternalException -// The request processing has failed because of an unknown error, exception -// or failure (the failure is internal to the service) . Gives http status code -// of 500. -// -// * ValidationException -// An exception for missing / invalid input fields. Gives http status code of -// 400. +// * DisabledOperationException +// An error occured because the client wanted to access a not supported operation. +// Gives http status code of 409. // -func (c *ElasticsearchService) DescribeElasticsearchDomains(input *DescribeElasticsearchDomainsInput) (*DescribeElasticsearchDomainsOutput, error) { - req, out := c.DescribeElasticsearchDomainsRequest(input) +func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnections(input *DescribeInboundCrossClusterSearchConnectionsInput) (*DescribeInboundCrossClusterSearchConnectionsOutput, error) { + req, out := c.DescribeInboundCrossClusterSearchConnectionsRequest(input) return out, req.Send() } -// DescribeElasticsearchDomainsWithContext is the same as DescribeElasticsearchDomains with the addition of +// DescribeInboundCrossClusterSearchConnectionsWithContext is the same as DescribeInboundCrossClusterSearchConnections with the addition of // the ability to pass a context and additional request options. // -// See DescribeElasticsearchDomains for details on how to use this API operation. +// See DescribeInboundCrossClusterSearchConnections for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *ElasticsearchService) DescribeElasticsearchDomainsWithContext(ctx aws.Context, input *DescribeElasticsearchDomainsInput, opts ...request.Option) (*DescribeElasticsearchDomainsOutput, error) { - req, out := c.DescribeElasticsearchDomainsRequest(input) +func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsWithContext(ctx aws.Context, input *DescribeInboundCrossClusterSearchConnectionsInput, opts ...request.Option) (*DescribeInboundCrossClusterSearchConnectionsOutput, error) { + req, out := c.DescribeInboundCrossClusterSearchConnectionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeElasticsearchInstanceTypeLimits = "DescribeElasticsearchInstanceTypeLimits" +// DescribeInboundCrossClusterSearchConnectionsPages iterates over the pages of a DescribeInboundCrossClusterSearchConnections operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInboundCrossClusterSearchConnections 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 DescribeInboundCrossClusterSearchConnections operation. +// pageNum := 0 +// err := client.DescribeInboundCrossClusterSearchConnectionsPages(params, +// func(page *elasticsearchservice.DescribeInboundCrossClusterSearchConnectionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsPages(input *DescribeInboundCrossClusterSearchConnectionsInput, fn func(*DescribeInboundCrossClusterSearchConnectionsOutput, bool) bool) error { + return c.DescribeInboundCrossClusterSearchConnectionsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// DescribeElasticsearchInstanceTypeLimitsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeElasticsearchInstanceTypeLimits operation. The "output" return +// DescribeInboundCrossClusterSearchConnectionsPagesWithContext same as DescribeInboundCrossClusterSearchConnectionsPages 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 *ElasticsearchService) DescribeInboundCrossClusterSearchConnectionsPagesWithContext(ctx aws.Context, input *DescribeInboundCrossClusterSearchConnectionsInput, fn func(*DescribeInboundCrossClusterSearchConnectionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInboundCrossClusterSearchConnectionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInboundCrossClusterSearchConnectionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInboundCrossClusterSearchConnectionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeOutboundCrossClusterSearchConnections = "DescribeOutboundCrossClusterSearchConnections" + +// DescribeOutboundCrossClusterSearchConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeOutboundCrossClusterSearchConnections operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeElasticsearchInstanceTypeLimits for more information on using the DescribeElasticsearchInstanceTypeLimits +// See DescribeOutboundCrossClusterSearchConnections for more information on using the DescribeOutboundCrossClusterSearchConnections // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeElasticsearchInstanceTypeLimitsRequest method. -// req, resp := client.DescribeElasticsearchInstanceTypeLimitsRequest(params) +// // Example sending a request using the DescribeOutboundCrossClusterSearchConnectionsRequest method. +// req, resp := client.DescribeOutboundCrossClusterSearchConnectionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } -func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsRequest(input *DescribeElasticsearchInstanceTypeLimitsInput) (req *request.Request, output *DescribeElasticsearchInstanceTypeLimitsOutput) { +func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsRequest(input *DescribeOutboundCrossClusterSearchConnectionsInput) (req *request.Request, output *DescribeOutboundCrossClusterSearchConnectionsOutput) { op := &request.Operation{ - Name: opDescribeElasticsearchInstanceTypeLimits, - HTTPMethod: "GET", - HTTPPath: "/2015-01-01/es/instanceTypeLimits/{ElasticsearchVersion}/{InstanceType}", + Name: opDescribeOutboundCrossClusterSearchConnections, + HTTPMethod: "POST", + HTTPPath: "/2015-01-01/es/ccs/outboundConnection/search", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &DescribeElasticsearchInstanceTypeLimitsInput{} + input = &DescribeOutboundCrossClusterSearchConnectionsInput{} } - output = &DescribeElasticsearchInstanceTypeLimitsOutput{} + output = &DescribeOutboundCrossClusterSearchConnectionsOutput{} req = c.newRequest(op, input, output) return } -// DescribeElasticsearchInstanceTypeLimits API operation for Amazon Elasticsearch Service. +// DescribeOutboundCrossClusterSearchConnections API operation for Amazon Elasticsearch Service. // -// Describe Elasticsearch Limits for a given InstanceType and ElasticsearchVersion. -// When modifying existing Domain, specify the DomainName to know what Limits -// are supported for modifying. +// Lists all the outbound cross-cluster search connections for a source domain. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Elasticsearch Service's -// API operation DescribeElasticsearchInstanceTypeLimits for usage and error information. +// API operation DescribeOutboundCrossClusterSearchConnections for usage and error information. // // Returned Error Types: -// * BaseException -// An error occurred while processing the request. -// -// * InternalException -// The request processing has failed because of an unknown error, exception -// or failure (the failure is internal to the service) . Gives http status code -// of 500. +// * InvalidPaginationTokenException +// The request processing has failed because of invalid pagination token provided +// by customer. Returns an HTTP status code of 400. // -// * InvalidTypeException -// An exception for trying to create or access sub-resource that is either invalid -// or not supported. Gives http status code of 409. -// -// * LimitExceededException -// An exception for trying to create more than allowed resources or sub-resources. +// * DisabledOperationException +// An error occured because the client wanted to access a not supported operation. // Gives http status code of 409. // -// * ResourceNotFoundException -// An exception for accessing or deleting a resource that does not exist. Gives -// http status code of 400. -// -// * ValidationException -// An exception for missing / invalid input fields. Gives http status code of -// 400. -// -func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimits(input *DescribeElasticsearchInstanceTypeLimitsInput) (*DescribeElasticsearchInstanceTypeLimitsOutput, error) { - req, out := c.DescribeElasticsearchInstanceTypeLimitsRequest(input) +func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnections(input *DescribeOutboundCrossClusterSearchConnectionsInput) (*DescribeOutboundCrossClusterSearchConnectionsOutput, error) { + req, out := c.DescribeOutboundCrossClusterSearchConnectionsRequest(input) return out, req.Send() } -// DescribeElasticsearchInstanceTypeLimitsWithContext is the same as DescribeElasticsearchInstanceTypeLimits with the addition of +// DescribeOutboundCrossClusterSearchConnectionsWithContext is the same as DescribeOutboundCrossClusterSearchConnections with the addition of // the ability to pass a context and additional request options. // -// See DescribeElasticsearchInstanceTypeLimits for details on how to use this API operation. +// See DescribeOutboundCrossClusterSearchConnections for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *ElasticsearchService) DescribeElasticsearchInstanceTypeLimitsWithContext(ctx aws.Context, input *DescribeElasticsearchInstanceTypeLimitsInput, opts ...request.Option) (*DescribeElasticsearchInstanceTypeLimitsOutput, error) { - req, out := c.DescribeElasticsearchInstanceTypeLimitsRequest(input) +func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsWithContext(ctx aws.Context, input *DescribeOutboundCrossClusterSearchConnectionsInput, opts ...request.Option) (*DescribeOutboundCrossClusterSearchConnectionsOutput, error) { + req, out := c.DescribeOutboundCrossClusterSearchConnectionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } +// DescribeOutboundCrossClusterSearchConnectionsPages iterates over the pages of a DescribeOutboundCrossClusterSearchConnections operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeOutboundCrossClusterSearchConnections 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 DescribeOutboundCrossClusterSearchConnections operation. +// pageNum := 0 +// err := client.DescribeOutboundCrossClusterSearchConnectionsPages(params, +// func(page *elasticsearchservice.DescribeOutboundCrossClusterSearchConnectionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsPages(input *DescribeOutboundCrossClusterSearchConnectionsInput, fn func(*DescribeOutboundCrossClusterSearchConnectionsOutput, bool) bool) error { + return c.DescribeOutboundCrossClusterSearchConnectionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeOutboundCrossClusterSearchConnectionsPagesWithContext same as DescribeOutboundCrossClusterSearchConnectionsPages 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 *ElasticsearchService) DescribeOutboundCrossClusterSearchConnectionsPagesWithContext(ctx aws.Context, input *DescribeOutboundCrossClusterSearchConnectionsInput, fn func(*DescribeOutboundCrossClusterSearchConnectionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeOutboundCrossClusterSearchConnectionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeOutboundCrossClusterSearchConnectionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeOutboundCrossClusterSearchConnectionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribePackages = "DescribePackages" // DescribePackagesRequest generates a "aws/request.Request" representing the @@ -2792,99 +3412,181 @@ func (c *ElasticsearchService) ListTagsWithContext(ctx aws.Context, input *ListT return out, req.Send() } -const opPurchaseReservedElasticsearchInstanceOffering = "PurchaseReservedElasticsearchInstanceOffering" +const opPurchaseReservedElasticsearchInstanceOffering = "PurchaseReservedElasticsearchInstanceOffering" + +// PurchaseReservedElasticsearchInstanceOfferingRequest generates a "aws/request.Request" representing the +// client's request for the PurchaseReservedElasticsearchInstanceOffering operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PurchaseReservedElasticsearchInstanceOffering for more information on using the PurchaseReservedElasticsearchInstanceOffering +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PurchaseReservedElasticsearchInstanceOfferingRequest method. +// req, resp := client.PurchaseReservedElasticsearchInstanceOfferingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOfferingRequest(input *PurchaseReservedElasticsearchInstanceOfferingInput) (req *request.Request, output *PurchaseReservedElasticsearchInstanceOfferingOutput) { + op := &request.Operation{ + Name: opPurchaseReservedElasticsearchInstanceOffering, + HTTPMethod: "POST", + HTTPPath: "/2015-01-01/es/purchaseReservedInstanceOffering", + } + + if input == nil { + input = &PurchaseReservedElasticsearchInstanceOfferingInput{} + } + + output = &PurchaseReservedElasticsearchInstanceOfferingOutput{} + req = c.newRequest(op, input, output) + return +} + +// PurchaseReservedElasticsearchInstanceOffering API operation for Amazon Elasticsearch Service. +// +// Allows you to purchase reserved Elasticsearch 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 Elasticsearch Service's +// API operation PurchaseReservedElasticsearchInstanceOffering for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// An exception for accessing or deleting a resource that does not exist. Gives +// http status code of 400. +// +// * ResourceAlreadyExistsException +// An exception for creating a resource that already exists. Gives http status +// code of 400. +// +// * LimitExceededException +// An exception for trying to create more than allowed resources or sub-resources. +// Gives http status code of 409. +// +// * DisabledOperationException +// An error occured because the client wanted to access a not supported operation. +// Gives http status code of 409. +// +// * ValidationException +// An exception for missing / invalid input fields. Gives http status code of +// 400. +// +// * InternalException +// The request processing has failed because of an unknown error, exception +// or failure (the failure is internal to the service) . Gives http status code +// of 500. +// +func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOffering(input *PurchaseReservedElasticsearchInstanceOfferingInput) (*PurchaseReservedElasticsearchInstanceOfferingOutput, error) { + req, out := c.PurchaseReservedElasticsearchInstanceOfferingRequest(input) + return out, req.Send() +} + +// PurchaseReservedElasticsearchInstanceOfferingWithContext is the same as PurchaseReservedElasticsearchInstanceOffering with the addition of +// the ability to pass a context and additional request options. +// +// See PurchaseReservedElasticsearchInstanceOffering for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOfferingWithContext(ctx aws.Context, input *PurchaseReservedElasticsearchInstanceOfferingInput, opts ...request.Option) (*PurchaseReservedElasticsearchInstanceOfferingOutput, error) { + req, out := c.PurchaseReservedElasticsearchInstanceOfferingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRejectInboundCrossClusterSearchConnection = "RejectInboundCrossClusterSearchConnection" -// PurchaseReservedElasticsearchInstanceOfferingRequest generates a "aws/request.Request" representing the -// client's request for the PurchaseReservedElasticsearchInstanceOffering operation. The "output" return +// RejectInboundCrossClusterSearchConnectionRequest generates a "aws/request.Request" representing the +// client's request for the RejectInboundCrossClusterSearchConnection operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PurchaseReservedElasticsearchInstanceOffering for more information on using the PurchaseReservedElasticsearchInstanceOffering +// See RejectInboundCrossClusterSearchConnection for more information on using the RejectInboundCrossClusterSearchConnection // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the PurchaseReservedElasticsearchInstanceOfferingRequest method. -// req, resp := client.PurchaseReservedElasticsearchInstanceOfferingRequest(params) +// // Example sending a request using the RejectInboundCrossClusterSearchConnectionRequest method. +// req, resp := client.RejectInboundCrossClusterSearchConnectionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } -func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOfferingRequest(input *PurchaseReservedElasticsearchInstanceOfferingInput) (req *request.Request, output *PurchaseReservedElasticsearchInstanceOfferingOutput) { +func (c *ElasticsearchService) RejectInboundCrossClusterSearchConnectionRequest(input *RejectInboundCrossClusterSearchConnectionInput) (req *request.Request, output *RejectInboundCrossClusterSearchConnectionOutput) { op := &request.Operation{ - Name: opPurchaseReservedElasticsearchInstanceOffering, - HTTPMethod: "POST", - HTTPPath: "/2015-01-01/es/purchaseReservedInstanceOffering", + Name: opRejectInboundCrossClusterSearchConnection, + HTTPMethod: "PUT", + HTTPPath: "/2015-01-01/es/ccs/inboundConnection/{ConnectionId}/reject", } if input == nil { - input = &PurchaseReservedElasticsearchInstanceOfferingInput{} + input = &RejectInboundCrossClusterSearchConnectionInput{} } - output = &PurchaseReservedElasticsearchInstanceOfferingOutput{} + output = &RejectInboundCrossClusterSearchConnectionOutput{} req = c.newRequest(op, input, output) return } -// PurchaseReservedElasticsearchInstanceOffering API operation for Amazon Elasticsearch Service. +// RejectInboundCrossClusterSearchConnection API operation for Amazon Elasticsearch Service. // -// Allows you to purchase reserved Elasticsearch instances. +// Allows the destination domain owner to reject an inbound cross-cluster search +// connection 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 Elasticsearch Service's -// API operation PurchaseReservedElasticsearchInstanceOffering for usage and error information. +// API operation RejectInboundCrossClusterSearchConnection for usage and error information. // // Returned Error Types: // * ResourceNotFoundException // An exception for accessing or deleting a resource that does not exist. Gives // http status code of 400. // -// * ResourceAlreadyExistsException -// An exception for creating a resource that already exists. Gives http status -// code of 400. -// -// * LimitExceededException -// An exception for trying to create more than allowed resources or sub-resources. -// Gives http status code of 409. -// // * DisabledOperationException // An error occured because the client wanted to access a not supported operation. // Gives http status code of 409. // -// * ValidationException -// An exception for missing / invalid input fields. Gives http status code of -// 400. -// -// * InternalException -// The request processing has failed because of an unknown error, exception -// or failure (the failure is internal to the service) . Gives http status code -// of 500. -// -func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOffering(input *PurchaseReservedElasticsearchInstanceOfferingInput) (*PurchaseReservedElasticsearchInstanceOfferingOutput, error) { - req, out := c.PurchaseReservedElasticsearchInstanceOfferingRequest(input) +func (c *ElasticsearchService) RejectInboundCrossClusterSearchConnection(input *RejectInboundCrossClusterSearchConnectionInput) (*RejectInboundCrossClusterSearchConnectionOutput, error) { + req, out := c.RejectInboundCrossClusterSearchConnectionRequest(input) return out, req.Send() } -// PurchaseReservedElasticsearchInstanceOfferingWithContext is the same as PurchaseReservedElasticsearchInstanceOffering with the addition of +// RejectInboundCrossClusterSearchConnectionWithContext is the same as RejectInboundCrossClusterSearchConnection with the addition of // the ability to pass a context and additional request options. // -// See PurchaseReservedElasticsearchInstanceOffering for details on how to use this API operation. +// See RejectInboundCrossClusterSearchConnection for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *ElasticsearchService) PurchaseReservedElasticsearchInstanceOfferingWithContext(ctx aws.Context, input *PurchaseReservedElasticsearchInstanceOfferingInput, opts ...request.Option) (*PurchaseReservedElasticsearchInstanceOfferingOutput, error) { - req, out := c.PurchaseReservedElasticsearchInstanceOfferingRequest(input) +func (c *ElasticsearchService) RejectInboundCrossClusterSearchConnectionWithContext(ctx aws.Context, input *RejectInboundCrossClusterSearchConnectionInput, opts ...request.Option) (*RejectInboundCrossClusterSearchConnectionOutput, error) { + req, out := c.RejectInboundCrossClusterSearchConnectionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -3261,6 +3963,74 @@ func (c *ElasticsearchService) UpgradeElasticsearchDomainWithContext(ctx aws.Con return out, req.Send() } +// Container for the parameters to the AcceptInboundCrossClusterSearchConnection +// operation. +type AcceptInboundCrossClusterSearchConnectionInput struct { + _ struct{} `type:"structure"` + + // The id of the inbound connection that you want to accept. + // + // CrossClusterSearchConnectionId is a required field + CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"` +} + +// String returns the string representation +func (s AcceptInboundCrossClusterSearchConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptInboundCrossClusterSearchConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AcceptInboundCrossClusterSearchConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AcceptInboundCrossClusterSearchConnectionInput"} + if s.CrossClusterSearchConnectionId == nil { + invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId")) + } + if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value. +func (s *AcceptInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *AcceptInboundCrossClusterSearchConnectionInput { + s.CrossClusterSearchConnectionId = &v + return s +} + +// The result of a AcceptInboundCrossClusterSearchConnection operation. Contains +// details of accepted inbound connection. +type AcceptInboundCrossClusterSearchConnectionOutput struct { + _ struct{} `type:"structure"` + + // Specifies the InboundCrossClusterSearchConnection of accepted inbound connection. + CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"` +} + +// String returns the string representation +func (s AcceptInboundCrossClusterSearchConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptInboundCrossClusterSearchConnectionOutput) GoString() string { + return s.String() +} + +// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value. +func (s *AcceptInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *AcceptInboundCrossClusterSearchConnectionOutput { + s.CrossClusterSearchConnection = v + return s +} + // An error occurred because user does not have permissions to access the resource. // Returns HTTP status code 403. type AccessDeniedException struct { @@ -4282,6 +5052,148 @@ func (s *CreateElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomain return s } +// Container for the parameters to the CreateOutboundCrossClusterSearchConnection +// operation. +type CreateOutboundCrossClusterSearchConnectionInput struct { + _ struct{} `type:"structure"` + + // Specifies the connection alias that will be used by the customer for this + // connection. + // + // ConnectionAlias is a required field + ConnectionAlias *string `type:"string" required:"true"` + + // Specifies the DomainInformation for the destination Elasticsearch domain. + // + // DestinationDomainInfo is a required field + DestinationDomainInfo *DomainInformation `type:"structure" required:"true"` + + // Specifies the DomainInformation for the source Elasticsearch domain. + // + // SourceDomainInfo is a required field + SourceDomainInfo *DomainInformation `type:"structure" required:"true"` +} + +// String returns the string representation +func (s CreateOutboundCrossClusterSearchConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateOutboundCrossClusterSearchConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateOutboundCrossClusterSearchConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateOutboundCrossClusterSearchConnectionInput"} + if s.ConnectionAlias == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectionAlias")) + } + if s.DestinationDomainInfo == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationDomainInfo")) + } + if s.SourceDomainInfo == nil { + invalidParams.Add(request.NewErrParamRequired("SourceDomainInfo")) + } + if s.DestinationDomainInfo != nil { + if err := s.DestinationDomainInfo.Validate(); err != nil { + invalidParams.AddNested("DestinationDomainInfo", err.(request.ErrInvalidParams)) + } + } + if s.SourceDomainInfo != nil { + if err := s.SourceDomainInfo.Validate(); err != nil { + invalidParams.AddNested("SourceDomainInfo", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConnectionAlias sets the ConnectionAlias field's value. +func (s *CreateOutboundCrossClusterSearchConnectionInput) SetConnectionAlias(v string) *CreateOutboundCrossClusterSearchConnectionInput { + s.ConnectionAlias = &v + return s +} + +// SetDestinationDomainInfo sets the DestinationDomainInfo field's value. +func (s *CreateOutboundCrossClusterSearchConnectionInput) SetDestinationDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionInput { + s.DestinationDomainInfo = v + return s +} + +// SetSourceDomainInfo sets the SourceDomainInfo field's value. +func (s *CreateOutboundCrossClusterSearchConnectionInput) SetSourceDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionInput { + s.SourceDomainInfo = v + return s +} + +// The result of a CreateOutboundCrossClusterSearchConnection request. Contains +// the details of the newly created cross-cluster search connection. +type CreateOutboundCrossClusterSearchConnectionOutput struct { + _ struct{} `type:"structure"` + + // Specifies the connection alias provided during the create connection request. + ConnectionAlias *string `type:"string"` + + // Specifies the OutboundCrossClusterSearchConnectionStatus for the newly created + // connection. + ConnectionStatus *OutboundCrossClusterSearchConnectionStatus `type:"structure"` + + // Unique id for the created outbound connection, which is used for subsequent + // operations on connection. + CrossClusterSearchConnectionId *string `type:"string"` + + // Specifies the DomainInformation for the destination Elasticsearch domain. + DestinationDomainInfo *DomainInformation `type:"structure"` + + // Specifies the DomainInformation for the source Elasticsearch domain. + SourceDomainInfo *DomainInformation `type:"structure"` +} + +// String returns the string representation +func (s CreateOutboundCrossClusterSearchConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateOutboundCrossClusterSearchConnectionOutput) GoString() string { + return s.String() +} + +// SetConnectionAlias sets the ConnectionAlias field's value. +func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetConnectionAlias(v string) *CreateOutboundCrossClusterSearchConnectionOutput { + s.ConnectionAlias = &v + return s +} + +// SetConnectionStatus sets the ConnectionStatus field's value. +func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetConnectionStatus(v *OutboundCrossClusterSearchConnectionStatus) *CreateOutboundCrossClusterSearchConnectionOutput { + s.ConnectionStatus = v + return s +} + +// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value. +func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnectionId(v string) *CreateOutboundCrossClusterSearchConnectionOutput { + s.CrossClusterSearchConnectionId = &v + return s +} + +// SetDestinationDomainInfo sets the DestinationDomainInfo field's value. +func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetDestinationDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionOutput { + s.DestinationDomainInfo = v + return s +} + +// SetSourceDomainInfo sets the SourceDomainInfo field's value. +func (s *CreateOutboundCrossClusterSearchConnectionOutput) SetSourceDomainInfo(v *DomainInformation) *CreateOutboundCrossClusterSearchConnectionOutput { + s.SourceDomainInfo = v + return s +} + // Container for request parameters to CreatePackage operation. type CreatePackageInput struct { _ struct{} `type:"structure"` @@ -4370,55 +5282,152 @@ func (s *CreatePackageInput) SetPackageType(v string) *CreatePackageInput { type CreatePackageOutput struct { _ struct{} `type:"structure"` - // Information about the package PackageDetails. - PackageDetails *PackageDetails `type:"structure"` + // Information about the package PackageDetails. + PackageDetails *PackageDetails `type:"structure"` +} + +// String returns the string representation +func (s CreatePackageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePackageOutput) GoString() string { + return s.String() +} + +// SetPackageDetails sets the PackageDetails field's value. +func (s *CreatePackageOutput) SetPackageDetails(v *PackageDetails) *CreatePackageOutput { + s.PackageDetails = v + return s +} + +// Container for the parameters to the DeleteElasticsearchDomain operation. +// Specifies the name of the Elasticsearch domain that you want to delete. +type DeleteElasticsearchDomainInput struct { + _ struct{} `type:"structure"` + + // The name of the Elasticsearch domain that you want to permanently delete. + // + // DomainName is a required field + DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteElasticsearchDomainInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteElasticsearchDomainInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteElasticsearchDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteElasticsearchDomainInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *DeleteElasticsearchDomainInput) SetDomainName(v string) *DeleteElasticsearchDomainInput { + s.DomainName = &v + return s +} + +// The result of a DeleteElasticsearchDomain request. Contains the status of +// the pending deletion, or no status if the domain and all of its resources +// have been deleted. +type DeleteElasticsearchDomainOutput struct { + _ struct{} `type:"structure"` + + // The status of the Elasticsearch domain being deleted. + DomainStatus *ElasticsearchDomainStatus `type:"structure"` +} + +// String returns the string representation +func (s DeleteElasticsearchDomainOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteElasticsearchDomainOutput) GoString() string { + return s.String() +} + +// SetDomainStatus sets the DomainStatus field's value. +func (s *DeleteElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *DeleteElasticsearchDomainOutput { + s.DomainStatus = v + return s +} + +type DeleteElasticsearchServiceRoleInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteElasticsearchServiceRoleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteElasticsearchServiceRoleInput) GoString() string { + return s.String() +} + +type DeleteElasticsearchServiceRoleOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation -func (s CreatePackageOutput) String() string { +func (s DeleteElasticsearchServiceRoleOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreatePackageOutput) GoString() string { +func (s DeleteElasticsearchServiceRoleOutput) GoString() string { return s.String() } -// SetPackageDetails sets the PackageDetails field's value. -func (s *CreatePackageOutput) SetPackageDetails(v *PackageDetails) *CreatePackageOutput { - s.PackageDetails = v - return s -} - -// Container for the parameters to the DeleteElasticsearchDomain operation. -// Specifies the name of the Elasticsearch domain that you want to delete. -type DeleteElasticsearchDomainInput struct { +// Container for the parameters to the DeleteInboundCrossClusterSearchConnection +// operation. +type DeleteInboundCrossClusterSearchConnectionInput struct { _ struct{} `type:"structure"` - // The name of the Elasticsearch domain that you want to permanently delete. + // The id of the inbound connection that you want to permanently delete. // - // DomainName is a required field - DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"` + // CrossClusterSearchConnectionId is a required field + CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"` } // String returns the string representation -func (s DeleteElasticsearchDomainInput) String() string { +func (s DeleteInboundCrossClusterSearchConnectionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteElasticsearchDomainInput) GoString() string { +func (s DeleteInboundCrossClusterSearchConnectionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteElasticsearchDomainInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteElasticsearchDomainInput"} - if s.DomainName == nil { - invalidParams.Add(request.NewErrParamRequired("DomainName")) +func (s *DeleteInboundCrossClusterSearchConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInboundCrossClusterSearchConnectionInput"} + if s.CrossClusterSearchConnectionId == nil { + invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId")) } - if s.DomainName != nil && len(*s.DomainName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1)) } if invalidParams.Len() > 0 { @@ -4427,66 +5436,105 @@ func (s *DeleteElasticsearchDomainInput) Validate() error { return nil } -// SetDomainName sets the DomainName field's value. -func (s *DeleteElasticsearchDomainInput) SetDomainName(v string) *DeleteElasticsearchDomainInput { - s.DomainName = &v +// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value. +func (s *DeleteInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *DeleteInboundCrossClusterSearchConnectionInput { + s.CrossClusterSearchConnectionId = &v return s } -// The result of a DeleteElasticsearchDomain request. Contains the status of -// the pending deletion, or no status if the domain and all of its resources -// have been deleted. -type DeleteElasticsearchDomainOutput struct { +// The result of a DeleteInboundCrossClusterSearchConnection operation. Contains +// details of deleted inbound connection. +type DeleteInboundCrossClusterSearchConnectionOutput struct { _ struct{} `type:"structure"` - // The status of the Elasticsearch domain being deleted. - DomainStatus *ElasticsearchDomainStatus `type:"structure"` + // Specifies the InboundCrossClusterSearchConnection of deleted inbound connection. + CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"` } // String returns the string representation -func (s DeleteElasticsearchDomainOutput) String() string { +func (s DeleteInboundCrossClusterSearchConnectionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteElasticsearchDomainOutput) GoString() string { +func (s DeleteInboundCrossClusterSearchConnectionOutput) GoString() string { return s.String() } -// SetDomainStatus sets the DomainStatus field's value. -func (s *DeleteElasticsearchDomainOutput) SetDomainStatus(v *ElasticsearchDomainStatus) *DeleteElasticsearchDomainOutput { - s.DomainStatus = v +// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value. +func (s *DeleteInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *DeleteInboundCrossClusterSearchConnectionOutput { + s.CrossClusterSearchConnection = v return s } -type DeleteElasticsearchServiceRoleInput struct { +// Container for the parameters to the DeleteOutboundCrossClusterSearchConnection +// operation. +type DeleteOutboundCrossClusterSearchConnectionInput struct { _ struct{} `type:"structure"` + + // The id of the outbound connection that you want to permanently delete. + // + // CrossClusterSearchConnectionId is a required field + CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"` } // String returns the string representation -func (s DeleteElasticsearchServiceRoleInput) String() string { +func (s DeleteOutboundCrossClusterSearchConnectionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteElasticsearchServiceRoleInput) GoString() string { +func (s DeleteOutboundCrossClusterSearchConnectionInput) GoString() string { return s.String() } -type DeleteElasticsearchServiceRoleOutput struct { +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteOutboundCrossClusterSearchConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteOutboundCrossClusterSearchConnectionInput"} + if s.CrossClusterSearchConnectionId == nil { + invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId")) + } + if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value. +func (s *DeleteOutboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *DeleteOutboundCrossClusterSearchConnectionInput { + s.CrossClusterSearchConnectionId = &v + return s +} + +// The result of a DeleteOutboundCrossClusterSearchConnection operation. Contains +// details of deleted outbound connection. +type DeleteOutboundCrossClusterSearchConnectionOutput struct { _ struct{} `type:"structure"` + + // Specifies the OutboundCrossClusterSearchConnection of deleted outbound connection. + CrossClusterSearchConnection *OutboundCrossClusterSearchConnection `type:"structure"` } // String returns the string representation -func (s DeleteElasticsearchServiceRoleOutput) String() string { +func (s DeleteOutboundCrossClusterSearchConnectionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteElasticsearchServiceRoleOutput) GoString() string { +func (s DeleteOutboundCrossClusterSearchConnectionOutput) GoString() string { return s.String() } +// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value. +func (s *DeleteOutboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *OutboundCrossClusterSearchConnection) *DeleteOutboundCrossClusterSearchConnectionOutput { + s.CrossClusterSearchConnection = v + return s +} + // Container for request parameters to DeletePackage operation. type DeletePackageInput struct { _ struct{} `type:"structure"` @@ -4866,6 +5914,228 @@ func (s *DescribeElasticsearchInstanceTypeLimitsOutput) SetLimitsByRole(v map[st return s } +// Container for the parameters to the DescribeInboundCrossClusterSearchConnections +// operation. +type DescribeInboundCrossClusterSearchConnectionsInput struct { + _ struct{} `type:"structure"` + + // A list of filters used to match properties for inbound cross-cluster search + // connection. Available Filter names for this operation are: + // * cross-cluster-search-connection-id + // + // * source-domain-info.domain-name + // + // * source-domain-info.owner-id + // + // * source-domain-info.region + // + // * destination-domain-info.domain-name + Filters []*Filter `type:"list"` + + // Set this value to limit the number of results returned. If not specified, + // defaults to 100. + MaxResults *int64 `type:"integer"` + + // NextToken is sent in case the earlier API call results contain the NextToken. + // It is used for pagination. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInboundCrossClusterSearchConnectionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInboundCrossClusterSearchConnectionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInboundCrossClusterSearchConnectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInboundCrossClusterSearchConnectionsInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetFilters(v []*Filter) *DescribeInboundCrossClusterSearchConnectionsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetMaxResults(v int64) *DescribeInboundCrossClusterSearchConnectionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInboundCrossClusterSearchConnectionsInput) SetNextToken(v string) *DescribeInboundCrossClusterSearchConnectionsInput { + s.NextToken = &v + return s +} + +// The result of a DescribeInboundCrossClusterSearchConnections request. Contains +// the list of connections matching the filter criteria. +type DescribeInboundCrossClusterSearchConnectionsOutput struct { + _ struct{} `type:"structure"` + + // Consists of list of InboundCrossClusterSearchConnection matching the specified + // filter criteria. + CrossClusterSearchConnections []*InboundCrossClusterSearchConnection `type:"list"` + + // If more results are available and NextToken is present, make the next request + // to the same API with the received NextToken to paginate the remaining results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeInboundCrossClusterSearchConnectionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInboundCrossClusterSearchConnectionsOutput) GoString() string { + return s.String() +} + +// SetCrossClusterSearchConnections sets the CrossClusterSearchConnections field's value. +func (s *DescribeInboundCrossClusterSearchConnectionsOutput) SetCrossClusterSearchConnections(v []*InboundCrossClusterSearchConnection) *DescribeInboundCrossClusterSearchConnectionsOutput { + s.CrossClusterSearchConnections = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeInboundCrossClusterSearchConnectionsOutput) SetNextToken(v string) *DescribeInboundCrossClusterSearchConnectionsOutput { + s.NextToken = &v + return s +} + +// Container for the parameters to the DescribeOutboundCrossClusterSearchConnections +// operation. +type DescribeOutboundCrossClusterSearchConnectionsInput struct { + _ struct{} `type:"structure"` + + // A list of filters used to match properties for outbound cross-cluster search + // connection. Available Filter names for this operation are: + // * cross-cluster-search-connection-id + // + // * destination-domain-info.domain-name + // + // * destination-domain-info.owner-id + // + // * destination-domain-info.region + // + // * source-domain-info.domain-name + Filters []*Filter `type:"list"` + + // Set this value to limit the number of results returned. If not specified, + // defaults to 100. + MaxResults *int64 `type:"integer"` + + // NextToken is sent in case the earlier API call results contain the NextToken. + // It is used for pagination. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeOutboundCrossClusterSearchConnectionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeOutboundCrossClusterSearchConnectionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeOutboundCrossClusterSearchConnectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeOutboundCrossClusterSearchConnectionsInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetFilters(v []*Filter) *DescribeOutboundCrossClusterSearchConnectionsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetMaxResults(v int64) *DescribeOutboundCrossClusterSearchConnectionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeOutboundCrossClusterSearchConnectionsInput) SetNextToken(v string) *DescribeOutboundCrossClusterSearchConnectionsInput { + s.NextToken = &v + return s +} + +// The result of a DescribeOutboundCrossClusterSearchConnections request. Contains +// the list of connections matching the filter criteria. +type DescribeOutboundCrossClusterSearchConnectionsOutput struct { + _ struct{} `type:"structure"` + + // Consists of list of OutboundCrossClusterSearchConnection matching the specified + // filter criteria. + CrossClusterSearchConnections []*OutboundCrossClusterSearchConnection `type:"list"` + + // If more results are available and NextToken is present, make the next request + // to the same API with the received NextToken to paginate the remaining results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeOutboundCrossClusterSearchConnectionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeOutboundCrossClusterSearchConnectionsOutput) GoString() string { + return s.String() +} + +// SetCrossClusterSearchConnections sets the CrossClusterSearchConnections field's value. +func (s *DescribeOutboundCrossClusterSearchConnectionsOutput) SetCrossClusterSearchConnections(v []*OutboundCrossClusterSearchConnection) *DescribeOutboundCrossClusterSearchConnectionsOutput { + s.CrossClusterSearchConnections = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeOutboundCrossClusterSearchConnectionsOutput) SetNextToken(v string) *DescribeOutboundCrossClusterSearchConnectionsOutput { + s.NextToken = &v + return s +} + // Filter to apply in DescribePackage response. type DescribePackagesFilter struct { _ struct{} `type:"structure"` @@ -5367,11 +6637,74 @@ func (s DomainInfo) GoString() string { } // SetDomainName sets the DomainName field's value. -func (s *DomainInfo) SetDomainName(v string) *DomainInfo { +func (s *DomainInfo) SetDomainName(v string) *DomainInfo { + s.DomainName = &v + return s +} + +type DomainInformation struct { + _ struct{} `type:"structure"` + + // The name of an Elasticsearch domain. Domain names are unique across the domains + // owned by an account within an AWS region. Domain names start with a letter + // or number and can contain the following characters: a-z (lowercase), 0-9, + // and - (hyphen). + // + // DomainName is a required field + DomainName *string `min:"3" type:"string" required:"true"` + + OwnerId *string `min:"12" type:"string"` + + Region *string `type:"string"` +} + +// String returns the string representation +func (s DomainInformation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DomainInformation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DomainInformation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DomainInformation"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + if s.OwnerId != nil && len(*s.OwnerId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("OwnerId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *DomainInformation) SetDomainName(v string) *DomainInformation { s.DomainName = &v return s } +// SetOwnerId sets the OwnerId field's value. +func (s *DomainInformation) SetOwnerId(v string) *DomainInformation { + s.OwnerId = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *DomainInformation) SetRegion(v string) *DomainInformation { + s.Region = &v + return s +} + // Information on a package that is associated with a domain. type DomainPackageDetails struct { _ struct{} `type:"structure"` @@ -6237,6 +7570,58 @@ func (s *ErrorDetails) SetErrorType(v string) *ErrorDetails { return s } +// A filter used to limit results when describing inbound or outbound cross-cluster +// search connections. Multiple values can be specified per filter. A cross-cluster +// search connection must match at least one of the specified values for it +// to be returned from an operation. +type Filter struct { + _ struct{} `type:"structure"` + + // Specifies the name of the filter. + Name *string `min:"1" type:"string"` + + // Contains one or more values for the filter. + Values []*string `min:"1" type:"list"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Filter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Filter"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *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 +} + // Container for request parameters to GetCompatibleElasticsearchVersions operation. type GetCompatibleElasticsearchVersionsInput struct { _ struct{} `type:"structure"` @@ -6504,6 +7889,105 @@ func (s *GetUpgradeStatusOutput) SetUpgradeStep(v string) *GetUpgradeStatusOutpu return s } +// Specifies details of an inbound connection. +type InboundCrossClusterSearchConnection struct { + _ struct{} `type:"structure"` + + // Specifies the InboundCrossClusterSearchConnectionStatus for the outbound + // connection. + ConnectionStatus *InboundCrossClusterSearchConnectionStatus `type:"structure"` + + // Specifies the connection id for the inbound cross-cluster search connection. + CrossClusterSearchConnectionId *string `type:"string"` + + // Specifies the DomainInformation for the destination Elasticsearch domain. + DestinationDomainInfo *DomainInformation `type:"structure"` + + // Specifies the DomainInformation for the source Elasticsearch domain. + SourceDomainInfo *DomainInformation `type:"structure"` +} + +// String returns the string representation +func (s InboundCrossClusterSearchConnection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InboundCrossClusterSearchConnection) GoString() string { + return s.String() +} + +// SetConnectionStatus sets the ConnectionStatus field's value. +func (s *InboundCrossClusterSearchConnection) SetConnectionStatus(v *InboundCrossClusterSearchConnectionStatus) *InboundCrossClusterSearchConnection { + s.ConnectionStatus = v + return s +} + +// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value. +func (s *InboundCrossClusterSearchConnection) SetCrossClusterSearchConnectionId(v string) *InboundCrossClusterSearchConnection { + s.CrossClusterSearchConnectionId = &v + return s +} + +// SetDestinationDomainInfo sets the DestinationDomainInfo field's value. +func (s *InboundCrossClusterSearchConnection) SetDestinationDomainInfo(v *DomainInformation) *InboundCrossClusterSearchConnection { + s.DestinationDomainInfo = v + return s +} + +// SetSourceDomainInfo sets the SourceDomainInfo field's value. +func (s *InboundCrossClusterSearchConnection) SetSourceDomainInfo(v *DomainInformation) *InboundCrossClusterSearchConnection { + s.SourceDomainInfo = v + return s +} + +// Specifies the coonection status of an inbound cross-cluster search connection. +type InboundCrossClusterSearchConnectionStatus struct { + _ struct{} `type:"structure"` + + // Specifies verbose information for the inbound connection status. + Message *string `type:"string"` + + // The state code for inbound connection. This can be one of the following: + // + // * PENDING_ACCEPTANCE: Inbound connection is not yet accepted by destination + // domain owner. + // + // * APPROVED: Inbound connection is pending acceptance by destination domain + // owner. + // + // * REJECTING: Inbound connection rejection is in process. + // + // * REJECTED: Inbound connection is rejected. + // + // * DELETING: Inbound connection deletion is in progress. + // + // * DELETED: Inbound connection is deleted and cannot be used further. + StatusCode *string `type:"string" enum:"InboundCrossClusterSearchConnectionStatusCode"` +} + +// String returns the string representation +func (s InboundCrossClusterSearchConnectionStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InboundCrossClusterSearchConnectionStatus) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *InboundCrossClusterSearchConnectionStatus) SetMessage(v string) *InboundCrossClusterSearchConnectionStatus { + s.Message = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *InboundCrossClusterSearchConnectionStatus) SetStatusCode(v string) *InboundCrossClusterSearchConnectionStatus { + s.StatusCode = &v + return s +} + // InstanceCountLimits represents the limits on number of instances that be // created in Amazon Elasticsearch for given InstanceType. type InstanceCountLimits struct { @@ -6622,6 +8106,63 @@ func (s *InternalException) RequestID() string { return s.RespMetadata.RequestID } +// The request processing has failed because of invalid pagination token provided +// by customer. Returns an HTTP status code of 400. +type InvalidPaginationTokenException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidPaginationTokenException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidPaginationTokenException) GoString() string { + return s.String() +} + +func newErrorInvalidPaginationTokenException(v protocol.ResponseMetadata) error { + return &InvalidPaginationTokenException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidPaginationTokenException) Code() string { + return "InvalidPaginationTokenException" +} + +// Message returns the exception's message. +func (s *InvalidPaginationTokenException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidPaginationTokenException) OrigErr() error { + return nil +} + +func (s *InvalidPaginationTokenException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidPaginationTokenException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidPaginationTokenException) RequestID() string { + return s.RespMetadata.RequestID +} + // An exception for trying to create or access sub-resource that is either invalid // or not supported. Gives http status code of 409. type InvalidTypeException struct { @@ -7529,6 +9070,118 @@ func (s *OptionStatus) SetUpdateVersion(v int64) *OptionStatus { return s } +// Specifies details of an outbound connection. +type OutboundCrossClusterSearchConnection struct { + _ struct{} `type:"structure"` + + // Specifies the connection alias for the outbound cross-cluster search connection. + ConnectionAlias *string `type:"string"` + + // Specifies the OutboundCrossClusterSearchConnectionStatus for the outbound + // connection. + ConnectionStatus *OutboundCrossClusterSearchConnectionStatus `type:"structure"` + + // Specifies the connection id for the outbound cross-cluster search connection. + CrossClusterSearchConnectionId *string `type:"string"` + + // Specifies the DomainInformation for the destination Elasticsearch domain. + DestinationDomainInfo *DomainInformation `type:"structure"` + + // Specifies the DomainInformation for the source Elasticsearch domain. + SourceDomainInfo *DomainInformation `type:"structure"` +} + +// String returns the string representation +func (s OutboundCrossClusterSearchConnection) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutboundCrossClusterSearchConnection) GoString() string { + return s.String() +} + +// SetConnectionAlias sets the ConnectionAlias field's value. +func (s *OutboundCrossClusterSearchConnection) SetConnectionAlias(v string) *OutboundCrossClusterSearchConnection { + s.ConnectionAlias = &v + return s +} + +// SetConnectionStatus sets the ConnectionStatus field's value. +func (s *OutboundCrossClusterSearchConnection) SetConnectionStatus(v *OutboundCrossClusterSearchConnectionStatus) *OutboundCrossClusterSearchConnection { + s.ConnectionStatus = v + return s +} + +// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value. +func (s *OutboundCrossClusterSearchConnection) SetCrossClusterSearchConnectionId(v string) *OutboundCrossClusterSearchConnection { + s.CrossClusterSearchConnectionId = &v + return s +} + +// SetDestinationDomainInfo sets the DestinationDomainInfo field's value. +func (s *OutboundCrossClusterSearchConnection) SetDestinationDomainInfo(v *DomainInformation) *OutboundCrossClusterSearchConnection { + s.DestinationDomainInfo = v + return s +} + +// SetSourceDomainInfo sets the SourceDomainInfo field's value. +func (s *OutboundCrossClusterSearchConnection) SetSourceDomainInfo(v *DomainInformation) *OutboundCrossClusterSearchConnection { + s.SourceDomainInfo = v + return s +} + +// Specifies the connection status of an outbound cross-cluster search connection. +type OutboundCrossClusterSearchConnectionStatus struct { + _ struct{} `type:"structure"` + + // Specifies verbose information for the outbound connection status. + Message *string `type:"string"` + + // The state code for outbound connection. This can be one of the following: + // + // * VALIDATING: The outbound connection request is being validated. + // + // * VALIDATION_FAILED: Validation failed for the connection request. + // + // * PENDING_ACCEPTANCE: Outbound connection request is validated and is + // not yet accepted by destination domain owner. + // + // * PROVISIONING: Outbound connection request is in process. + // + // * ACTIVE: Outbound connection is active and ready to use. + // + // * REJECTED: Outbound connection request is rejected by destination domain + // owner. + // + // * DELETING: Outbound connection deletion is in progress. + // + // * DELETED: Outbound connection is deleted and cannot be used further. + StatusCode *string `type:"string" enum:"OutboundCrossClusterSearchConnectionStatusCode"` +} + +// String returns the string representation +func (s OutboundCrossClusterSearchConnectionStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutboundCrossClusterSearchConnectionStatus) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *OutboundCrossClusterSearchConnectionStatus) SetMessage(v string) *OutboundCrossClusterSearchConnectionStatus { + s.Message = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *OutboundCrossClusterSearchConnectionStatus) SetStatusCode(v string) *OutboundCrossClusterSearchConnectionStatus { + s.StatusCode = &v + return s +} + // Basic information about a package. type PackageDetails struct { _ struct{} `type:"structure"` @@ -7789,6 +9442,74 @@ func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge return s } +// Container for the parameters to the RejectInboundCrossClusterSearchConnection +// operation. +type RejectInboundCrossClusterSearchConnectionInput struct { + _ struct{} `type:"structure"` + + // The id of the inbound connection that you want to reject. + // + // CrossClusterSearchConnectionId is a required field + CrossClusterSearchConnectionId *string `location:"uri" locationName:"ConnectionId" type:"string" required:"true"` +} + +// String returns the string representation +func (s RejectInboundCrossClusterSearchConnectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RejectInboundCrossClusterSearchConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RejectInboundCrossClusterSearchConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RejectInboundCrossClusterSearchConnectionInput"} + if s.CrossClusterSearchConnectionId == nil { + invalidParams.Add(request.NewErrParamRequired("CrossClusterSearchConnectionId")) + } + if s.CrossClusterSearchConnectionId != nil && len(*s.CrossClusterSearchConnectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CrossClusterSearchConnectionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCrossClusterSearchConnectionId sets the CrossClusterSearchConnectionId field's value. +func (s *RejectInboundCrossClusterSearchConnectionInput) SetCrossClusterSearchConnectionId(v string) *RejectInboundCrossClusterSearchConnectionInput { + s.CrossClusterSearchConnectionId = &v + return s +} + +// The result of a RejectInboundCrossClusterSearchConnection operation. Contains +// details of rejected inbound connection. +type RejectInboundCrossClusterSearchConnectionOutput struct { + _ struct{} `type:"structure"` + + // Specifies the InboundCrossClusterSearchConnection of rejected inbound connection. + CrossClusterSearchConnection *InboundCrossClusterSearchConnection `type:"structure"` +} + +// String returns the string representation +func (s RejectInboundCrossClusterSearchConnectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RejectInboundCrossClusterSearchConnectionOutput) GoString() string { + return s.String() +} + +// SetCrossClusterSearchConnection sets the CrossClusterSearchConnection field's value. +func (s *RejectInboundCrossClusterSearchConnectionOutput) SetCrossClusterSearchConnection(v *InboundCrossClusterSearchConnection) *RejectInboundCrossClusterSearchConnectionOutput { + s.CrossClusterSearchConnection = v + return s +} + // Container for the parameters to the RemoveTags operation. Specify the ARN // for the Elasticsearch domain from which you want to remove the specified // TagKey. @@ -9434,6 +11155,26 @@ const ( ESWarmPartitionInstanceTypeUltrawarm1LargeElasticsearch = "ultrawarm1.large.elasticsearch" ) +const ( + // InboundCrossClusterSearchConnectionStatusCodePendingAcceptance is a InboundCrossClusterSearchConnectionStatusCode enum value + InboundCrossClusterSearchConnectionStatusCodePendingAcceptance = "PENDING_ACCEPTANCE" + + // InboundCrossClusterSearchConnectionStatusCodeApproved is a InboundCrossClusterSearchConnectionStatusCode enum value + InboundCrossClusterSearchConnectionStatusCodeApproved = "APPROVED" + + // InboundCrossClusterSearchConnectionStatusCodeRejecting is a InboundCrossClusterSearchConnectionStatusCode enum value + InboundCrossClusterSearchConnectionStatusCodeRejecting = "REJECTING" + + // InboundCrossClusterSearchConnectionStatusCodeRejected is a InboundCrossClusterSearchConnectionStatusCode enum value + InboundCrossClusterSearchConnectionStatusCodeRejected = "REJECTED" + + // InboundCrossClusterSearchConnectionStatusCodeDeleting is a InboundCrossClusterSearchConnectionStatusCode enum value + InboundCrossClusterSearchConnectionStatusCodeDeleting = "DELETING" + + // InboundCrossClusterSearchConnectionStatusCodeDeleted is a InboundCrossClusterSearchConnectionStatusCode enum value + InboundCrossClusterSearchConnectionStatusCodeDeleted = "DELETED" +) + // Type of Log File, it can be one of the following: // * INDEX_SLOW_LOGS: Index slow logs contain insert requests that took more // time than configured index query log threshold to execute. @@ -9472,6 +11213,32 @@ const ( OptionStateActive = "Active" ) +const ( + // OutboundCrossClusterSearchConnectionStatusCodePendingAcceptance is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodePendingAcceptance = "PENDING_ACCEPTANCE" + + // OutboundCrossClusterSearchConnectionStatusCodeValidating is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodeValidating = "VALIDATING" + + // OutboundCrossClusterSearchConnectionStatusCodeValidationFailed is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodeValidationFailed = "VALIDATION_FAILED" + + // OutboundCrossClusterSearchConnectionStatusCodeProvisioning is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodeProvisioning = "PROVISIONING" + + // OutboundCrossClusterSearchConnectionStatusCodeActive is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodeActive = "ACTIVE" + + // OutboundCrossClusterSearchConnectionStatusCodeRejected is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodeRejected = "REJECTED" + + // OutboundCrossClusterSearchConnectionStatusCodeDeleting is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodeDeleting = "DELETING" + + // OutboundCrossClusterSearchConnectionStatusCodeDeleted is a OutboundCrossClusterSearchConnectionStatusCode enum value + OutboundCrossClusterSearchConnectionStatusCodeDeleted = "DELETED" +) + const ( // PackageStatusCopying is a PackageStatus enum value PackageStatusCopying = "COPYING" diff --git a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/errors.go b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/errors.go index d0ca4fe8804..46f3ae0daa4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elasticsearchservice/errors.go @@ -43,6 +43,13 @@ const ( // of 500. ErrCodeInternalException = "InternalException" + // ErrCodeInvalidPaginationTokenException for service response error code + // "InvalidPaginationTokenException". + // + // The request processing has failed because of invalid pagination token provided + // by customer. Returns an HTTP status code of 400. + ErrCodeInvalidPaginationTokenException = "InvalidPaginationTokenException" + // ErrCodeInvalidTypeException for service response error code // "InvalidTypeException". // @@ -80,14 +87,15 @@ const ( ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ - "AccessDeniedException": newErrorAccessDeniedException, - "BaseException": newErrorBaseException, - "ConflictException": newErrorConflictException, - "DisabledOperationException": newErrorDisabledOperationException, - "InternalException": newErrorInternalException, - "InvalidTypeException": newErrorInvalidTypeException, - "LimitExceededException": newErrorLimitExceededException, - "ResourceAlreadyExistsException": newErrorResourceAlreadyExistsException, - "ResourceNotFoundException": newErrorResourceNotFoundException, - "ValidationException": newErrorValidationException, + "AccessDeniedException": newErrorAccessDeniedException, + "BaseException": newErrorBaseException, + "ConflictException": newErrorConflictException, + "DisabledOperationException": newErrorDisabledOperationException, + "InternalException": newErrorInternalException, + "InvalidPaginationTokenException": newErrorInvalidPaginationTokenException, + "InvalidTypeException": newErrorInvalidTypeException, + "LimitExceededException": newErrorLimitExceededException, + "ResourceAlreadyExistsException": newErrorResourceAlreadyExistsException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ValidationException": newErrorValidationException, } diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go index c1903d5141d..f64920d3153 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go @@ -325,6 +325,9 @@ func (c *ELBV2) CreateListenerRequest(input *CreateListenerInput) (req *request. // across all listeners. If a target group is used by multiple actions for a // load balancer, it is counted as only one use. // +// * ErrCodeALPNPolicyNotSupportedException "ALPNPolicyNotFound" +// The specified ALPN policy is not supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListener func (c *ELBV2) CreateListener(input *CreateListenerInput) (*CreateListenerOutput, error) { req, out := c.CreateListenerRequest(input) @@ -2378,6 +2381,9 @@ func (c *ELBV2) ModifyListenerRequest(input *ModifyListenerInput) (req *request. // across all listeners. If a target group is used by multiple actions for a // load balancer, it is counted as only one use. // +// * ErrCodeALPNPolicyNotSupportedException "ALPNPolicyNotFound" +// The specified ALPN policy is not supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListener func (c *ELBV2) ModifyListener(input *ModifyListenerInput) (*ModifyListenerOutput, error) { req, out := c.ModifyListenerRequest(input) @@ -4143,6 +4149,23 @@ func (s *Cipher) SetPriority(v int64) *Cipher { type CreateListenerInput struct { _ struct{} `type:"structure"` + // [TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) + // policy. You can specify one policy name. The following are the possible values: + // + // * HTTP1Only + // + // * HTTP2Only + // + // * HTTP2Optional + // + // * HTTP2Preferred + // + // * None + // + // For more information, see ALPN Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies) + // in the Network Load Balancers Guide. + AlpnPolicy []*string `type:"list"` + // [HTTPS and TLS listeners] The default certificate for the listener. You must // provide exactly one certificate. Set CertificateArn to the certificate ARN // but do not set IsDefault. @@ -4262,6 +4285,12 @@ func (s *CreateListenerInput) Validate() error { return nil } +// SetAlpnPolicy sets the AlpnPolicy field's value. +func (s *CreateListenerInput) SetAlpnPolicy(v []*string) *CreateListenerInput { + s.AlpnPolicy = v + return s +} + // SetCertificates sets the Certificates field's value. func (s *CreateListenerInput) SetCertificates(v []*Certificate) *CreateListenerInput { s.Certificates = v @@ -6360,6 +6389,10 @@ func (s *Limit) SetName(v string) *Limit { type Listener struct { _ struct{} `type:"structure"` + // [TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) + // policy. + AlpnPolicy []*string `type:"list"` + // [HTTPS or TLS listener] The default certificate for the listener. Certificates []*Certificate `type:"list"` @@ -6393,6 +6426,12 @@ func (s Listener) GoString() string { return s.String() } +// SetAlpnPolicy sets the AlpnPolicy field's value. +func (s *Listener) SetAlpnPolicy(v []*string) *Listener { + s.AlpnPolicy = v + return s +} + // SetCertificates sets the Certificates field's value. func (s *Listener) SetCertificates(v []*Certificate) *Listener { s.Certificates = v @@ -6762,6 +6801,23 @@ func (s *Matcher) SetHttpCode(v string) *Matcher { type ModifyListenerInput struct { _ struct{} `type:"structure"` + // [TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) + // policy. You can specify one policy name. The following are the possible values: + // + // * HTTP1Only + // + // * HTTP2Only + // + // * HTTP2Optional + // + // * HTTP2Preferred + // + // * None + // + // For more information, see ALPN Policies (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies) + // in the Network Load Balancers Guide. + AlpnPolicy []*string `type:"list"` + // [HTTPS and TLS listeners] The default certificate for the listener. You must // provide exactly one certificate. Set CertificateArn to the certificate ARN // but do not set IsDefault. @@ -6866,6 +6922,12 @@ func (s *ModifyListenerInput) Validate() error { return nil } +// SetAlpnPolicy sets the AlpnPolicy field's value. +func (s *ModifyListenerInput) SetAlpnPolicy(v []*string) *ModifyListenerInput { + s.AlpnPolicy = v + return s +} + // SetCertificates sets the Certificates field's value. func (s *ModifyListenerInput) SetCertificates(v []*Certificate) *ModifyListenerInput { s.Certificates = v @@ -8820,16 +8882,16 @@ type TargetGroupAttribute struct { // lb_cookie for Application Load Balancers or source_ip for Network Load // Balancers. // - // The following attributes are supported by Application Load Balancers if the - // target is not a Lambda function: + // The following attributes are supported only if the load balancer is an Application + // Load Balancer and the target is an instance or an IP address: // // * load_balancing.algorithm.type - The load balancing algorithm determines // how the load balancer selects targets when routing requests. The value // is round_robin or least_outstanding_requests. The default is round_robin. // // * slow_start.duration_seconds - The time period, in seconds, during which - // a newly registered target receives a linearly increasing share of the - // traffic to the target group. After this time period ends, the target receives + // a newly registered target receives an increasing share of the traffic + // to the target group. After this time period ends, the target receives // its full share of traffic. The range is 30-900 seconds (15 minutes). Slow // start mode is disabled by default. // @@ -8839,14 +8901,15 @@ type TargetGroupAttribute struct { // considered stale. The range is 1 second to 1 week (604800 seconds). The // default value is 1 day (86400 seconds). // - // The following attribute is supported only if the target is a Lambda function. + // The following attribute is supported only if the load balancer is an Application + // Load Balancer and the target is a Lambda function: // // * lambda.multi_value_headers.enabled - Indicates whether the request and - // response headers exchanged between the load balancer and the Lambda function - // include arrays of values or strings. The value is true or false. The default - // is false. If the value is false and the request contains a duplicate header - // field name or query parameter key, the load balancer uses the last value - // sent by the client. + // response headers that are exchanged between the load balancer and the + // Lambda function include arrays of values or strings. The value is true + // or false. The default is false. If the value is false and the request + // contains a duplicate header field name or query parameter key, the load + // balancer uses the last value sent by the client. // // The following attribute is supported only by Network Load Balancers: // diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go index fa10830ff9c..3a9ab86f1b9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/errors.go @@ -4,6 +4,12 @@ package elbv2 const ( + // ErrCodeALPNPolicyNotSupportedException for service response error code + // "ALPNPolicyNotFound". + // + // The specified ALPN policy is not supported. + ErrCodeALPNPolicyNotSupportedException = "ALPNPolicyNotFound" + // ErrCodeAllocationIdNotFoundException for service response error code // "AllocationIdNotFound". // diff --git a/vendor/github.com/aws/aws-sdk-go/service/emr/api.go b/vendor/github.com/aws/aws-sdk-go/service/emr/api.go index 3633bd5f97e..418e2d6889c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/emr/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/emr/api.go @@ -4373,6 +4373,11 @@ type Cluster struct { // in the EMR Management Guide. KerberosAttributes *KerberosAttributes `type:"structure"` + // The AWS KMS customer master key (CMK) used for encrypting log files. This + // attribute is only available with EMR version 5.30.0 and later, excluding + // EMR 6.0.0. + LogEncryptionKmsKeyId *string `type:"string"` + // The path to the Amazon S3 location where logs for this cluster are stored. LogUri *string `type:"string"` @@ -4537,6 +4542,12 @@ func (s *Cluster) SetKerberosAttributes(v *KerberosAttributes) *Cluster { return s } +// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. +func (s *Cluster) SetLogEncryptionKmsKeyId(v string) *Cluster { + s.LogEncryptionKmsKeyId = &v + return s +} + // SetLogUri sets the LogUri field's value. func (s *Cluster) SetLogUri(v string) *Cluster { s.LogUri = &v @@ -4889,11 +4900,18 @@ type ComputeLimits struct { // MaximumCapacityUnits is a required field MaximumCapacityUnits *int64 `type:"integer" required:"true"` - // The upper boundary of on-demand EC2 units. It is measured through VCPU cores + // The upper boundary of EC2 units for core node type in a cluster. It is measured + // through VCPU cores or instances for instance groups and measured through + // units for instance fleets. The core units are not allowed to scale beyond + // this boundary. The parameter is used to split capacity allocation between + // core and task nodes. + MaximumCoreCapacityUnits *int64 `type:"integer"` + + // The upper boundary of On-Demand EC2 units. It is measured through VCPU cores // or instances for instance groups and measured through units for instance - // fleets. The on-demand units are not allowed to scale beyond this boundary. - // The limit only applies to the core and task nodes. The master node cannot - // be scaled after initial configuration. + // fleets. The On-Demand units are not allowed to scale beyond this boundary. + // The parameter is used to split capacity allocation between On-Demand and + // Spot instances. MaximumOnDemandCapacityUnits *int64 `type:"integer"` // The lower boundary of EC2 units. It is measured through VCPU cores or instances @@ -4946,6 +4964,12 @@ func (s *ComputeLimits) SetMaximumCapacityUnits(v int64) *ComputeLimits { return s } +// SetMaximumCoreCapacityUnits sets the MaximumCoreCapacityUnits field's value. +func (s *ComputeLimits) SetMaximumCoreCapacityUnits(v int64) *ComputeLimits { + s.MaximumCoreCapacityUnits = &v + return s +} + // SetMaximumOnDemandCapacityUnits sets the MaximumOnDemandCapacityUnits field's value. func (s *ComputeLimits) SetMaximumOnDemandCapacityUnits(v int64) *ComputeLimits { s.MaximumOnDemandCapacityUnits = &v @@ -6538,18 +6562,25 @@ func (s *InstanceFleetModifyConfig) SetTargetSpotCapacity(v int64) *InstanceFlee } // The launch specification for Spot instances in the fleet, which determines -// the defined duration and provisioning timeout behavior. +// the defined duration, provisioning timeout behavior, and allocation strategy. // // The instance fleet configuration is available only in Amazon EMR versions -// 4.8.0 and later, excluding 5.0.x versions. +// 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot instance allocation +// strategies are available in Amazon EMR version 5.12.1 and later. type InstanceFleetProvisioningSpecifications struct { _ struct{} `type:"structure"` - // The launch specification for Spot instances in the fleet, which determines - // the defined duration and provisioning timeout behavior. + // The launch specification for On-Demand instances in the instance fleet, which + // determines the allocation strategy. // - // SpotSpecification is a required field - SpotSpecification *SpotProvisioningSpecification `type:"structure" required:"true"` + // The instance fleet configuration is available only in Amazon EMR versions + // 4.8.0 and later, excluding 5.0.x versions. On-Demand instances allocation + // strategy is available in Amazon EMR version 5.12.1 and later. + OnDemandSpecification *OnDemandProvisioningSpecification `type:"structure"` + + // The launch specification for Spot instances in the fleet, which determines + // the defined duration, provisioning timeout behavior, and allocation strategy. + SpotSpecification *SpotProvisioningSpecification `type:"structure"` } // String returns the string representation @@ -6565,8 +6596,10 @@ func (s InstanceFleetProvisioningSpecifications) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *InstanceFleetProvisioningSpecifications) Validate() error { invalidParams := request.ErrInvalidParams{Context: "InstanceFleetProvisioningSpecifications"} - if s.SpotSpecification == nil { - invalidParams.Add(request.NewErrParamRequired("SpotSpecification")) + if s.OnDemandSpecification != nil { + if err := s.OnDemandSpecification.Validate(); err != nil { + invalidParams.AddNested("OnDemandSpecification", err.(request.ErrInvalidParams)) + } } if s.SpotSpecification != nil { if err := s.SpotSpecification.Validate(); err != nil { @@ -6580,6 +6613,12 @@ func (s *InstanceFleetProvisioningSpecifications) Validate() error { return nil } +// SetOnDemandSpecification sets the OnDemandSpecification field's value. +func (s *InstanceFleetProvisioningSpecifications) SetOnDemandSpecification(v *OnDemandProvisioningSpecification) *InstanceFleetProvisioningSpecifications { + s.OnDemandSpecification = v + return s +} + // SetSpotSpecification sets the SpotSpecification field's value. func (s *InstanceFleetProvisioningSpecifications) SetSpotSpecification(v *SpotProvisioningSpecification) *InstanceFleetProvisioningSpecifications { s.SpotSpecification = v @@ -7985,6 +8024,11 @@ type JobFlowDetail struct { // of the job flow assume this role. JobFlowRole *string `type:"string"` + // The AWS KMS customer master key (CMK) used for encrypting log files. This + // attribute is only available with EMR version 5.30.0 and later, excluding + // EMR 6.0.0. + LogEncryptionKmsKeyId *string `type:"string"` + // The location in Amazon S3 where log files for the job are stored. LogUri *string `type:"string"` @@ -8082,6 +8126,12 @@ func (s *JobFlowDetail) SetJobFlowRole(v string) *JobFlowDetail { return s } +// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. +func (s *JobFlowDetail) SetLogEncryptionKmsKeyId(v string) *JobFlowDetail { + s.LogEncryptionKmsKeyId = &v + return s +} + // SetLogUri sets the LogUri field's value. func (s *JobFlowDetail) SetLogUri(v string) *JobFlowDetail { s.LogUri = &v @@ -9610,6 +9660,52 @@ func (s ModifyInstanceGroupsOutput) GoString() string { return s.String() } +// The launch specification for On-Demand instances in the instance fleet, which +// determines the allocation strategy. +// +// The instance fleet configuration is available only in Amazon EMR versions +// 4.8.0 and later, excluding 5.0.x versions. On-Demand instances allocation +// strategy is available in Amazon EMR version 5.12.1 and later. +type OnDemandProvisioningSpecification struct { + _ struct{} `type:"structure"` + + // Specifies the strategy to use in launching On-Demand instance fleets. Currently, + // the only option is lowest-price (the default), which launches the lowest + // price first. + // + // AllocationStrategy is a required field + AllocationStrategy *string `type:"string" required:"true" enum:"OnDemandProvisioningAllocationStrategy"` +} + +// String returns the string representation +func (s OnDemandProvisioningSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OnDemandProvisioningSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OnDemandProvisioningSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OnDemandProvisioningSpecification"} + if s.AllocationStrategy == nil { + invalidParams.Add(request.NewErrParamRequired("AllocationStrategy")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllocationStrategy sets the AllocationStrategy field's value. +func (s *OnDemandProvisioningSpecification) SetAllocationStrategy(v string) *OnDemandProvisioningSpecification { + s.AllocationStrategy = &v + return s +} + // The Amazon EC2 Availability Zone configuration of the cluster (job flow). type PlacementType struct { _ struct{} `type:"structure"` @@ -10220,6 +10316,11 @@ type RunJobFlowInput struct { // in the EMR Management Guide. KerberosAttributes *KerberosAttributes `type:"structure"` + // The AWS KMS customer master key (CMK) used for encrypting log files. If a + // value is not provided, the logs will remain encrypted by AES-256. This attribute + // is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0. + LogEncryptionKmsKeyId *string `type:"string"` + // The location in Amazon S3 to write the log files of the job flow. If a value // is not provided, logs are not created. LogUri *string `type:"string"` @@ -10456,6 +10557,12 @@ func (s *RunJobFlowInput) SetKerberosAttributes(v *KerberosAttributes) *RunJobFl return s } +// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. +func (s *RunJobFlowInput) SetLogEncryptionKmsKeyId(v string) *RunJobFlowInput { + s.LogEncryptionKmsKeyId = &v + return s +} + // SetLogUri sets the LogUri field's value. func (s *RunJobFlowInput) SetLogUri(v string) *RunJobFlowInput { s.LogUri = &v @@ -11160,13 +11267,21 @@ func (s *SimpleScalingPolicyConfiguration) SetScalingAdjustment(v int64) *Simple } // The launch specification for Spot instances in the instance fleet, which -// determines the defined duration and provisioning timeout behavior. +// determines the defined duration, provisioning timeout behavior, and allocation +// strategy. // // The instance fleet configuration is available only in Amazon EMR versions -// 4.8.0 and later, excluding 5.0.x versions. +// 4.8.0 and later, excluding 5.0.x versions. Spot instance allocation strategy +// is available in Amazon EMR version 5.12.1 and later. type SpotProvisioningSpecification struct { _ struct{} `type:"structure"` + // Specifies the strategy to use in launching Spot instance fleets. Currently, + // the only option is capacity-optimized (the default), which launches instances + // from Spot instance pools with optimal capacity for the number of instances + // that are launching. + AllocationStrategy *string `type:"string" enum:"SpotProvisioningAllocationStrategy"` + // The defined duration for Spot instances (also known as Spot blocks) in minutes. // When specified, the Spot instance does not terminate before the defined duration // expires, and defined duration pricing for Spot instances applies. Valid values @@ -11222,6 +11337,12 @@ func (s *SpotProvisioningSpecification) Validate() error { return nil } +// SetAllocationStrategy sets the AllocationStrategy field's value. +func (s *SpotProvisioningSpecification) SetAllocationStrategy(v string) *SpotProvisioningSpecification { + s.AllocationStrategy = &v + return s +} + // SetBlockDurationMinutes sets the BlockDurationMinutes field's value. func (s *SpotProvisioningSpecification) SetBlockDurationMinutes(v int64) *SpotProvisioningSpecification { s.BlockDurationMinutes = &v @@ -12186,6 +12307,11 @@ const ( MarketTypeSpot = "SPOT" ) +const ( + // OnDemandProvisioningAllocationStrategyLowestPrice is a OnDemandProvisioningAllocationStrategy enum value + OnDemandProvisioningAllocationStrategyLowestPrice = "lowest-price" +) + const ( // RepoUpgradeOnBootSecurity is a RepoUpgradeOnBoot enum value RepoUpgradeOnBootSecurity = "SECURITY" @@ -12202,6 +12328,11 @@ const ( ScaleDownBehaviorTerminateAtTaskCompletion = "TERMINATE_AT_TASK_COMPLETION" ) +const ( + // SpotProvisioningAllocationStrategyCapacityOptimized is a SpotProvisioningAllocationStrategy enum value + SpotProvisioningAllocationStrategyCapacityOptimized = "capacity-optimized" +) + const ( // SpotProvisioningTimeoutActionSwitchToOnDemand is a SpotProvisioningTimeoutAction enum value SpotProvisioningTimeoutActionSwitchToOnDemand = "SWITCH_TO_ON_DEMAND" diff --git a/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go b/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go index 63f397348f4..eb2a6e099aa 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/firehose/api.go @@ -696,11 +696,8 @@ func (c *Firehose) PutRecordBatchRequest(input *PutRecordBatchInput) (req *reque // To write single data records into a delivery stream, use PutRecord. Applications // using these operations are referred to as producers. // -// By default, each delivery stream can take in up to 2,000 transactions per -// second, 5,000 records per second, or 5 MB per second. If you use PutRecord -// and PutRecordBatch, the limits are an aggregate across these two operations -// for each delivery stream. For more information about limits, see Amazon Kinesis -// Data Firehose Limits (https://docs.aws.amazon.com/firehose/latest/dev/limits.html). +// For information about service quota, see Amazon Kinesis Data Firehose Quota +// (https://docs.aws.amazon.com/firehose/latest/dev/limits.html). // // Each PutRecordBatch request supports up to 500 records. Each record in the // request can be as large as 1,000 KB (before 64-bit encoding), up to a limit @@ -1637,6 +1634,10 @@ type CreateDeliveryStreamInput struct { // The destination in Amazon S3. You can specify only one destination. ExtendedS3DestinationConfiguration *ExtendedS3DestinationConfiguration `type:"structure"` + // Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint + // destination. You can specify only one destination. + HttpEndpointDestinationConfiguration *HttpEndpointDestinationConfiguration `type:"structure"` + // When a Kinesis data stream is used as the source for the delivery stream, // a KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon // Resource Name (ARN) and the role ARN for the source stream. @@ -1701,6 +1702,11 @@ func (s *CreateDeliveryStreamInput) Validate() error { invalidParams.AddNested("ExtendedS3DestinationConfiguration", err.(request.ErrInvalidParams)) } } + if s.HttpEndpointDestinationConfiguration != nil { + if err := s.HttpEndpointDestinationConfiguration.Validate(); err != nil { + invalidParams.AddNested("HttpEndpointDestinationConfiguration", err.(request.ErrInvalidParams)) + } + } if s.KinesisStreamSourceConfiguration != nil { if err := s.KinesisStreamSourceConfiguration.Validate(); err != nil { invalidParams.AddNested("KinesisStreamSourceConfiguration", err.(request.ErrInvalidParams)) @@ -1768,6 +1774,12 @@ func (s *CreateDeliveryStreamInput) SetExtendedS3DestinationConfiguration(v *Ext return s } +// SetHttpEndpointDestinationConfiguration sets the HttpEndpointDestinationConfiguration field's value. +func (s *CreateDeliveryStreamInput) SetHttpEndpointDestinationConfiguration(v *HttpEndpointDestinationConfiguration) *CreateDeliveryStreamInput { + s.HttpEndpointDestinationConfiguration = v + return s +} + // SetKinesisStreamSourceConfiguration sets the KinesisStreamSourceConfiguration field's value. func (s *CreateDeliveryStreamInput) SetKinesisStreamSourceConfiguration(v *KinesisStreamSourceConfiguration) *CreateDeliveryStreamInput { s.KinesisStreamSourceConfiguration = v @@ -2418,6 +2430,9 @@ type DestinationDescription struct { // The destination in Amazon S3. ExtendedS3DestinationDescription *ExtendedS3DestinationDescription `type:"structure"` + // Describes the specified HTTP endpoint destination. + HttpEndpointDestinationDescription *HttpEndpointDestinationDescription `type:"structure"` + // The destination in Amazon Redshift. RedshiftDestinationDescription *RedshiftDestinationDescription `type:"structure"` @@ -2456,6 +2471,12 @@ func (s *DestinationDescription) SetExtendedS3DestinationDescription(v *Extended return s } +// SetHttpEndpointDestinationDescription sets the HttpEndpointDestinationDescription field's value. +func (s *DestinationDescription) SetHttpEndpointDestinationDescription(v *HttpEndpointDestinationDescription) *DestinationDescription { + s.HttpEndpointDestinationDescription = v + return s +} + // SetRedshiftDestinationDescription sets the RedshiftDestinationDescription field's value. func (s *DestinationDescription) SetRedshiftDestinationDescription(v *RedshiftDestinationDescription) *DestinationDescription { s.RedshiftDestinationDescription = v @@ -2588,6 +2609,8 @@ type ElasticsearchDestinationConfiguration struct { // with elasticsearch-failed/ appended to the prefix. For more information, // see Amazon S3 Backup for the Amazon ES Destination (https://docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup). // Default value is FailedDocumentsOnly. + // + // You can't change this backup mode after you create the delivery stream. S3BackupMode *string `type:"string" enum:"ElasticsearchS3BackupMode"` // The configuration for the backup Amazon S3 location. @@ -3187,7 +3210,9 @@ type ExtendedS3DestinationConfiguration struct { // The configuration for backup in Amazon S3. S3BackupConfiguration *S3DestinationConfiguration `type:"structure"` - // The Amazon S3 backup mode. + // The Amazon S3 backup mode. After you create a delivery stream, you can update + // it to enable Amazon S3 backup if it is disabled. If backup is enabled, you + // can't update the delivery stream to disable it. S3BackupMode *string `type:"string" enum:"S3BackupMode"` } @@ -3505,7 +3530,8 @@ type ExtendedS3DestinationUpdate struct { // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). RoleARN *string `min:"1" type:"string"` - // Enables or disables Amazon S3 backup mode. + // You can update a delivery stream to enable Amazon S3 backup if it is disabled. + // If backup is enabled, you can't update the delivery stream to disable it. S3BackupMode *string `type:"string" enum:"S3BackupMode"` // The Amazon S3 destination for backup. @@ -3708,6 +3734,711 @@ func (s *HiveJsonSerDe) SetTimestampFormats(v []*string) *HiveJsonSerDe { return s } +// Describes the buffering options that can be applied before data is delivered +// to the HTTP endpoint destination. Kinesis Data Firehose treats these options +// as hints, and it might choose to use more optimal values. The SizeInMBs and +// IntervalInSeconds parameters are optional. However, if specify a value for +// one of them, you must also provide a value for the other. +type HttpEndpointBufferingHints struct { + _ struct{} `type:"structure"` + + // Buffer incoming data for the specified period of time, in seconds, before + // delivering it to the destination. The default value is 300 (5 minutes). + IntervalInSeconds *int64 `min:"60" type:"integer"` + + // Buffer incoming data to the specified size, in MBs, before delivering it + // to the destination. The default value is 5. + // + // We recommend setting this parameter to a value greater than the amount of + // data you typically ingest into the delivery stream in 10 seconds. For example, + // if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher. + SizeInMBs *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s HttpEndpointBufferingHints) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointBufferingHints) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpEndpointBufferingHints) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpEndpointBufferingHints"} + if s.IntervalInSeconds != nil && *s.IntervalInSeconds < 60 { + invalidParams.Add(request.NewErrParamMinValue("IntervalInSeconds", 60)) + } + if s.SizeInMBs != nil && *s.SizeInMBs < 1 { + invalidParams.Add(request.NewErrParamMinValue("SizeInMBs", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIntervalInSeconds sets the IntervalInSeconds field's value. +func (s *HttpEndpointBufferingHints) SetIntervalInSeconds(v int64) *HttpEndpointBufferingHints { + s.IntervalInSeconds = &v + return s +} + +// SetSizeInMBs sets the SizeInMBs field's value. +func (s *HttpEndpointBufferingHints) SetSizeInMBs(v int64) *HttpEndpointBufferingHints { + s.SizeInMBs = &v + return s +} + +// Describes the metadata that's delivered to the specified HTTP endpoint destination. +type HttpEndpointCommonAttribute struct { + _ struct{} `type:"structure"` + + // The name of the HTTP endpoint common attribute. + // + // AttributeName is a required field + AttributeName *string `min:"1" type:"string" required:"true" sensitive:"true"` + + // The value of the HTTP endpoint common attribute. + // + // AttributeValue is a required field + AttributeValue *string `type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation +func (s HttpEndpointCommonAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointCommonAttribute) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpEndpointCommonAttribute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpEndpointCommonAttribute"} + if s.AttributeName == nil { + invalidParams.Add(request.NewErrParamRequired("AttributeName")) + } + if s.AttributeName != nil && len(*s.AttributeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1)) + } + if s.AttributeValue == nil { + invalidParams.Add(request.NewErrParamRequired("AttributeValue")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributeName sets the AttributeName field's value. +func (s *HttpEndpointCommonAttribute) SetAttributeName(v string) *HttpEndpointCommonAttribute { + s.AttributeName = &v + return s +} + +// SetAttributeValue sets the AttributeValue field's value. +func (s *HttpEndpointCommonAttribute) SetAttributeValue(v string) *HttpEndpointCommonAttribute { + s.AttributeValue = &v + return s +} + +// Describes the configuration of the HTTP endpoint to which Kinesis Firehose +// delivers data. +type HttpEndpointConfiguration struct { + _ struct{} `type:"structure"` + + // The access key required for Kinesis Firehose to authenticate with the HTTP + // endpoint selected as the destination. + AccessKey *string `type:"string" sensitive:"true"` + + // The name of the HTTP endpoint selected as the destination. + Name *string `min:"1" type:"string"` + + // The URL of the HTTP endpoint selected as the destination. + // + // Url is a required field + Url *string `min:"1" type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation +func (s HttpEndpointConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpEndpointConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpEndpointConfiguration"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Url == nil { + invalidParams.Add(request.NewErrParamRequired("Url")) + } + if s.Url != nil && len(*s.Url) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Url", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessKey sets the AccessKey field's value. +func (s *HttpEndpointConfiguration) SetAccessKey(v string) *HttpEndpointConfiguration { + s.AccessKey = &v + return s +} + +// SetName sets the Name field's value. +func (s *HttpEndpointConfiguration) SetName(v string) *HttpEndpointConfiguration { + s.Name = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *HttpEndpointConfiguration) SetUrl(v string) *HttpEndpointConfiguration { + s.Url = &v + return s +} + +// Describes the HTTP endpoint selected as the destination. +type HttpEndpointDescription struct { + _ struct{} `type:"structure"` + + // The name of the HTTP endpoint selected as the destination. + Name *string `min:"1" type:"string"` + + // The URL of the HTTP endpoint selected as the destination. + Url *string `min:"1" type:"string" sensitive:"true"` +} + +// String returns the string representation +func (s HttpEndpointDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointDescription) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *HttpEndpointDescription) SetName(v string) *HttpEndpointDescription { + s.Name = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *HttpEndpointDescription) SetUrl(v string) *HttpEndpointDescription { + s.Url = &v + return s +} + +// Describes the configuration of the HTTP endpoint destination. +type HttpEndpointDestinationConfiguration struct { + _ struct{} `type:"structure"` + + // The buffering options that can be used before data is delivered to the specified + // destination. Kinesis Data Firehose treats these options as hints, and it + // might choose to use more optimal values. The SizeInMBs and IntervalInSeconds + // parameters are optional. However, if you specify a value for one of them, + // you must also provide a value for the other. + BufferingHints *HttpEndpointBufferingHints `type:"structure"` + + // Describes the Amazon CloudWatch logging options for your delivery stream. + CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` + + // The configuration of the HTTP endpoint selected as the destination. + // + // EndpointConfiguration is a required field + EndpointConfiguration *HttpEndpointConfiguration `type:"structure" required:"true"` + + // Describes a data processing configuration. + ProcessingConfiguration *ProcessingConfiguration `type:"structure"` + + // The configuration of the requeste sent to the HTTP endpoint specified as + // the destination. + RequestConfiguration *HttpEndpointRequestConfiguration `type:"structure"` + + // Describes the retry behavior in case Kinesis Data Firehose is unable to deliver + // data to the specified HTTP endpoint destination, or if it doesn't receive + // a valid acknowledgment of receipt from the specified HTTP endpoint destination. + RetryOptions *HttpEndpointRetryOptions `type:"structure"` + + // Kinesis Data Firehose uses this IAM role for all the permissions that the + // delivery stream needs. + RoleARN *string `min:"1" type:"string"` + + // Describes the S3 bucket backup options for the data that Kinesis Data Firehose + // delivers to the HTTP endpoint destination. You can back up all documents + // (AllData) or only the documents that Kinesis Data Firehose could not deliver + // to the specified HTTP endpoint destination (FailedDataOnly). + S3BackupMode *string `type:"string" enum:"HttpEndpointS3BackupMode"` + + // Describes the configuration of a destination in Amazon S3. + // + // S3Configuration is a required field + S3Configuration *S3DestinationConfiguration `type:"structure" required:"true"` +} + +// String returns the string representation +func (s HttpEndpointDestinationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointDestinationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpEndpointDestinationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpEndpointDestinationConfiguration"} + if s.EndpointConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointConfiguration")) + } + if s.RoleARN != nil && len(*s.RoleARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) + } + if s.S3Configuration == nil { + invalidParams.Add(request.NewErrParamRequired("S3Configuration")) + } + if s.BufferingHints != nil { + if err := s.BufferingHints.Validate(); err != nil { + invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) + } + } + if s.EndpointConfiguration != nil { + if err := s.EndpointConfiguration.Validate(); err != nil { + invalidParams.AddNested("EndpointConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.ProcessingConfiguration != nil { + if err := s.ProcessingConfiguration.Validate(); err != nil { + invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.RequestConfiguration != nil { + if err := s.RequestConfiguration.Validate(); err != nil { + invalidParams.AddNested("RequestConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.S3Configuration != nil { + if err := s.S3Configuration.Validate(); err != nil { + invalidParams.AddNested("S3Configuration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBufferingHints sets the BufferingHints field's value. +func (s *HttpEndpointDestinationConfiguration) SetBufferingHints(v *HttpEndpointBufferingHints) *HttpEndpointDestinationConfiguration { + s.BufferingHints = v + return s +} + +// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. +func (s *HttpEndpointDestinationConfiguration) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *HttpEndpointDestinationConfiguration { + s.CloudWatchLoggingOptions = v + return s +} + +// SetEndpointConfiguration sets the EndpointConfiguration field's value. +func (s *HttpEndpointDestinationConfiguration) SetEndpointConfiguration(v *HttpEndpointConfiguration) *HttpEndpointDestinationConfiguration { + s.EndpointConfiguration = v + return s +} + +// SetProcessingConfiguration sets the ProcessingConfiguration field's value. +func (s *HttpEndpointDestinationConfiguration) SetProcessingConfiguration(v *ProcessingConfiguration) *HttpEndpointDestinationConfiguration { + s.ProcessingConfiguration = v + return s +} + +// SetRequestConfiguration sets the RequestConfiguration field's value. +func (s *HttpEndpointDestinationConfiguration) SetRequestConfiguration(v *HttpEndpointRequestConfiguration) *HttpEndpointDestinationConfiguration { + s.RequestConfiguration = v + return s +} + +// SetRetryOptions sets the RetryOptions field's value. +func (s *HttpEndpointDestinationConfiguration) SetRetryOptions(v *HttpEndpointRetryOptions) *HttpEndpointDestinationConfiguration { + s.RetryOptions = v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *HttpEndpointDestinationConfiguration) SetRoleARN(v string) *HttpEndpointDestinationConfiguration { + s.RoleARN = &v + return s +} + +// SetS3BackupMode sets the S3BackupMode field's value. +func (s *HttpEndpointDestinationConfiguration) SetS3BackupMode(v string) *HttpEndpointDestinationConfiguration { + s.S3BackupMode = &v + return s +} + +// SetS3Configuration sets the S3Configuration field's value. +func (s *HttpEndpointDestinationConfiguration) SetS3Configuration(v *S3DestinationConfiguration) *HttpEndpointDestinationConfiguration { + s.S3Configuration = v + return s +} + +// Describes the HTTP endpoint destination. +type HttpEndpointDestinationDescription struct { + _ struct{} `type:"structure"` + + // Describes buffering options that can be applied to the data before it is + // delivered to the HTTPS endpoint destination. Kinesis Data Firehose teats + // these options as hints, and it might choose to use more optimal values. The + // SizeInMBs and IntervalInSeconds parameters are optional. However, if specify + // a value for one of them, you must also provide a value for the other. + BufferingHints *HttpEndpointBufferingHints `type:"structure"` + + // Describes the Amazon CloudWatch logging options for your delivery stream. + CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` + + // The configuration of the specified HTTP endpoint destination. + EndpointConfiguration *HttpEndpointDescription `type:"structure"` + + // Describes a data processing configuration. + ProcessingConfiguration *ProcessingConfiguration `type:"structure"` + + // The configuration of request sent to the HTTP endpoint specified as the destination. + RequestConfiguration *HttpEndpointRequestConfiguration `type:"structure"` + + // Describes the retry behavior in case Kinesis Data Firehose is unable to deliver + // data to the specified HTTP endpoint destination, or if it doesn't receive + // a valid acknowledgment of receipt from the specified HTTP endpoint destination. + RetryOptions *HttpEndpointRetryOptions `type:"structure"` + + // Kinesis Data Firehose uses this IAM role for all the permissions that the + // delivery stream needs. + RoleARN *string `min:"1" type:"string"` + + // Describes the S3 bucket backup options for the data that Kinesis Firehose + // delivers to the HTTP endpoint destination. You can back up all documents + // (AllData) or only the documents that Kinesis Data Firehose could not deliver + // to the specified HTTP endpoint destination (FailedDataOnly). + S3BackupMode *string `type:"string" enum:"HttpEndpointS3BackupMode"` + + // Describes a destination in Amazon S3. + S3DestinationDescription *S3DestinationDescription `type:"structure"` +} + +// String returns the string representation +func (s HttpEndpointDestinationDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointDestinationDescription) GoString() string { + return s.String() +} + +// SetBufferingHints sets the BufferingHints field's value. +func (s *HttpEndpointDestinationDescription) SetBufferingHints(v *HttpEndpointBufferingHints) *HttpEndpointDestinationDescription { + s.BufferingHints = v + return s +} + +// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. +func (s *HttpEndpointDestinationDescription) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *HttpEndpointDestinationDescription { + s.CloudWatchLoggingOptions = v + return s +} + +// SetEndpointConfiguration sets the EndpointConfiguration field's value. +func (s *HttpEndpointDestinationDescription) SetEndpointConfiguration(v *HttpEndpointDescription) *HttpEndpointDestinationDescription { + s.EndpointConfiguration = v + return s +} + +// SetProcessingConfiguration sets the ProcessingConfiguration field's value. +func (s *HttpEndpointDestinationDescription) SetProcessingConfiguration(v *ProcessingConfiguration) *HttpEndpointDestinationDescription { + s.ProcessingConfiguration = v + return s +} + +// SetRequestConfiguration sets the RequestConfiguration field's value. +func (s *HttpEndpointDestinationDescription) SetRequestConfiguration(v *HttpEndpointRequestConfiguration) *HttpEndpointDestinationDescription { + s.RequestConfiguration = v + return s +} + +// SetRetryOptions sets the RetryOptions field's value. +func (s *HttpEndpointDestinationDescription) SetRetryOptions(v *HttpEndpointRetryOptions) *HttpEndpointDestinationDescription { + s.RetryOptions = v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *HttpEndpointDestinationDescription) SetRoleARN(v string) *HttpEndpointDestinationDescription { + s.RoleARN = &v + return s +} + +// SetS3BackupMode sets the S3BackupMode field's value. +func (s *HttpEndpointDestinationDescription) SetS3BackupMode(v string) *HttpEndpointDestinationDescription { + s.S3BackupMode = &v + return s +} + +// SetS3DestinationDescription sets the S3DestinationDescription field's value. +func (s *HttpEndpointDestinationDescription) SetS3DestinationDescription(v *S3DestinationDescription) *HttpEndpointDestinationDescription { + s.S3DestinationDescription = v + return s +} + +// Updates the specified HTTP endpoint destination. +type HttpEndpointDestinationUpdate struct { + _ struct{} `type:"structure"` + + // Describes buffering options that can be applied to the data before it is + // delivered to the HTTPS endpoint destination. Kinesis Data Firehose teats + // these options as hints, and it might choose to use more optimal values. The + // SizeInMBs and IntervalInSeconds parameters are optional. However, if specify + // a value for one of them, you must also provide a value for the other. + BufferingHints *HttpEndpointBufferingHints `type:"structure"` + + // Describes the Amazon CloudWatch logging options for your delivery stream. + CloudWatchLoggingOptions *CloudWatchLoggingOptions `type:"structure"` + + // Describes the configuration of the HTTP endpoint destination. + EndpointConfiguration *HttpEndpointConfiguration `type:"structure"` + + // Describes a data processing configuration. + ProcessingConfiguration *ProcessingConfiguration `type:"structure"` + + // The configuration of the request sent to the HTTP endpoint specified as the + // destination. + RequestConfiguration *HttpEndpointRequestConfiguration `type:"structure"` + + // Describes the retry behavior in case Kinesis Data Firehose is unable to deliver + // data to the specified HTTP endpoint destination, or if it doesn't receive + // a valid acknowledgment of receipt from the specified HTTP endpoint destination. + RetryOptions *HttpEndpointRetryOptions `type:"structure"` + + // Kinesis Data Firehose uses this IAM role for all the permissions that the + // delivery stream needs. + RoleARN *string `min:"1" type:"string"` + + // Describes the S3 bucket backup options for the data that Kinesis Firehose + // delivers to the HTTP endpoint destination. You can back up all documents + // (AllData) or only the documents that Kinesis Data Firehose could not deliver + // to the specified HTTP endpoint destination (FailedDataOnly). + S3BackupMode *string `type:"string" enum:"HttpEndpointS3BackupMode"` + + // Describes an update for a destination in Amazon S3. + S3Update *S3DestinationUpdate `type:"structure"` +} + +// String returns the string representation +func (s HttpEndpointDestinationUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointDestinationUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpEndpointDestinationUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpEndpointDestinationUpdate"} + if s.RoleARN != nil && len(*s.RoleARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 1)) + } + if s.BufferingHints != nil { + if err := s.BufferingHints.Validate(); err != nil { + invalidParams.AddNested("BufferingHints", err.(request.ErrInvalidParams)) + } + } + if s.EndpointConfiguration != nil { + if err := s.EndpointConfiguration.Validate(); err != nil { + invalidParams.AddNested("EndpointConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.ProcessingConfiguration != nil { + if err := s.ProcessingConfiguration.Validate(); err != nil { + invalidParams.AddNested("ProcessingConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.RequestConfiguration != nil { + if err := s.RequestConfiguration.Validate(); err != nil { + invalidParams.AddNested("RequestConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.S3Update != nil { + if err := s.S3Update.Validate(); err != nil { + invalidParams.AddNested("S3Update", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBufferingHints sets the BufferingHints field's value. +func (s *HttpEndpointDestinationUpdate) SetBufferingHints(v *HttpEndpointBufferingHints) *HttpEndpointDestinationUpdate { + s.BufferingHints = v + return s +} + +// SetCloudWatchLoggingOptions sets the CloudWatchLoggingOptions field's value. +func (s *HttpEndpointDestinationUpdate) SetCloudWatchLoggingOptions(v *CloudWatchLoggingOptions) *HttpEndpointDestinationUpdate { + s.CloudWatchLoggingOptions = v + return s +} + +// SetEndpointConfiguration sets the EndpointConfiguration field's value. +func (s *HttpEndpointDestinationUpdate) SetEndpointConfiguration(v *HttpEndpointConfiguration) *HttpEndpointDestinationUpdate { + s.EndpointConfiguration = v + return s +} + +// SetProcessingConfiguration sets the ProcessingConfiguration field's value. +func (s *HttpEndpointDestinationUpdate) SetProcessingConfiguration(v *ProcessingConfiguration) *HttpEndpointDestinationUpdate { + s.ProcessingConfiguration = v + return s +} + +// SetRequestConfiguration sets the RequestConfiguration field's value. +func (s *HttpEndpointDestinationUpdate) SetRequestConfiguration(v *HttpEndpointRequestConfiguration) *HttpEndpointDestinationUpdate { + s.RequestConfiguration = v + return s +} + +// SetRetryOptions sets the RetryOptions field's value. +func (s *HttpEndpointDestinationUpdate) SetRetryOptions(v *HttpEndpointRetryOptions) *HttpEndpointDestinationUpdate { + s.RetryOptions = v + return s +} + +// SetRoleARN sets the RoleARN field's value. +func (s *HttpEndpointDestinationUpdate) SetRoleARN(v string) *HttpEndpointDestinationUpdate { + s.RoleARN = &v + return s +} + +// SetS3BackupMode sets the S3BackupMode field's value. +func (s *HttpEndpointDestinationUpdate) SetS3BackupMode(v string) *HttpEndpointDestinationUpdate { + s.S3BackupMode = &v + return s +} + +// SetS3Update sets the S3Update field's value. +func (s *HttpEndpointDestinationUpdate) SetS3Update(v *S3DestinationUpdate) *HttpEndpointDestinationUpdate { + s.S3Update = v + return s +} + +// The configuration of the HTTP endpoint request. +type HttpEndpointRequestConfiguration struct { + _ struct{} `type:"structure"` + + // Describes the metadata sent to the HTTP endpoint destination. + CommonAttributes []*HttpEndpointCommonAttribute `type:"list"` + + // Kinesis Data Firehose uses the content encoding to compress the body of a + // request before sending the request to the destination. For more information, + // see Content-Encoding (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding) + // in MDN Web Docs, the official Mozilla documentation. + ContentEncoding *string `type:"string" enum:"ContentEncoding"` +} + +// String returns the string representation +func (s HttpEndpointRequestConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointRequestConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HttpEndpointRequestConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HttpEndpointRequestConfiguration"} + if s.CommonAttributes != nil { + for i, v := range s.CommonAttributes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CommonAttributes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCommonAttributes sets the CommonAttributes field's value. +func (s *HttpEndpointRequestConfiguration) SetCommonAttributes(v []*HttpEndpointCommonAttribute) *HttpEndpointRequestConfiguration { + s.CommonAttributes = v + return s +} + +// SetContentEncoding sets the ContentEncoding field's value. +func (s *HttpEndpointRequestConfiguration) SetContentEncoding(v string) *HttpEndpointRequestConfiguration { + s.ContentEncoding = &v + return s +} + +// Describes the retry behavior in case Kinesis Data Firehose is unable to deliver +// data to the specified HTTP endpoint destination, or if it doesn't receive +// a valid acknowledgment of receipt from the specified HTTP endpoint destination. +type HttpEndpointRetryOptions struct { + _ struct{} `type:"structure"` + + // The total amount of time that Kinesis Data Firehose spends on retries. This + // duration starts after the initial attempt to send data to the custom destination + // via HTTPS endpoint fails. It doesn't include the periods during which Kinesis + // Data Firehose waits for acknowledgment from the specified destination after + // each attempt. + DurationInSeconds *int64 `type:"integer"` +} + +// String returns the string representation +func (s HttpEndpointRetryOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HttpEndpointRetryOptions) GoString() string { + return s.String() +} + +// SetDurationInSeconds sets the DurationInSeconds field's value. +func (s *HttpEndpointRetryOptions) SetDurationInSeconds(v int64) *HttpEndpointRetryOptions { + s.DurationInSeconds = &v + return s +} + // Specifies the deserializer you want to use to convert the format of the input // data. This parameter is required if Enabled is set to true. type InputFormatConfiguration struct { @@ -5120,7 +5851,9 @@ type RedshiftDestinationConfiguration struct { // The configuration for backup in Amazon S3. S3BackupConfiguration *S3DestinationConfiguration `type:"structure"` - // The Amazon S3 backup mode. + // The Amazon S3 backup mode. After you create a delivery stream, you can update + // it to enable Amazon S3 backup if it is disabled. If backup is enabled, you + // can't update the delivery stream to disable it. S3BackupMode *string `type:"string" enum:"RedshiftS3BackupMode"` // The configuration for the intermediate Amazon S3 location from which Amazon @@ -5419,7 +6152,8 @@ type RedshiftDestinationUpdate struct { // see Amazon Resource Names (ARNs) and AWS Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). RoleARN *string `min:"1" type:"string"` - // The Amazon S3 backup mode. + // You can update a delivery stream to enable Amazon S3 backup if it is disabled. + // If backup is enabled, you can't update the delivery stream to disable it. S3BackupMode *string `type:"string" enum:"RedshiftS3BackupMode"` // The Amazon S3 destination for backup. @@ -6352,11 +7086,14 @@ type SplunkDestinationConfiguration struct { // to Splunk, or if it doesn't receive an acknowledgment of receipt from Splunk. RetryOptions *SplunkRetryOptions `type:"structure"` - // Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, + // Defines how documents should be delivered to Amazon S3. When set to FailedEventsOnly, // Kinesis Data Firehose writes any data that could not be indexed to the configured - // Amazon S3 destination. When set to AllDocuments, Kinesis Data Firehose delivers + // Amazon S3 destination. When set to AllEvents, Kinesis Data Firehose delivers // all incoming records to Amazon S3, and also writes failed documents to Amazon - // S3. Default value is FailedDocumentsOnly. + // S3. The default value is FailedEventsOnly. + // + // You can update this backup mode from FailedEventsOnly to AllEvents. You can't + // update it from AllEvents to FailedEventsOnly. S3BackupMode *string `type:"string" enum:"SplunkS3BackupMode"` // The configuration for the backup Amazon S3 location. @@ -6600,11 +7337,14 @@ type SplunkDestinationUpdate struct { // to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk. RetryOptions *SplunkRetryOptions `type:"structure"` - // Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, - // Kinesis Data Firehose writes any data that could not be indexed to the configured - // Amazon S3 destination. When set to AllDocuments, Kinesis Data Firehose delivers - // all incoming records to Amazon S3, and also writes failed documents to Amazon - // S3. Default value is FailedDocumentsOnly. + // Specifies how you want Kinesis Data Firehose to back up documents to Amazon + // S3. When set to FailedDocumentsOnly, Kinesis Data Firehose writes any data + // that could not be indexed to the configured Amazon S3 destination. When set + // to AllEvents, Kinesis Data Firehose delivers all incoming records to Amazon + // S3, and also writes failed documents to Amazon S3. The default value is FailedEventsOnly. + // + // You can update this backup mode from FailedEventsOnly to AllEvents. You can't + // update it from AllEvents to FailedEventsOnly. S3BackupMode *string `type:"string" enum:"SplunkS3BackupMode"` // Your update to the configuration of the backup Amazon S3 location. @@ -7091,6 +7831,9 @@ type UpdateDestinationInput struct { // Describes an update for a destination in Amazon S3. ExtendedS3DestinationUpdate *ExtendedS3DestinationUpdate `type:"structure"` + // Describes an update to the specified HTTP endpoint destination. + HttpEndpointDestinationUpdate *HttpEndpointDestinationUpdate `type:"structure"` + // Describes an update for a destination in Amazon Redshift. RedshiftDestinationUpdate *RedshiftDestinationUpdate `type:"structure"` @@ -7144,6 +7887,11 @@ func (s *UpdateDestinationInput) Validate() error { invalidParams.AddNested("ExtendedS3DestinationUpdate", err.(request.ErrInvalidParams)) } } + if s.HttpEndpointDestinationUpdate != nil { + if err := s.HttpEndpointDestinationUpdate.Validate(); err != nil { + invalidParams.AddNested("HttpEndpointDestinationUpdate", err.(request.ErrInvalidParams)) + } + } if s.RedshiftDestinationUpdate != nil { if err := s.RedshiftDestinationUpdate.Validate(); err != nil { invalidParams.AddNested("RedshiftDestinationUpdate", err.(request.ErrInvalidParams)) @@ -7196,6 +7944,12 @@ func (s *UpdateDestinationInput) SetExtendedS3DestinationUpdate(v *ExtendedS3Des return s } +// SetHttpEndpointDestinationUpdate sets the HttpEndpointDestinationUpdate field's value. +func (s *UpdateDestinationInput) SetHttpEndpointDestinationUpdate(v *HttpEndpointDestinationUpdate) *UpdateDestinationInput { + s.HttpEndpointDestinationUpdate = v + return s +} + // SetRedshiftDestinationUpdate sets the RedshiftDestinationUpdate field's value. func (s *UpdateDestinationInput) SetRedshiftDestinationUpdate(v *RedshiftDestinationUpdate) *UpdateDestinationInput { s.RedshiftDestinationUpdate = v @@ -7233,13 +7987,45 @@ type VpcConfiguration struct { _ struct{} `type:"structure"` // The ARN of the IAM role that you want the delivery stream to use to create - // endpoints in the destination VPC. + // endpoints in the destination VPC. You can use your existing Kinesis Data + // Firehose delivery role or you can specify a new role. In either case, make + // sure that the role trusts the Kinesis Data Firehose service principal and + // that it grants the following permissions: + // + // * ec2:DescribeVpcs + // + // * ec2:DescribeVpcAttribute + // + // * ec2:DescribeSubnets + // + // * ec2:DescribeSecurityGroups + // + // * ec2:DescribeNetworkInterfaces + // + // * ec2:CreateNetworkInterface + // + // * ec2:CreateNetworkInterfacePermission + // + // * ec2:DeleteNetworkInterface + // + // If you revoke these permissions after you create the delivery stream, Kinesis + // Data Firehose can't scale out by creating more ENIs when necessary. You might + // therefore see a degradation in performance. // // RoleARN is a required field RoleARN *string `min:"1" type:"string" required:"true"` // The IDs of the security groups that you want Kinesis Data Firehose to use - // when it creates ENIs in the VPC of the Amazon ES destination. + // when it creates ENIs in the VPC of the Amazon ES destination. You can use + // the same security group that the Amazon ES domain uses or different ones. + // If you specify different security groups here, ensure that they allow outbound + // HTTPS traffic to the Amazon ES domain's security group. Also ensure that + // the Amazon ES domain's security group allows HTTPS traffic from the security + // groups specified here. If you use the same security group for both your delivery + // stream and the Amazon ES domain, make sure the security group inbound rule + // allows HTTPS traffic. For more information about security group rules, see + // Security group rules (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules) + // in the Amazon VPC documentation. // // SecurityGroupIds is a required field SecurityGroupIds []*string `min:"1" type:"list" required:"true"` @@ -7324,14 +8110,46 @@ func (s *VpcConfiguration) SetSubnetIds(v []*string) *VpcConfiguration { type VpcConfigurationDescription struct { _ struct{} `type:"structure"` - // The ARN of the IAM role that you want the delivery stream uses to create - // endpoints in the destination VPC. + // The ARN of the IAM role that the delivery stream uses to create endpoints + // in the destination VPC. You can use your existing Kinesis Data Firehose delivery + // role or you can specify a new role. In either case, make sure that the role + // trusts the Kinesis Data Firehose service principal and that it grants the + // following permissions: + // + // * ec2:DescribeVpcs + // + // * ec2:DescribeVpcAttribute + // + // * ec2:DescribeSubnets + // + // * ec2:DescribeSecurityGroups + // + // * ec2:DescribeNetworkInterfaces + // + // * ec2:CreateNetworkInterface + // + // * ec2:CreateNetworkInterfacePermission + // + // * ec2:DeleteNetworkInterface + // + // If you revoke these permissions after you create the delivery stream, Kinesis + // Data Firehose can't scale out by creating more ENIs when necessary. You might + // therefore see a degradation in performance. // // RoleARN is a required field RoleARN *string `min:"1" type:"string" required:"true"` // The IDs of the security groups that Kinesis Data Firehose uses when it creates - // ENIs in the VPC of the Amazon ES destination. + // ENIs in the VPC of the Amazon ES destination. You can use the same security + // group that the Amazon ES domain uses or different ones. If you specify different + // security groups, ensure that they allow outbound HTTPS traffic to the Amazon + // ES domain's security group. Also ensure that the Amazon ES domain's security + // group allows HTTPS traffic from the security groups specified here. If you + // use the same security group for both your delivery stream and the Amazon + // ES domain, make sure the security group inbound rule allows HTTPS traffic. + // For more information about security group rules, see Security group rules + // (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules) + // in the Amazon VPC documentation. // // SecurityGroupIds is a required field SecurityGroupIds []*string `min:"1" type:"list" required:"true"` @@ -7412,6 +8230,14 @@ const ( CompressionFormatHadoopSnappy = "HADOOP_SNAPPY" ) +const ( + // ContentEncodingNone is a ContentEncoding enum value + ContentEncodingNone = "NONE" + + // ContentEncodingGzip is a ContentEncoding enum value + ContentEncodingGzip = "GZIP" +) + const ( // DeliveryStreamEncryptionStatusEnabled is a DeliveryStreamEncryptionStatus enum value DeliveryStreamEncryptionStatusEnabled = "ENABLED" @@ -7537,6 +8363,14 @@ const ( HECEndpointTypeEvent = "Event" ) +const ( + // HttpEndpointS3BackupModeFailedDataOnly is a HttpEndpointS3BackupMode enum value + HttpEndpointS3BackupModeFailedDataOnly = "FailedDataOnly" + + // HttpEndpointS3BackupModeAllData is a HttpEndpointS3BackupMode enum value + HttpEndpointS3BackupModeAllData = "AllData" +) + const ( // KeyTypeAwsOwnedCmk is a KeyType enum value KeyTypeAwsOwnedCmk = "AWS_OWNED_CMK" diff --git a/vendor/github.com/aws/aws-sdk-go/service/fms/api.go b/vendor/github.com/aws/aws-sdk-go/service/fms/api.go index 36baa3ac82a..9db10be3379 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/fms/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/fms/api.go @@ -76,9 +76,12 @@ func (c *FMS) AssociateAdminAccountRequest(input *AssociateAdminAccountInput) (r // // Returned Error Types: // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InvalidInputException // The parameters of the request were invalid. @@ -112,6 +115,98 @@ func (c *FMS) AssociateAdminAccountWithContext(ctx aws.Context, input *Associate return out, req.Send() } +const opDeleteAppsList = "DeleteAppsList" + +// DeleteAppsListRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAppsList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteAppsList for more information on using the DeleteAppsList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteAppsListRequest method. +// req, resp := client.DeleteAppsListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteAppsList +func (c *FMS) DeleteAppsListRequest(input *DeleteAppsListInput) (req *request.Request, output *DeleteAppsListOutput) { + op := &request.Operation{ + Name: opDeleteAppsList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteAppsListInput{} + } + + output = &DeleteAppsListOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteAppsList API operation for Firewall Management Service. +// +// Permanently deletes an AWS Firewall Manager applications list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Firewall Management Service's +// API operation DeleteAppsList for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteAppsList +func (c *FMS) DeleteAppsList(input *DeleteAppsListInput) (*DeleteAppsListOutput, error) { + req, out := c.DeleteAppsListRequest(input) + return out, req.Send() +} + +// DeleteAppsListWithContext is the same as DeleteAppsList with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAppsList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) DeleteAppsListWithContext(ctx aws.Context, input *DeleteAppsListInput, opts ...request.Option) (*DeleteAppsListOutput, error) { + req, out := c.DeleteAppsListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteNotificationChannel = "DeleteNotificationChannel" // DeleteNotificationChannelRequest generates a "aws/request.Request" representing the @@ -173,9 +268,12 @@ func (c *FMS) DeleteNotificationChannelRequest(input *DeleteNotificationChannelI // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request @@ -262,9 +360,12 @@ func (c *FMS) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Reques // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request @@ -292,6 +393,98 @@ func (c *FMS) DeletePolicyWithContext(ctx aws.Context, input *DeletePolicyInput, return out, req.Send() } +const opDeleteProtocolsList = "DeleteProtocolsList" + +// DeleteProtocolsListRequest generates a "aws/request.Request" representing the +// client's request for the DeleteProtocolsList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteProtocolsList for more information on using the DeleteProtocolsList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteProtocolsListRequest method. +// req, resp := client.DeleteProtocolsListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteProtocolsList +func (c *FMS) DeleteProtocolsListRequest(input *DeleteProtocolsListInput) (req *request.Request, output *DeleteProtocolsListOutput) { + op := &request.Operation{ + Name: opDeleteProtocolsList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteProtocolsListInput{} + } + + output = &DeleteProtocolsListOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteProtocolsList API operation for Firewall Management Service. +// +// Permanently deletes an AWS Firewall Manager protocols list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Firewall Management Service's +// API operation DeleteProtocolsList for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteProtocolsList +func (c *FMS) DeleteProtocolsList(input *DeleteProtocolsListInput) (*DeleteProtocolsListOutput, error) { + req, out := c.DeleteProtocolsListRequest(input) + return out, req.Send() +} + +// DeleteProtocolsListWithContext is the same as DeleteProtocolsList with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteProtocolsList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) DeleteProtocolsListWithContext(ctx aws.Context, input *DeleteProtocolsListInput, opts ...request.Option) (*DeleteProtocolsListOutput, error) { + req, out := c.DeleteProtocolsListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisassociateAdminAccount = "DisassociateAdminAccount" // DisassociateAdminAccountRequest generates a "aws/request.Request" representing the @@ -350,9 +543,12 @@ func (c *FMS) DisassociateAdminAccountRequest(input *DisassociateAdminAccountInp // // Returned Error Types: // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * ResourceNotFoundException // The specified resource was not found. @@ -439,9 +635,12 @@ func (c *FMS) GetAdminAccountRequest(input *GetAdminAccountInput) (req *request. // // Returned Error Types: // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * ResourceNotFoundException // The specified resource was not found. @@ -472,6 +671,98 @@ func (c *FMS) GetAdminAccountWithContext(ctx aws.Context, input *GetAdminAccount return out, req.Send() } +const opGetAppsList = "GetAppsList" + +// GetAppsListRequest generates a "aws/request.Request" representing the +// client's request for the GetAppsList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetAppsList for more information on using the GetAppsList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetAppsListRequest method. +// req, resp := client.GetAppsListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAppsList +func (c *FMS) GetAppsListRequest(input *GetAppsListInput) (req *request.Request, output *GetAppsListOutput) { + op := &request.Operation{ + Name: opGetAppsList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetAppsListInput{} + } + + output = &GetAppsListOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetAppsList API operation for Firewall Management Service. +// +// Returns information about the specified AWS Firewall Manager applications +// list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Firewall Management Service's +// API operation GetAppsList for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAppsList +func (c *FMS) GetAppsList(input *GetAppsListInput) (*GetAppsListOutput, error) { + req, out := c.GetAppsListRequest(input) + return out, req.Send() +} + +// GetAppsListWithContext is the same as GetAppsList with the addition of +// the ability to pass a context and additional request options. +// +// See GetAppsList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) GetAppsListWithContext(ctx aws.Context, input *GetAppsListInput, opts ...request.Option) (*GetAppsListOutput, error) { + req, out := c.GetAppsListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetComplianceDetail = "GetComplianceDetail" // GetComplianceDetailRequest generates a "aws/request.Request" representing the @@ -539,6 +830,17 @@ func (c *FMS) GetComplianceDetailRequest(input *GetComplianceDetailInput) (req * // The operation failed because of a system problem, even though the request // was valid. Retry your request. // +// * InvalidInputException +// The parameters of the request were invalid. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetComplianceDetail func (c *FMS) GetComplianceDetail(input *GetComplianceDetailInput) (*GetComplianceDetailOutput, error) { req, out := c.GetComplianceDetailRequest(input) @@ -620,9 +922,12 @@ func (c *FMS) GetNotificationChannelRequest(input *GetNotificationChannelInput) // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request @@ -708,9 +1013,12 @@ func (c *FMS) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, out // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request @@ -829,120 +1137,395 @@ func (c *FMS) GetProtectionStatusWithContext(ctx aws.Context, input *GetProtecti return out, req.Send() } -const opListComplianceStatus = "ListComplianceStatus" +const opGetProtocolsList = "GetProtocolsList" -// ListComplianceStatusRequest generates a "aws/request.Request" representing the -// client's request for the ListComplianceStatus operation. The "output" return +// GetProtocolsListRequest generates a "aws/request.Request" representing the +// client's request for the GetProtocolsList operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListComplianceStatus for more information on using the ListComplianceStatus +// See GetProtocolsList for more information on using the GetProtocolsList // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListComplianceStatusRequest method. -// req, resp := client.ListComplianceStatusRequest(params) +// // Example sending a request using the GetProtocolsListRequest method. +// req, resp := client.GetProtocolsListRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatus -func (c *FMS) ListComplianceStatusRequest(input *ListComplianceStatusInput) (req *request.Request, output *ListComplianceStatusOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtocolsList +func (c *FMS) GetProtocolsListRequest(input *GetProtocolsListInput) (req *request.Request, output *GetProtocolsListOutput) { op := &request.Operation{ - Name: opListComplianceStatus, + Name: opGetProtocolsList, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListComplianceStatusInput{} + input = &GetProtocolsListInput{} } - output = &ListComplianceStatusOutput{} + output = &GetProtocolsListOutput{} req = c.newRequest(op, input, output) return } -// ListComplianceStatus API operation for Firewall Management Service. +// GetProtocolsList API operation for Firewall Management Service. // -// Returns an array of PolicyComplianceStatus objects in the response. Use PolicyComplianceStatus -// to get a summary of which member accounts are protected by the specified -// policy. +// Returns information about the specified AWS Firewall Manager protocols list. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Firewall Management Service's -// API operation ListComplianceStatus for usage and error information. +// API operation GetProtocolsList for usage and error information. // // Returned Error Types: // * ResourceNotFoundException // The specified resource was not found. // +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// // * InternalErrorException // The operation failed because of a system problem, even though the request // was valid. Retry your request. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatus -func (c *FMS) ListComplianceStatus(input *ListComplianceStatusInput) (*ListComplianceStatusOutput, error) { - req, out := c.ListComplianceStatusRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtocolsList +func (c *FMS) GetProtocolsList(input *GetProtocolsListInput) (*GetProtocolsListOutput, error) { + req, out := c.GetProtocolsListRequest(input) return out, req.Send() } -// ListComplianceStatusWithContext is the same as ListComplianceStatus with the addition of +// GetProtocolsListWithContext is the same as GetProtocolsList with the addition of // the ability to pass a context and additional request options. // -// See ListComplianceStatus for details on how to use this API operation. +// See GetProtocolsList for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *FMS) ListComplianceStatusWithContext(ctx aws.Context, input *ListComplianceStatusInput, opts ...request.Option) (*ListComplianceStatusOutput, error) { - req, out := c.ListComplianceStatusRequest(input) +func (c *FMS) GetProtocolsListWithContext(ctx aws.Context, input *GetProtocolsListInput, opts ...request.Option) (*GetProtocolsListOutput, error) { + req, out := c.GetProtocolsListRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListComplianceStatusPages iterates over the pages of a ListComplianceStatus operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opGetViolationDetails = "GetViolationDetails" + +// GetViolationDetailsRequest generates a "aws/request.Request" representing the +// client's request for the GetViolationDetails operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListComplianceStatus method for more information on how to use this operation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Note: This operation can generate multiple requests to a service. +// See GetViolationDetails for more information on using the GetViolationDetails +// API call, and error handling. // -// // Example iterating over at most 3 pages of a ListComplianceStatus operation. -// pageNum := 0 -// err := client.ListComplianceStatusPages(params, -// func(page *fms.ListComplianceStatusOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -func (c *FMS) ListComplianceStatusPages(input *ListComplianceStatusInput, fn func(*ListComplianceStatusOutput, bool) bool) error { - return c.ListComplianceStatusPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListComplianceStatusPagesWithContext same as ListComplianceStatusPages except -// it takes a Context and allows setting request options on the pages. +// +// // Example sending a request using the GetViolationDetailsRequest method. +// req, resp := client.GetViolationDetailsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetViolationDetails +func (c *FMS) GetViolationDetailsRequest(input *GetViolationDetailsInput) (req *request.Request, output *GetViolationDetailsOutput) { + op := &request.Operation{ + Name: opGetViolationDetails, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetViolationDetailsInput{} + } + + output = &GetViolationDetailsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetViolationDetails API operation for Firewall Management Service. +// +// Retrieves violations for a resource based on the specified AWS Firewall Manager +// policy and AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Firewall Management Service's +// API operation GetViolationDetails for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidInputException +// The parameters of the request were invalid. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetViolationDetails +func (c *FMS) GetViolationDetails(input *GetViolationDetailsInput) (*GetViolationDetailsOutput, error) { + req, out := c.GetViolationDetailsRequest(input) + return out, req.Send() +} + +// GetViolationDetailsWithContext is the same as GetViolationDetails with the addition of +// the ability to pass a context and additional request options. +// +// See GetViolationDetails for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) GetViolationDetailsWithContext(ctx aws.Context, input *GetViolationDetailsInput, opts ...request.Option) (*GetViolationDetailsOutput, error) { + req, out := c.GetViolationDetailsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListAppsLists = "ListAppsLists" + +// ListAppsListsRequest generates a "aws/request.Request" representing the +// client's request for the ListAppsLists operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListAppsLists for more information on using the ListAppsLists +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListAppsListsRequest method. +// req, resp := client.ListAppsListsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListAppsLists +func (c *FMS) ListAppsListsRequest(input *ListAppsListsInput) (req *request.Request, output *ListAppsListsOutput) { + op := &request.Operation{ + Name: opListAppsLists, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListAppsListsInput{} + } + + output = &ListAppsListsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAppsLists API operation for Firewall Management Service. +// +// Returns an array of AppsListDataSummary 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 Firewall Management Service's +// API operation ListAppsLists for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// +// * LimitExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// policy objects that you can create for an AWS account. For more information, +// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) +// in the AWS WAF Developer Guide. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListAppsLists +func (c *FMS) ListAppsLists(input *ListAppsListsInput) (*ListAppsListsOutput, error) { + req, out := c.ListAppsListsRequest(input) + return out, req.Send() +} + +// ListAppsListsWithContext is the same as ListAppsLists with the addition of +// the ability to pass a context and additional request options. +// +// See ListAppsLists for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) ListAppsListsWithContext(ctx aws.Context, input *ListAppsListsInput, opts ...request.Option) (*ListAppsListsOutput, error) { + req, out := c.ListAppsListsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListComplianceStatus = "ListComplianceStatus" + +// ListComplianceStatusRequest generates a "aws/request.Request" representing the +// client's request for the ListComplianceStatus operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListComplianceStatus for more information on using the ListComplianceStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListComplianceStatusRequest method. +// req, resp := client.ListComplianceStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatus +func (c *FMS) ListComplianceStatusRequest(input *ListComplianceStatusInput) (req *request.Request, output *ListComplianceStatusOutput) { + op := &request.Operation{ + Name: opListComplianceStatus, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListComplianceStatusInput{} + } + + output = &ListComplianceStatusOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListComplianceStatus API operation for Firewall Management Service. +// +// Returns an array of PolicyComplianceStatus objects. Use PolicyComplianceStatus +// to get a summary of which member accounts are protected by the specified +// policy. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Firewall Management Service's +// API operation ListComplianceStatus for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatus +func (c *FMS) ListComplianceStatus(input *ListComplianceStatusInput) (*ListComplianceStatusOutput, error) { + req, out := c.ListComplianceStatusRequest(input) + return out, req.Send() +} + +// ListComplianceStatusWithContext is the same as ListComplianceStatus with the addition of +// the ability to pass a context and additional request options. +// +// See ListComplianceStatus for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) ListComplianceStatusWithContext(ctx aws.Context, input *ListComplianceStatusInput, opts ...request.Option) (*ListComplianceStatusOutput, error) { + req, out := c.ListComplianceStatusRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListComplianceStatusPages iterates over the pages of a ListComplianceStatus operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListComplianceStatus method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListComplianceStatus operation. +// pageNum := 0 +// err := client.ListComplianceStatusPages(params, +// func(page *fms.ListComplianceStatusOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *FMS) ListComplianceStatusPages(input *ListComplianceStatusInput, fn func(*ListComplianceStatusOutput, bool) bool) error { + return c.ListComplianceStatusPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListComplianceStatusPagesWithContext same as ListComplianceStatusPages except +// it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create @@ -1167,7 +1750,7 @@ func (c *FMS) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Reques // ListPolicies API operation for Firewall Management Service. // -// Returns an array of PolicySummary objects in the response. +// Returns an array of PolicySummary 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 @@ -1181,9 +1764,12 @@ func (c *FMS) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Reques // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * LimitExceededException // The operation exceeds a resource limit, for example, the maximum number of @@ -1269,78 +1855,172 @@ func (c *FMS) ListPoliciesPagesWithContext(ctx aws.Context, input *ListPoliciesI return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opListProtocolsLists = "ListProtocolsLists" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// ListProtocolsListsRequest generates a "aws/request.Request" representing the +// client's request for the ListProtocolsLists operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTagsForResource for more information on using the ListTagsForResource +// See ListProtocolsLists for more information on using the ListProtocolsLists // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the ListProtocolsListsRequest method. +// req, resp := client.ListProtocolsListsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListTagsForResource -func (c *FMS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListProtocolsLists +func (c *FMS) ListProtocolsListsRequest(input *ListProtocolsListsInput) (req *request.Request, output *ListProtocolsListsOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opListProtocolsLists, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListTagsForResourceInput{} + input = &ListProtocolsListsInput{} } - output = &ListTagsForResourceOutput{} + output = &ListProtocolsListsOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for Firewall Management Service. +// ListProtocolsLists API operation for Firewall Management Service. // -// Retrieves the list of tags for the specified AWS resource. +// Returns an array of ProtocolsListDataSummary 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 Firewall Management Service's -// API operation ListTagsForResource for usage and error information. +// API operation ListProtocolsLists for usage and error information. // // Returned Error Types: // * ResourceNotFoundException // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request // was valid. Retry your request. // -// * InvalidInputException -// The parameters of the request were invalid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListTagsForResource -func (c *FMS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListProtocolsLists +func (c *FMS) ListProtocolsLists(input *ListProtocolsListsInput) (*ListProtocolsListsOutput, error) { + req, out := c.ListProtocolsListsRequest(input) + return out, req.Send() +} + +// ListProtocolsListsWithContext is the same as ListProtocolsLists with the addition of +// the ability to pass a context and additional request options. +// +// See ListProtocolsLists for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) ListProtocolsListsWithContext(ctx aws.Context, input *ListProtocolsListsInput, opts ...request.Option) (*ListProtocolsListsOutput, error) { + req, out := c.ListProtocolsListsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListTagsForResource +func (c *FMS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Firewall Management Service. +// +// Retrieves the list of tags for the specified AWS resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Firewall Management Service's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// * InvalidInputException +// The parameters of the request were invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListTagsForResource +func (c *FMS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } @@ -1360,6 +2040,106 @@ func (c *FMS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsFor return out, req.Send() } +const opPutAppsList = "PutAppsList" + +// PutAppsListRequest generates a "aws/request.Request" representing the +// client's request for the PutAppsList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutAppsList for more information on using the PutAppsList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutAppsListRequest method. +// req, resp := client.PutAppsListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutAppsList +func (c *FMS) PutAppsListRequest(input *PutAppsListInput) (req *request.Request, output *PutAppsListOutput) { + op := &request.Operation{ + Name: opPutAppsList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutAppsListInput{} + } + + output = &PutAppsListOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutAppsList API operation for Firewall Management Service. +// +// Creates an AWS Firewall Manager applications list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Firewall Management Service's +// API operation PutAppsList for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// +// * InvalidInputException +// The parameters of the request were invalid. +// +// * LimitExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// policy objects that you can create for an AWS account. For more information, +// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) +// in the AWS WAF Developer Guide. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutAppsList +func (c *FMS) PutAppsList(input *PutAppsListInput) (*PutAppsListOutput, error) { + req, out := c.PutAppsListRequest(input) + return out, req.Send() +} + +// PutAppsListWithContext is the same as PutAppsList with the addition of +// the ability to pass a context and additional request options. +// +// See PutAppsList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) PutAppsListWithContext(ctx aws.Context, input *PutAppsListInput, opts ...request.Option) (*PutAppsListOutput, error) { + req, out := c.PutAppsListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutNotificationChannel = "PutNotificationChannel" // PutNotificationChannelRequest generates a "aws/request.Request" representing the @@ -1420,9 +2200,12 @@ func (c *FMS) PutNotificationChannelRequest(input *PutNotificationChannelInput) // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request @@ -1530,9 +2313,12 @@ func (c *FMS) PutPolicyRequest(input *PutPolicyInput) (req *request.Request, out // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InvalidInputException // The parameters of the request were invalid. @@ -1572,6 +2358,106 @@ func (c *FMS) PutPolicyWithContext(ctx aws.Context, input *PutPolicyInput, opts return out, req.Send() } +const opPutProtocolsList = "PutProtocolsList" + +// PutProtocolsListRequest generates a "aws/request.Request" representing the +// client's request for the PutProtocolsList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutProtocolsList for more information on using the PutProtocolsList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutProtocolsListRequest method. +// req, resp := client.PutProtocolsListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutProtocolsList +func (c *FMS) PutProtocolsListRequest(input *PutProtocolsListInput) (req *request.Request, output *PutProtocolsListOutput) { + op := &request.Operation{ + Name: opPutProtocolsList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutProtocolsListInput{} + } + + output = &PutProtocolsListOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutProtocolsList API operation for Firewall Management Service. +// +// Creates an AWS Firewall Manager protocols list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Firewall Management Service's +// API operation PutProtocolsList for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InvalidOperationException +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. +// +// * InvalidInputException +// The parameters of the request were invalid. +// +// * LimitExceededException +// The operation exceeds a resource limit, for example, the maximum number of +// policy objects that you can create for an AWS account. For more information, +// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) +// in the AWS WAF Developer Guide. +// +// * InternalErrorException +// The operation failed because of a system problem, even though the request +// was valid. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutProtocolsList +func (c *FMS) PutProtocolsList(input *PutProtocolsListInput) (*PutProtocolsListOutput, error) { + req, out := c.PutProtocolsListRequest(input) + return out, req.Send() +} + +// PutProtocolsListWithContext is the same as PutProtocolsList with the addition of +// the ability to pass a context and additional request options. +// +// See PutProtocolsList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FMS) PutProtocolsListWithContext(ctx aws.Context, input *PutProtocolsListInput, opts ...request.Option) (*PutProtocolsListOutput, error) { + req, out := c.PutProtocolsListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the @@ -1631,9 +2517,12 @@ func (c *FMS) TagResourceRequest(input *TagResourceInput) (req *request.Request, // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request @@ -1729,9 +2618,12 @@ func (c *FMS) UntagResourceRequest(input *UntagResourceInput) (req *request.Requ // The specified resource was not found. // // * InvalidOperationException -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. // // * InternalErrorException // The operation failed because of a system problem, even though the request @@ -1762,36 +2654,54 @@ func (c *FMS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInpu return out, req.Send() } -type AssociateAdminAccountInput struct { +// An individual AWS Firewall Manager application. +type App struct { _ struct{} `type:"structure"` - // The AWS account ID to associate with AWS Firewall Manager as the AWS Firewall - // Manager administrator account. This can be an AWS Organizations master account - // or a member account. For more information about AWS Organizations and master - // accounts, see Managing the AWS Accounts in Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html). + // The application's name. // - // AdminAccount is a required field - AdminAccount *string `min:"1" type:"string" required:"true"` + // AppName is a required field + AppName *string `min:"1" type:"string" required:"true"` + + // The application's port number, for example 80. + // + // Port is a required field + Port *int64 `type:"long" required:"true"` + + // The IP protocol name or number. The name can be one of tcp, udp, or icmp. + // For information on possible numbers, see Protocol Numbers (https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml). + // + // Protocol is a required field + Protocol *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s AssociateAdminAccountInput) String() string { +func (s App) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AssociateAdminAccountInput) GoString() string { +func (s App) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AssociateAdminAccountInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssociateAdminAccountInput"} - if s.AdminAccount == nil { - invalidParams.Add(request.NewErrParamRequired("AdminAccount")) +func (s *App) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "App"} + if s.AppName == nil { + invalidParams.Add(request.NewErrParamRequired("AppName")) } - if s.AdminAccount != nil && len(*s.AdminAccount) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AdminAccount", 1)) + if s.AppName != nil && len(*s.AppName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AppName", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.Protocol != nil && len(*s.Protocol) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Protocol", 1)) } if invalidParams.Len() > 0 { @@ -1800,13 +2710,239 @@ func (s *AssociateAdminAccountInput) Validate() error { return nil } -// SetAdminAccount sets the AdminAccount field's value. -func (s *AssociateAdminAccountInput) SetAdminAccount(v string) *AssociateAdminAccountInput { - s.AdminAccount = &v +// SetAppName sets the AppName field's value. +func (s *App) SetAppName(v string) *App { + s.AppName = &v return s } -type AssociateAdminAccountOutput struct { +// SetPort sets the Port field's value. +func (s *App) SetPort(v int64) *App { + s.Port = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *App) SetProtocol(v string) *App { + s.Protocol = &v + return s +} + +// An AWS Firewall Manager applications list. +type AppsListData struct { + _ struct{} `type:"structure"` + + // An array of applications in the AWS Firewall Manager applications list. + // + // AppsList is a required field + AppsList []*App `type:"list" required:"true"` + + // The time that the AWS Firewall Manager applications list was created. + CreateTime *time.Time `type:"timestamp"` + + // The time that the AWS Firewall Manager applications list was last updated. + LastUpdateTime *time.Time `type:"timestamp"` + + // The ID of the AWS Firewall Manager applications list. + ListId *string `min:"36" type:"string"` + + // The name of the AWS Firewall Manager applications list. + // + // ListName is a required field + ListName *string `min:"1" type:"string" required:"true"` + + // A unique identifier for each update to the list. When you update the list, + // the update token must match the token of the current version of the application + // list. You can retrieve the update token by getting the list. + ListUpdateToken *string `min:"1" type:"string"` + + // A map of previous version numbers to their corresponding App object arrays. + PreviousAppsList map[string][]*App `type:"map"` +} + +// String returns the string representation +func (s AppsListData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AppsListData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AppsListData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AppsListData"} + if s.AppsList == nil { + invalidParams.Add(request.NewErrParamRequired("AppsList")) + } + if s.ListId != nil && len(*s.ListId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) + } + if s.ListName == nil { + invalidParams.Add(request.NewErrParamRequired("ListName")) + } + if s.ListName != nil && len(*s.ListName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ListName", 1)) + } + if s.ListUpdateToken != nil && len(*s.ListUpdateToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ListUpdateToken", 1)) + } + if s.AppsList != nil { + for i, v := range s.AppsList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AppsList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAppsList sets the AppsList field's value. +func (s *AppsListData) SetAppsList(v []*App) *AppsListData { + s.AppsList = v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *AppsListData) SetCreateTime(v time.Time) *AppsListData { + s.CreateTime = &v + return s +} + +// SetLastUpdateTime sets the LastUpdateTime field's value. +func (s *AppsListData) SetLastUpdateTime(v time.Time) *AppsListData { + s.LastUpdateTime = &v + return s +} + +// SetListId sets the ListId field's value. +func (s *AppsListData) SetListId(v string) *AppsListData { + s.ListId = &v + return s +} + +// SetListName sets the ListName field's value. +func (s *AppsListData) SetListName(v string) *AppsListData { + s.ListName = &v + return s +} + +// SetListUpdateToken sets the ListUpdateToken field's value. +func (s *AppsListData) SetListUpdateToken(v string) *AppsListData { + s.ListUpdateToken = &v + return s +} + +// SetPreviousAppsList sets the PreviousAppsList field's value. +func (s *AppsListData) SetPreviousAppsList(v map[string][]*App) *AppsListData { + s.PreviousAppsList = v + return s +} + +// Details of the AWS Firewall Manager applications list. +type AppsListDataSummary struct { + _ struct{} `type:"structure"` + + // An array of App objects in the AWS Firewall Manager applications list. + AppsList []*App `type:"list"` + + // The Amazon Resource Name (ARN) of the applications list. + ListArn *string `min:"1" type:"string"` + + // The ID of the applications list. + ListId *string `min:"36" type:"string"` + + // The name of the applications list. + ListName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s AppsListDataSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AppsListDataSummary) GoString() string { + return s.String() +} + +// SetAppsList sets the AppsList field's value. +func (s *AppsListDataSummary) SetAppsList(v []*App) *AppsListDataSummary { + s.AppsList = v + return s +} + +// SetListArn sets the ListArn field's value. +func (s *AppsListDataSummary) SetListArn(v string) *AppsListDataSummary { + s.ListArn = &v + return s +} + +// SetListId sets the ListId field's value. +func (s *AppsListDataSummary) SetListId(v string) *AppsListDataSummary { + s.ListId = &v + return s +} + +// SetListName sets the ListName field's value. +func (s *AppsListDataSummary) SetListName(v string) *AppsListDataSummary { + s.ListName = &v + return s +} + +type AssociateAdminAccountInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID to associate with AWS Firewall Manager as the AWS Firewall + // Manager administrator account. This can be an AWS Organizations master account + // or a member account. For more information about AWS Organizations and master + // accounts, see Managing the AWS Accounts in Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html). + // + // AdminAccount is a required field + AdminAccount *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateAdminAccountInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateAdminAccountInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateAdminAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateAdminAccountInput"} + if s.AdminAccount == nil { + invalidParams.Add(request.NewErrParamRequired("AdminAccount")) + } + if s.AdminAccount != nil && len(*s.AdminAccount) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AdminAccount", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdminAccount sets the AdminAccount field's value. +func (s *AssociateAdminAccountInput) SetAdminAccount(v string) *AssociateAdminAccountInput { + s.AdminAccount = &v + return s +} + +type AssociateAdminAccountOutput struct { _ struct{} `type:"structure"` } @@ -1820,6 +2956,126 @@ func (s AssociateAdminAccountOutput) GoString() string { return s.String() } +// Violations for an EC2 instance resource. +type AwsEc2InstanceViolation struct { + _ struct{} `type:"structure"` + + // Violations for network interfaces associated with the EC2 instance. + AwsEc2NetworkInterfaceViolations []*AwsEc2NetworkInterfaceViolation `type:"list"` + + // The resource ID of the EC2 instance. + ViolationTarget *string `type:"string"` +} + +// String returns the string representation +func (s AwsEc2InstanceViolation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsEc2InstanceViolation) GoString() string { + return s.String() +} + +// SetAwsEc2NetworkInterfaceViolations sets the AwsEc2NetworkInterfaceViolations field's value. +func (s *AwsEc2InstanceViolation) SetAwsEc2NetworkInterfaceViolations(v []*AwsEc2NetworkInterfaceViolation) *AwsEc2InstanceViolation { + s.AwsEc2NetworkInterfaceViolations = v + return s +} + +// SetViolationTarget sets the ViolationTarget field's value. +func (s *AwsEc2InstanceViolation) SetViolationTarget(v string) *AwsEc2InstanceViolation { + s.ViolationTarget = &v + return s +} + +// Violations for network interfaces associated with an EC2 instance. +type AwsEc2NetworkInterfaceViolation struct { + _ struct{} `type:"structure"` + + // List of security groups that violate the rules specified in the master security + // group of the AWS Firewall Manager policy. + ViolatingSecurityGroups []*string `type:"list"` + + // The resource ID of the network interface. + ViolationTarget *string `type:"string"` +} + +// String returns the string representation +func (s AwsEc2NetworkInterfaceViolation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsEc2NetworkInterfaceViolation) GoString() string { + return s.String() +} + +// SetViolatingSecurityGroups sets the ViolatingSecurityGroups field's value. +func (s *AwsEc2NetworkInterfaceViolation) SetViolatingSecurityGroups(v []*string) *AwsEc2NetworkInterfaceViolation { + s.ViolatingSecurityGroups = v + return s +} + +// SetViolationTarget sets the ViolationTarget field's value. +func (s *AwsEc2NetworkInterfaceViolation) SetViolationTarget(v string) *AwsEc2NetworkInterfaceViolation { + s.ViolationTarget = &v + return s +} + +// Details of the rule violation in a security group when compared to the master +// security group of the AWS Firewall Manager policy. +type AwsVPCSecurityGroupViolation struct { + _ struct{} `type:"structure"` + + // List of rules specified in the security group of the AWS Firewall Manager + // policy that partially match the ViolationTarget rule. + PartialMatches []*PartialMatch `type:"list"` + + // Remediation options for the rule specified in the ViolationTarget. + PossibleSecurityGroupRemediationActions []*SecurityGroupRemediationAction `type:"list"` + + // The security group rule that is being evaluated. + ViolationTarget *string `type:"string"` + + // A description of the security group that violates the policy. + ViolationTargetDescription *string `type:"string"` +} + +// String returns the string representation +func (s AwsVPCSecurityGroupViolation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsVPCSecurityGroupViolation) GoString() string { + return s.String() +} + +// SetPartialMatches sets the PartialMatches field's value. +func (s *AwsVPCSecurityGroupViolation) SetPartialMatches(v []*PartialMatch) *AwsVPCSecurityGroupViolation { + s.PartialMatches = v + return s +} + +// SetPossibleSecurityGroupRemediationActions sets the PossibleSecurityGroupRemediationActions field's value. +func (s *AwsVPCSecurityGroupViolation) SetPossibleSecurityGroupRemediationActions(v []*SecurityGroupRemediationAction) *AwsVPCSecurityGroupViolation { + s.PossibleSecurityGroupRemediationActions = v + return s +} + +// SetViolationTarget sets the ViolationTarget field's value. +func (s *AwsVPCSecurityGroupViolation) SetViolationTarget(v string) *AwsVPCSecurityGroupViolation { + s.ViolationTarget = &v + return s +} + +// SetViolationTargetDescription sets the ViolationTargetDescription field's value. +func (s *AwsVPCSecurityGroupViolation) SetViolationTargetDescription(v string) *AwsVPCSecurityGroupViolation { + s.ViolationTargetDescription = &v + return s +} + // Details of the resource that is not protected by the policy. type ComplianceViolator struct { _ struct{} `type:"structure"` @@ -1864,6 +3120,62 @@ func (s *ComplianceViolator) SetViolationReason(v string) *ComplianceViolator { return s } +type DeleteAppsListInput struct { + _ struct{} `type:"structure"` + + // The ID of the applications list that you want to delete. You can retrieve + // this ID from PutAppsList, ListAppsLists, and GetAppsList. + // + // ListId is a required field + ListId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteAppsListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAppsListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAppsListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAppsListInput"} + if s.ListId == nil { + invalidParams.Add(request.NewErrParamRequired("ListId")) + } + if s.ListId != nil && len(*s.ListId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetListId sets the ListId field's value. +func (s *DeleteAppsListInput) SetListId(v string) *DeleteAppsListInput { + s.ListId = &v + return s +} + +type DeleteAppsListOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteAppsListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAppsListOutput) GoString() string { + return s.String() +} + type DeleteNotificationChannelInput struct { _ struct{} `type:"structure"` } @@ -1922,8 +3234,8 @@ type DeletePolicyInput struct { // If you don't specify tags or accounts, all resources are in scope. DeleteAllPolicyResources *bool `type:"boolean"` - // The ID of the policy that you want to delete. PolicyId is returned by PutPolicy - // and by ListPolicies. + // The ID of the policy that you want to delete. You can retrieve this ID from + // PutPolicy and ListPolicies. // // PolicyId is a required field PolicyId *string `min:"36" type:"string" required:"true"` @@ -1981,6 +3293,62 @@ func (s DeletePolicyOutput) GoString() string { return s.String() } +type DeleteProtocolsListInput struct { + _ struct{} `type:"structure"` + + // The ID of the protocols list that you want to delete. You can retrieve this + // ID from PutProtocolsList, ListProtocolsLists, and GetProtocolsLost. + // + // ListId is a required field + ListId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteProtocolsListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProtocolsListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProtocolsListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProtocolsListInput"} + if s.ListId == nil { + invalidParams.Add(request.NewErrParamRequired("ListId")) + } + if s.ListId != nil && len(*s.ListId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetListId sets the ListId field's value. +func (s *DeleteProtocolsListInput) SetListId(v string) *DeleteProtocolsListInput { + s.ListId = &v + return s +} + +type DeleteProtocolsListOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteProtocolsListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteProtocolsListOutput) GoString() string { + return s.String() +} + type DisassociateAdminAccountInput struct { _ struct{} `type:"structure"` } @@ -2031,76 +3399,160 @@ type EvaluationResult struct { } // String returns the string representation -func (s EvaluationResult) String() string { +func (s EvaluationResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EvaluationResult) GoString() string { + return s.String() +} + +// SetComplianceStatus sets the ComplianceStatus field's value. +func (s *EvaluationResult) SetComplianceStatus(v string) *EvaluationResult { + s.ComplianceStatus = &v + return s +} + +// SetEvaluationLimitExceeded sets the EvaluationLimitExceeded field's value. +func (s *EvaluationResult) SetEvaluationLimitExceeded(v bool) *EvaluationResult { + s.EvaluationLimitExceeded = &v + return s +} + +// SetViolatorCount sets the ViolatorCount field's value. +func (s *EvaluationResult) SetViolatorCount(v int64) *EvaluationResult { + s.ViolatorCount = &v + return s +} + +type GetAdminAccountInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s GetAdminAccountInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAdminAccountInput) GoString() string { + return s.String() +} + +type GetAdminAccountOutput struct { + _ struct{} `type:"structure"` + + // The AWS account that is set as the AWS Firewall Manager administrator. + AdminAccount *string `min:"1" type:"string"` + + // The status of the AWS account that you set as the AWS Firewall Manager administrator. + RoleStatus *string `type:"string" enum:"AccountRoleStatus"` +} + +// String returns the string representation +func (s GetAdminAccountOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetAdminAccountOutput) GoString() string { + return s.String() +} + +// SetAdminAccount sets the AdminAccount field's value. +func (s *GetAdminAccountOutput) SetAdminAccount(v string) *GetAdminAccountOutput { + s.AdminAccount = &v + return s +} + +// SetRoleStatus sets the RoleStatus field's value. +func (s *GetAdminAccountOutput) SetRoleStatus(v string) *GetAdminAccountOutput { + s.RoleStatus = &v + return s +} + +type GetAppsListInput struct { + _ struct{} `type:"structure"` + + // Specifies whether the list to retrieve is a default list owned by AWS Firewall + // Manager. + DefaultList *bool `type:"boolean"` + + // The ID of the AWS Firewall Manager applications list that you want the details + // for. + // + // ListId is a required field + ListId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetAppsListInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EvaluationResult) GoString() string { +func (s GetAppsListInput) GoString() string { return s.String() } -// SetComplianceStatus sets the ComplianceStatus field's value. -func (s *EvaluationResult) SetComplianceStatus(v string) *EvaluationResult { - s.ComplianceStatus = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAppsListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAppsListInput"} + if s.ListId == nil { + invalidParams.Add(request.NewErrParamRequired("ListId")) + } + if s.ListId != nil && len(*s.ListId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) + } -// SetEvaluationLimitExceeded sets the EvaluationLimitExceeded field's value. -func (s *EvaluationResult) SetEvaluationLimitExceeded(v bool) *EvaluationResult { - s.EvaluationLimitExceeded = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetViolatorCount sets the ViolatorCount field's value. -func (s *EvaluationResult) SetViolatorCount(v int64) *EvaluationResult { - s.ViolatorCount = &v +// SetDefaultList sets the DefaultList field's value. +func (s *GetAppsListInput) SetDefaultList(v bool) *GetAppsListInput { + s.DefaultList = &v return s } -type GetAdminAccountInput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s GetAdminAccountInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetAdminAccountInput) GoString() string { - return s.String() +// SetListId sets the ListId field's value. +func (s *GetAppsListInput) SetListId(v string) *GetAppsListInput { + s.ListId = &v + return s } -type GetAdminAccountOutput struct { +type GetAppsListOutput struct { _ struct{} `type:"structure"` - // The AWS account that is set as the AWS Firewall Manager administrator. - AdminAccount *string `min:"1" type:"string"` + // Information about the specified AWS Firewall Manager applications list. + AppsList *AppsListData `type:"structure"` - // The status of the AWS account that you set as the AWS Firewall Manager administrator. - RoleStatus *string `type:"string" enum:"AccountRoleStatus"` + // The Amazon Resource Name (ARN) of the applications list. + AppsListArn *string `min:"1" type:"string"` } // String returns the string representation -func (s GetAdminAccountOutput) String() string { +func (s GetAppsListOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAdminAccountOutput) GoString() string { +func (s GetAppsListOutput) GoString() string { return s.String() } -// SetAdminAccount sets the AdminAccount field's value. -func (s *GetAdminAccountOutput) SetAdminAccount(v string) *GetAdminAccountOutput { - s.AdminAccount = &v +// SetAppsList sets the AppsList field's value. +func (s *GetAppsListOutput) SetAppsList(v *AppsListData) *GetAppsListOutput { + s.AppsList = v return s } -// SetRoleStatus sets the RoleStatus field's value. -func (s *GetAdminAccountOutput) SetRoleStatus(v string) *GetAdminAccountOutput { - s.RoleStatus = &v +// SetAppsListArn sets the AppsListArn field's value. +func (s *GetAppsListOutput) SetAppsListArn(v string) *GetAppsListOutput { + s.AppsListArn = &v return s } @@ -2488,6 +3940,209 @@ func (s *GetProtectionStatusOutput) SetServiceType(v string) *GetProtectionStatu return s } +type GetProtocolsListInput struct { + _ struct{} `type:"structure"` + + // Specifies whether the list to retrieve is a default list owned by AWS Firewall + // Manager. + DefaultList *bool `type:"boolean"` + + // The ID of the AWS Firewall Manager protocols list that you want the details + // for. + // + // ListId is a required field + ListId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetProtocolsListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetProtocolsListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetProtocolsListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetProtocolsListInput"} + if s.ListId == nil { + invalidParams.Add(request.NewErrParamRequired("ListId")) + } + if s.ListId != nil && len(*s.ListId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultList sets the DefaultList field's value. +func (s *GetProtocolsListInput) SetDefaultList(v bool) *GetProtocolsListInput { + s.DefaultList = &v + return s +} + +// SetListId sets the ListId field's value. +func (s *GetProtocolsListInput) SetListId(v string) *GetProtocolsListInput { + s.ListId = &v + return s +} + +type GetProtocolsListOutput struct { + _ struct{} `type:"structure"` + + // Information about the specified AWS Firewall Manager protocols list. + ProtocolsList *ProtocolsListData `type:"structure"` + + // The Amazon Resource Name (ARN) of the specified protocols list. + ProtocolsListArn *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetProtocolsListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetProtocolsListOutput) GoString() string { + return s.String() +} + +// SetProtocolsList sets the ProtocolsList field's value. +func (s *GetProtocolsListOutput) SetProtocolsList(v *ProtocolsListData) *GetProtocolsListOutput { + s.ProtocolsList = v + return s +} + +// SetProtocolsListArn sets the ProtocolsListArn field's value. +func (s *GetProtocolsListOutput) SetProtocolsListArn(v string) *GetProtocolsListOutput { + s.ProtocolsListArn = &v + return s +} + +type GetViolationDetailsInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID that you want the details for. + // + // MemberAccount is a required field + MemberAccount *string `min:"1" type:"string" required:"true"` + + // The ID of the AWS Firewall Manager policy that you want the details for. + // This currently only supports security group content audit policies. + // + // PolicyId is a required field + PolicyId *string `min:"36" type:"string" required:"true"` + + // The ID of the resource that has violations. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` + + // The resource type. This is in the format shown in the AWS Resource Types + // Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html). + // Supported resource types are: AWS::EC2::Instance, AWS::EC2::NetworkInterface, + // or AWS::EC2::SecurityGroup. + // + // ResourceType is a required field + ResourceType *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetViolationDetailsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetViolationDetailsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetViolationDetailsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetViolationDetailsInput"} + if s.MemberAccount == nil { + invalidParams.Add(request.NewErrParamRequired("MemberAccount")) + } + if s.MemberAccount != nil && len(*s.MemberAccount) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MemberAccount", 1)) + } + if s.PolicyId == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyId")) + } + if s.PolicyId != nil && len(*s.PolicyId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) + } + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + if s.ResourceType != nil && len(*s.ResourceType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMemberAccount sets the MemberAccount field's value. +func (s *GetViolationDetailsInput) SetMemberAccount(v string) *GetViolationDetailsInput { + s.MemberAccount = &v + return s +} + +// SetPolicyId sets the PolicyId field's value. +func (s *GetViolationDetailsInput) SetPolicyId(v string) *GetViolationDetailsInput { + s.PolicyId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *GetViolationDetailsInput) SetResourceId(v string) *GetViolationDetailsInput { + s.ResourceId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *GetViolationDetailsInput) SetResourceType(v string) *GetViolationDetailsInput { + s.ResourceType = &v + return s +} + +type GetViolationDetailsOutput struct { + _ struct{} `type:"structure"` + + // Violation detail for a resource. + ViolationDetail *ViolationDetail `type:"structure"` +} + +// String returns the string representation +func (s GetViolationDetailsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetViolationDetailsOutput) GoString() string { + return s.String() +} + +// SetViolationDetail sets the ViolationDetail field's value. +func (s *GetViolationDetailsOutput) SetViolationDetail(v *ViolationDetail) *GetViolationDetailsOutput { + s.ViolationDetail = v + return s +} + // The operation failed because of a system problem, even though the request // was valid. Retry your request. type InternalErrorException struct { @@ -2601,9 +4256,12 @@ func (s *InvalidInputException) RequestID() string { return s.RespMetadata.RequestID } -// The operation failed because there was nothing to do. For example, you might -// have submitted an AssociateAdminAccount request, but the account ID that -// you submitted was already set as the AWS Firewall Manager administrator. +// The operation failed because there was nothing to do or the operation wasn't +// possible. For example, you might have submitted an AssociateAdminAccount +// request for an account ID that was already set as the AWS Firewall Manager +// administrator. Or you might have tried to access a Region that's disabled +// by default, and that you need to enable for the Firewall Manager administrator +// account and for AWS Organizations before you can access it. type InvalidOperationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2760,18 +4418,125 @@ func (s *LimitExceededException) OrigErr() error { return nil } -func (s *LimitExceededException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +func (s *LimitExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListAppsListsInput struct { + _ struct{} `type:"structure"` + + // Specifies whether the lists to retrieve are default lists owned by AWS Firewall + // Manager. + DefaultLists *bool `type:"boolean"` + + // The maximum number of objects that you want AWS Firewall Manager to return + // for this request. If more objects are available, in the response, AWS Firewall + // Manager provides a NextToken value that you can use in a subsequent call + // to get the next batch of objects. + // + // If you don't specify this, AWS Firewall Manager returns all available objects. + // + // MaxResults is a required field + MaxResults *int64 `min:"1" type:"integer" required:"true"` + + // If you specify a value for MaxResults in your list request, and you have + // more objects than the maximum, AWS Firewall Manager returns this token in + // the response. For all but the first request, you provide the token returned + // by the prior request in the request parameters, to retrieve the next batch + // of objects. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListAppsListsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAppsListsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAppsListsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAppsListsInput"} + if s.MaxResults == nil { + invalidParams.Add(request.NewErrParamRequired("MaxResults")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultLists sets the DefaultLists field's value. +func (s *ListAppsListsInput) SetDefaultLists(v bool) *ListAppsListsInput { + s.DefaultLists = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAppsListsInput) SetMaxResults(v int64) *ListAppsListsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAppsListsInput) SetNextToken(v string) *ListAppsListsInput { + s.NextToken = &v + return s +} + +type ListAppsListsOutput struct { + _ struct{} `type:"structure"` + + // An array of AppsListDataSummary objects. + AppsLists []*AppsListDataSummary `type:"list"` + + // If you specify a value for MaxResults in your list request, and you have + // more objects than the maximum, AWS Firewall Manager returns this token in + // the response. You can use this token in subsequent requests to retrieve the + // next batch of objects. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListAppsListsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAppsListsOutput) GoString() string { + return s.String() } -// Status code returns the HTTP status code for the request's response error. -func (s *LimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetAppsLists sets the AppsLists field's value. +func (s *ListAppsListsOutput) SetAppsLists(v []*AppsListDataSummary) *ListAppsListsOutput { + s.AppsLists = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *LimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListAppsListsOutput) SetNextToken(v string) *ListAppsListsOutput { + s.NextToken = &v + return s } type ListComplianceStatusInput struct { @@ -3067,12 +4832,119 @@ func (s *ListPoliciesOutput) SetPolicyList(v []*PolicySummary) *ListPoliciesOutp return s } +type ListProtocolsListsInput struct { + _ struct{} `type:"structure"` + + // Specifies whether the lists to retrieve are default lists owned by AWS Firewall + // Manager. + DefaultLists *bool `type:"boolean"` + + // The maximum number of objects that you want AWS Firewall Manager to return + // for this request. If more objects are available, in the response, AWS Firewall + // Manager provides a NextToken value that you can use in a subsequent call + // to get the next batch of objects. + // + // If you don't specify this, AWS Firewall Manager returns all available objects. + // + // MaxResults is a required field + MaxResults *int64 `min:"1" type:"integer" required:"true"` + + // If you specify a value for MaxResults in your list request, and you have + // more objects than the maximum, AWS Firewall Manager returns this token in + // the response. For all but the first request, you provide the token returned + // by the prior request in the request parameters, to retrieve the next batch + // of objects. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListProtocolsListsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProtocolsListsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProtocolsListsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProtocolsListsInput"} + if s.MaxResults == nil { + invalidParams.Add(request.NewErrParamRequired("MaxResults")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultLists sets the DefaultLists field's value. +func (s *ListProtocolsListsInput) SetDefaultLists(v bool) *ListProtocolsListsInput { + s.DefaultLists = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListProtocolsListsInput) SetMaxResults(v int64) *ListProtocolsListsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProtocolsListsInput) SetNextToken(v string) *ListProtocolsListsInput { + s.NextToken = &v + return s +} + +type ListProtocolsListsOutput struct { + _ struct{} `type:"structure"` + + // If you specify a value for MaxResults in your list request, and you have + // more objects than the maximum, AWS Firewall Manager returns this token in + // the response. You can use this token in subsequent requests to retrieve the + // next batch of objects. + NextToken *string `min:"1" type:"string"` + + // An array of ProtocolsListDataSummary objects. + ProtocolsLists []*ProtocolsListDataSummary `type:"list"` +} + +// String returns the string representation +func (s ListProtocolsListsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProtocolsListsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProtocolsListsOutput) SetNextToken(v string) *ListProtocolsListsOutput { + s.NextToken = &v + return s +} + +// SetProtocolsLists sets the ProtocolsLists field's value. +func (s *ListProtocolsListsOutput) SetProtocolsLists(v []*ProtocolsListDataSummary) *ListProtocolsListsOutput { + s.ProtocolsLists = v + return s +} + type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource to return tags for. The Firewall - // Manager policy is the only AWS resource that supports tagging, so this ARN - // is a policy ARN.. + // The Amazon Resource Name (ARN) of the resource to return tags for. The AWS + // Firewall Manager resources that support tagging are policies, applications + // lists, and protocols lists. // // ResourceArn is a required field ResourceArn *string `min:"1" type:"string" required:"true"` @@ -3133,6 +5005,41 @@ func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOut return s } +// The reference rule that partially matches the ViolationTarget rule and violation +// reason. +type PartialMatch struct { + _ struct{} `type:"structure"` + + // The reference rule from the master security group of the AWS Firewall Manager + // policy. + Reference *string `type:"string"` + + // The violation reason. + TargetViolationReasons []*string `type:"list"` +} + +// String returns the string representation +func (s PartialMatch) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PartialMatch) GoString() string { + return s.String() +} + +// SetReference sets the Reference field's value. +func (s *PartialMatch) SetReference(v string) *PartialMatch { + s.Reference = &v + return s +} + +// SetTargetViolationReasons sets the TargetViolationReasons field's value. +func (s *PartialMatch) SetTargetViolationReasons(v []*string) *PartialMatch { + s.TargetViolationReasons = v + return s +} + // An AWS Firewall Manager policy. type Policy struct { _ struct{} `type:"structure"` @@ -3196,7 +5103,7 @@ type Policy struct { // The ID of the AWS Firewall Manager policy. PolicyId *string `min:"36" type:"string"` - // The friendly name of the AWS Firewall Manager policy. + // The name of the AWS Firewall Manager policy. // // PolicyName is a required field PolicyName *string `min:"1" type:"string" required:"true"` @@ -3475,7 +5382,7 @@ type PolicyComplianceStatus struct { // The ID of the AWS Firewall Manager policy. PolicyId *string `min:"36" type:"string"` - // The friendly name of the AWS Firewall Manager policy. + // The name of the AWS Firewall Manager policy. PolicyName *string `min:"1" type:"string"` // The AWS account that created the AWS Firewall Manager policy. @@ -3544,7 +5451,7 @@ type PolicySummary struct { // The ID of the specified policy. PolicyId *string `min:"36" type:"string"` - // The friendly name of the specified policy. + // The name of the specified policy. PolicyName *string `min:"1" type:"string"` // Indicates if the policy should be automatically applied to new resources. @@ -3566,49 +5473,303 @@ type PolicySummary struct { SecurityServiceType *string `type:"string" enum:"SecurityServiceType"` } -// String returns the string representation -func (s PolicySummary) String() string { - return awsutil.Prettify(s) +// String returns the string representation +func (s PolicySummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PolicySummary) GoString() string { + return s.String() +} + +// SetPolicyArn sets the PolicyArn field's value. +func (s *PolicySummary) SetPolicyArn(v string) *PolicySummary { + s.PolicyArn = &v + return s +} + +// SetPolicyId sets the PolicyId field's value. +func (s *PolicySummary) SetPolicyId(v string) *PolicySummary { + s.PolicyId = &v + return s +} + +// SetPolicyName sets the PolicyName field's value. +func (s *PolicySummary) SetPolicyName(v string) *PolicySummary { + s.PolicyName = &v + return s +} + +// SetRemediationEnabled sets the RemediationEnabled field's value. +func (s *PolicySummary) SetRemediationEnabled(v bool) *PolicySummary { + s.RemediationEnabled = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *PolicySummary) SetResourceType(v string) *PolicySummary { + s.ResourceType = &v + return s +} + +// SetSecurityServiceType sets the SecurityServiceType field's value. +func (s *PolicySummary) SetSecurityServiceType(v string) *PolicySummary { + s.SecurityServiceType = &v + return s +} + +// An AWS Firewall Manager protocols list. +type ProtocolsListData struct { + _ struct{} `type:"structure"` + + // The time that the AWS Firewall Manager protocols list was created. + CreateTime *time.Time `type:"timestamp"` + + // The time that the AWS Firewall Manager protocols list was last updated. + LastUpdateTime *time.Time `type:"timestamp"` + + // The ID of the AWS Firewall Manager protocols list. + ListId *string `min:"36" type:"string"` + + // The name of the AWS Firewall Manager protocols list. + // + // ListName is a required field + ListName *string `min:"1" type:"string" required:"true"` + + // A unique identifier for each update to the list. When you update the list, + // the update token must match the token of the current version of the application + // list. You can retrieve the update token by getting the list. + ListUpdateToken *string `min:"1" type:"string"` + + // A map of previous version numbers to their corresponding protocol arrays. + PreviousProtocolsList map[string][]*string `type:"map"` + + // An array of protocols in the AWS Firewall Manager protocols list. + // + // ProtocolsList is a required field + ProtocolsList []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s ProtocolsListData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProtocolsListData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProtocolsListData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProtocolsListData"} + if s.ListId != nil && len(*s.ListId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) + } + if s.ListName == nil { + invalidParams.Add(request.NewErrParamRequired("ListName")) + } + if s.ListName != nil && len(*s.ListName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ListName", 1)) + } + if s.ListUpdateToken != nil && len(*s.ListUpdateToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ListUpdateToken", 1)) + } + if s.ProtocolsList == nil { + invalidParams.Add(request.NewErrParamRequired("ProtocolsList")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreateTime sets the CreateTime field's value. +func (s *ProtocolsListData) SetCreateTime(v time.Time) *ProtocolsListData { + s.CreateTime = &v + return s +} + +// SetLastUpdateTime sets the LastUpdateTime field's value. +func (s *ProtocolsListData) SetLastUpdateTime(v time.Time) *ProtocolsListData { + s.LastUpdateTime = &v + return s +} + +// SetListId sets the ListId field's value. +func (s *ProtocolsListData) SetListId(v string) *ProtocolsListData { + s.ListId = &v + return s +} + +// SetListName sets the ListName field's value. +func (s *ProtocolsListData) SetListName(v string) *ProtocolsListData { + s.ListName = &v + return s +} + +// SetListUpdateToken sets the ListUpdateToken field's value. +func (s *ProtocolsListData) SetListUpdateToken(v string) *ProtocolsListData { + s.ListUpdateToken = &v + return s +} + +// SetPreviousProtocolsList sets the PreviousProtocolsList field's value. +func (s *ProtocolsListData) SetPreviousProtocolsList(v map[string][]*string) *ProtocolsListData { + s.PreviousProtocolsList = v + return s +} + +// SetProtocolsList sets the ProtocolsList field's value. +func (s *ProtocolsListData) SetProtocolsList(v []*string) *ProtocolsListData { + s.ProtocolsList = v + return s +} + +// Details of the AWS Firewall Manager protocols list. +type ProtocolsListDataSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the specified protocols list. + ListArn *string `min:"1" type:"string"` + + // The ID of the specified protocols list. + ListId *string `min:"36" type:"string"` + + // The name of the specified protocols list. + ListName *string `min:"1" type:"string"` + + // An array of protocols in the AWS Firewall Manager protocols list. + ProtocolsList []*string `type:"list"` +} + +// String returns the string representation +func (s ProtocolsListDataSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProtocolsListDataSummary) GoString() string { + return s.String() +} + +// SetListArn sets the ListArn field's value. +func (s *ProtocolsListDataSummary) SetListArn(v string) *ProtocolsListDataSummary { + s.ListArn = &v + return s +} + +// SetListId sets the ListId field's value. +func (s *ProtocolsListDataSummary) SetListId(v string) *ProtocolsListDataSummary { + s.ListId = &v + return s +} + +// SetListName sets the ListName field's value. +func (s *ProtocolsListDataSummary) SetListName(v string) *ProtocolsListDataSummary { + s.ListName = &v + return s +} + +// SetProtocolsList sets the ProtocolsList field's value. +func (s *ProtocolsListDataSummary) SetProtocolsList(v []*string) *ProtocolsListDataSummary { + s.ProtocolsList = v + return s +} + +type PutAppsListInput struct { + _ struct{} `type:"structure"` + + // The details of the AWS Firewall Manager applications list to be created. + // + // AppsList is a required field + AppsList *AppsListData `type:"structure" required:"true"` + + // The tags associated with the resource. + TagList []*Tag `type:"list"` +} + +// String returns the string representation +func (s PutAppsListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutAppsListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutAppsListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutAppsListInput"} + if s.AppsList == nil { + invalidParams.Add(request.NewErrParamRequired("AppsList")) + } + if s.AppsList != nil { + if err := s.AppsList.Validate(); err != nil { + invalidParams.AddNested("AppsList", err.(request.ErrInvalidParams)) + } + } + if s.TagList != nil { + for i, v := range s.TagList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// GoString returns the string representation -func (s PolicySummary) GoString() string { - return s.String() +// SetAppsList sets the AppsList field's value. +func (s *PutAppsListInput) SetAppsList(v *AppsListData) *PutAppsListInput { + s.AppsList = v + return s } -// SetPolicyArn sets the PolicyArn field's value. -func (s *PolicySummary) SetPolicyArn(v string) *PolicySummary { - s.PolicyArn = &v +// SetTagList sets the TagList field's value. +func (s *PutAppsListInput) SetTagList(v []*Tag) *PutAppsListInput { + s.TagList = v return s } -// SetPolicyId sets the PolicyId field's value. -func (s *PolicySummary) SetPolicyId(v string) *PolicySummary { - s.PolicyId = &v - return s +type PutAppsListOutput struct { + _ struct{} `type:"structure"` + + // The details of the AWS Firewall Manager applications list. + AppsList *AppsListData `type:"structure"` + + // The Amazon Resource Name (ARN) of the applications list. + AppsListArn *string `min:"1" type:"string"` } -// SetPolicyName sets the PolicyName field's value. -func (s *PolicySummary) SetPolicyName(v string) *PolicySummary { - s.PolicyName = &v - return s +// String returns the string representation +func (s PutAppsListOutput) String() string { + return awsutil.Prettify(s) } -// SetRemediationEnabled sets the RemediationEnabled field's value. -func (s *PolicySummary) SetRemediationEnabled(v bool) *PolicySummary { - s.RemediationEnabled = &v - return s +// GoString returns the string representation +func (s PutAppsListOutput) GoString() string { + return s.String() } -// SetResourceType sets the ResourceType field's value. -func (s *PolicySummary) SetResourceType(v string) *PolicySummary { - s.ResourceType = &v +// SetAppsList sets the AppsList field's value. +func (s *PutAppsListOutput) SetAppsList(v *AppsListData) *PutAppsListOutput { + s.AppsList = v return s } -// SetSecurityServiceType sets the SecurityServiceType field's value. -func (s *PolicySummary) SetSecurityServiceType(v string) *PolicySummary { - s.SecurityServiceType = &v +// SetAppsListArn sets the AppsListArn field's value. +func (s *PutAppsListOutput) SetAppsListArn(v string) *PutAppsListOutput { + s.AppsListArn = &v return s } @@ -3751,10 +5912,10 @@ func (s *PutPolicyInput) SetTagList(v []*Tag) *PutPolicyInput { type PutPolicyOutput struct { _ struct{} `type:"structure"` - // The details of the AWS Firewall Manager policy that was created. + // The details of the AWS Firewall Manager policy. Policy *Policy `type:"structure"` - // The Amazon Resource Name (ARN) of the policy that was created. + // The Amazon Resource Name (ARN) of the policy. PolicyArn *string `min:"1" type:"string"` } @@ -3780,6 +5941,100 @@ func (s *PutPolicyOutput) SetPolicyArn(v string) *PutPolicyOutput { return s } +type PutProtocolsListInput struct { + _ struct{} `type:"structure"` + + // The details of the AWS Firewall Manager protocols list to be created. + // + // ProtocolsList is a required field + ProtocolsList *ProtocolsListData `type:"structure" required:"true"` + + // The tags associated with the resource. + TagList []*Tag `type:"list"` +} + +// String returns the string representation +func (s PutProtocolsListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutProtocolsListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutProtocolsListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutProtocolsListInput"} + if s.ProtocolsList == nil { + invalidParams.Add(request.NewErrParamRequired("ProtocolsList")) + } + if s.ProtocolsList != nil { + if err := s.ProtocolsList.Validate(); err != nil { + invalidParams.AddNested("ProtocolsList", err.(request.ErrInvalidParams)) + } + } + if s.TagList != nil { + for i, v := range s.TagList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProtocolsList sets the ProtocolsList field's value. +func (s *PutProtocolsListInput) SetProtocolsList(v *ProtocolsListData) *PutProtocolsListInput { + s.ProtocolsList = v + return s +} + +// SetTagList sets the TagList field's value. +func (s *PutProtocolsListInput) SetTagList(v []*Tag) *PutProtocolsListInput { + s.TagList = v + return s +} + +type PutProtocolsListOutput struct { + _ struct{} `type:"structure"` + + // The details of the AWS Firewall Manager protocols list. + ProtocolsList *ProtocolsListData `type:"structure"` + + // The Amazon Resource Name (ARN) of the protocols list. + ProtocolsListArn *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s PutProtocolsListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutProtocolsListOutput) GoString() string { + return s.String() +} + +// SetProtocolsList sets the ProtocolsList field's value. +func (s *PutProtocolsListOutput) SetProtocolsList(v *ProtocolsListData) *PutProtocolsListOutput { + s.ProtocolsList = v + return s +} + +// SetProtocolsListArn sets the ProtocolsListArn field's value. +func (s *PutProtocolsListOutput) SetProtocolsListArn(v string) *PutProtocolsListOutput { + s.ProtocolsListArn = &v + return s +} + // The specified resource was not found. type ResourceNotFoundException struct { _ struct{} `type:"structure"` @@ -3894,6 +6149,171 @@ func (s *ResourceTag) SetValue(v string) *ResourceTag { return s } +// Violation detail based on resource type. +type ResourceViolation struct { + _ struct{} `type:"structure"` + + // Violation details for an EC2 instance. + AwsEc2InstanceViolation *AwsEc2InstanceViolation `type:"structure"` + + // Violation details for network interface. + AwsEc2NetworkInterfaceViolation *AwsEc2NetworkInterfaceViolation `type:"structure"` + + // Violation details for security groups. + AwsVPCSecurityGroupViolation *AwsVPCSecurityGroupViolation `type:"structure"` +} + +// String returns the string representation +func (s ResourceViolation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceViolation) GoString() string { + return s.String() +} + +// SetAwsEc2InstanceViolation sets the AwsEc2InstanceViolation field's value. +func (s *ResourceViolation) SetAwsEc2InstanceViolation(v *AwsEc2InstanceViolation) *ResourceViolation { + s.AwsEc2InstanceViolation = v + return s +} + +// SetAwsEc2NetworkInterfaceViolation sets the AwsEc2NetworkInterfaceViolation field's value. +func (s *ResourceViolation) SetAwsEc2NetworkInterfaceViolation(v *AwsEc2NetworkInterfaceViolation) *ResourceViolation { + s.AwsEc2NetworkInterfaceViolation = v + return s +} + +// SetAwsVPCSecurityGroupViolation sets the AwsVPCSecurityGroupViolation field's value. +func (s *ResourceViolation) SetAwsVPCSecurityGroupViolation(v *AwsVPCSecurityGroupViolation) *ResourceViolation { + s.AwsVPCSecurityGroupViolation = v + return s +} + +// Remediation option for the rule specified in the ViolationTarget. +type SecurityGroupRemediationAction struct { + _ struct{} `type:"structure"` + + // Brief description of the action that will be performed. + Description *string `type:"string"` + + // Indicates if the current action is the default action. + IsDefaultAction *bool `type:"boolean"` + + // The remediation action that will be performed. + RemediationActionType *string `type:"string" enum:"RemediationActionType"` + + // The final state of the rule specified in the ViolationTarget after it is + // remediated. + RemediationResult *SecurityGroupRuleDescription `type:"structure"` +} + +// String returns the string representation +func (s SecurityGroupRemediationAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SecurityGroupRemediationAction) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *SecurityGroupRemediationAction) SetDescription(v string) *SecurityGroupRemediationAction { + s.Description = &v + return s +} + +// SetIsDefaultAction sets the IsDefaultAction field's value. +func (s *SecurityGroupRemediationAction) SetIsDefaultAction(v bool) *SecurityGroupRemediationAction { + s.IsDefaultAction = &v + return s +} + +// SetRemediationActionType sets the RemediationActionType field's value. +func (s *SecurityGroupRemediationAction) SetRemediationActionType(v string) *SecurityGroupRemediationAction { + s.RemediationActionType = &v + return s +} + +// SetRemediationResult sets the RemediationResult field's value. +func (s *SecurityGroupRemediationAction) SetRemediationResult(v *SecurityGroupRuleDescription) *SecurityGroupRemediationAction { + s.RemediationResult = v + return s +} + +// Describes a set of permissions for a security group rule. +type SecurityGroupRuleDescription struct { + _ struct{} `type:"structure"` + + // The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 + // type number. A value of -1 indicates all ICMP/ICMPv6 types. + FromPort *int64 `type:"long"` + + // The IPv4 ranges for the security group rule. + IPV4Range *string `type:"string"` + + // The IPv6 ranges for the security group rule. + IPV6Range *string `type:"string"` + + // The ID of the prefix list for the security group rule. + PrefixListId *string `min:"1" type:"string"` + + // The IP protocol name (tcp, udp, icmp, icmpv6) or number. + Protocol *string `type:"string"` + + // The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 + // code. A value of -1 indicates all ICMP/ICMPv6 codes. + ToPort *int64 `type:"long"` +} + +// String returns the string representation +func (s SecurityGroupRuleDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SecurityGroupRuleDescription) GoString() string { + return s.String() +} + +// SetFromPort sets the FromPort field's value. +func (s *SecurityGroupRuleDescription) SetFromPort(v int64) *SecurityGroupRuleDescription { + s.FromPort = &v + return s +} + +// SetIPV4Range sets the IPV4Range field's value. +func (s *SecurityGroupRuleDescription) SetIPV4Range(v string) *SecurityGroupRuleDescription { + s.IPV4Range = &v + return s +} + +// SetIPV6Range sets the IPV6Range field's value. +func (s *SecurityGroupRuleDescription) SetIPV6Range(v string) *SecurityGroupRuleDescription { + s.IPV6Range = &v + return s +} + +// SetPrefixListId sets the PrefixListId field's value. +func (s *SecurityGroupRuleDescription) SetPrefixListId(v string) *SecurityGroupRuleDescription { + s.PrefixListId = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *SecurityGroupRuleDescription) SetProtocol(v string) *SecurityGroupRuleDescription { + s.Protocol = &v + return s +} + +// SetToPort sets the ToPort field's value. +func (s *SecurityGroupRuleDescription) SetToPort(v int64) *SecurityGroupRuleDescription { + s.ToPort = &v + return s +} + // Details about the security service that is being used to protect the resources. type SecurityServicePolicyData struct { _ struct{} `type:"structure"` @@ -3901,7 +6321,7 @@ type SecurityServicePolicyData struct { // Details about the service that are specific to the service type, in JSON // format. For service type SHIELD_ADVANCED, this is an empty string. // - // * Example: WAFV2 "ManagedServiceData": "{\"type\":\"WAFV2\",\"defaultAction\":{\"type\":\"ALLOW\"},\"preProcessRuleGroups\":[{\"managedRuleGroupIdentifier\":null,\"ruleGroupArn\":\"rulegrouparn\",\"overrideAction\":{\"type\":\"COUNT\"},\"excludedRules\":[{\"name\":\"EntityName\"}],\"ruleGroupType\":\"RuleGroup\"}],\"postProcessRuleGroups\":[{\"managedRuleGroupIdentifier\":{\"managedRuleGroupName\":\"AWSManagedRulesAdminProtectionRuleSet\",\"vendor\":\"AWS\"},\"ruleGroupArn\":\"rulegrouparn\",\"overrideAction\":{\"type\":\"NONE\"},\"excludedRules\":[],\"ruleGroupType\":\"ManagedRuleGroup\"}],\"overrideCustomerWebACLAssociation\":false}" + // * Example: WAFV2 "ManagedServiceData": "{\"type\":\"WAFV2\",\"defaultAction\":{\"type\":\"ALLOW\"},\"preProcessRuleGroups\":[{\"managedRuleGroupIdentifier\":null,\"ruleGroupArn\":\"rulegrouparn\",\"overrideAction\":{\"type\":\"COUNT\"},\"excludeRules\":[{\"name\":\"EntityName\"}],\"ruleGroupType\":\"RuleGroup\"}],\"postProcessRuleGroups\":[{\"managedRuleGroupIdentifier\":{\"managedRuleGroupName\":\"AWSManagedRulesAdminProtectionRuleSet\",\"vendorName\":\"AWS\"},\"ruleGroupArn\":\"rulegrouparn\",\"overrideAction\":{\"type\":\"NONE\"},\"excludeRules\":[],\"ruleGroupType\":\"ManagedRuleGroup\"}],\"overrideCustomerWebACLAssociation\":false}" // // * Example: WAF Classic "ManagedServiceData": "{\"type\": \"WAF\", \"ruleGroups\": // [{\"id\": \"12345678-1bcd-9012-efga-0987654321ab\", \"overrideAction\" @@ -4037,8 +6457,9 @@ func (s *Tag) SetValue(v string) *Tag { type TagResourceInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. The Firewall Manager policy - // is the only AWS resource that supports tagging, so this ARN is a policy ARN. + // The Amazon Resource Name (ARN) of the resource to return tags for. The AWS + // Firewall Manager resources that support tagging are policies, applications + // lists, and protocols lists. // // ResourceArn is a required field ResourceArn *string `min:"1" type:"string" required:"true"` @@ -4117,8 +6538,9 @@ func (s TagResourceOutput) GoString() string { type UntagResourceInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. The Firewall Manager policy - // is the only AWS resource that supports tagging, so this ARN is a policy ARN. + // The Amazon Resource Name (ARN) of the resource to return tags for. The AWS + // Firewall Manager resources that support tagging are policies, applications + // lists, and protocols lists. // // ResourceArn is a required field ResourceArn *string `min:"1" type:"string" required:"true"` @@ -4184,6 +6606,96 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +// Violations for a resource based on the specified AWS Firewall Manager policy +// and AWS account. +type ViolationDetail struct { + _ struct{} `type:"structure"` + + // The AWS account that the violation details were requested for. + // + // MemberAccount is a required field + MemberAccount *string `min:"1" type:"string" required:"true"` + + // The ID of the AWS Firewall Manager policy that the violation details were + // requested for. + // + // PolicyId is a required field + PolicyId *string `min:"36" type:"string" required:"true"` + + // Brief description for the requested resource. + ResourceDescription *string `type:"string"` + + // The resource ID that the violation details were requested for. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` + + // The ResourceTag objects associated with the resource. + ResourceTags []*Tag `type:"list"` + + // The resource type that the violation details were requested for. + // + // ResourceType is a required field + ResourceType *string `min:"1" type:"string" required:"true"` + + // List of violations for the requested resource. + // + // ResourceViolations is a required field + ResourceViolations []*ResourceViolation `type:"list" required:"true"` +} + +// String returns the string representation +func (s ViolationDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ViolationDetail) GoString() string { + return s.String() +} + +// SetMemberAccount sets the MemberAccount field's value. +func (s *ViolationDetail) SetMemberAccount(v string) *ViolationDetail { + s.MemberAccount = &v + return s +} + +// SetPolicyId sets the PolicyId field's value. +func (s *ViolationDetail) SetPolicyId(v string) *ViolationDetail { + s.PolicyId = &v + return s +} + +// SetResourceDescription sets the ResourceDescription field's value. +func (s *ViolationDetail) SetResourceDescription(v string) *ViolationDetail { + s.ResourceDescription = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *ViolationDetail) SetResourceId(v string) *ViolationDetail { + s.ResourceId = &v + return s +} + +// SetResourceTags sets the ResourceTags field's value. +func (s *ViolationDetail) SetResourceTags(v []*Tag) *ViolationDetail { + s.ResourceTags = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ViolationDetail) SetResourceType(v string) *ViolationDetail { + s.ResourceType = &v + return s +} + +// SetResourceViolations sets the ResourceViolations field's value. +func (s *ViolationDetail) SetResourceViolations(v []*ResourceViolation) *ViolationDetail { + s.ResourceViolations = v + return s +} + const ( // AccountRoleStatusReady is a AccountRoleStatus enum value AccountRoleStatusReady = "READY" @@ -4231,6 +6743,14 @@ const ( PolicyComplianceStatusTypeNonCompliant = "NON_COMPLIANT" ) +const ( + // RemediationActionTypeRemove is a RemediationActionType enum value + RemediationActionTypeRemove = "REMOVE" + + // RemediationActionTypeModify is a RemediationActionType enum value + RemediationActionTypeModify = "MODIFY" +) + const ( // SecurityServiceTypeWaf is a SecurityServiceType enum value SecurityServiceTypeWaf = "WAF" diff --git a/vendor/github.com/aws/aws-sdk-go/service/fms/errors.go b/vendor/github.com/aws/aws-sdk-go/service/fms/errors.go index 0fc209a4a74..fc0663349f0 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/fms/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/fms/errors.go @@ -24,9 +24,12 @@ const ( // ErrCodeInvalidOperationException for service response error code // "InvalidOperationException". // - // The operation failed because there was nothing to do. For example, you might - // have submitted an AssociateAdminAccount request, but the account ID that - // you submitted was already set as the AWS Firewall Manager administrator. + // The operation failed because there was nothing to do or the operation wasn't + // possible. For example, you might have submitted an AssociateAdminAccount + // request for an account ID that was already set as the AWS Firewall Manager + // administrator. Or you might have tried to access a Region that's disabled + // by default, and that you need to enable for the Firewall Manager administrator + // account and for AWS Organizations before you can access it. ErrCodeInvalidOperationException = "InvalidOperationException" // ErrCodeInvalidTypeException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/forecastservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/forecastservice/api.go index e6425c8afb7..e0428f70d18 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/forecastservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/forecastservice/api.go @@ -79,7 +79,7 @@ func (c *ForecastService) CreateDatasetRequest(input *CreateDatasetInput) (req * // To get a list of all your datasets, use the ListDatasets operation. // // For example Forecast datasets, see the Amazon Forecast Sample GitHub repository -// (https://github.com/aws-samples/amazon-forecast-samples/tree/master/data). +// (https://github.com/aws-samples/amazon-forecast-samples). // // The Status of a dataset must be ACTIVE before you can import training data. // Use the DescribeDataset operation to get the status. @@ -278,8 +278,9 @@ func (c *ForecastService) CreateDatasetImportJobRequest(input *CreateDatasetImpo // to import the data to. // // You must specify a DataSource object that includes an AWS Identity and Access -// Management (IAM) role that Amazon Forecast can assume to access the data. -// For more information, see aws-forecast-iam-roles. +// Management (IAM) role that Amazon Forecast can assume to access the data, +// as Amazon Forecast makes a copy of your data and processes it in an internal +// AWS system. For more information, see aws-forecast-iam-roles. // // The training data must be in CSV format. The delimiter must be a comma (,). // @@ -287,6 +288,12 @@ func (c *ForecastService) CreateDatasetImportJobRequest(input *CreateDatasetImpo // in the S3 bucket. For the latter two cases, Amazon Forecast imports all files // up to the limit of 10,000 files. // +// Because dataset imports are not aggregated, your most recent dataset import +// is the one that is used when training a predictor or generating a forecast. +// Make sure that your most recent dataset import contains all of the data you +// want to model off of, and not just the new data collected since the previous +// import. +// // To get a list of all your dataset import jobs, filtered by specified criteria, // use the ListDatasetImportJobs operation. // @@ -388,9 +395,8 @@ func (c *ForecastService) CreateForecastRequest(input *CreateForecastInput) (req // use the CreateForecastExportJob operation. // // The range of the forecast is determined by the ForecastHorizon value, which -// you specify in the CreatePredictor request, multiplied by the DataFrequency -// value, which you specify in the CreateDataset request. When you query a forecast, -// you can request a specific date range within the forecast. +// you specify in the CreatePredictor request. When you query a forecast, you +// can request a specific date range within the forecast. // // To get a list of all your forecasts, use the ListForecasts operation. // @@ -497,7 +503,7 @@ func (c *ForecastService) CreateForecastExportJobRequest(input *CreateForecastEx // Simple Storage Service (Amazon S3) bucket. The forecast file name will match // the following conventions: // -// __ +// __ // // where the component is in Java SimpleDateFormat (yyyy-MM-ddTHH-mm-ssZ). // @@ -748,6 +754,10 @@ func (c *ForecastService) DeleteDatasetRequest(input *DeleteDatasetInput) (req * // operation. You can only delete datasets that have a status of ACTIVE or CREATE_FAILED. // To get the status use the DescribeDataset operation. // +// Forecast does not automatically update any dataset groups that contain the +// deleted dataset. In order to update the dataset group, use the operation, +// omitting the deleted dataset's ARN. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -2791,6 +2801,266 @@ func (c *ForecastService) ListPredictorsPagesWithContext(ctx aws.Context, input return p.Err() } +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListTagsForResource +func (c *ForecastService) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon Forecast Service. +// +// Lists the tags for an Amazon Forecast resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Forecast Service's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// We can't find a resource with that Amazon Resource Name (ARN). Check the +// ARN and try again. +// +// * InvalidInputException +// We can't process the request because it includes an invalid value or a value +// that exceeds the valid range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListTagsForResource +func (c *ForecastService) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ForecastService) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/TagResource +func (c *ForecastService) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon Forecast Service. +// +// Associates the specified tags to a resource with the specified resourceArn. +// If existing tags on a resource are not specified in the request parameters, +// they are not changed. When a resource is deleted, the tags associated with +// that resource are also deleted. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Forecast Service's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// We can't find a resource with that Amazon Resource Name (ARN). Check the +// ARN and try again. +// +// * LimitExceededException +// The limit on the number of resources per account has been exceeded. +// +// * InvalidInputException +// We can't process the request because it includes an invalid value or a value +// that exceeds the valid range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/TagResource +func (c *ForecastService) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ForecastService) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/UntagResource +func (c *ForecastService) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon Forecast Service. +// +// Deletes the specified tags from a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Forecast Service's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// We can't find a resource with that Amazon Resource Name (ARN). Check the +// ARN and try again. +// +// * InvalidInputException +// We can't process the request because it includes an invalid value or a value +// that exceeds the valid range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/UntagResource +func (c *ForecastService) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ForecastService) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateDatasetGroup = "UpdateDatasetGroup" // UpdateDatasetGroupRequest generates a "aws/request.Request" representing the @@ -3076,6 +3346,37 @@ type CreateDatasetGroupInput struct { // // Domain is a required field Domain *string `type:"string" required:"true" enum:"Domain"` + + // The optional metadata that you apply to the dataset group to help you categorize + // and organize them. Each tag consists of a key and an optional value, both + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -3100,6 +3401,16 @@ func (s *CreateDatasetGroupInput) Validate() error { if s.Domain == nil { invalidParams.Add(request.NewErrParamRequired("Domain")) } + 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 @@ -3125,6 +3436,12 @@ func (s *CreateDatasetGroupInput) SetDomain(v string) *CreateDatasetGroupInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateDatasetGroupInput) SetTags(v []*Tag) *CreateDatasetGroupInput { + s.Tags = v + return s +} + type CreateDatasetGroupOutput struct { _ struct{} `type:"structure"` @@ -3176,6 +3493,37 @@ type CreateDatasetImportJobInput struct { // DatasetImportJobName is a required field DatasetImportJobName *string `min:"1" type:"string" required:"true"` + // The optional metadata that you apply to the dataset import job to help you + // categorize and organize them. Each tag consists of a key and an optional + // value, both of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + Tags []*Tag `type:"list"` + // The format of timestamps in the dataset. The format that you specify depends // on the DataFrequency specified when the dataset was created. The following // formats are supported @@ -3220,6 +3568,16 @@ func (s *CreateDatasetImportJobInput) Validate() error { invalidParams.AddNested("DataSource", err.(request.ErrInvalidParams)) } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3245,6 +3603,12 @@ func (s *CreateDatasetImportJobInput) SetDatasetImportJobName(v string) *CreateD return s } +// SetTags sets the Tags field's value. +func (s *CreateDatasetImportJobInput) SetTags(v []*Tag) *CreateDatasetImportJobInput { + s.Tags = v + return s +} + // SetTimestampFormat sets the TimestampFormat field's value. func (s *CreateDatasetImportJobInput) SetTimestampFormat(v string) *CreateDatasetImportJobInput { s.TimestampFormat = &v @@ -3320,6 +3684,37 @@ type CreateDatasetInput struct { // // Schema is a required field Schema *Schema `type:"structure" required:"true"` + + // The optional metadata that you apply to the dataset to help you categorize + // and organize them. Each tag consists of a key and an optional value, both + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -3360,6 +3755,16 @@ func (s *CreateDatasetInput) Validate() error { invalidParams.AddNested("Schema", err.(request.ErrInvalidParams)) } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3403,6 +3808,12 @@ func (s *CreateDatasetInput) SetSchema(v *Schema) *CreateDatasetInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateDatasetInput) SetTags(v []*Tag) *CreateDatasetInput { + s.Tags = v + return s +} + type CreateDatasetOutput struct { _ struct{} `type:"structure"` @@ -3449,6 +3860,37 @@ type CreateForecastExportJobInput struct { // // ForecastExportJobName is a required field ForecastExportJobName *string `min:"1" type:"string" required:"true"` + + // The optional metadata that you apply to the forecast export job to help you + // categorize and organize them. Each tag consists of a key and an optional + // value, both of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -3481,6 +3923,16 @@ func (s *CreateForecastExportJobInput) Validate() error { invalidParams.AddNested("Destination", err.(request.ErrInvalidParams)) } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3506,6 +3958,12 @@ func (s *CreateForecastExportJobInput) SetForecastExportJobName(v string) *Creat return s } +// SetTags sets the Tags field's value. +func (s *CreateForecastExportJobInput) SetTags(v []*Tag) *CreateForecastExportJobInput { + s.Tags = v + return s +} + type CreateForecastExportJobOutput struct { _ struct{} `type:"structure"` @@ -3537,17 +3995,48 @@ type CreateForecastInput struct { // ForecastName is a required field ForecastName *string `min:"1" type:"string" required:"true"` - // The quantiles at which probabilistic forecasts are generated. You can specify - // up to 5 quantiles per forecast. Accepted values include 0.01 to 0.99 (increments - // of .01 only) and mean. The mean forecast is different from the median (0.50) - // when the distribution is not symmetric (e.g. Beta, Negative Binomial). The - // default value is ["0.1", "0.5", "0.9"]. + // The quantiles at which probabilistic forecasts are generated. You can currently + // specify up to 5 quantiles per forecast. Accepted values include 0.01 to 0.99 + // (increments of .01 only) and mean. The mean forecast is different from the + // median (0.50) when the distribution is not symmetric (for example, Beta and + // Negative Binomial). The default value is ["0.1", "0.5", "0.9"]. ForecastTypes []*string `min:"1" type:"list"` // The Amazon Resource Name (ARN) of the predictor to use to generate the forecast. // // PredictorArn is a required field PredictorArn *string `type:"string" required:"true"` + + // The optional metadata that you apply to the forecast to help you categorize + // and organize them. Each tag consists of a key and an optional value, both + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -3575,6 +4064,16 @@ func (s *CreateForecastInput) Validate() error { if s.PredictorArn == nil { invalidParams.Add(request.NewErrParamRequired("PredictorArn")) } + 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 @@ -3600,6 +4099,12 @@ func (s *CreateForecastInput) SetPredictorArn(v string) *CreateForecastInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateForecastInput) SetTags(v []*Tag) *CreateForecastInput { + s.Tags = v + return s +} + type CreateForecastOutput struct { _ struct{} `type:"structure"` @@ -3709,15 +4214,46 @@ type CreatePredictorInput struct { // for each tunable hyperparameter. In this case, you are required to specify // an algorithm and PerformAutoML must be false. // - // The following algorithm supports HPO: + // The following algorithm supports HPO: + // + // * DeepAR+ + PerformHPO *bool `type:"boolean"` + + // A name for the predictor. + // + // PredictorName is a required field + PredictorName *string `min:"1" type:"string" required:"true"` + + // The optional metadata that you apply to the predictor to help you categorize + // and organize them. Each tag consists of a key and an optional value, both + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. // - // * DeepAR+ - PerformHPO *bool `type:"boolean"` - - // A name for the predictor. + // * Tag keys and values are case sensitive. // - // PredictorName is a required field - PredictorName *string `min:"1" type:"string" required:"true"` + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + Tags []*Tag `type:"list"` // The hyperparameters to override for model training. The hyperparameters that // you can override are listed in the individual algorithms. For the list of @@ -3773,6 +4309,16 @@ func (s *CreatePredictorInput) Validate() error { invalidParams.AddNested("InputDataConfig", err.(request.ErrInvalidParams)) } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3840,6 +4386,12 @@ func (s *CreatePredictorInput) SetPredictorName(v string) *CreatePredictorInput return s } +// SetTags sets the Tags field's value. +func (s *CreatePredictorInput) SetTags(v []*Tag) *CreatePredictorInput { + s.Tags = v + return s +} + // SetTrainingParameters sets the TrainingParameters field's value. func (s *CreatePredictorInput) SetTrainingParameters(v map[string]*string) *CreatePredictorInput { s.TrainingParameters = v @@ -5170,7 +5722,7 @@ type DescribeForecastOutput struct { // The name of the forecast. ForecastName *string `min:"1" type:"string"` - // The quantiles at which proababilistic forecasts were generated. + // The quantiles at which probabilistic forecasts were generated. ForecastTypes []*string `min:"1" type:"list"` // Initially, the same as CreationTime (status is CREATE_PENDING). Updated when @@ -5673,9 +6225,10 @@ type Featurization struct { _ struct{} `type:"structure"` // The name of the schema attribute that specifies the data field to be featurized. - // Only the target field of the TARGET_TIME_SERIES dataset type is supported. - // For example, for the RETAIL domain, the target is demand, and for the CUSTOM - // domain, the target is target_value. + // Amazon Forecast supports the target field of the TARGET_TIME_SERIES and the + // RELATED_TIME_SERIES datasets. For example, for the RETAIL domain, the target + // is demand, and for the CUSTOM domain, the target is target_value. For more + // information, see howitworks-missing-values. // // AttributeName is a required field AttributeName *string `min:"1" type:"string" required:"true"` @@ -5744,8 +6297,8 @@ func (s *Featurization) SetFeaturizationPipeline(v []*FeaturizationMethod) *Feat // You define featurization using the FeaturizationConfig object. You specify // an array of transformations, one for each field that you want to featurize. // You then include the FeaturizationConfig object in your CreatePredictor request. -// Amazon Forecast applies the featurization to the TARGET_TIME_SERIES dataset -// before model training. +// Amazon Forecast applies the featurization to the TARGET_TIME_SERIES and RELATED_TIME_SERIES +// datasets before model training. // // You can create multiple featurization configurations. For example, you might // call the CreatePredictor operation twice by specifying different featurization @@ -5754,7 +6307,7 @@ type FeaturizationConfig struct { _ struct{} `type:"structure"` // An array of featurization (transformation) information for the fields of - // a dataset. Only a single featurization is supported. + // a dataset. Featurizations []*Featurization `min:"1" type:"list"` // An array of dimension (field) names that specify how to group the generated @@ -5847,8 +6400,7 @@ func (s *FeaturizationConfig) SetForecastFrequency(v string) *FeaturizationConfi // Provides information about the method that featurizes (transforms) a dataset // field. The method is part of the FeaturizationPipeline of the Featurization -// object. If you don't specify FeaturizationMethodParameters, Amazon Forecast -// uses default parameters. +// object. // // The following is an example of how you specify a FeaturizationMethod object. // @@ -5856,7 +6408,8 @@ func (s *FeaturizationConfig) SetForecastFrequency(v string) *FeaturizationConfi // // "FeaturizationMethodName": "filling", // -// "FeaturizationMethodParameters": {"aggregation": "avg", "backfill": "nan"} +// "FeaturizationMethodParameters": {"aggregation": "sum", "middlefill": "zero", +// "backfill": "zero"} // // } type FeaturizationMethod struct { @@ -5867,17 +6420,30 @@ type FeaturizationMethod struct { // FeaturizationMethodName is a required field FeaturizationMethodName *string `type:"string" required:"true" enum:"FeaturizationMethodName"` - // The method parameters (key-value pairs). Specify these parameters to override - // the default values. The following list shows the parameters and their valid - // values. Bold signifies the default value. + // The method parameters (key-value pairs), which are a map of override parameters. + // Specify these parameters to override the default values. Related Time Series + // attributes do not accept aggregation parameters. + // + // The following list shows the parameters and their valid values for the "filling" + // featurization method for a Target Time Series dataset. Bold signifies the + // default value. // // * aggregation: sum, avg, first, min, max // // * frontfill: none // - // * middlefill: zero, nan (not a number) + // * middlefill: zero, nan (not a number), value, median, mean, min, max + // + // * backfill: zero, nan, value, median, mean, min, max + // + // The following list shows the parameters and their valid values for a Related + // Time Series featurization method (there are no defaults): + // + // * middlefill: zero, value, median, mean, min, max + // + // * backfill: zero, value, median, mean, min, max // - // * backfill: zero, nan + // * futurefill: zero, value, median, mean, min, max FeaturizationMethodParameters map[string]*string `min:"1" type:"map"` } @@ -7286,6 +7852,70 @@ func (s *ListPredictorsOutput) SetPredictors(v []*PredictorSummary) *ListPredict return s } +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) that identifies the resource for which to + // list the tags. Currently, the supported resources are Forecast dataset groups, + // datasets, dataset import jobs, predictors, forecasts, and forecast export + // jobs. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags for the resource. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + // Provides metrics that are used to evaluate the performance of a predictor. // This object is part of the WindowSummary object. type Metrics struct { @@ -7821,7 +8451,7 @@ type Schema struct { _ struct{} `type:"structure"` // An array of attributes specifying the name and type of each field in a dataset. - Attributes []*SchemaAttribute `type:"list"` + Attributes []*SchemaAttribute `min:"1" type:"list"` } // String returns the string representation @@ -7837,6 +8467,9 @@ func (s Schema) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *Schema) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Schema"} + if s.Attributes != nil && len(s.Attributes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Attributes", 1)) + } if s.Attributes != nil { for i, v := range s.Attributes { if v == nil { @@ -8003,6 +8636,35 @@ func (s *Statistics) SetStddev(v float64) *Statistics { // all data in the datasets should belong to the same country as the calendar. // For the holiday calendar data, see the Jollyday (http://jollyday.sourceforge.net/data.html) // web site. +// +// India and Korea's holidays are not included in the Jollyday library, but +// both are supported by Amazon Forecast. Their holidays are: +// +// "IN" - INDIA +// +// * JANUARY 26 - REPUBLIC DAY +// +// * AUGUST 15 - INDEPENDENCE DAY +// +// * OCTOBER 2 GANDHI'S BIRTHDAY +// +// "KR" - KOREA +// +// * JANUARY 1 - NEW YEAR +// +// * MARCH 1 - INDEPENDENCE MOVEMENT DAY +// +// * MAY 5 - CHILDREN'S DAY +// +// * JUNE 6 - MEMORIAL DAY +// +// * AUGUST 15 - LIBERATION DAY +// +// * OCTOBER 3 - NATIONAL FOUNDATION DAY +// +// * OCTOBER 9 - HANGEUL DAY +// +// * DECEMBER 25 - CHRISTMAS DAY type SupplementaryFeature struct { _ struct{} `type:"structure"` @@ -8013,15 +8675,69 @@ type SupplementaryFeature struct { // One of the following 2 letter country codes: // + // * "AR" - ARGENTINA + // + // * "AT" - AUSTRIA + // // * "AU" - AUSTRALIA // + // * "BE" - BELGIUM + // + // * "BR" - BRAZIL + // + // * "CA" - CANADA + // + // * "CN" - CHINA + // + // * "CZ" - CZECH REPUBLIC + // + // * "DK" - DENMARK + // + // * "EC" - ECUADOR + // + // * "FI" - FINLAND + // + // * "FR" - FRANCE + // // * "DE" - GERMANY // + // * "HU" - HUNGARY + // + // * "IE" - IRELAND + // + // * "IN" - INDIA + // + // * "IT" - ITALY + // // * "JP" - JAPAN // - // * "US" - UNITED_STATES + // * "KR" - KOREA + // + // * "LU" - LUXEMBOURG + // + // * "MX" - MEXICO // - // * "UK" - UNITED_KINGDOM + // * "NL" - NETHERLANDS + // + // * "NO" - NORWAY + // + // * "PL" - POLAND + // + // * "PT" - PORTUGAL + // + // * "RU" - RUSSIA + // + // * "ZA" - SOUTH AFRICA + // + // * "ES" - SPAIN + // + // * "SE" - SWEDEN + // + // * "CH" - SWITZERLAND + // + // * "US" - UNITED STATES + // + // * "UK" - UNITED KINGDOM // // Value is a required field Value *string `type:"string" required:"true"` @@ -8068,6 +8784,197 @@ func (s *SupplementaryFeature) SetValue(v string) *SupplementaryFeature { return s } +// The optional metadata that you apply to a resource to help you categorize +// and organize them. Each tag consists of a key and an optional value, both +// of which you define. +// +// The following basic restrictions apply to tags: +// +// * Maximum number of tags per resource - 50. +// +// * For each resource, each tag key must be unique, and each tag key can +// have only one value. +// +// * Maximum key length - 128 Unicode characters in UTF-8. +// +// * Maximum value length - 256 Unicode characters in UTF-8. +// +// * If your tagging schema is used across multiple services and resources, +// remember that other services may have restrictions on allowed characters. +// Generally allowed characters are: letters, numbers, and spaces representable +// in UTF-8, and the following characters: + - = . _ : / @. +// +// * Tag keys and values are case sensitive. +// +// * Do not use aws:, AWS:, or any upper or lowercase combination of such +// as a prefix for keys as it is reserved for AWS use. You cannot edit or +// delete tag keys with this prefix. Values can have this prefix. If a tag +// value has aws as its prefix but the key does not, then Forecast considers +// it to be a user tag and will count against the limit of 50 tags. Tags +// with only the key prefix of aws do not count against your tags per resource +// limit. +type Tag struct { + _ struct{} `type:"structure"` + + // One part of a key-value pair that makes up a tag. A key is a general label + // that acts like a category for more specific tag values. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The optional part of a key-value pair that makes up a tag. A value acts as + // a descriptor within a tag category (key). + // + // 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 TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) that identifies the resource for which to + // list the tags. Currently, the supported resources are Forecast dataset groups, + // datasets, dataset import jobs, predictors, forecasts, and forecast export + // jobs. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` + + // The tags to add to the resource. A tag is an array of key-value pairs. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + // The status, start time, and end time of a backtest, as well as a failure // reason if applicable. type TestWindowSummary struct { @@ -8126,6 +9033,74 @@ func (s *TestWindowSummary) SetTestWindowStart(v time.Time) *TestWindowSummary { return s } +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) that identifies the resource for which to + // list the tags. Currently, the supported resources are Forecast dataset groups, + // datasets, dataset import jobs, predictors, forecasts, and forecast exports. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` + + // The keys of the tags to be removed. + // + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + type UpdateDatasetGroupInput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/fsx/api.go b/vendor/github.com/aws/aws-sdk-go/service/fsx/api.go index 91aa12c43ec..03e58ebc29f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/fsx/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/fsx/api.go @@ -158,10 +158,22 @@ func (c *FSx) CreateBackupRequest(input *CreateBackupInput) (req *request.Reques // CreateBackup API operation for Amazon FSx. // -// Creates a backup of an existing Amazon FSx for Windows File Server file system. -// Creating regular backups for your file system is a best practice that complements -// the replication that Amazon FSx for Windows File Server performs for your -// file system. It also enables you to restore from user modification of data. +// Creates a backup of an existing Amazon FSx file system. Creating regular +// backups for your file system is a best practice, enabling you to restore +// a file system from a backup if an issue arises with the original file system. +// +// For Amazon FSx for Lustre file systems, you can create a backup only for +// file systems with the following configuration: +// +// * a Persistent deployment type +// +// * is not linked to a data respository. +// +// For more information about backing up Amazon FSx for Lustre file systems, +// see Working with FSx for Lustre backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html). +// +// For more information about backing up Amazon FSx for Lustre file systems, +// see Working with FSx for Windows backups (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html). // // If a backup with the specified client request token exists, and the parameters // match, this operation returns the description of the existing backup. If @@ -181,10 +193,9 @@ func (c *FSx) CreateBackupRequest(input *CreateBackupInput) (req *request.Reques // created a backup, the operation returns a successful result because all the // parameters are the same. // -// The CreateFileSystem operation returns while the backup's lifecycle state -// is still CREATING. You can check the file system creation status by calling -// the DescribeBackups operation, which returns the backup state along with -// other information. +// The CreateBackup operation returns while the backup's lifecycle state is +// still CREATING. You can check the backup creation status by calling the DescribeBackups +// operation, which returns the backup state along with other information. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -538,8 +549,7 @@ func (c *FSx) CreateFileSystemFromBackupRequest(input *CreateFileSystemFromBacku // CreateFileSystemFromBackup API operation for Amazon FSx. // -// Creates a new Amazon FSx file system from an existing Amazon FSx for Windows -// File Server backup. +// Creates a new Amazon FSx file system from an existing Amazon FSx backup. // // If a file system with the specified client request token exists and the parameters // match, this operation returns the description of the file system. If a client @@ -597,6 +607,10 @@ func (c *FSx) CreateFileSystemFromBackupRequest(input *CreateFileSystemFromBacku // of IDs for security groups that are either invalid or not part of the VPC // specified. // +// * InvalidPerUnitStorageThroughput +// An invalid value for PerUnitStorageThroughput was provided. Please create +// your file system again, using a valid value. +// // * ServiceLimitExceeded // An error indicating that a particular service limit was exceeded. You can // increase some service limits by contacting AWS Support. @@ -676,8 +690,8 @@ func (c *FSx) DeleteBackupRequest(input *DeleteBackupInput) (req *request.Reques // DeleteBackup API operation for Amazon FSx. // -// Deletes an Amazon FSx for Windows File Server backup, deleting its contents. -// After deletion, the backup no longer exists, and its data is gone. +// Deletes an Amazon FSx backup, deleting its contents. After deletion, the +// backup no longer exists, and its data is gone. // // The DeleteBackup call returns instantly. The backup will not show up in later // DescribeBackups calls. @@ -898,10 +912,9 @@ func (c *FSx) DescribeBackupsRequest(input *DescribeBackupsInput) (req *request. // DescribeBackups API operation for Amazon FSx. // -// Returns the description of specific Amazon FSx for Windows File Server backups, -// if a BackupIds value is provided for that backup. Otherwise, it returns all -// backups owned by your AWS account in the AWS Region of the endpoint that -// you're calling. +// Returns the description of specific Amazon FSx backups, if a BackupIds value +// is provided for that backup. Otherwise, it returns all backups owned by your +// AWS account in the AWS Region of the endpoint that you're calling. // // When retrieving all backups, you can optionally specify the MaxResults parameter // to limit the number of backups in a response. If more backups remain, Amazon @@ -1683,7 +1696,33 @@ func (c *FSx) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *reques // UpdateFileSystem API operation for Amazon FSx. // -// Updates a file system configuration. +// Use this operation to update the configuration of an existing Amazon FSx +// file system. You can update multiple properties in a single request. +// +// For Amazon FSx for Windows File Server file systems, you can update the following +// properties: +// +// * AutomaticBackupRetentionDays +// +// * DailyAutomaticBackupStartTime +// +// * SelfManagedActiveDirectoryConfiguration +// +// * StorageCapacity +// +// * ThroughputCapacity +// +// * WeeklyMaintenanceStartTime +// +// For Amazon FSx for Lustre file systems, you can update the following properties: +// +// * AutoImportPolicy +// +// * AutomaticBackupRetentionDays +// +// * DailyAutomaticBackupStartTime +// +// * WeeklyMaintenanceStartTime // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1713,6 +1752,10 @@ func (c *FSx) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *reques // * MissingFileSystemConfiguration // A file system configuration is required for this operation. // +// * ServiceLimitExceeded +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting AWS Support. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileSystem func (c *FSx) UpdateFileSystem(input *UpdateFileSystemInput) (*UpdateFileSystemOutput, error) { req, out := c.UpdateFileSystemRequest(input) @@ -1835,8 +1878,128 @@ func (s *ActiveDirectoryError) RequestID() string { return s.RespMetadata.RequestID } -// A backup of an Amazon FSx for Windows File Server file system. You can create -// a new file system from a backup to protect against data loss. +// Describes a specific Amazon FSx Administrative Action for the current Windows +// file system. +type AdministrativeAction struct { + _ struct{} `type:"structure"` + + // Describes the type of administrative action, as follows: + // + // * FILE_SYSTEM_UPDATE - A file system update administrative action initiated + // by the user from the Amazon FSx console, API (UpdateFileSystem), or CLI + // (update-file-system). A + // + // * STORAGE_OPTIMIZATION - Once the FILE_SYSTEM_UPDATE task to increase + // a file system's storage capacity completes successfully, a STORAGE_OPTIMIZATION + // task starts. Storage optimization is the process of migrating the file + // system data to the new, larger disks. You can track the storage migration + // progress using the ProgressPercent property. When STORAGE_OPTIMIZATION + // completes successfully, the parent FILE_SYSTEM_UPDATE action status changes + // to COMPLETED. For more information, see Managing Storage Capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html). + AdministrativeActionType *string `type:"string" enum:"AdministrativeActionType"` + + // Provides information about a failed administrative action. + FailureDetails *AdministrativeActionFailureDetails `type:"structure"` + + // Provides the percent complete of a STORAGE_OPTIMIZATION administrative action. + ProgressPercent *int64 `type:"integer"` + + // Time that the administrative action request was received. + RequestTime *time.Time `type:"timestamp"` + + // Describes the status of the administrative action, as follows: + // + // * FAILED - Amazon FSx failed to process the administrative action successfully. + // + // * IN_PROGRESS - Amazon FSx is processing the administrative action. + // + // * PENDING - Amazon FSx is waiting to process the administrative action. + // + // * COMPLETED - Amazon FSx has finished processing the administrative task. + // + // * UPDATED_OPTIMIZING - For a storage capacity increase update, Amazon + // FSx has updated the file system with the new storage capacity, and is + // now performing the storage optimization process. For more information, + // see Managing Storage Capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html). + Status *string `type:"string" enum:"Status"` + + // Describes the target StorageCapacity or ThroughputCapacity value provided + // in the UpdateFileSystem operation. Returned for FILE_SYSTEM_UPDATE administrative + // actions. + TargetFileSystemValues *FileSystem `type:"structure"` +} + +// String returns the string representation +func (s AdministrativeAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdministrativeAction) GoString() string { + return s.String() +} + +// SetAdministrativeActionType sets the AdministrativeActionType field's value. +func (s *AdministrativeAction) SetAdministrativeActionType(v string) *AdministrativeAction { + s.AdministrativeActionType = &v + return s +} + +// SetFailureDetails sets the FailureDetails field's value. +func (s *AdministrativeAction) SetFailureDetails(v *AdministrativeActionFailureDetails) *AdministrativeAction { + s.FailureDetails = v + return s +} + +// SetProgressPercent sets the ProgressPercent field's value. +func (s *AdministrativeAction) SetProgressPercent(v int64) *AdministrativeAction { + s.ProgressPercent = &v + return s +} + +// SetRequestTime sets the RequestTime field's value. +func (s *AdministrativeAction) SetRequestTime(v time.Time) *AdministrativeAction { + s.RequestTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AdministrativeAction) SetStatus(v string) *AdministrativeAction { + s.Status = &v + return s +} + +// SetTargetFileSystemValues sets the TargetFileSystemValues field's value. +func (s *AdministrativeAction) SetTargetFileSystemValues(v *FileSystem) *AdministrativeAction { + s.TargetFileSystemValues = v + return s +} + +// Provides information about a failed administrative action. +type AdministrativeActionFailureDetails struct { + _ struct{} `type:"structure"` + + // Error message providing details about the failure. + Message *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s AdministrativeActionFailureDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdministrativeActionFailureDetails) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *AdministrativeActionFailureDetails) SetMessage(v string) *AdministrativeActionFailureDetails { + s.Message = &v + return s +} + +// A backup of an Amazon FSx for file system. type Backup struct { _ struct{} `type:"structure"` @@ -1882,7 +2045,7 @@ type Backup struct { // Tags associated with a particular file system. Tags []*Tag `min:"1" type:"list"` - // The type of the backup. + // The type of the file system backup. // // Type is a required field Type *string `type:"string" required:"true" enum:"BackupType"` @@ -2411,8 +2574,11 @@ type CreateBackupInput struct { // FileSystemId is a required field FileSystemId *string `min:"11" type:"string" required:"true"` - // The tags to apply to the backup at backup creation. The key value of the - // Name tag appears in the console as the backup name. + // (Optional) The tags to apply to the backup at backup creation. The key value + // of the Name tag appears in the console as the backup name. If you have set + // CopyTagsToBackups to true, and you specify one or more tags using the CreateBackup + // action, no existing file system tags are copied from the file system to the + // backup. Tags []*Tag `min:"1" type:"list"` } @@ -2660,11 +2826,14 @@ type CreateFileSystemFromBackupInput struct { // BackupId is a required field BackupId *string `min:"12" type:"string" required:"true"` - // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to - // ensure idempotent creation. This string is automatically filled on your behalf - // when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK. + // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent + // creation. This string is automatically filled on your behalf when you use + // the AWS Command Line Interface (AWS CLI) or an AWS SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + // The Lustre configuration for the file system being created. + LustreConfiguration *CreateFileSystemLustreConfiguration `type:"structure"` + // A list of IDs for the security groups that apply to the specified network // interfaces created for file system access. These security groups apply to // all network interfaces. This value isn't returned in later DescribeFileSystem @@ -2738,6 +2907,11 @@ func (s *CreateFileSystemFromBackupInput) Validate() error { if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } + if s.LustreConfiguration != nil { + if err := s.LustreConfiguration.Validate(); err != nil { + invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -2772,6 +2946,12 @@ func (s *CreateFileSystemFromBackupInput) SetClientRequestToken(v string) *Creat return s } +// SetLustreConfiguration sets the LustreConfiguration field's value. +func (s *CreateFileSystemFromBackupInput) SetLustreConfiguration(v *CreateFileSystemLustreConfiguration) *CreateFileSystemFromBackupInput { + s.LustreConfiguration = v + return s +} + // SetSecurityGroupIds sets the SecurityGroupIds field's value. func (s *CreateFileSystemFromBackupInput) SetSecurityGroupIds(v []*string) *CreateFileSystemFromBackupInput { s.SecurityGroupIds = v @@ -2830,9 +3010,9 @@ func (s *CreateFileSystemFromBackupOutput) SetFileSystem(v *FileSystem) *CreateF type CreateFileSystemInput struct { _ struct{} `type:"structure"` - // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to - // ensure idempotent creation. This string is automatically filled on your behalf - // when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK. + // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent + // creation. This string is automatically filled on your behalf when you use + // the AWS Command Line Interface (AWS CLI) or an AWS SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` // The type of Amazon FSx file system to create, either WINDOWS or LUSTRE. @@ -2861,11 +3041,11 @@ type CreateFileSystemInput struct { // // For Lustre file systems: // - // * For SCRATCH_2 and PERSISTENT_1 deployment types, valid values are 1.2, - // 2.4, and increments of 2.4 TiB. + // * For SCRATCH_2 and PERSISTENT_1 deployment types, valid values are 1200 + // GiB, 2400 GiB, and increments of 2400 GiB. // - // * For SCRATCH_1 deployment type, valid values are 1.2, 2.4, and increments - // of 3.6 TiB. + // * For SCRATCH_1 deployment type, valid values are 1200 GiB, 2400 GiB, + // and increments of 3600 GiB. // // For Windows file systems: // @@ -2885,7 +3065,7 @@ type CreateFileSystemInput struct { // * Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 // and MULTI_AZ_1 Windows file system deployment types. // - // Default value is SSD. For more information, see Storage Type Options (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-tco.html#saz-maz-storage-type) + // Default value is SSD. For more information, see Storage Type Options (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options) // in the Amazon FSx for Windows User Guide. StorageType *string `type:"string" enum:"StorageType"` @@ -3032,10 +3212,54 @@ func (s *CreateFileSystemInput) SetWindowsConfiguration(v *CreateFileSystemWindo type CreateFileSystemLustreConfiguration struct { _ struct{} `type:"structure"` - // (Optional) Choose SCRATCH_1 and SCRATCH_2 deployment types when you need - // temporary storage and shorter-term processing of data. The SCRATCH_2 deployment - // type provides in-transit encryption of data and higher burst throughput capacity - // than SCRATCH_1. + // (Optional) When you create your file system, your existing S3 objects appear + // as file and directory listings. Use this property to choose how Amazon FSx + // keeps your file and directory listings up to date as you add or modify objects + // in your linked S3 bucket. AutoImportPolicy can have the following values: + // + // * NONE - (Default) AutoImport is off. Amazon FSx only updates file and + // directory listings from the linked S3 bucket when the file system is created. + // FSx does not update file and directory listings for any new or changed + // objects after choosing this option. + // + // * NEW - AutoImport is on. Amazon FSx automatically imports directory listings + // of any new objects added to the linked S3 bucket that do not currently + // exist in the FSx file system. + // + // * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file + // and directory listings of any new objects added to the S3 bucket and any + // existing objects that are changed in the S3 bucket after you choose this + // option. + // + // For more information, see Automatically import updates from your S3 bucket + // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). + AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` + + // The number of days to retain automatic backups. Setting this to 0 disables + // automatic backups. You can retain automatic backups for a maximum of 35 days. + // The default is 0. + AutomaticBackupRetentionDays *int64 `type:"integer"` + + // (Optional) Not available to use with file systems that are linked to a data + // repository. A boolean flag indicating whether tags for the file system should + // be copied to backups. The default value is false. If it's set to true, all + // file system tags are copied to all automatic and user-initiated backups when + // the user doesn't specify any backup-specific tags. If this value is true, + // and you specify one or more backup tags, only the specified tags are copied + // to backups. If you specify one or more tags when creating a user-initiated + // backup, no tags are copied from the file system, regardless of this value. + // + // For more information, see Working with backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html). + CopyTagsToBackups *bool `type:"boolean"` + + // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of + // the day (0-23), and MM is the zero-padded minute of the hour. For example, + // 05:00 specifies 5 AM daily. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + + // Choose SCRATCH_1 and SCRATCH_2 deployment types when you need temporary storage + // and shorter-term processing of data. The SCRATCH_2 deployment type provides + // in-transit encryption of data and higher burst throughput capacity than SCRATCH_1. // // Choose PERSISTENT_1 deployment type for longer-term storage and workloads // and encryption of data in transit. To learn more about deployment types, @@ -3095,7 +3319,9 @@ type CreateFileSystemLustreConfiguration struct { // Valid values are 50, 100, 200. PerUnitStorageThroughput *int64 `min:"50" type:"integer"` - // The preferred time to perform weekly maintenance, in the UTC time zone. + // (Optional) The preferred start time to perform weekly maintenance, formatted + // d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through + // 7, beginning with Monday and ending with Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -3112,6 +3338,9 @@ func (s CreateFileSystemLustreConfiguration) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateFileSystemLustreConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemLustreConfiguration"} + if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { + invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) + } if s.ExportPath != nil && len(*s.ExportPath) < 3 { invalidParams.Add(request.NewErrParamMinLen("ExportPath", 3)) } @@ -3134,6 +3363,30 @@ func (s *CreateFileSystemLustreConfiguration) Validate() error { return nil } +// SetAutoImportPolicy sets the AutoImportPolicy field's value. +func (s *CreateFileSystemLustreConfiguration) SetAutoImportPolicy(v string) *CreateFileSystemLustreConfiguration { + s.AutoImportPolicy = &v + return s +} + +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *CreateFileSystemLustreConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemLustreConfiguration { + s.AutomaticBackupRetentionDays = &v + return s +} + +// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. +func (s *CreateFileSystemLustreConfiguration) SetCopyTagsToBackups(v bool) *CreateFileSystemLustreConfiguration { + s.CopyTagsToBackups = &v + return s +} + +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *CreateFileSystemLustreConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemLustreConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s +} + // SetDeploymentType sets the DeploymentType field's value. func (s *CreateFileSystemLustreConfiguration) SetDeploymentType(v string) *CreateFileSystemLustreConfiguration { s.DeploymentType = &v @@ -3258,7 +3511,8 @@ type CreateFileSystemWindowsConfiguration struct { ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"` // The preferred start time to perform weekly maintenance, formatted d:HH:MM - // in the UTC time zone. + // in the UTC time zone, where d is the weekday number, from 1 through 7, beginning + // with Monday and ending with Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -3364,10 +3618,37 @@ func (s *CreateFileSystemWindowsConfiguration) SetWeeklyMaintenanceStartTime(v s type DataRepositoryConfiguration struct { _ struct{} `type:"structure"` + // Describes the file system's linked S3 data repository's AutoImportPolicy. + // The AutoImportPolicy configures how Amazon FSx keeps your file and directory + // listings up to date as you add or modify objects in your linked S3 bucket. + // AutoImportPolicy can have the following values: + // + // * NONE - (Default) AutoImport is off. Amazon FSx only updates file and + // directory listings from the linked S3 bucket when the file system is created. + // FSx does not update file and directory listings for any new or changed + // objects after choosing this option. + // + // * NEW - AutoImport is on. Amazon FSx automatically imports directory listings + // of any new objects added to the linked S3 bucket that do not currently + // exist in the FSx file system. + // + // * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file + // and directory listings of any new objects added to the S3 bucket and any + // existing objects that are changed in the S3 bucket after you choose this + // option. + // + // For more information, see Automatically import updates from your S3 bucket + // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). + AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` + // The export path to the Amazon S3 bucket (and prefix) that you are using to // store new and changed Lustre file system files in S3. ExportPath *string `min:"3" type:"string"` + // Provides detailed information about the data respository if its Lifecycle + // is set to MISCONFIGURED. + FailureDetails *DataRepositoryFailureDetails `type:"structure"` + // The import path to the Amazon S3 bucket (and optional prefix) that you're // using as the data repository for your FSx for Lustre file system, for example // s3://import-bucket/optional-prefix. If a prefix is specified after the Amazon @@ -3383,6 +3664,25 @@ type DataRepositoryConfiguration struct { // The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. ImportedFileChunkSize *int64 `min:"1" type:"integer"` + + // Describes the state of the file system's S3 durable data repository, if it + // is configured with an S3 repository. The lifecycle can have the following + // values: + // + // * CREATING - The data repository configuration between the FSx file system + // and the linked S3 data repository is being created. The data repository + // is unavailable. + // + // * AVAILABLE - The data repository is available for use. + // + // * MISCONFIGURED - Amazon FSx cannot automatically import updates from + // the S3 bucket until the data repository configuration is corrected. For + // more information, see Troubleshooting a Misconfigured linked S3 bucket + // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository). + // + // * UPDATING - The data repository is undergoing a customer initiated update + // and availability may be impacted. + Lifecycle *string `type:"string" enum:"DataRepositoryLifecycle"` } // String returns the string representation @@ -3395,12 +3695,24 @@ func (s DataRepositoryConfiguration) GoString() string { return s.String() } +// SetAutoImportPolicy sets the AutoImportPolicy field's value. +func (s *DataRepositoryConfiguration) SetAutoImportPolicy(v string) *DataRepositoryConfiguration { + s.AutoImportPolicy = &v + return s +} + // SetExportPath sets the ExportPath field's value. func (s *DataRepositoryConfiguration) SetExportPath(v string) *DataRepositoryConfiguration { s.ExportPath = &v return s } +// SetFailureDetails sets the FailureDetails field's value. +func (s *DataRepositoryConfiguration) SetFailureDetails(v *DataRepositoryFailureDetails) *DataRepositoryConfiguration { + s.FailureDetails = v + return s +} + // SetImportPath sets the ImportPath field's value. func (s *DataRepositoryConfiguration) SetImportPath(v string) *DataRepositoryConfiguration { s.ImportPath = &v @@ -3413,6 +3725,37 @@ func (s *DataRepositoryConfiguration) SetImportedFileChunkSize(v int64) *DataRep return s } +// SetLifecycle sets the Lifecycle field's value. +func (s *DataRepositoryConfiguration) SetLifecycle(v string) *DataRepositoryConfiguration { + s.Lifecycle = &v + return s +} + +// Provides detailed information about the data respository if its Lifecycle +// is set to MISCONFIGURED. +type DataRepositoryFailureDetails struct { + _ struct{} `type:"structure"` + + // A detailed error message. + Message *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DataRepositoryFailureDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataRepositoryFailureDetails) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *DataRepositoryFailureDetails) SetMessage(v string) *DataRepositoryFailureDetails { + s.Message = &v + return s +} + // A description of the data repository task. You use data repository tasks // to perform bulk transfer operations between your Amazon FSx file system and // its linked data repository. @@ -3903,9 +4246,9 @@ type DeleteBackupInput struct { // BackupId is a required field BackupId *string `min:"12" type:"string" required:"true"` - // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to - // ensure idempotent deletion. This is automatically filled on your behalf when - // using the AWS CLI or SDK. + // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent + // deletion. This is automatically filled on your behalf when using the AWS + // CLI or SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` } @@ -3987,9 +4330,9 @@ func (s *DeleteBackupOutput) SetLifecycle(v string) *DeleteBackupOutput { type DeleteFileSystemInput struct { _ struct{} `type:"structure"` - // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to - // ensure idempotent deletion. This is automatically filled on your behalf when - // using the AWS CLI or SDK. + // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent + // deletion. This is automatically filled on your behalf when using the AWS + // CLI or SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` // The ID of the file system you want to delete. @@ -3997,6 +4340,10 @@ type DeleteFileSystemInput struct { // FileSystemId is a required field FileSystemId *string `min:"11" type:"string" required:"true"` + // The configuration object for the Amazon FSx for Lustre file system being + // deleted in the DeleteFileSystem operation. + LustreConfiguration *DeleteFileSystemLustreConfiguration `type:"structure"` + // The configuration object for the Microsoft Windows file system used in the // DeleteFileSystem operation. WindowsConfiguration *DeleteFileSystemWindowsConfiguration `type:"structure"` @@ -4024,6 +4371,11 @@ func (s *DeleteFileSystemInput) Validate() error { if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) } + if s.LustreConfiguration != nil { + if err := s.LustreConfiguration.Validate(); err != nil { + invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) + } + } if s.WindowsConfiguration != nil { if err := s.WindowsConfiguration.Validate(); err != nil { invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) @@ -4048,12 +4400,115 @@ func (s *DeleteFileSystemInput) SetFileSystemId(v string) *DeleteFileSystemInput return s } +// SetLustreConfiguration sets the LustreConfiguration field's value. +func (s *DeleteFileSystemInput) SetLustreConfiguration(v *DeleteFileSystemLustreConfiguration) *DeleteFileSystemInput { + s.LustreConfiguration = v + return s +} + // SetWindowsConfiguration sets the WindowsConfiguration field's value. func (s *DeleteFileSystemInput) SetWindowsConfiguration(v *DeleteFileSystemWindowsConfiguration) *DeleteFileSystemInput { s.WindowsConfiguration = v return s } +// The configuration object for the Amazon FSx for Lustre file system being +// deleted in the DeleteFileSystem operation. +type DeleteFileSystemLustreConfiguration struct { + _ struct{} `type:"structure"` + + // Use if SkipFinalBackup is set to false, and you want to apply an array of + // tags to the final backup. If you have set the file system property CopyTagsToBackups + // to true, and you specify one or more FinalBackupTags when deleting a file + // system, Amazon FSx will not copy any existing file system tags to the backup. + FinalBackupTags []*Tag `min:"1" type:"list"` + + // Set SkipFinalBackup to false if you want to take a final backup of the file + // system you are deleting. By default, Amazon FSx will not take a final backup + // on your behalf when the DeleteFileSystem operation is invoked. (Default = + // true) + SkipFinalBackup *bool `type:"boolean"` +} + +// String returns the string representation +func (s DeleteFileSystemLustreConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFileSystemLustreConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFileSystemLustreConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemLustreConfiguration"} + if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) + } + if s.FinalBackupTags != nil { + for i, v := range s.FinalBackupTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemLustreConfiguration) SetFinalBackupTags(v []*Tag) *DeleteFileSystemLustreConfiguration { + s.FinalBackupTags = v + return s +} + +// SetSkipFinalBackup sets the SkipFinalBackup field's value. +func (s *DeleteFileSystemLustreConfiguration) SetSkipFinalBackup(v bool) *DeleteFileSystemLustreConfiguration { + s.SkipFinalBackup = &v + return s +} + +// The response object for the Amazon FSx for Lustre file system being deleted +// in the DeleteFileSystem operation. +type DeleteFileSystemLustreResponse struct { + _ struct{} `type:"structure"` + + // The ID of the final backup for this file system. + FinalBackupId *string `min:"12" type:"string"` + + // The set of tags applied to the final backup. + FinalBackupTags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation +func (s DeleteFileSystemLustreResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFileSystemLustreResponse) GoString() string { + return s.String() +} + +// SetFinalBackupId sets the FinalBackupId field's value. +func (s *DeleteFileSystemLustreResponse) SetFinalBackupId(v string) *DeleteFileSystemLustreResponse { + s.FinalBackupId = &v + return s +} + +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemLustreResponse) SetFinalBackupTags(v []*Tag) *DeleteFileSystemLustreResponse { + s.FinalBackupTags = v + return s +} + // The response object for the DeleteFileSystem operation. type DeleteFileSystemOutput struct { _ struct{} `type:"structure"` @@ -4064,6 +4519,10 @@ type DeleteFileSystemOutput struct { // The file system lifecycle for the deletion request. Should be DELETING. Lifecycle *string `type:"string" enum:"FileSystemLifecycle"` + // The response object for the Amazon FSx for Lustre file system being deleted + // in the DeleteFileSystem operation. + LustreResponse *DeleteFileSystemLustreResponse `type:"structure"` + // The response object for the Microsoft Windows file system used in the DeleteFileSystem // operation. WindowsResponse *DeleteFileSystemWindowsResponse `type:"structure"` @@ -4091,6 +4550,12 @@ func (s *DeleteFileSystemOutput) SetLifecycle(v string) *DeleteFileSystemOutput return s } +// SetLustreResponse sets the LustreResponse field's value. +func (s *DeleteFileSystemOutput) SetLustreResponse(v *DeleteFileSystemLustreResponse) *DeleteFileSystemOutput { + s.LustreResponse = v + return s +} + // SetWindowsResponse sets the WindowsResponse field's value. func (s *DeleteFileSystemOutput) SetWindowsResponse(v *DeleteFileSystemWindowsResponse) *DeleteFileSystemOutput { s.WindowsResponse = v @@ -4195,22 +4660,22 @@ func (s *DeleteFileSystemWindowsResponse) SetFinalBackupTags(v []*Tag) *DeleteFi type DescribeBackupsInput struct { _ struct{} `type:"structure"` - // (Optional) IDs of the backups you want to retrieve (String). This overrides - // any filters. If any IDs are not found, BackupNotFound will be thrown. + // IDs of the backups you want to retrieve (String). This overrides any filters. + // If any IDs are not found, BackupNotFound will be thrown. BackupIds []*string `type:"list"` - // (Optional) Filters structure. Supported names are file-system-id and backup-type. + // Filters structure. Supported names are file-system-id and backup-type. Filters []*Filter `type:"list"` - // (Optional) Maximum number of backups to return in the response (integer). - // This parameter value must be greater than 0. The number of items that Amazon - // FSx returns is the minimum of the MaxResults parameter specified in the request - // and the service's internal maximum number of items per page. + // Maximum number of backups to return in the response (integer). This parameter + // value must be greater than 0. The number of items that Amazon FSx returns + // is the minimum of the MaxResults parameter specified in the request and the + // service's internal maximum number of items per page. MaxResults *int64 `min:"1" type:"integer"` - // (Optional) Opaque pagination token returned from a previous DescribeBackups - // operation (String). If a token present, the action continues the list from - // where the returning call left off. + // Opaque pagination token returned from a previous DescribeBackups operation + // (String). If a token present, the action continues the list from where the + // returning call left off. NextToken *string `min:"1" type:"string"` } @@ -4407,19 +4872,18 @@ func (s *DescribeDataRepositoryTasksOutput) SetNextToken(v string) *DescribeData type DescribeFileSystemsInput struct { _ struct{} `type:"structure"` - // (Optional) IDs of the file systems whose descriptions you want to retrieve - // (String). + // IDs of the file systems whose descriptions you want to retrieve (String). FileSystemIds []*string `type:"list"` - // (Optional) Maximum number of file systems to return in the response (integer). - // This parameter value must be greater than 0. The number of items that Amazon - // FSx returns is the minimum of the MaxResults parameter specified in the request + // Maximum number of file systems to return in the response (integer). This + // parameter value must be greater than 0. The number of items that Amazon FSx + // returns is the minimum of the MaxResults parameter specified in the request // and the service's internal maximum number of items per page. MaxResults *int64 `min:"1" type:"integer"` - // (Optional) Opaque pagination token returned from a previous DescribeFileSystems - // operation (String). If a token present, the action continues the list from - // where the returning call left off. + // Opaque pagination token returned from a previous DescribeFileSystems operation + // (String). If a token present, the action continues the list from where the + // returning call left off. NextToken *string `min:"1" type:"string"` } @@ -4505,6 +4969,11 @@ func (s *DescribeFileSystemsOutput) SetNextToken(v string) *DescribeFileSystemsO type FileSystem struct { _ struct{} `type:"structure"` + // A list of administrative actions for the file system that are in process + // or waiting to be processed. Administrative actions describe changes to the + // Windows file system that you have initiated using the UpdateFileSystem action. + AdministrativeActions []*AdministrativeAction `type:"list"` + // The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), // also known as Unix time. CreationTime *time.Time `type:"timestamp"` @@ -4616,6 +5085,12 @@ func (s FileSystem) GoString() string { return s.String() } +// SetAdministrativeActions sets the AdministrativeActions field's value. +func (s *FileSystem) SetAdministrativeActions(v []*AdministrativeAction) *FileSystem { + s.AdministrativeActions = v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *FileSystem) SetCreationTime(v time.Time) *FileSystem { s.CreationTime = &v @@ -5206,15 +5681,15 @@ func (s *InvalidPerUnitStorageThroughput) RequestID() string { type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // (Optional) Maximum number of tags to return in the response (integer). This - // parameter value must be greater than 0. The number of items that Amazon FSx - // returns is the minimum of the MaxResults parameter specified in the request - // and the service's internal maximum number of items per page. + // Maximum number of tags to return in the response (integer). This parameter + // value must be greater than 0. The number of items that Amazon FSx returns + // is the minimum of the MaxResults parameter specified in the request and the + // service's internal maximum number of items per page. MaxResults *int64 `min:"1" type:"integer"` - // (Optional) Opaque pagination token returned from a previous ListTagsForResource - // operation (String). If a token present, the action continues the list from - // where the returning call left off. + // Opaque pagination token returned from a previous ListTagsForResource operation + // (String). If a token present, the action continues the list from where the + // returning call left off. NextToken *string `min:"1" type:"string"` // The ARN of the Amazon FSx resource that will have its tags listed. @@ -5311,11 +5786,41 @@ func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput type LustreFileSystemConfiguration struct { _ struct{} `type:"structure"` + // The number of days to retain automatic backups. Setting this to 0 disables + // automatic backups. You can retain automatic backups for a maximum of 35 days. + // The default is 0. + AutomaticBackupRetentionDays *int64 `type:"integer"` + + // A boolean flag indicating whether tags on the file system should be copied + // to backups. If it's set to true, all tags on the file system are copied to + // all automatic backups and any user-initiated backups where the user doesn't + // specify any tags. If this value is true, and you specify one or more tags, + // only the specified tags are copied to backups. If you specify one or more + // tags when creating a user-initiated backup, no tags are copied from the file + // system, regardless of this value. (Default = false) + CopyTagsToBackups *bool `type:"boolean"` + + // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of + // the day (0-23), and MM is the zero-padded minute of the hour. For example, + // 05:00 specifies 5 AM daily. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + // The data repository configuration object for Lustre file systems returned // in the response of the CreateFileSystem operation. DataRepositoryConfiguration *DataRepositoryConfiguration `type:"structure"` - // The deployment type of the FSX for Lustre file system. + // The deployment type of the FSX for Lustre file system. Scratch deployment + // type is designed for temporary storage and shorter-term processing of data. + // + // SCRATCH_1 and SCRATCH_2 deployment types are best suited for when you need + // temporary storage and shorter-term processing of data. The SCRATCH_2 deployment + // type provides in-transit encryption of data and higher burst throughput capacity + // than SCRATCH_1. + // + // The PERSISTENT_1 deployment type is used for longer-term storage and workloads + // and encryption of data in transit. To learn more about deployment types, + // see FSx for Lustre Deployment Options (https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html). + // (Default = SCRATCH_1) DeploymentType *string `type:"string" enum:"LustreDeploymentType"` // You use the MountName value when mounting the file system. @@ -5332,7 +5837,9 @@ type LustreFileSystemConfiguration struct { // are 50, 100, 200. PerUnitStorageThroughput *int64 `min:"50" type:"integer"` - // The UTC time that you want to begin your weekly maintenance window. + // The preferred start time to perform weekly maintenance, formatted d:HH:MM + // in the UTC time zone. d is the weekday number, from 1 through 7, beginning + // with Monday and ending with Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -5346,6 +5853,24 @@ func (s LustreFileSystemConfiguration) GoString() string { return s.String() } +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *LustreFileSystemConfiguration) SetAutomaticBackupRetentionDays(v int64) *LustreFileSystemConfiguration { + s.AutomaticBackupRetentionDays = &v + return s +} + +// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. +func (s *LustreFileSystemConfiguration) SetCopyTagsToBackups(v bool) *LustreFileSystemConfiguration { + s.CopyTagsToBackups = &v + return s +} + +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *LustreFileSystemConfiguration) SetDailyAutomaticBackupStartTime(v string) *LustreFileSystemConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s +} + // SetDataRepositoryConfiguration sets the DataRepositoryConfiguration field's value. func (s *LustreFileSystemConfiguration) SetDataRepositoryConfiguration(v *DataRepositoryConfiguration) *LustreFileSystemConfiguration { s.DataRepositoryConfiguration = v @@ -5836,7 +6361,7 @@ func (s *SelfManagedActiveDirectoryConfiguration) SetUserName(v string) *SelfMan } // The configuration that Amazon FSx uses to join the Windows File Server instance -// to the self-managed Microsoft Active Directory (AD) directory. +// to a self-managed Microsoft Active Directory (AD) directory. type SelfManagedActiveDirectoryConfigurationUpdates struct { _ struct{} `type:"structure"` @@ -5971,13 +6496,17 @@ type Tag struct { // A value that specifies the TagKey, the name of the tag. Tag keys must be // unique for the resource to which they are attached. - Key *string `min:"1" type:"string"` + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` // A value that specifies the TagValue, the value assigned to the corresponding // tag key. Tag values can be null and don't have to be unique in a tag set. // For example, you can have a key-value pair in a tag set of finances : April // and also of payroll : April. - Value *string `type:"string"` + // + // Value is a required field + Value *string `type:"string" required:"true"` } // String returns the string representation @@ -5993,9 +6522,15 @@ func (s Tag) GoString() 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 @@ -6237,12 +6772,12 @@ func (s UntagResourceOutput) GoString() string { type UpdateFileSystemInput struct { _ struct{} `type:"structure"` - // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to - // ensure idempotent updates. This string is automatically filled on your behalf - // when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK. + // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent + // updates. This string is automatically filled on your behalf when you use + // the AWS Command Line Interface (AWS CLI) or an AWS SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // The globally unique ID of the file system, assigned by Amazon FSx. + // Identifies the file system that you are updating. // // FileSystemId is a required field FileSystemId *string `min:"11" type:"string" required:"true"` @@ -6251,9 +6786,18 @@ type UpdateFileSystemInput struct { // UpdateFileSystem operation. LustreConfiguration *UpdateFileSystemLustreConfiguration `type:"structure"` - // The configuration update for this Microsoft Windows file system. The only - // supported options are for backup and maintenance and for self-managed Active - // Directory configuration. + // Use this parameter to increase the storage capacity of an Amazon FSx for + // Windows File Server file system. Specifies the storage capacity target value, + // GiB, for the file system you're updating. The storage capacity target value + // must be at least 10 percent (%) greater than the current storage capacity + // value. In order to increase storage capacity, the file system needs to have + // at least 16 MB/s of throughput capacity. You cannot make a storage capacity + // increase request if there is an existing storage capacity increase request + // in progress. For more information, see Managing Storage Capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html). + StorageCapacity *int64 `type:"integer"` + + // The configuration updates for an Amazon FSx for Windows File Server file + // system. WindowsConfiguration *UpdateFileSystemWindowsConfiguration `type:"structure"` } @@ -6314,6 +6858,12 @@ func (s *UpdateFileSystemInput) SetLustreConfiguration(v *UpdateFileSystemLustre return s } +// SetStorageCapacity sets the StorageCapacity field's value. +func (s *UpdateFileSystemInput) SetStorageCapacity(v int64) *UpdateFileSystemInput { + s.StorageCapacity = &v + return s +} + // SetWindowsConfiguration sets the WindowsConfiguration field's value. func (s *UpdateFileSystemInput) SetWindowsConfiguration(v *UpdateFileSystemWindowsConfiguration) *UpdateFileSystemInput { s.WindowsConfiguration = v @@ -6325,7 +6875,42 @@ func (s *UpdateFileSystemInput) SetWindowsConfiguration(v *UpdateFileSystemWindo type UpdateFileSystemLustreConfiguration struct { _ struct{} `type:"structure"` - // The preferred time to perform weekly maintenance, in the UTC time zone. + // (Optional) When you create your file system, your existing S3 objects appear + // as file and directory listings. Use this property to choose how Amazon FSx + // keeps your file and directory listing up to date as you add or modify objects + // in your linked S3 bucket. AutoImportPolicy can have the following values: + // + // * NONE - (Default) AutoImport is off. Amazon FSx only updates file and + // directory listings from the linked S3 bucket when the file system is created. + // FSx does not update the file and directory listing for any new or changed + // objects after choosing this option. + // + // * NEW - AutoImport is on. Amazon FSx automatically imports directory listings + // of any new objects added to the linked S3 bucket that do not currently + // exist in the FSx file system. + // + // * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file + // and directory listings of any new objects added to the S3 bucket and any + // existing objects that are changed in the S3 bucket after you choose this + // option. + // + // For more information, see Automatically import updates from your S3 bucket + // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). + AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` + + // The number of days to retain automatic backups. Setting this to 0 disables + // automatic backups. You can retain automatic backups for a maximum of 35 days. + // The default is 0. + AutomaticBackupRetentionDays *int64 `type:"integer"` + + // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of + // the day (0-23), and MM is the zero-padded minute of the hour. For example, + // 05:00 specifies 5 AM daily. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + + // (Optional) The preferred start time to perform weekly maintenance, formatted + // d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7, + // beginning with Monday and ending with Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -6342,6 +6927,9 @@ func (s UpdateFileSystemLustreConfiguration) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateFileSystemLustreConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateFileSystemLustreConfiguration"} + if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { + invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) + } if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) } @@ -6352,6 +6940,24 @@ func (s *UpdateFileSystemLustreConfiguration) Validate() error { return nil } +// SetAutoImportPolicy sets the AutoImportPolicy field's value. +func (s *UpdateFileSystemLustreConfiguration) SetAutoImportPolicy(v string) *UpdateFileSystemLustreConfiguration { + s.AutoImportPolicy = &v + return s +} + +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *UpdateFileSystemLustreConfiguration) SetAutomaticBackupRetentionDays(v int64) *UpdateFileSystemLustreConfiguration { + s.AutomaticBackupRetentionDays = &v + return s +} + +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *UpdateFileSystemLustreConfiguration) SetDailyAutomaticBackupStartTime(v string) *UpdateFileSystemLustreConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s +} + // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. func (s *UpdateFileSystemLustreConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemLustreConfiguration { s.WeeklyMaintenanceStartTime = &v @@ -6382,25 +6988,38 @@ func (s *UpdateFileSystemOutput) SetFileSystem(v *FileSystem) *UpdateFileSystemO return s } -// Updates the Microsoft Windows configuration for an existing Amazon FSx for -// Windows File Server file system. Amazon FSx overwrites existing properties -// with non-null values provided in the request. If you don't specify a non-null -// value for a property, that property is not updated. +// Updates the configuration for an existing Amazon FSx for Windows File Server +// file system. Amazon FSx only overwrites existing properties with non-null +// values provided in the request. type UpdateFileSystemWindowsConfiguration struct { _ struct{} `type:"structure"` - // The number of days to retain automatic backups. Setting this to 0 disables - // automatic backups. You can retain automatic backups for a maximum of 35 days. + // The number of days to retain automatic daily backups. Setting this to zero + // (0) disables automatic daily backups. You can retain automatic daily backups + // for a maximum of 35 days. For more information, see Working with Automatic + // Daily Backups (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#automatic-backups). AutomaticBackupRetentionDays *int64 `type:"integer"` - // The preferred time to take daily automatic backups, in the UTC time zone. + // The preferred time to start the daily automatic backup, in the UTC time zone, + // for example, 02:00 DailyAutomaticBackupStartTime *string `min:"5" type:"string"` // The configuration Amazon FSx uses to join the Windows File Server instance - // to the self-managed Microsoft AD directory. + // to the self-managed Microsoft AD directory. You cannot make a self-managed + // Microsoft AD update request if there is an existing self-managed Microsoft + // AD update request in progress. SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryConfigurationUpdates `type:"structure"` - // The preferred time to perform weekly maintenance, in the UTC time zone. + // Sets the target value for a file system's throughput capacity, in MB/s, that + // you are updating the file system to. Valid values are 8, 16, 32, 64, 128, + // 256, 512, 1024, 2048. You cannot make a throughput capacity update request + // if there is an existing throughput capacity update request in progress. For + // more information, see Managing Throughput Capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-throughput-capacity.html). + ThroughputCapacity *int64 `min:"8" type:"integer"` + + // The preferred start time to perform weekly maintenance, formatted d:HH:MM + // in the UTC time zone. Where d is the weekday number, from 1 through 7, with + // 1 = Monday and 7 = Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -6420,6 +7039,9 @@ func (s *UpdateFileSystemWindowsConfiguration) Validate() error { if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) } + if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 { + invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8)) + } if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) } @@ -6453,6 +7075,12 @@ func (s *UpdateFileSystemWindowsConfiguration) SetSelfManagedActiveDirectoryConf return s } +// SetThroughputCapacity sets the ThroughputCapacity field's value. +func (s *UpdateFileSystemWindowsConfiguration) SetThroughputCapacity(v int64) *UpdateFileSystemWindowsConfiguration { + s.ThroughputCapacity = &v + return s +} + // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. func (s *UpdateFileSystemWindowsConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemWindowsConfiguration { s.WeeklyMaintenanceStartTime = &v @@ -6541,7 +7169,9 @@ type WindowsFileSystemConfiguration struct { // The throughput of an Amazon FSx file system, measured in megabytes per second. ThroughputCapacity *int64 `min:"8" type:"integer"` - // The preferred time to perform weekly maintenance, in the UTC time zone. + // The preferred start time to perform weekly maintenance, formatted d:HH:MM + // in the UTC time zone. d is the weekday number, from 1 through 7, beginning + // with Monday and ending with Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -6647,6 +7277,38 @@ const ( ActiveDirectoryErrorTypeInvalidDomainStage = "INVALID_DOMAIN_STAGE" ) +// Describes the type of administrative action, as follows: +// +// * FILE_SYSTEM_UPDATE - A file system update administrative action initiated +// by the user from the Amazon FSx console, API (UpdateFileSystem), or CLI +// (update-file-system). A +// +// * STORAGE_OPTIMIZATION - Once the FILE_SYSTEM_UPDATE task to increase +// a file system's storage capacity completes successfully, a STORAGE_OPTIMIZATION +// task starts. Storage optimization is the process of migrating the file +// system data to the new, larger disks. You can track the storage migration +// progress using the ProgressPercent property. When STORAGE_OPTIMIZATION +// completes successfully, the parent FILE_SYSTEM_UPDATE action status changes +// to COMPLETED. For more information, see Managing Storage Capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html). +const ( + // AdministrativeActionTypeFileSystemUpdate is a AdministrativeActionType enum value + AdministrativeActionTypeFileSystemUpdate = "FILE_SYSTEM_UPDATE" + + // AdministrativeActionTypeStorageOptimization is a AdministrativeActionType enum value + AdministrativeActionTypeStorageOptimization = "STORAGE_OPTIMIZATION" +) + +const ( + // AutoImportPolicyTypeNone is a AutoImportPolicyType enum value + AutoImportPolicyTypeNone = "NONE" + + // AutoImportPolicyTypeNew is a AutoImportPolicyType enum value + AutoImportPolicyTypeNew = "NEW" + + // AutoImportPolicyTypeNewChanged is a AutoImportPolicyType enum value + AutoImportPolicyTypeNewChanged = "NEW_CHANGED" +) + // The lifecycle status of the backup. const ( // BackupLifecycleAvailable is a BackupLifecycle enum value @@ -6671,6 +7333,23 @@ const ( BackupTypeUserInitiated = "USER_INITIATED" ) +const ( + // DataRepositoryLifecycleCreating is a DataRepositoryLifecycle enum value + DataRepositoryLifecycleCreating = "CREATING" + + // DataRepositoryLifecycleAvailable is a DataRepositoryLifecycle enum value + DataRepositoryLifecycleAvailable = "AVAILABLE" + + // DataRepositoryLifecycleMisconfigured is a DataRepositoryLifecycle enum value + DataRepositoryLifecycleMisconfigured = "MISCONFIGURED" + + // DataRepositoryLifecycleUpdating is a DataRepositoryLifecycle enum value + DataRepositoryLifecycleUpdating = "UPDATING" + + // DataRepositoryLifecycleDeleting is a DataRepositoryLifecycle enum value + DataRepositoryLifecycleDeleting = "DELETING" +) + const ( // DataRepositoryTaskFilterNameFileSystemId is a DataRepositoryTaskFilterName enum value DataRepositoryTaskFilterNameFileSystemId = "file-system-id" @@ -6750,6 +7429,9 @@ const ( // FilterNameBackupType is a FilterName enum value FilterNameBackupType = "backup-type" + + // FilterNameFileSystemType is a FilterName enum value + FilterNameFileSystemType = "file-system-type" ) const ( @@ -6791,6 +7473,23 @@ const ( ServiceLimitTotalUserInitiatedBackups = "TOTAL_USER_INITIATED_BACKUPS" ) +const ( + // StatusFailed is a Status enum value + StatusFailed = "FAILED" + + // StatusInProgress is a Status enum value + StatusInProgress = "IN_PROGRESS" + + // StatusPending is a Status enum value + StatusPending = "PENDING" + + // StatusCompleted is a Status enum value + StatusCompleted = "COMPLETED" + + // StatusUpdatedOptimizing is a Status enum value + StatusUpdatedOptimizing = "UPDATED_OPTIMIZING" +) + // The storage type for your Amazon FSx file system. const ( // StorageTypeSsd is a StorageType enum value diff --git a/vendor/github.com/aws/aws-sdk-go/service/glue/api.go b/vendor/github.com/aws/aws-sdk-go/service/glue/api.go index 965e0382e61..7800c82dfc8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/glue/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/glue/api.go @@ -2595,6 +2595,190 @@ func (c *Glue) DeleteClassifierWithContext(ctx aws.Context, input *DeleteClassif return out, req.Send() } +const opDeleteColumnStatisticsForPartition = "DeleteColumnStatisticsForPartition" + +// DeleteColumnStatisticsForPartitionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteColumnStatisticsForPartition operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteColumnStatisticsForPartition for more information on using the DeleteColumnStatisticsForPartition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteColumnStatisticsForPartitionRequest method. +// req, resp := client.DeleteColumnStatisticsForPartitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteColumnStatisticsForPartition +func (c *Glue) DeleteColumnStatisticsForPartitionRequest(input *DeleteColumnStatisticsForPartitionInput) (req *request.Request, output *DeleteColumnStatisticsForPartitionOutput) { + op := &request.Operation{ + Name: opDeleteColumnStatisticsForPartition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteColumnStatisticsForPartitionInput{} + } + + output = &DeleteColumnStatisticsForPartitionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteColumnStatisticsForPartition API operation for AWS Glue. +// +// Delete the partition column statistics of a column. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation DeleteColumnStatisticsForPartition for usage and error information. +// +// Returned Error Types: +// * EntityNotFoundException +// A specified entity does not exist +// +// * InvalidInputException +// The input provided was not valid. +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * EncryptionException +// An encryption operation failed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteColumnStatisticsForPartition +func (c *Glue) DeleteColumnStatisticsForPartition(input *DeleteColumnStatisticsForPartitionInput) (*DeleteColumnStatisticsForPartitionOutput, error) { + req, out := c.DeleteColumnStatisticsForPartitionRequest(input) + return out, req.Send() +} + +// DeleteColumnStatisticsForPartitionWithContext is the same as DeleteColumnStatisticsForPartition with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteColumnStatisticsForPartition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) DeleteColumnStatisticsForPartitionWithContext(ctx aws.Context, input *DeleteColumnStatisticsForPartitionInput, opts ...request.Option) (*DeleteColumnStatisticsForPartitionOutput, error) { + req, out := c.DeleteColumnStatisticsForPartitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteColumnStatisticsForTable = "DeleteColumnStatisticsForTable" + +// DeleteColumnStatisticsForTableRequest generates a "aws/request.Request" representing the +// client's request for the DeleteColumnStatisticsForTable operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteColumnStatisticsForTable for more information on using the DeleteColumnStatisticsForTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteColumnStatisticsForTableRequest method. +// req, resp := client.DeleteColumnStatisticsForTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteColumnStatisticsForTable +func (c *Glue) DeleteColumnStatisticsForTableRequest(input *DeleteColumnStatisticsForTableInput) (req *request.Request, output *DeleteColumnStatisticsForTableOutput) { + op := &request.Operation{ + Name: opDeleteColumnStatisticsForTable, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteColumnStatisticsForTableInput{} + } + + output = &DeleteColumnStatisticsForTableOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteColumnStatisticsForTable API operation for AWS Glue. +// +// Retrieves table statistics of columns. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation DeleteColumnStatisticsForTable for usage and error information. +// +// Returned Error Types: +// * EntityNotFoundException +// A specified entity does not exist +// +// * InvalidInputException +// The input provided was not valid. +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * EncryptionException +// An encryption operation failed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteColumnStatisticsForTable +func (c *Glue) DeleteColumnStatisticsForTable(input *DeleteColumnStatisticsForTableInput) (*DeleteColumnStatisticsForTableOutput, error) { + req, out := c.DeleteColumnStatisticsForTableRequest(input) + return out, req.Send() +} + +// DeleteColumnStatisticsForTableWithContext is the same as DeleteColumnStatisticsForTable with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteColumnStatisticsForTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) DeleteColumnStatisticsForTableWithContext(ctx aws.Context, input *DeleteColumnStatisticsForTableInput, opts ...request.Option) (*DeleteColumnStatisticsForTableOutput, error) { + req, out := c.DeleteColumnStatisticsForTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteConnection = "DeleteConnection" // DeleteConnectionRequest generates a "aws/request.Request" representing the @@ -4160,6 +4344,188 @@ func (c *Glue) GetClassifiersPagesWithContext(ctx aws.Context, input *GetClassif return p.Err() } +const opGetColumnStatisticsForPartition = "GetColumnStatisticsForPartition" + +// GetColumnStatisticsForPartitionRequest generates a "aws/request.Request" representing the +// client's request for the GetColumnStatisticsForPartition operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetColumnStatisticsForPartition for more information on using the GetColumnStatisticsForPartition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetColumnStatisticsForPartitionRequest method. +// req, resp := client.GetColumnStatisticsForPartitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetColumnStatisticsForPartition +func (c *Glue) GetColumnStatisticsForPartitionRequest(input *GetColumnStatisticsForPartitionInput) (req *request.Request, output *GetColumnStatisticsForPartitionOutput) { + op := &request.Operation{ + Name: opGetColumnStatisticsForPartition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetColumnStatisticsForPartitionInput{} + } + + output = &GetColumnStatisticsForPartitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetColumnStatisticsForPartition API operation for AWS Glue. +// +// Retrieves partition statistics of columns. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetColumnStatisticsForPartition for usage and error information. +// +// Returned Error Types: +// * EntityNotFoundException +// A specified entity does not exist +// +// * InvalidInputException +// The input provided was not valid. +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * EncryptionException +// An encryption operation failed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetColumnStatisticsForPartition +func (c *Glue) GetColumnStatisticsForPartition(input *GetColumnStatisticsForPartitionInput) (*GetColumnStatisticsForPartitionOutput, error) { + req, out := c.GetColumnStatisticsForPartitionRequest(input) + return out, req.Send() +} + +// GetColumnStatisticsForPartitionWithContext is the same as GetColumnStatisticsForPartition with the addition of +// the ability to pass a context and additional request options. +// +// See GetColumnStatisticsForPartition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetColumnStatisticsForPartitionWithContext(ctx aws.Context, input *GetColumnStatisticsForPartitionInput, opts ...request.Option) (*GetColumnStatisticsForPartitionOutput, error) { + req, out := c.GetColumnStatisticsForPartitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetColumnStatisticsForTable = "GetColumnStatisticsForTable" + +// GetColumnStatisticsForTableRequest generates a "aws/request.Request" representing the +// client's request for the GetColumnStatisticsForTable operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetColumnStatisticsForTable for more information on using the GetColumnStatisticsForTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetColumnStatisticsForTableRequest method. +// req, resp := client.GetColumnStatisticsForTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetColumnStatisticsForTable +func (c *Glue) GetColumnStatisticsForTableRequest(input *GetColumnStatisticsForTableInput) (req *request.Request, output *GetColumnStatisticsForTableOutput) { + op := &request.Operation{ + Name: opGetColumnStatisticsForTable, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetColumnStatisticsForTableInput{} + } + + output = &GetColumnStatisticsForTableOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetColumnStatisticsForTable API operation for AWS Glue. +// +// Retrieves table statistics of columns. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetColumnStatisticsForTable for usage and error information. +// +// Returned Error Types: +// * EntityNotFoundException +// A specified entity does not exist +// +// * InvalidInputException +// The input provided was not valid. +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * EncryptionException +// An encryption operation failed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetColumnStatisticsForTable +func (c *Glue) GetColumnStatisticsForTable(input *GetColumnStatisticsForTableInput) (*GetColumnStatisticsForTableOutput, error) { + req, out := c.GetColumnStatisticsForTableRequest(input) + return out, req.Send() +} + +// GetColumnStatisticsForTableWithContext is the same as GetColumnStatisticsForTable with the addition of +// the ability to pass a context and additional request options. +// +// See GetColumnStatisticsForTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetColumnStatisticsForTableWithContext(ctx aws.Context, input *GetColumnStatisticsForTableInput, opts ...request.Option) (*GetColumnStatisticsForTableOutput, error) { + req, out := c.GetColumnStatisticsForTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetConnection = "GetConnection" // GetConnectionRequest generates a "aws/request.Request" representing the @@ -6860,6 +7226,100 @@ func (c *Glue) GetPlanWithContext(ctx aws.Context, input *GetPlanInput, opts ... return out, req.Send() } +const opGetResourcePolicies = "GetResourcePolicies" + +// GetResourcePoliciesRequest generates a "aws/request.Request" representing the +// client's request for the GetResourcePolicies operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetResourcePolicies for more information on using the GetResourcePolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetResourcePoliciesRequest method. +// req, resp := client.GetResourcePoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetResourcePolicies +func (c *Glue) GetResourcePoliciesRequest(input *GetResourcePoliciesInput) (req *request.Request, output *GetResourcePoliciesOutput) { + op := &request.Operation{ + Name: opGetResourcePolicies, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetResourcePoliciesInput{} + } + + output = &GetResourcePoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetResourcePolicies API operation for AWS Glue. +// +// Retrieves the security configurations for the resource policies set on individual +// resources, and also the account-level policy. +// +// This operation also returns the Data Catalog resource policy. However, if +// you enabled metadata encryption in Data Catalog settings, and you do not +// have permission on the AWS KMS key, the operation can't return the Data Catalog +// resource policy. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation GetResourcePolicies for usage and error information. +// +// Returned Error Types: +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * InvalidInputException +// The input provided was not valid. +// +// * EncryptionException +// An encryption operation failed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetResourcePolicies +func (c *Glue) GetResourcePolicies(input *GetResourcePoliciesInput) (*GetResourcePoliciesOutput, error) { + req, out := c.GetResourcePoliciesRequest(input) + return out, req.Send() +} + +// GetResourcePoliciesWithContext is the same as GetResourcePolicies with the addition of +// the ability to pass a context and additional request options. +// +// See GetResourcePolicies for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) GetResourcePoliciesWithContext(ctx aws.Context, input *GetResourcePoliciesInput, opts ...request.Option) (*GetResourcePoliciesOutput, error) { + req, out := c.GetResourcePoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetResourcePolicy = "GetResourcePolicy" // GetResourcePolicyRequest generates a "aws/request.Request" representing the @@ -9977,6 +10437,100 @@ func (c *Glue) ResetJobBookmarkWithContext(ctx aws.Context, input *ResetJobBookm return out, req.Send() } +const opResumeWorkflowRun = "ResumeWorkflowRun" + +// ResumeWorkflowRunRequest generates a "aws/request.Request" representing the +// client's request for the ResumeWorkflowRun operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ResumeWorkflowRun for more information on using the ResumeWorkflowRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ResumeWorkflowRunRequest method. +// req, resp := client.ResumeWorkflowRunRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ResumeWorkflowRun +func (c *Glue) ResumeWorkflowRunRequest(input *ResumeWorkflowRunInput) (req *request.Request, output *ResumeWorkflowRunOutput) { + op := &request.Operation{ + Name: opResumeWorkflowRun, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ResumeWorkflowRunInput{} + } + + output = &ResumeWorkflowRunOutput{} + req = c.newRequest(op, input, output) + return +} + +// ResumeWorkflowRun API operation for AWS Glue. +// +// Restarts any completed nodes in a workflow run and resumes the run execution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation ResumeWorkflowRun for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input provided was not valid. +// +// * EntityNotFoundException +// A specified entity does not exist +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * ConcurrentRunsExceededException +// Too many jobs are being run concurrently. +// +// * IllegalWorkflowStateException +// The workflow is in an invalid state to perform a requested operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ResumeWorkflowRun +func (c *Glue) ResumeWorkflowRun(input *ResumeWorkflowRunInput) (*ResumeWorkflowRunOutput, error) { + req, out := c.ResumeWorkflowRunRequest(input) + return out, req.Send() +} + +// ResumeWorkflowRunWithContext is the same as ResumeWorkflowRun with the addition of +// the ability to pass a context and additional request options. +// +// See ResumeWorkflowRun for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) ResumeWorkflowRunWithContext(ctx aws.Context, input *ResumeWorkflowRunInput, opts ...request.Option) (*ResumeWorkflowRunOutput, error) { + req, out := c.ResumeWorkflowRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opSearchTables = "SearchTables" // SearchTablesRequest generates a "aws/request.Request" representing the @@ -11279,6 +11833,98 @@ func (c *Glue) StopTriggerWithContext(ctx aws.Context, input *StopTriggerInput, return out, req.Send() } +const opStopWorkflowRun = "StopWorkflowRun" + +// StopWorkflowRunRequest generates a "aws/request.Request" representing the +// client's request for the StopWorkflowRun operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopWorkflowRun for more information on using the StopWorkflowRun +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StopWorkflowRunRequest method. +// req, resp := client.StopWorkflowRunRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopWorkflowRun +func (c *Glue) StopWorkflowRunRequest(input *StopWorkflowRunInput) (req *request.Request, output *StopWorkflowRunOutput) { + op := &request.Operation{ + Name: opStopWorkflowRun, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopWorkflowRunInput{} + } + + output = &StopWorkflowRunOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopWorkflowRun API operation for AWS Glue. +// +// Stops the execution of the specified workflow run. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation StopWorkflowRun for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input provided was not valid. +// +// * EntityNotFoundException +// A specified entity does not exist +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * IllegalWorkflowStateException +// The workflow is in an invalid state to perform a requested operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/StopWorkflowRun +func (c *Glue) StopWorkflowRun(input *StopWorkflowRunInput) (*StopWorkflowRunOutput, error) { + req, out := c.StopWorkflowRunRequest(input) + return out, req.Send() +} + +// StopWorkflowRunWithContext is the same as StopWorkflowRun with the addition of +// the ability to pass a context and additional request options. +// +// See StopWorkflowRun for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) StopWorkflowRunWithContext(ctx aws.Context, input *StopWorkflowRunInput, opts ...request.Option) (*StopWorkflowRunOutput, error) { + req, out := c.StopWorkflowRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the @@ -11549,6 +12195,188 @@ func (c *Glue) UpdateClassifierWithContext(ctx aws.Context, input *UpdateClassif return out, req.Send() } +const opUpdateColumnStatisticsForPartition = "UpdateColumnStatisticsForPartition" + +// UpdateColumnStatisticsForPartitionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateColumnStatisticsForPartition operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateColumnStatisticsForPartition for more information on using the UpdateColumnStatisticsForPartition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateColumnStatisticsForPartitionRequest method. +// req, resp := client.UpdateColumnStatisticsForPartitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateColumnStatisticsForPartition +func (c *Glue) UpdateColumnStatisticsForPartitionRequest(input *UpdateColumnStatisticsForPartitionInput) (req *request.Request, output *UpdateColumnStatisticsForPartitionOutput) { + op := &request.Operation{ + Name: opUpdateColumnStatisticsForPartition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateColumnStatisticsForPartitionInput{} + } + + output = &UpdateColumnStatisticsForPartitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateColumnStatisticsForPartition API operation for AWS Glue. +// +// Creates or updates partition statistics of columns. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateColumnStatisticsForPartition for usage and error information. +// +// Returned Error Types: +// * EntityNotFoundException +// A specified entity does not exist +// +// * InvalidInputException +// The input provided was not valid. +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * EncryptionException +// An encryption operation failed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateColumnStatisticsForPartition +func (c *Glue) UpdateColumnStatisticsForPartition(input *UpdateColumnStatisticsForPartitionInput) (*UpdateColumnStatisticsForPartitionOutput, error) { + req, out := c.UpdateColumnStatisticsForPartitionRequest(input) + return out, req.Send() +} + +// UpdateColumnStatisticsForPartitionWithContext is the same as UpdateColumnStatisticsForPartition with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateColumnStatisticsForPartition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateColumnStatisticsForPartitionWithContext(ctx aws.Context, input *UpdateColumnStatisticsForPartitionInput, opts ...request.Option) (*UpdateColumnStatisticsForPartitionOutput, error) { + req, out := c.UpdateColumnStatisticsForPartitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateColumnStatisticsForTable = "UpdateColumnStatisticsForTable" + +// UpdateColumnStatisticsForTableRequest generates a "aws/request.Request" representing the +// client's request for the UpdateColumnStatisticsForTable operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateColumnStatisticsForTable for more information on using the UpdateColumnStatisticsForTable +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateColumnStatisticsForTableRequest method. +// req, resp := client.UpdateColumnStatisticsForTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateColumnStatisticsForTable +func (c *Glue) UpdateColumnStatisticsForTableRequest(input *UpdateColumnStatisticsForTableInput) (req *request.Request, output *UpdateColumnStatisticsForTableOutput) { + op := &request.Operation{ + Name: opUpdateColumnStatisticsForTable, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateColumnStatisticsForTableInput{} + } + + output = &UpdateColumnStatisticsForTableOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateColumnStatisticsForTable API operation for AWS Glue. +// +// Creates or updates table statistics of columns. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Glue's +// API operation UpdateColumnStatisticsForTable for usage and error information. +// +// Returned Error Types: +// * EntityNotFoundException +// A specified entity does not exist +// +// * InvalidInputException +// The input provided was not valid. +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * EncryptionException +// An encryption operation failed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateColumnStatisticsForTable +func (c *Glue) UpdateColumnStatisticsForTable(input *UpdateColumnStatisticsForTableInput) (*UpdateColumnStatisticsForTableOutput, error) { + req, out := c.UpdateColumnStatisticsForTableRequest(input) + return out, req.Send() +} + +// UpdateColumnStatisticsForTableWithContext is the same as UpdateColumnStatisticsForTable with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateColumnStatisticsForTable for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Glue) UpdateColumnStatisticsForTableWithContext(ctx aws.Context, input *UpdateColumnStatisticsForTableInput, opts ...request.Option) (*UpdateColumnStatisticsForTableOutput, error) { + req, out := c.UpdateColumnStatisticsForTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateConnection = "UpdateConnection" // UpdateConnectionRequest generates a "aws/request.Request" representing the @@ -14073,6 +14901,140 @@ func (s *BatchStopJobRunSuccessfulSubmission) SetJobRunId(v string) *BatchStopJo return s } +// Defines a binary column statistics data. +type BinaryColumnStatisticsData struct { + _ struct{} `type:"structure"` + + // Average length of the column. + // + // AverageLength is a required field + AverageLength *float64 `type:"double" required:"true"` + + // Maximum length of the column. + // + // MaximumLength is a required field + MaximumLength *int64 `type:"long" required:"true"` + + // Number of nulls. + // + // NumberOfNulls is a required field + NumberOfNulls *int64 `type:"long" required:"true"` +} + +// String returns the string representation +func (s BinaryColumnStatisticsData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BinaryColumnStatisticsData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BinaryColumnStatisticsData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BinaryColumnStatisticsData"} + if s.AverageLength == nil { + invalidParams.Add(request.NewErrParamRequired("AverageLength")) + } + if s.MaximumLength == nil { + invalidParams.Add(request.NewErrParamRequired("MaximumLength")) + } + if s.NumberOfNulls == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfNulls")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAverageLength sets the AverageLength field's value. +func (s *BinaryColumnStatisticsData) SetAverageLength(v float64) *BinaryColumnStatisticsData { + s.AverageLength = &v + return s +} + +// SetMaximumLength sets the MaximumLength field's value. +func (s *BinaryColumnStatisticsData) SetMaximumLength(v int64) *BinaryColumnStatisticsData { + s.MaximumLength = &v + return s +} + +// SetNumberOfNulls sets the NumberOfNulls field's value. +func (s *BinaryColumnStatisticsData) SetNumberOfNulls(v int64) *BinaryColumnStatisticsData { + s.NumberOfNulls = &v + return s +} + +// Defines a boolean column statistics. +type BooleanColumnStatisticsData struct { + _ struct{} `type:"structure"` + + // Number of false value. + // + // NumberOfFalses is a required field + NumberOfFalses *int64 `type:"long" required:"true"` + + // Number of nulls. + // + // NumberOfNulls is a required field + NumberOfNulls *int64 `type:"long" required:"true"` + + // Number of true value. + // + // NumberOfTrues is a required field + NumberOfTrues *int64 `type:"long" required:"true"` +} + +// String returns the string representation +func (s BooleanColumnStatisticsData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BooleanColumnStatisticsData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BooleanColumnStatisticsData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BooleanColumnStatisticsData"} + if s.NumberOfFalses == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfFalses")) + } + if s.NumberOfNulls == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfNulls")) + } + if s.NumberOfTrues == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfTrues")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNumberOfFalses sets the NumberOfFalses field's value. +func (s *BooleanColumnStatisticsData) SetNumberOfFalses(v int64) *BooleanColumnStatisticsData { + s.NumberOfFalses = &v + return s +} + +// SetNumberOfNulls sets the NumberOfNulls field's value. +func (s *BooleanColumnStatisticsData) SetNumberOfNulls(v int64) *BooleanColumnStatisticsData { + s.NumberOfNulls = &v + return s +} + +// SetNumberOfTrues sets the NumberOfTrues field's value. +func (s *BooleanColumnStatisticsData) SetNumberOfTrues(v int64) *BooleanColumnStatisticsData { + s.NumberOfTrues = &v + return s +} + type CancelMLTaskRunInput struct { _ struct{} `type:"structure"` @@ -14712,6 +15674,298 @@ func (s *Column) SetType(v string) *Column { return s } +// Defines a column containing error. +type ColumnError struct { + _ struct{} `type:"structure"` + + // The name of the column. + ColumnName *string `min:"1" type:"string"` + + // The error message occurred during operation. + Error *ErrorDetail `type:"structure"` +} + +// String returns the string representation +func (s ColumnError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColumnError) GoString() string { + return s.String() +} + +// SetColumnName sets the ColumnName field's value. +func (s *ColumnError) SetColumnName(v string) *ColumnError { + s.ColumnName = &v + return s +} + +// SetError sets the Error field's value. +func (s *ColumnError) SetError(v *ErrorDetail) *ColumnError { + s.Error = v + return s +} + +// Defines a column statistics. +type ColumnStatistics struct { + _ struct{} `type:"structure"` + + // The analyzed time of the column statistics. + // + // AnalyzedTime is a required field + AnalyzedTime *time.Time `type:"timestamp" required:"true"` + + // The name of the column. + // + // ColumnName is a required field + ColumnName *string `min:"1" type:"string" required:"true"` + + // The type of the column. + // + // ColumnType is a required field + ColumnType *string `type:"string" required:"true"` + + // The statistics of the column. + // + // StatisticsData is a required field + StatisticsData *ColumnStatisticsData `type:"structure" required:"true"` +} + +// String returns the string representation +func (s ColumnStatistics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColumnStatistics) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ColumnStatistics) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ColumnStatistics"} + if s.AnalyzedTime == nil { + invalidParams.Add(request.NewErrParamRequired("AnalyzedTime")) + } + if s.ColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnName")) + } + if s.ColumnName != nil && len(*s.ColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) + } + if s.ColumnType == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnType")) + } + if s.StatisticsData == nil { + invalidParams.Add(request.NewErrParamRequired("StatisticsData")) + } + if s.StatisticsData != nil { + if err := s.StatisticsData.Validate(); err != nil { + invalidParams.AddNested("StatisticsData", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnalyzedTime sets the AnalyzedTime field's value. +func (s *ColumnStatistics) SetAnalyzedTime(v time.Time) *ColumnStatistics { + s.AnalyzedTime = &v + return s +} + +// SetColumnName sets the ColumnName field's value. +func (s *ColumnStatistics) SetColumnName(v string) *ColumnStatistics { + s.ColumnName = &v + return s +} + +// SetColumnType sets the ColumnType field's value. +func (s *ColumnStatistics) SetColumnType(v string) *ColumnStatistics { + s.ColumnType = &v + return s +} + +// SetStatisticsData sets the StatisticsData field's value. +func (s *ColumnStatistics) SetStatisticsData(v *ColumnStatisticsData) *ColumnStatistics { + s.StatisticsData = v + return s +} + +// Defines a column statistics data. +type ColumnStatisticsData struct { + _ struct{} `type:"structure"` + + // Binary Column Statistics Data. + BinaryColumnStatisticsData *BinaryColumnStatisticsData `type:"structure"` + + // Boolean Column Statistics Data. + BooleanColumnStatisticsData *BooleanColumnStatisticsData `type:"structure"` + + // Date Column Statistics Data. + DateColumnStatisticsData *DateColumnStatisticsData `type:"structure"` + + // Decimal Column Statistics Data. + DecimalColumnStatisticsData *DecimalColumnStatisticsData `type:"structure"` + + // Double Column Statistics Data. + DoubleColumnStatisticsData *DoubleColumnStatisticsData `type:"structure"` + + // Long Column Statistics Data. + LongColumnStatisticsData *LongColumnStatisticsData `type:"structure"` + + // String Column Statistics Data. + StringColumnStatisticsData *StringColumnStatisticsData `type:"structure"` + + // The name of the column. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ColumnStatisticsType"` +} + +// String returns the string representation +func (s ColumnStatisticsData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColumnStatisticsData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ColumnStatisticsData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ColumnStatisticsData"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.BinaryColumnStatisticsData != nil { + if err := s.BinaryColumnStatisticsData.Validate(); err != nil { + invalidParams.AddNested("BinaryColumnStatisticsData", err.(request.ErrInvalidParams)) + } + } + if s.BooleanColumnStatisticsData != nil { + if err := s.BooleanColumnStatisticsData.Validate(); err != nil { + invalidParams.AddNested("BooleanColumnStatisticsData", err.(request.ErrInvalidParams)) + } + } + if s.DateColumnStatisticsData != nil { + if err := s.DateColumnStatisticsData.Validate(); err != nil { + invalidParams.AddNested("DateColumnStatisticsData", err.(request.ErrInvalidParams)) + } + } + if s.DecimalColumnStatisticsData != nil { + if err := s.DecimalColumnStatisticsData.Validate(); err != nil { + invalidParams.AddNested("DecimalColumnStatisticsData", err.(request.ErrInvalidParams)) + } + } + if s.DoubleColumnStatisticsData != nil { + if err := s.DoubleColumnStatisticsData.Validate(); err != nil { + invalidParams.AddNested("DoubleColumnStatisticsData", err.(request.ErrInvalidParams)) + } + } + if s.LongColumnStatisticsData != nil { + if err := s.LongColumnStatisticsData.Validate(); err != nil { + invalidParams.AddNested("LongColumnStatisticsData", err.(request.ErrInvalidParams)) + } + } + if s.StringColumnStatisticsData != nil { + if err := s.StringColumnStatisticsData.Validate(); err != nil { + invalidParams.AddNested("StringColumnStatisticsData", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBinaryColumnStatisticsData sets the BinaryColumnStatisticsData field's value. +func (s *ColumnStatisticsData) SetBinaryColumnStatisticsData(v *BinaryColumnStatisticsData) *ColumnStatisticsData { + s.BinaryColumnStatisticsData = v + return s +} + +// SetBooleanColumnStatisticsData sets the BooleanColumnStatisticsData field's value. +func (s *ColumnStatisticsData) SetBooleanColumnStatisticsData(v *BooleanColumnStatisticsData) *ColumnStatisticsData { + s.BooleanColumnStatisticsData = v + return s +} + +// SetDateColumnStatisticsData sets the DateColumnStatisticsData field's value. +func (s *ColumnStatisticsData) SetDateColumnStatisticsData(v *DateColumnStatisticsData) *ColumnStatisticsData { + s.DateColumnStatisticsData = v + return s +} + +// SetDecimalColumnStatisticsData sets the DecimalColumnStatisticsData field's value. +func (s *ColumnStatisticsData) SetDecimalColumnStatisticsData(v *DecimalColumnStatisticsData) *ColumnStatisticsData { + s.DecimalColumnStatisticsData = v + return s +} + +// SetDoubleColumnStatisticsData sets the DoubleColumnStatisticsData field's value. +func (s *ColumnStatisticsData) SetDoubleColumnStatisticsData(v *DoubleColumnStatisticsData) *ColumnStatisticsData { + s.DoubleColumnStatisticsData = v + return s +} + +// SetLongColumnStatisticsData sets the LongColumnStatisticsData field's value. +func (s *ColumnStatisticsData) SetLongColumnStatisticsData(v *LongColumnStatisticsData) *ColumnStatisticsData { + s.LongColumnStatisticsData = v + return s +} + +// SetStringColumnStatisticsData sets the StringColumnStatisticsData field's value. +func (s *ColumnStatisticsData) SetStringColumnStatisticsData(v *StringColumnStatisticsData) *ColumnStatisticsData { + s.StringColumnStatisticsData = v + return s +} + +// SetType sets the Type field's value. +func (s *ColumnStatisticsData) SetType(v string) *ColumnStatisticsData { + s.Type = &v + return s +} + +// Defines a column containing error. +type ColumnStatisticsError struct { + _ struct{} `type:"structure"` + + // The ColumnStatistics of the column. + ColumnStatistics *ColumnStatistics `type:"structure"` + + // The error message occurred during operation. + Error *ErrorDetail `type:"structure"` +} + +// String returns the string representation +func (s ColumnStatisticsError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColumnStatisticsError) GoString() string { + return s.String() +} + +// SetColumnStatistics sets the ColumnStatistics field's value. +func (s *ColumnStatisticsError) SetColumnStatistics(v *ColumnStatistics) *ColumnStatisticsError { + s.ColumnStatistics = v + return s +} + +// SetError sets the Error field's value. +func (s *ColumnStatisticsError) SetError(v *ErrorDetail) *ColumnStatisticsError { + s.Error = v + return s +} + // Two processes are trying to modify a resource simultaneously. type ConcurrentModificationException struct { _ struct{} `type:"structure"` @@ -15085,10 +16339,19 @@ type Connection struct { // * KAFKA_BOOTSTRAP_SERVERS - A comma-separated list of host and port pairs // that are the addresses of the Apache Kafka brokers in a Kafka cluster // to which a Kafka client will connect to and bootstrap itself. + // + // * KAFKA_SSL_ENABLED - Whether to enable or disable SSL on an Apache Kafka + // connection. Default value is "true". + // + // * KAFKA_CUSTOM_CERT - The Amazon S3 URL for the private CA cert file (.pem + // format). The default is an empty string. + // + // * KAFKA_SKIP_CUSTOM_CERT_VALIDATION - Whether to skip the validation of + // the CA cert file or not. AWS Glue validates for three algorithms: SHA256withRSA, + // SHA384withRSA and SHA512withRSA. Default value is "false". ConnectionProperties map[string]*string `type:"map"` - // The type of the connection. Currently, only JDBC is supported; SFTP is not - // supported. + // The type of the connection. Currently, SFTP is not supported. ConnectionType *string `type:"string" enum:"ConnectionType"` // The time that this connection definition was created. @@ -15196,6 +16459,9 @@ type ConnectionInput struct { // // * MONGODB - Designates a connection to a MongoDB document database. // + // * NETWORK - Designates a network connection to a data source within an + // Amazon Virtual Private Cloud environment (Amazon VPC). + // // SFTP is not supported. // // ConnectionType is a required field @@ -15467,7 +16733,7 @@ type Crawler struct { // Crawler configuration information. This versioned JSON string allows users // to specify aspects of a crawler's behavior. For more information, see Configuring - // a Crawler (http://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html). + // a Crawler (https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html). Configuration *string `type:"string"` // If the crawler is running, contains the total time elapsed since the last @@ -16157,9 +17423,9 @@ type CreateCrawlerInput struct { // always override the default classifiers for a given classification. Classifiers []*string `type:"list"` - // The crawler configuration information. This versioned JSON string allows - // users to specify aspects of a crawler's behavior. For more information, see - // Configuring a Crawler (http://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html). + // Crawler configuration information. This versioned JSON string allows users + // to specify aspects of a crawler's behavior. For more information, see Configuring + // a Crawler (https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html). Configuration *string `type:"string"` // The name of the SecurityConfiguration structure to be used by this crawler. @@ -16182,10 +17448,10 @@ type CreateCrawlerInput struct { // Role is a required field Role *string `type:"string" required:"true"` - // A cron expression used to specify the schedule. For more information, see - // Time-Based Schedules for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). - // For example, to run something every day at 12:15 UTC, specify cron(15 12 - // * * ? *). + // A cron expression used to specify the schedule (see Time-Based Schedules + // for Jobs and Crawlers (https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). + // For example, to run something every day at 12:15 UTC, you would specify: + // cron(15 12 * * ? *). Schedule *string `type:"string"` // The policy for the crawler's update and deletion behavior. @@ -16194,8 +17460,10 @@ type CreateCrawlerInput struct { // The table prefix used for catalog tables that are created. TablePrefix *string `type:"string"` - // The tags to use with this crawler request. You can use tags to limit access - // to the crawler. For more information, see AWS Tags in AWS Glue (http://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html). + // The tags to use with this crawler request. You may use tags to limit access + // to the crawler. For more information about tags in AWS Glue, see AWS Tags + // in AWS Glue (https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) + // in the developer guide. Tags map[string]*string `type:"map"` // A list of collection of targets to crawl. @@ -17084,9 +18352,10 @@ type CreateJobInput struct { // * When you specify a Python shell job (JobCommand.Name="pythonshell"), // you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. // - // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl"), - // you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job - // type cannot have a fractional DPU allocation. + // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl") + // or Apache Spark streaming ETL job (JobCommand.Name="gluestreaming"), you + // can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type + // cannot have a fractional DPU allocation. MaxCapacity *float64 `type:"double"` // The maximum number of times to retry this job if it fails. @@ -18666,6 +19935,9 @@ func (s *DataLakePrincipal) SetDataLakePrincipalIdentifier(v string) *DataLakePr type Database struct { _ struct{} `type:"structure"` + // The ID of the Data Catalog in which the database resides. + CatalogId *string `min:"1" type:"string"` + // Creates a set of default permissions on the table for principals. CreateTableDefaultPermissions []*PrincipalPermissions `type:"list"` @@ -18686,6 +19958,10 @@ type Database struct { // These key-value pairs define parameters and properties of the database. Parameters map[string]*string `type:"map"` + + // A DatabaseIdentifier structure that describes a target database for resource + // linking. + TargetDatabase *DatabaseIdentifier `type:"structure"` } // String returns the string representation @@ -18698,6 +19974,12 @@ func (s Database) GoString() string { return s.String() } +// SetCatalogId sets the CatalogId field's value. +func (s *Database) SetCatalogId(v string) *Database { + s.CatalogId = &v + return s +} + // SetCreateTableDefaultPermissions sets the CreateTableDefaultPermissions field's value. func (s *Database) SetCreateTableDefaultPermissions(v []*PrincipalPermissions) *Database { s.CreateTableDefaultPermissions = v @@ -18734,6 +20016,61 @@ func (s *Database) SetParameters(v map[string]*string) *Database { return s } +// SetTargetDatabase sets the TargetDatabase field's value. +func (s *Database) SetTargetDatabase(v *DatabaseIdentifier) *Database { + s.TargetDatabase = v + return s +} + +// A structure that describes a target database for resource linking. +type DatabaseIdentifier struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which the database resides. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database. + DatabaseName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DatabaseIdentifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DatabaseIdentifier) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DatabaseIdentifier) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DatabaseIdentifier"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *DatabaseIdentifier) SetCatalogId(v string) *DatabaseIdentifier { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DatabaseIdentifier) SetDatabaseName(v string) *DatabaseIdentifier { + s.DatabaseName = &v + return s +} + // The structure used to create or update a database. type DatabaseInput struct { _ struct{} `type:"structure"` @@ -18757,6 +20094,10 @@ type DatabaseInput struct { // // These key-value pairs define parameters and properties of the database. Parameters map[string]*string `type:"map"` + + // A DatabaseIdentifier structure that describes a target database for resource + // linking. + TargetDatabase *DatabaseIdentifier `type:"structure"` } // String returns the string representation @@ -18791,6 +20132,11 @@ func (s *DatabaseInput) Validate() error { } } } + if s.TargetDatabase != nil { + if err := s.TargetDatabase.Validate(); err != nil { + invalidParams.AddNested("TargetDatabase", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -18828,6 +20174,219 @@ func (s *DatabaseInput) SetParameters(v map[string]*string) *DatabaseInput { return s } +// SetTargetDatabase sets the TargetDatabase field's value. +func (s *DatabaseInput) SetTargetDatabase(v *DatabaseIdentifier) *DatabaseInput { + s.TargetDatabase = v + return s +} + +// Defines a date column statistics data. +type DateColumnStatisticsData struct { + _ struct{} `type:"structure"` + + // Maximum value of the column. + MaximumValue *time.Time `type:"timestamp"` + + // Minimum value of the column. + MinimumValue *time.Time `type:"timestamp"` + + // Number of distinct values. + // + // NumberOfDistinctValues is a required field + NumberOfDistinctValues *int64 `type:"long" required:"true"` + + // Number of nulls. + // + // NumberOfNulls is a required field + NumberOfNulls *int64 `type:"long" required:"true"` +} + +// String returns the string representation +func (s DateColumnStatisticsData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DateColumnStatisticsData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DateColumnStatisticsData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DateColumnStatisticsData"} + if s.NumberOfDistinctValues == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfDistinctValues")) + } + if s.NumberOfNulls == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfNulls")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaximumValue sets the MaximumValue field's value. +func (s *DateColumnStatisticsData) SetMaximumValue(v time.Time) *DateColumnStatisticsData { + s.MaximumValue = &v + return s +} + +// SetMinimumValue sets the MinimumValue field's value. +func (s *DateColumnStatisticsData) SetMinimumValue(v time.Time) *DateColumnStatisticsData { + s.MinimumValue = &v + return s +} + +// SetNumberOfDistinctValues sets the NumberOfDistinctValues field's value. +func (s *DateColumnStatisticsData) SetNumberOfDistinctValues(v int64) *DateColumnStatisticsData { + s.NumberOfDistinctValues = &v + return s +} + +// SetNumberOfNulls sets the NumberOfNulls field's value. +func (s *DateColumnStatisticsData) SetNumberOfNulls(v int64) *DateColumnStatisticsData { + s.NumberOfNulls = &v + return s +} + +// Defines a decimal column statistics data. +type DecimalColumnStatisticsData struct { + _ struct{} `type:"structure"` + + // Maximum value of the column. + MaximumValue *DecimalNumber `type:"structure"` + + // Minimum value of the column. + MinimumValue *DecimalNumber `type:"structure"` + + // Number of distinct values. + // + // NumberOfDistinctValues is a required field + NumberOfDistinctValues *int64 `type:"long" required:"true"` + + // Number of nulls. + // + // NumberOfNulls is a required field + NumberOfNulls *int64 `type:"long" required:"true"` +} + +// String returns the string representation +func (s DecimalColumnStatisticsData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DecimalColumnStatisticsData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DecimalColumnStatisticsData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DecimalColumnStatisticsData"} + if s.NumberOfDistinctValues == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfDistinctValues")) + } + if s.NumberOfNulls == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfNulls")) + } + if s.MaximumValue != nil { + if err := s.MaximumValue.Validate(); err != nil { + invalidParams.AddNested("MaximumValue", err.(request.ErrInvalidParams)) + } + } + if s.MinimumValue != nil { + if err := s.MinimumValue.Validate(); err != nil { + invalidParams.AddNested("MinimumValue", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaximumValue sets the MaximumValue field's value. +func (s *DecimalColumnStatisticsData) SetMaximumValue(v *DecimalNumber) *DecimalColumnStatisticsData { + s.MaximumValue = v + return s +} + +// SetMinimumValue sets the MinimumValue field's value. +func (s *DecimalColumnStatisticsData) SetMinimumValue(v *DecimalNumber) *DecimalColumnStatisticsData { + s.MinimumValue = v + return s +} + +// SetNumberOfDistinctValues sets the NumberOfDistinctValues field's value. +func (s *DecimalColumnStatisticsData) SetNumberOfDistinctValues(v int64) *DecimalColumnStatisticsData { + s.NumberOfDistinctValues = &v + return s +} + +// SetNumberOfNulls sets the NumberOfNulls field's value. +func (s *DecimalColumnStatisticsData) SetNumberOfNulls(v int64) *DecimalColumnStatisticsData { + s.NumberOfNulls = &v + return s +} + +// Contains a numeric value in decimal format. +type DecimalNumber struct { + _ struct{} `type:"structure"` + + // The scale that determines where the decimal point falls in the unscaled value. + // + // Scale is a required field + Scale *int64 `type:"integer" required:"true"` + + // The unscaled numeric value. + // + // UnscaledValue is automatically base64 encoded/decoded by the SDK. + // + // UnscaledValue is a required field + UnscaledValue []byte `type:"blob" required:"true"` +} + +// String returns the string representation +func (s DecimalNumber) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DecimalNumber) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DecimalNumber) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DecimalNumber"} + if s.Scale == nil { + invalidParams.Add(request.NewErrParamRequired("Scale")) + } + if s.UnscaledValue == nil { + invalidParams.Add(request.NewErrParamRequired("UnscaledValue")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScale sets the Scale field's value. +func (s *DecimalNumber) SetScale(v int64) *DecimalNumber { + s.Scale = &v + return s +} + +// SetUnscaledValue sets the UnscaledValue field's value. +func (s *DecimalNumber) SetUnscaledValue(v []byte) *DecimalNumber { + s.UnscaledValue = v + return s +} + type DeleteClassifierInput struct { _ struct{} `type:"structure"` @@ -18883,6 +20442,224 @@ func (s DeleteClassifierOutput) GoString() string { return s.String() } +type DeleteColumnStatisticsForPartitionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the partitions in question reside. If none + // is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // Name of the column. + // + // ColumnName is a required field + ColumnName *string `min:"1" type:"string" required:"true"` + + // The name of the catalog database where the partitions reside. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A list of partition values identifying the partition. + // + // PartitionValues is a required field + PartitionValues []*string `type:"list" required:"true"` + + // The name of the partitions' table. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteColumnStatisticsForPartitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteColumnStatisticsForPartitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteColumnStatisticsForPartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteColumnStatisticsForPartitionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.ColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnName")) + } + if s.ColumnName != nil && len(*s.ColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.PartitionValues == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionValues")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *DeleteColumnStatisticsForPartitionInput) SetCatalogId(v string) *DeleteColumnStatisticsForPartitionInput { + s.CatalogId = &v + return s +} + +// SetColumnName sets the ColumnName field's value. +func (s *DeleteColumnStatisticsForPartitionInput) SetColumnName(v string) *DeleteColumnStatisticsForPartitionInput { + s.ColumnName = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DeleteColumnStatisticsForPartitionInput) SetDatabaseName(v string) *DeleteColumnStatisticsForPartitionInput { + s.DatabaseName = &v + return s +} + +// SetPartitionValues sets the PartitionValues field's value. +func (s *DeleteColumnStatisticsForPartitionInput) SetPartitionValues(v []*string) *DeleteColumnStatisticsForPartitionInput { + s.PartitionValues = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *DeleteColumnStatisticsForPartitionInput) SetTableName(v string) *DeleteColumnStatisticsForPartitionInput { + s.TableName = &v + return s +} + +type DeleteColumnStatisticsForPartitionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteColumnStatisticsForPartitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteColumnStatisticsForPartitionOutput) GoString() string { + return s.String() +} + +type DeleteColumnStatisticsForTableInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the partitions in question reside. If none + // is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // The name of the column. + // + // ColumnName is a required field + ColumnName *string `min:"1" type:"string" required:"true"` + + // The name of the catalog database where the partitions reside. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the partitions' table. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteColumnStatisticsForTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteColumnStatisticsForTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteColumnStatisticsForTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteColumnStatisticsForTableInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.ColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnName")) + } + if s.ColumnName != nil && len(*s.ColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *DeleteColumnStatisticsForTableInput) SetCatalogId(v string) *DeleteColumnStatisticsForTableInput { + s.CatalogId = &v + return s +} + +// SetColumnName sets the ColumnName field's value. +func (s *DeleteColumnStatisticsForTableInput) SetColumnName(v string) *DeleteColumnStatisticsForTableInput { + s.ColumnName = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DeleteColumnStatisticsForTableInput) SetDatabaseName(v string) *DeleteColumnStatisticsForTableInput { + s.DatabaseName = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *DeleteColumnStatisticsForTableInput) SetTableName(v string) *DeleteColumnStatisticsForTableInput { + s.TableName = &v + return s +} + +type DeleteColumnStatisticsForTableOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteColumnStatisticsForTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteColumnStatisticsForTableOutput) GoString() string { + return s.String() +} + type DeleteConnectionInput struct { _ struct{} `type:"structure"` @@ -19359,6 +21136,9 @@ type DeleteResourcePolicyInput struct { // The hash value returned when this policy was set. PolicyHashCondition *string `min:"1" type:"string"` + + // The ARN of the AWS Glue resource for the resource policy to be deleted. + ResourceArn *string `min:"1" type:"string"` } // String returns the string representation @@ -19377,6 +21157,9 @@ func (s *DeleteResourcePolicyInput) Validate() error { if s.PolicyHashCondition != nil && len(*s.PolicyHashCondition) < 1 { invalidParams.Add(request.NewErrParamMinLen("PolicyHashCondition", 1)) } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -19390,6 +21173,12 @@ func (s *DeleteResourcePolicyInput) SetPolicyHashCondition(v string) *DeleteReso return s } +// SetResourceArn sets the ResourceArn field's value. +func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput { + s.ResourceArn = &v + return s +} + type DeleteResourcePolicyOutput struct { _ struct{} `type:"structure"` } @@ -20212,12 +22001,102 @@ func (s *DevEndpointCustomLibraries) SetExtraPythonLibsS3Path(v string) *DevEndp return s } +// Defines a double column statistics data. +type DoubleColumnStatisticsData struct { + _ struct{} `type:"structure"` + + // Maximum value of the column. + MaximumValue *float64 `type:"double"` + + // Minimum value of the column. + MinimumValue *float64 `type:"double"` + + // Number of distinct values. + // + // NumberOfDistinctValues is a required field + NumberOfDistinctValues *int64 `type:"long" required:"true"` + + // Number of nulls. + // + // NumberOfNulls is a required field + NumberOfNulls *int64 `type:"long" required:"true"` +} + +// String returns the string representation +func (s DoubleColumnStatisticsData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DoubleColumnStatisticsData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DoubleColumnStatisticsData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DoubleColumnStatisticsData"} + if s.NumberOfDistinctValues == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfDistinctValues")) + } + if s.NumberOfNulls == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfNulls")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaximumValue sets the MaximumValue field's value. +func (s *DoubleColumnStatisticsData) SetMaximumValue(v float64) *DoubleColumnStatisticsData { + s.MaximumValue = &v + return s +} + +// SetMinimumValue sets the MinimumValue field's value. +func (s *DoubleColumnStatisticsData) SetMinimumValue(v float64) *DoubleColumnStatisticsData { + s.MinimumValue = &v + return s +} + +// SetNumberOfDistinctValues sets the NumberOfDistinctValues field's value. +func (s *DoubleColumnStatisticsData) SetNumberOfDistinctValues(v int64) *DoubleColumnStatisticsData { + s.NumberOfDistinctValues = &v + return s +} + +// SetNumberOfNulls sets the NumberOfNulls field's value. +func (s *DoubleColumnStatisticsData) SetNumberOfNulls(v int64) *DoubleColumnStatisticsData { + s.NumberOfNulls = &v + return s +} + // Specifies an Amazon DynamoDB table to crawl. type DynamoDBTarget struct { _ struct{} `type:"structure"` // The name of the DynamoDB table to crawl. Path *string `type:"string"` + + // Indicates whether to scan all the records, or to sample rows from the table. + // Scanning all the records can take a long time when the table is not a high + // throughput table. + // + // A value of true means to scan all records, while a value of false means to + // sample the records. If no value is specified, the value defaults to true. + ScanAll *bool `locationName:"scanAll" type:"boolean"` + + // The percentage of the configured read capacity units to use by the AWS Glue + // crawler. Read capacity units is a term defined by DynamoDB, and is a numeric + // value that acts as rate limiter for the number of reads that can be performed + // on that table per second. + // + // The valid values are null or a value between 0.1 to 1.5. A null value is + // used when user does not provide a value, and defaults to 0.5 of the configured + // Read Capacity Unit (for provisioned tables), or 0.25 of the max configured + // Read Capacity Unit (for tables using on-demand mode). + ScanRate *float64 `locationName:"scanRate" type:"double"` } // String returns the string representation @@ -20236,8 +22115,20 @@ func (s *DynamoDBTarget) SetPath(v string) *DynamoDBTarget { return s } +// SetScanAll sets the ScanAll field's value. +func (s *DynamoDBTarget) SetScanAll(v bool) *DynamoDBTarget { + s.ScanAll = &v + return s +} + +// SetScanRate sets the ScanRate field's value. +func (s *DynamoDBTarget) SetScanRate(v float64) *DynamoDBTarget { + s.ScanRate = &v + return s +} + // An edge represents a directed connection between two AWS Glue components -// which are part of the workflow the edge belongs to. +// that are part of the workflow the edge belongs to. type Edge struct { _ struct{} `type:"structure"` @@ -21023,6 +22914,254 @@ func (s *GetClassifiersOutput) SetNextToken(v string) *GetClassifiersOutput { return s } +type GetColumnStatisticsForPartitionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the partitions in question reside. If none + // is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // A list of the column names. + // + // ColumnNames is a required field + ColumnNames []*string `type:"list" required:"true"` + + // The name of the catalog database where the partitions reside. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A list of partition values identifying the partition. + // + // PartitionValues is a required field + PartitionValues []*string `type:"list" required:"true"` + + // The name of the partitions' table. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetColumnStatisticsForPartitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetColumnStatisticsForPartitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetColumnStatisticsForPartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetColumnStatisticsForPartitionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.ColumnNames == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnNames")) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.PartitionValues == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionValues")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetColumnStatisticsForPartitionInput) SetCatalogId(v string) *GetColumnStatisticsForPartitionInput { + s.CatalogId = &v + return s +} + +// SetColumnNames sets the ColumnNames field's value. +func (s *GetColumnStatisticsForPartitionInput) SetColumnNames(v []*string) *GetColumnStatisticsForPartitionInput { + s.ColumnNames = v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetColumnStatisticsForPartitionInput) SetDatabaseName(v string) *GetColumnStatisticsForPartitionInput { + s.DatabaseName = &v + return s +} + +// SetPartitionValues sets the PartitionValues field's value. +func (s *GetColumnStatisticsForPartitionInput) SetPartitionValues(v []*string) *GetColumnStatisticsForPartitionInput { + s.PartitionValues = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *GetColumnStatisticsForPartitionInput) SetTableName(v string) *GetColumnStatisticsForPartitionInput { + s.TableName = &v + return s +} + +type GetColumnStatisticsForPartitionOutput struct { + _ struct{} `type:"structure"` + + // List of ColumnStatistics that failed to be retrieved. + ColumnStatisticsList []*ColumnStatistics `type:"list"` + + // Error occurred during retrieving column statistics data. + Errors []*ColumnError `type:"list"` +} + +// String returns the string representation +func (s GetColumnStatisticsForPartitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetColumnStatisticsForPartitionOutput) GoString() string { + return s.String() +} + +// SetColumnStatisticsList sets the ColumnStatisticsList field's value. +func (s *GetColumnStatisticsForPartitionOutput) SetColumnStatisticsList(v []*ColumnStatistics) *GetColumnStatisticsForPartitionOutput { + s.ColumnStatisticsList = v + return s +} + +// SetErrors sets the Errors field's value. +func (s *GetColumnStatisticsForPartitionOutput) SetErrors(v []*ColumnError) *GetColumnStatisticsForPartitionOutput { + s.Errors = v + return s +} + +type GetColumnStatisticsForTableInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the partitions in question reside. If none + // is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // A list of the column names. + // + // ColumnNames is a required field + ColumnNames []*string `type:"list" required:"true"` + + // The name of the catalog database where the partitions reside. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the partitions' table. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetColumnStatisticsForTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetColumnStatisticsForTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetColumnStatisticsForTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetColumnStatisticsForTableInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.ColumnNames == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnNames")) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetColumnStatisticsForTableInput) SetCatalogId(v string) *GetColumnStatisticsForTableInput { + s.CatalogId = &v + return s +} + +// SetColumnNames sets the ColumnNames field's value. +func (s *GetColumnStatisticsForTableInput) SetColumnNames(v []*string) *GetColumnStatisticsForTableInput { + s.ColumnNames = v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetColumnStatisticsForTableInput) SetDatabaseName(v string) *GetColumnStatisticsForTableInput { + s.DatabaseName = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *GetColumnStatisticsForTableInput) SetTableName(v string) *GetColumnStatisticsForTableInput { + s.TableName = &v + return s +} + +type GetColumnStatisticsForTableOutput struct { + _ struct{} `type:"structure"` + + // List of ColumnStatistics that failed to be retrieved. + ColumnStatisticsList []*ColumnStatistics `type:"list"` + + // List of ColumnStatistics that failed to be retrieved. + Errors []*ColumnError `type:"list"` +} + +// String returns the string representation +func (s GetColumnStatisticsForTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetColumnStatisticsForTableOutput) GoString() string { + return s.String() +} + +// SetColumnStatisticsList sets the ColumnStatisticsList field's value. +func (s *GetColumnStatisticsForTableOutput) SetColumnStatisticsList(v []*ColumnStatistics) *GetColumnStatisticsForTableOutput { + s.ColumnStatisticsList = v + return s +} + +// SetErrors sets the Errors field's value. +func (s *GetColumnStatisticsForTableOutput) SetErrors(v []*ColumnError) *GetColumnStatisticsForTableOutput { + s.Errors = v + return s +} + type GetConnectionInput struct { _ struct{} `type:"structure"` @@ -21118,8 +23257,7 @@ func (s *GetConnectionOutput) SetConnection(v *Connection) *GetConnectionOutput type GetConnectionsFilter struct { _ struct{} `type:"structure"` - // The type of connections to return. Currently, only JDBC is supported; SFTP - // is not supported. + // The type of connections to return. Currently, SFTP is not supported. ConnectionType *string `type:"string" enum:"ConnectionType"` // A criteria string that must match the criteria recorded in the connection @@ -21641,6 +23779,15 @@ type GetDatabasesInput struct { // A continuation token, if this is a continuation call. NextToken *string `type:"string"` + + // Allows you to specify that you want to list the databases shared with your + // account. The allowable values are FOREIGN or ALL. + // + // * If set to FOREIGN, will list the databases shared with your account. + // + // * If set to ALL, will list the databases shared with your account, as + // well as the databases in yor local account. + ResourceShareType *string `type:"string" enum:"ResourceShareType"` } // String returns the string representation @@ -21687,6 +23834,12 @@ func (s *GetDatabasesInput) SetNextToken(v string) *GetDatabasesInput { return s } +// SetResourceShareType sets the ResourceShareType field's value. +func (s *GetDatabasesInput) SetResourceShareType(v string) *GetDatabasesInput { + s.ResourceShareType = &v + return s +} + type GetDatabasesOutput struct { _ struct{} `type:"structure"` @@ -23517,8 +25670,92 @@ func (s *GetPlanOutput) SetScalaCode(v string) *GetPlanOutput { return s } +type GetResourcePoliciesInput struct { + _ struct{} `type:"structure"` + + // The maximum size of a list to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetResourcePoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourcePoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResourcePoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourcePoliciesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetResourcePoliciesInput) SetMaxResults(v int64) *GetResourcePoliciesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetResourcePoliciesInput) SetNextToken(v string) *GetResourcePoliciesInput { + s.NextToken = &v + return s +} + +type GetResourcePoliciesOutput struct { + _ struct{} `type:"structure"` + + // A list of the individual resource policies and the account-level resource + // policy. + GetResourcePoliciesResponseList []*GluePolicy `type:"list"` + + // A continuation token, if the returned list does not contain the last resource + // policy available. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s GetResourcePoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourcePoliciesOutput) GoString() string { + return s.String() +} + +// SetGetResourcePoliciesResponseList sets the GetResourcePoliciesResponseList field's value. +func (s *GetResourcePoliciesOutput) SetGetResourcePoliciesResponseList(v []*GluePolicy) *GetResourcePoliciesOutput { + s.GetResourcePoliciesResponseList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetResourcePoliciesOutput) SetNextToken(v string) *GetResourcePoliciesOutput { + s.NextToken = &v + return s +} + type GetResourcePolicyInput struct { _ struct{} `type:"structure"` + + // The ARN of the AWS Glue resource for the resource policy to be retrieved. + // For more information about AWS Glue resource ARNs, see the AWS Glue ARN string + // pattern (https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-common.html#aws-glue-api-regex-aws-glue-arn-id) + ResourceArn *string `min:"1" type:"string"` } // String returns the string representation @@ -23531,6 +25768,25 @@ func (s GetResourcePolicyInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourcePolicyInput"} + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput { + s.ResourceArn = &v + return s +} + type GetResourcePolicyOutput struct { _ struct{} `type:"structure"` @@ -24489,7 +26745,9 @@ type GetUserDefinedFunctionsInput struct { // If none is provided, the AWS account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The name of the catalog database where the functions are located. + // The name of the catalog database where the functions are located. If none + // is provided, functions from all the databases across the catalog will be + // returned. DatabaseName *string `min:"1" type:"string"` // The maximum number of functions to return in one response. @@ -24951,6 +27209,57 @@ func (s *GetWorkflowRunsOutput) SetRuns(v []*WorkflowRun) *GetWorkflowRunsOutput return s } +// A structure for returning a resource policy. +type GluePolicy struct { + _ struct{} `type:"structure"` + + // The date and time at which the policy was created. + CreateTime *time.Time `type:"timestamp"` + + // Contains the hash value associated with this policy. + PolicyHash *string `min:"1" type:"string"` + + // Contains the requested policy document, in JSON format. + PolicyInJson *string `min:"2" type:"string"` + + // The date and time at which the policy was last updated. + UpdateTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s GluePolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GluePolicy) GoString() string { + return s.String() +} + +// SetCreateTime sets the CreateTime field's value. +func (s *GluePolicy) SetCreateTime(v time.Time) *GluePolicy { + s.CreateTime = &v + return s +} + +// SetPolicyHash sets the PolicyHash field's value. +func (s *GluePolicy) SetPolicyHash(v string) *GluePolicy { + s.PolicyHash = &v + return s +} + +// SetPolicyInJson sets the PolicyInJson field's value. +func (s *GluePolicy) SetPolicyInJson(v string) *GluePolicy { + s.PolicyInJson = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *GluePolicy) SetUpdateTime(v time.Time) *GluePolicy { + s.UpdateTime = &v + return s +} + // A classifier that uses grok patterns. type GrokClassifier struct { _ struct{} `type:"structure"` @@ -24965,11 +27274,11 @@ type GrokClassifier struct { CreationTime *time.Time `type:"timestamp"` // Optional custom grok patterns defined by this classifier. For more information, - // see custom patterns in Writing Custom Classifiers (http://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html). + // see custom patterns in Writing Custom Classifiers (https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html). CustomPatterns *string `type:"string"` // The grok pattern applied to a data store by this classifier. For more information, - // see built-in patterns in Writing Custom Classifiers (http://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html). + // see built-in patterns in Writing Custom Classifiers (https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html). // // GrokPattern is a required field GrokPattern *string `min:"1" type:"string" required:"true"` @@ -25095,6 +27404,63 @@ func (s *IdempotentParameterMismatchException) RequestID() string { return s.RespMetadata.RequestID } +// The workflow is in an invalid state to perform a requested operation. +type IllegalWorkflowStateException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A message describing the problem. + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s IllegalWorkflowStateException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IllegalWorkflowStateException) GoString() string { + return s.String() +} + +func newErrorIllegalWorkflowStateException(v protocol.ResponseMetadata) error { + return &IllegalWorkflowStateException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *IllegalWorkflowStateException) Code() string { + return "IllegalWorkflowStateException" +} + +// Message returns the exception's message. +func (s *IllegalWorkflowStateException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *IllegalWorkflowStateException) OrigErr() error { + return nil +} + +func (s *IllegalWorkflowStateException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *IllegalWorkflowStateException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *IllegalWorkflowStateException) RequestID() string { + return s.RespMetadata.RequestID +} + type ImportCatalogToGlueInput struct { _ struct{} `type:"structure"` @@ -25302,7 +27668,7 @@ type JdbcTarget struct { ConnectionName *string `type:"string"` // A list of glob patterns used to exclude from the crawl. For more information, - // see Catalog Tables with a Crawler (http://docs.aws.amazon.com/glue/latest/dg/add-crawler.html). + // see Catalog Tables with a Crawler (https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html). Exclusions []*string `type:"list"` // The path of the JDBC target. @@ -25407,14 +27773,16 @@ type Job struct { // Do not set Max Capacity if using WorkerType and NumberOfWorkers. // // The value that can be allocated for MaxCapacity depends on whether you are - // running a Python shell job or an Apache Spark ETL job: + // running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming + // ETL job: // // * When you specify a Python shell job (JobCommand.Name="pythonshell"), // you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. // - // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl"), - // you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job - // type cannot have a fractional DPU allocation. + // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl") + // or Apache Spark streaming ETL job (JobCommand.Name="gluestreaming"), you + // can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type + // cannot have a fractional DPU allocation. MaxCapacity *float64 `type:"double"` // The maximum number of times to retry this job after a JobRun fails. @@ -25710,7 +28078,8 @@ type JobCommand struct { _ struct{} `type:"structure"` // The name of the job command. For an Apache Spark ETL job, this must be glueetl. - // For a Python shell job, it must be pythonshell. + // For a Python shell job, it must be pythonshell. For an Apache Spark streaming + // ETL job, this must be gluestreaming. Name *string `type:"string"` // The Python version being used to execute a Python shell job. Allowed values @@ -26121,9 +28490,10 @@ type JobUpdate struct { // * When you specify a Python shell job (JobCommand.Name="pythonshell"), // you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU. // - // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl"), - // you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job - // type cannot have a fractional DPU allocation. + // * When you specify an Apache Spark ETL job (JobCommand.Name="glueetl") + // or Apache Spark streaming ETL job (JobCommand.Name="gluestreaming"), you + // can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type + // cannot have a fractional DPU allocation. MaxCapacity *float64 `type:"double"` // The maximum number of times to retry this job if it fails. @@ -27108,6 +29478,77 @@ func (s *Location) SetS3(v []*CodeGenNodeArg) *Location { return s } +// Defines a long column statistics data. +type LongColumnStatisticsData struct { + _ struct{} `type:"structure"` + + // Maximum value of the column. + MaximumValue *int64 `type:"long"` + + // Minimum value of the column. + MinimumValue *int64 `type:"long"` + + // Number of distinct values. + // + // NumberOfDistinctValues is a required field + NumberOfDistinctValues *int64 `type:"long" required:"true"` + + // Number of nulls. + // + // NumberOfNulls is a required field + NumberOfNulls *int64 `type:"long" required:"true"` +} + +// String returns the string representation +func (s LongColumnStatisticsData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LongColumnStatisticsData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LongColumnStatisticsData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LongColumnStatisticsData"} + if s.NumberOfDistinctValues == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfDistinctValues")) + } + if s.NumberOfNulls == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfNulls")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaximumValue sets the MaximumValue field's value. +func (s *LongColumnStatisticsData) SetMaximumValue(v int64) *LongColumnStatisticsData { + s.MaximumValue = &v + return s +} + +// SetMinimumValue sets the MinimumValue field's value. +func (s *LongColumnStatisticsData) SetMinimumValue(v int64) *LongColumnStatisticsData { + s.MinimumValue = &v + return s +} + +// SetNumberOfDistinctValues sets the NumberOfDistinctValues field's value. +func (s *LongColumnStatisticsData) SetNumberOfDistinctValues(v int64) *LongColumnStatisticsData { + s.NumberOfDistinctValues = &v + return s +} + +// SetNumberOfNulls sets the NumberOfNulls field's value. +func (s *LongColumnStatisticsData) SetNumberOfNulls(v int64) *LongColumnStatisticsData { + s.NumberOfNulls = &v + return s +} + // A structure for a machine learning transform. type MLTransform struct { _ struct{} `type:"structure"` @@ -27539,8 +29980,8 @@ func (s *NoScheduleException) RequestID() string { return s.RespMetadata.RequestID } -// A node represents an AWS Glue component like Trigger, Job etc. which is part -// of a workflow. +// A node represents an AWS Glue component such as a trigger, or job, etc., +// that is part of a workflow. type Node struct { _ struct{} `type:"structure"` @@ -27765,6 +30206,9 @@ func (s *Order) SetSortOrder(v int64) *Order { type Partition struct { _ struct{} `type:"structure"` + // The ID of the Data Catalog in which the partition resides. + CatalogId *string `min:"1" type:"string"` + // The time at which the partition was created. CreationTime *time.Time `type:"timestamp"` @@ -27800,6 +30244,12 @@ func (s Partition) GoString() string { return s.String() } +// SetCatalogId sets the CatalogId field's value. +func (s *Partition) SetCatalogId(v string) *Partition { + s.CatalogId = &v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *Partition) SetCreationTime(v time.Time) *Partition { s.CreationTime = &v @@ -28312,6 +30762,15 @@ func (s PutDataCatalogEncryptionSettingsOutput) GoString() string { type PutResourcePolicyInput struct { _ struct{} `type:"structure"` + // Allows you to specify if you want to use both resource-level and account/catalog-level + // resource policies. A resource-level policy is a policy attached to an individual + // resource such as a database or a table. + // + // The default value of NO indicates that resource-level policies cannot co-exist + // with an account-level policy. A value of YES means the use of both resource-level + // and account/catalog-level resource policies is allowed. + EnableHybrid *string `type:"string" enum:"EnableHybridValues"` + // A value of MUST_EXIST is used to update a policy. A value of NOT_EXIST is // used to create a new policy. If a value of NONE or a null value is used, // the call will not depend on the existence of a policy. @@ -28326,6 +30785,11 @@ type PutResourcePolicyInput struct { // // PolicyInJson is a required field PolicyInJson *string `min:"2" type:"string" required:"true"` + + // The ARN of the AWS Glue resource for the resource policy to be set. For more + // information about AWS Glue resource ARNs, see the AWS Glue ARN string pattern + // (https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-common.html#aws-glue-api-regex-aws-glue-arn-id) + ResourceArn *string `min:"1" type:"string"` } // String returns the string representation @@ -28350,6 +30814,9 @@ func (s *PutResourcePolicyInput) Validate() error { if s.PolicyInJson != nil && len(*s.PolicyInJson) < 2 { invalidParams.Add(request.NewErrParamMinLen("PolicyInJson", 2)) } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -28357,6 +30824,12 @@ func (s *PutResourcePolicyInput) Validate() error { return nil } +// SetEnableHybrid sets the EnableHybrid field's value. +func (s *PutResourcePolicyInput) SetEnableHybrid(v string) *PutResourcePolicyInput { + s.EnableHybrid = &v + return s +} + // SetPolicyExistsCondition sets the PolicyExistsCondition field's value. func (s *PutResourcePolicyInput) SetPolicyExistsCondition(v string) *PutResourcePolicyInput { s.PolicyExistsCondition = &v @@ -28375,6 +30848,12 @@ func (s *PutResourcePolicyInput) SetPolicyInJson(v string) *PutResourcePolicyInp return s } +// SetResourceArn sets the ResourceArn field's value. +func (s *PutResourcePolicyInput) SetResourceArn(v string) *PutResourcePolicyInput { + s.ResourceArn = &v + return s +} + type PutResourcePolicyOutput struct { _ struct{} `type:"structure"` @@ -28658,6 +31137,112 @@ func (s *ResourceUri) SetUri(v string) *ResourceUri { return s } +type ResumeWorkflowRunInput struct { + _ struct{} `type:"structure"` + + // The name of the workflow to resume. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A list of the node IDs for the nodes you want to restart. The nodes that + // are to be restarted must have an execution attempt in the original run. + // + // NodeIds is a required field + NodeIds []*string `type:"list" required:"true"` + + // The ID of the workflow run to resume. + // + // RunId is a required field + RunId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ResumeWorkflowRunInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResumeWorkflowRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResumeWorkflowRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResumeWorkflowRunInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.NodeIds == nil { + invalidParams.Add(request.NewErrParamRequired("NodeIds")) + } + if s.RunId == nil { + invalidParams.Add(request.NewErrParamRequired("RunId")) + } + if s.RunId != nil && len(*s.RunId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RunId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *ResumeWorkflowRunInput) SetName(v string) *ResumeWorkflowRunInput { + s.Name = &v + return s +} + +// SetNodeIds sets the NodeIds field's value. +func (s *ResumeWorkflowRunInput) SetNodeIds(v []*string) *ResumeWorkflowRunInput { + s.NodeIds = v + return s +} + +// SetRunId sets the RunId field's value. +func (s *ResumeWorkflowRunInput) SetRunId(v string) *ResumeWorkflowRunInput { + s.RunId = &v + return s +} + +type ResumeWorkflowRunOutput struct { + _ struct{} `type:"structure"` + + // A list of the node IDs for the nodes that were actually restarted. + NodeIds []*string `type:"list"` + + // The new ID assigned to the resumed workflow run. Each resume of a workflow + // run will have a new run ID. + RunId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ResumeWorkflowRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResumeWorkflowRunOutput) GoString() string { + return s.String() +} + +// SetNodeIds sets the NodeIds field's value. +func (s *ResumeWorkflowRunOutput) SetNodeIds(v []*string) *ResumeWorkflowRunOutput { + s.NodeIds = v + return s +} + +// SetRunId sets the RunId field's value. +func (s *ResumeWorkflowRunOutput) SetRunId(v string) *ResumeWorkflowRunOutput { + s.RunId = &v + return s +} + // Specifies how Amazon Simple Storage Service (Amazon S3) data should be encrypted. type S3Encryption struct { _ struct{} `type:"structure"` @@ -28695,8 +31280,12 @@ func (s *S3Encryption) SetS3EncryptionMode(v string) *S3Encryption { type S3Target struct { _ struct{} `type:"structure"` + // The name of a connection which allows a job or crawler to access data in + // Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC). + ConnectionName *string `type:"string"` + // A list of glob patterns used to exclude from the crawl. For more information, - // see Catalog Tables with a Crawler (http://docs.aws.amazon.com/glue/latest/dg/add-crawler.html). + // see Catalog Tables with a Crawler (https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html). Exclusions []*string `type:"list"` // The path to the Amazon S3 target. @@ -28713,6 +31302,12 @@ func (s S3Target) GoString() string { return s.String() } +// SetConnectionName sets the ConnectionName field's value. +func (s *S3Target) SetConnectionName(v string) *S3Target { + s.ConnectionName = &v + return s +} + // SetExclusions sets the Exclusions field's value. func (s *S3Target) SetExclusions(v []*string) *S3Target { s.Exclusions = v @@ -28729,10 +31324,10 @@ func (s *S3Target) SetPath(v string) *S3Target { type Schedule struct { _ struct{} `type:"structure"` - // A cron expression used to specify the schedule. For more information, see - // Time-Based Schedules for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). - // For example, to run something every day at 12:15 UTC, specify cron(15 12 - // * * ? *). + // A cron expression used to specify the schedule (see Time-Based Schedules + // for Jobs and Crawlers (https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). + // For example, to run something every day at 12:15 UTC, you would specify: + // cron(15 12 * * ? *). ScheduleExpression *string `type:"string"` // The state of the schedule. @@ -29016,11 +31611,20 @@ func (s *SchemaColumn) SetName(v string) *SchemaColumn { type SearchTablesInput struct { _ struct{} `type:"structure"` - // A unique identifier, consisting of account_id/datalake. + // A unique identifier, consisting of account_id . CatalogId *string `min:"1" type:"string"` // A list of key-value pairs, and a comparator used to filter the search results. // Returns all entities matching the predicate. + // + // The Comparator member of the PropertyPredicate struct is used only for time + // fields, and can be omitted for other field types. Also, when comparing string + // values, such as when Key=Name, a fuzzy match algorithm is used. The Key field + // (for example, the value of the Name field) is split on certain punctuation + // characters, for example, -, :, #, etc. into tokens. Then each token is exact-match + // compared with the Value member of PropertyPredicate. For example, if Key=Name + // and Value=link, tables named customer-link and xx-link-yy are returned, but + // xxlinkyy is not returned. Filters []*PropertyPredicate `type:"list"` // The maximum number of tables to return in a single response. @@ -29029,6 +31633,15 @@ type SearchTablesInput struct { // A continuation token, included if this is a continuation call. NextToken *string `type:"string"` + // Allows you to specify that you want to search the tables shared with your + // account. The allowable values are FOREIGN or ALL. + // + // * If set to FOREIGN, will search the tables shared with your account. + // + // * If set to ALL, will search the tables shared with your account, as well + // as the tables in yor local account. + ResourceShareType *string `type:"string" enum:"ResourceShareType"` + // A string used for a text search. // // Specifying a value in quotes filters based on an exact match to the value. @@ -29089,6 +31702,12 @@ func (s *SearchTablesInput) SetNextToken(v string) *SearchTablesInput { return s } +// SetResourceShareType sets the ResourceShareType field's value. +func (s *SearchTablesInput) SetResourceShareType(v string) *SearchTablesInput { + s.ResourceShareType = &v + return s +} + // SetSearchText sets the SearchText field's value. func (s *SearchTablesInput) SetSearchText(v string) *SearchTablesInput { s.SearchText = &v @@ -30302,6 +32921,78 @@ func (s *StopTriggerOutput) SetName(v string) *StopTriggerOutput { return s } +type StopWorkflowRunInput struct { + _ struct{} `type:"structure"` + + // The name of the workflow to stop. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The ID of the workflow run to stop. + // + // RunId is a required field + RunId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s StopWorkflowRunInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopWorkflowRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopWorkflowRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopWorkflowRunInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RunId == nil { + invalidParams.Add(request.NewErrParamRequired("RunId")) + } + if s.RunId != nil && len(*s.RunId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RunId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *StopWorkflowRunInput) SetName(v string) *StopWorkflowRunInput { + s.Name = &v + return s +} + +// SetRunId sets the RunId field's value. +func (s *StopWorkflowRunInput) SetRunId(v string) *StopWorkflowRunInput { + s.RunId = &v + return s +} + +type StopWorkflowRunOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s StopWorkflowRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StopWorkflowRunOutput) GoString() string { + return s.String() +} + // Describes the physical storage of table data. type StorageDescriptor struct { _ struct{} `type:"structure"` @@ -30465,6 +33156,87 @@ func (s *StorageDescriptor) SetStoredAsSubDirectories(v bool) *StorageDescriptor return s } +// Defines a string column statistics data. +type StringColumnStatisticsData struct { + _ struct{} `type:"structure"` + + // Average value of the column. + // + // AverageLength is a required field + AverageLength *float64 `type:"double" required:"true"` + + // Maximum value of the column. + // + // MaximumLength is a required field + MaximumLength *int64 `type:"long" required:"true"` + + // Number of distinct values. + // + // NumberOfDistinctValues is a required field + NumberOfDistinctValues *int64 `type:"long" required:"true"` + + // Number of nulls. + // + // NumberOfNulls is a required field + NumberOfNulls *int64 `type:"long" required:"true"` +} + +// String returns the string representation +func (s StringColumnStatisticsData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StringColumnStatisticsData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StringColumnStatisticsData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StringColumnStatisticsData"} + if s.AverageLength == nil { + invalidParams.Add(request.NewErrParamRequired("AverageLength")) + } + if s.MaximumLength == nil { + invalidParams.Add(request.NewErrParamRequired("MaximumLength")) + } + if s.NumberOfDistinctValues == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfDistinctValues")) + } + if s.NumberOfNulls == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfNulls")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAverageLength sets the AverageLength field's value. +func (s *StringColumnStatisticsData) SetAverageLength(v float64) *StringColumnStatisticsData { + s.AverageLength = &v + return s +} + +// SetMaximumLength sets the MaximumLength field's value. +func (s *StringColumnStatisticsData) SetMaximumLength(v int64) *StringColumnStatisticsData { + s.MaximumLength = &v + return s +} + +// SetNumberOfDistinctValues sets the NumberOfDistinctValues field's value. +func (s *StringColumnStatisticsData) SetNumberOfDistinctValues(v int64) *StringColumnStatisticsData { + s.NumberOfDistinctValues = &v + return s +} + +// SetNumberOfNulls sets the NumberOfNulls field's value. +func (s *StringColumnStatisticsData) SetNumberOfNulls(v int64) *StringColumnStatisticsData { + s.NumberOfNulls = &v + return s +} + // The database and table in the AWS Glue Data Catalog that is used for input // or output data. type Table struct { @@ -30553,6 +33325,9 @@ func (s *Table) SetTableName(v string) *Table { type TableData struct { _ struct{} `type:"structure"` + // The ID of the Data Catalog in which the table resides. + CatalogId *string `min:"1" type:"string"` + // The time when the table definition was created in the Data Catalog. CreateTime *time.Time `type:"timestamp"` @@ -30607,6 +33382,9 @@ type TableData struct { // The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.). TableType *string `type:"string"` + // A TableIdentifier structure that describes a target table for resource linking. + TargetTable *TableIdentifier `type:"structure"` + // The last time that the table was updated. UpdateTime *time.Time `type:"timestamp"` @@ -30627,6 +33405,12 @@ func (s TableData) GoString() string { return s.String() } +// SetCatalogId sets the CatalogId field's value. +func (s *TableData) SetCatalogId(v string) *TableData { + s.CatalogId = &v + return s +} + // SetCreateTime sets the CreateTime field's value. func (s *TableData) SetCreateTime(v time.Time) *TableData { s.CreateTime = &v @@ -30711,6 +33495,12 @@ func (s *TableData) SetTableType(v string) *TableData { return s } +// SetTargetTable sets the TargetTable field's value. +func (s *TableData) SetTargetTable(v *TableIdentifier) *TableData { + s.TargetTable = v + return s +} + // SetUpdateTime sets the UpdateTime field's value. func (s *TableData) SetUpdateTime(v time.Time) *TableData { s.UpdateTime = &v @@ -30762,6 +33552,67 @@ func (s *TableError) SetTableName(v string) *TableError { return s } +// A structure that describes a target table for resource linking. +type TableIdentifier struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog in which the table resides. + CatalogId *string `min:"1" type:"string"` + + // The name of the catalog database that contains the target table. + DatabaseName *string `min:"1" type:"string"` + + // The name of the target table. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s TableIdentifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TableIdentifier) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TableIdentifier) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TableIdentifier"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *TableIdentifier) SetCatalogId(v string) *TableIdentifier { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *TableIdentifier) SetDatabaseName(v string) *TableIdentifier { + s.DatabaseName = &v + return s +} + +// SetName sets the Name field's value. +func (s *TableIdentifier) SetName(v string) *TableIdentifier { + s.Name = &v + return s +} + // A structure used to define a table. type TableInput struct { _ struct{} `type:"structure"` @@ -30807,6 +33658,9 @@ type TableInput struct { // The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.). TableType *string `type:"string"` + // A TableIdentifier structure that describes a target table for resource linking. + TargetTable *TableIdentifier `type:"structure"` + // If the table is a view, the expanded text of the view; otherwise null. ViewExpandedText *string `type:"string"` @@ -30851,6 +33705,11 @@ func (s *TableInput) Validate() error { invalidParams.AddNested("StorageDescriptor", err.(request.ErrInvalidParams)) } } + if s.TargetTable != nil { + if err := s.TargetTable.Validate(); err != nil { + invalidParams.AddNested("TargetTable", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -30918,6 +33777,12 @@ func (s *TableInput) SetTableType(v string) *TableInput { return s } +// SetTargetTable sets the TargetTable field's value. +func (s *TableInput) SetTargetTable(v *TableIdentifier) *TableInput { + s.TargetTable = v + return s +} + // SetViewExpandedText sets the ViewExpandedText field's value. func (s *TableInput) SetViewExpandedText(v string) *TableInput { s.ViewExpandedText = &v @@ -31973,6 +34838,256 @@ func (s UpdateClassifierOutput) GoString() string { return s.String() } +type UpdateColumnStatisticsForPartitionInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the partitions in question reside. If none + // is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // A list of the column statistics. + // + // ColumnStatisticsList is a required field + ColumnStatisticsList []*ColumnStatistics `type:"list" required:"true"` + + // The name of the catalog database where the partitions reside. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A list of partition values identifying the partition. + // + // PartitionValues is a required field + PartitionValues []*string `type:"list" required:"true"` + + // The name of the partitions' table. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateColumnStatisticsForPartitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateColumnStatisticsForPartitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateColumnStatisticsForPartitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateColumnStatisticsForPartitionInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.ColumnStatisticsList == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnStatisticsList")) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.PartitionValues == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionValues")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.ColumnStatisticsList != nil { + for i, v := range s.ColumnStatisticsList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ColumnStatisticsList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *UpdateColumnStatisticsForPartitionInput) SetCatalogId(v string) *UpdateColumnStatisticsForPartitionInput { + s.CatalogId = &v + return s +} + +// SetColumnStatisticsList sets the ColumnStatisticsList field's value. +func (s *UpdateColumnStatisticsForPartitionInput) SetColumnStatisticsList(v []*ColumnStatistics) *UpdateColumnStatisticsForPartitionInput { + s.ColumnStatisticsList = v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *UpdateColumnStatisticsForPartitionInput) SetDatabaseName(v string) *UpdateColumnStatisticsForPartitionInput { + s.DatabaseName = &v + return s +} + +// SetPartitionValues sets the PartitionValues field's value. +func (s *UpdateColumnStatisticsForPartitionInput) SetPartitionValues(v []*string) *UpdateColumnStatisticsForPartitionInput { + s.PartitionValues = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *UpdateColumnStatisticsForPartitionInput) SetTableName(v string) *UpdateColumnStatisticsForPartitionInput { + s.TableName = &v + return s +} + +type UpdateColumnStatisticsForPartitionOutput struct { + _ struct{} `type:"structure"` + + // Error occurred during updating column statistics data. + Errors []*ColumnStatisticsError `type:"list"` +} + +// String returns the string representation +func (s UpdateColumnStatisticsForPartitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateColumnStatisticsForPartitionOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *UpdateColumnStatisticsForPartitionOutput) SetErrors(v []*ColumnStatisticsError) *UpdateColumnStatisticsForPartitionOutput { + s.Errors = v + return s +} + +type UpdateColumnStatisticsForTableInput struct { + _ struct{} `type:"structure"` + + // The ID of the Data Catalog where the partitions in question reside. If none + // is supplied, the AWS account ID is used by default. + CatalogId *string `min:"1" type:"string"` + + // A list of the column statistics. + // + // ColumnStatisticsList is a required field + ColumnStatisticsList []*ColumnStatistics `type:"list" required:"true"` + + // The name of the catalog database where the partitions reside. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name of the partitions' table. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateColumnStatisticsForTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateColumnStatisticsForTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateColumnStatisticsForTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateColumnStatisticsForTableInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.ColumnStatisticsList == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnStatisticsList")) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.ColumnStatisticsList != nil { + for i, v := range s.ColumnStatisticsList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ColumnStatisticsList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *UpdateColumnStatisticsForTableInput) SetCatalogId(v string) *UpdateColumnStatisticsForTableInput { + s.CatalogId = &v + return s +} + +// SetColumnStatisticsList sets the ColumnStatisticsList field's value. +func (s *UpdateColumnStatisticsForTableInput) SetColumnStatisticsList(v []*ColumnStatistics) *UpdateColumnStatisticsForTableInput { + s.ColumnStatisticsList = v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *UpdateColumnStatisticsForTableInput) SetDatabaseName(v string) *UpdateColumnStatisticsForTableInput { + s.DatabaseName = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *UpdateColumnStatisticsForTableInput) SetTableName(v string) *UpdateColumnStatisticsForTableInput { + s.TableName = &v + return s +} + +type UpdateColumnStatisticsForTableOutput struct { + _ struct{} `type:"structure"` + + // List of ColumnStatisticsErrors. + Errors []*ColumnStatisticsError `type:"list"` +} + +// String returns the string representation +func (s UpdateColumnStatisticsForTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateColumnStatisticsForTableOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *UpdateColumnStatisticsForTableOutput) SetErrors(v []*ColumnStatisticsError) *UpdateColumnStatisticsForTableOutput { + s.Errors = v + return s +} + type UpdateConnectionInput struct { _ struct{} `type:"structure"` @@ -32068,9 +35183,9 @@ type UpdateCrawlerInput struct { // always override the default classifiers for a given classification. Classifiers []*string `type:"list"` - // The crawler configuration information. This versioned JSON string allows - // users to specify aspects of a crawler's behavior. For more information, see - // Configuring a Crawler (http://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html). + // Crawler configuration information. This versioned JSON string allows users + // to specify aspects of a crawler's behavior. For more information, see Configuring + // a Crawler (https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html). Configuration *string `type:"string"` // The name of the SecurityConfiguration structure to be used by this crawler. @@ -32091,10 +35206,10 @@ type UpdateCrawlerInput struct { // the new crawler to access customer resources. Role *string `type:"string"` - // A cron expression used to specify the schedule. For more information, see - // Time-Based Schedules for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). - // For example, to run something every day at 12:15 UTC, specify cron(15 12 - // * * ? *). + // A cron expression used to specify the schedule (see Time-Based Schedules + // for Jobs and Crawlers (https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). + // For example, to run something every day at 12:15 UTC, you would specify: + // cron(15 12 * * ? *). Schedule *string `type:"string"` // The policy for the crawler's update and deletion behavior. @@ -32226,10 +35341,10 @@ type UpdateCrawlerScheduleInput struct { // CrawlerName is a required field CrawlerName *string `min:"1" type:"string" required:"true"` - // The updated cron expression used to specify the schedule. For more information, - // see Time-Based Schedules for Jobs and Crawlers (http://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). - // For example, to run something every day at 12:15 UTC, specify cron(15 12 - // * * ? *). + // The updated cron expression used to specify the schedule (see Time-Based + // Schedules for Jobs and Crawlers (https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html). + // For example, to run something every day at 12:15 UTC, you would specify: + // cron(15 12 * * ? *). Schedule *string `type:"string"` } @@ -33025,10 +36140,13 @@ type UpdatePartitionInput struct { // The new partition object to update the partition to. // + // The Values property can't be changed. If you want to change the partition + // key values for a partition, delete and recreate the partition. + // // PartitionInput is a required field PartitionInput *PartitionInput `type:"structure" required:"true"` - // A list of the values defining the partition. + // List of partition key values that define the partition to update. // // PartitionValueList is a required field PartitionValueList []*string `type:"list" required:"true"` @@ -33565,12 +36683,18 @@ func (s *UpdateXMLClassifierRequest) SetRowTag(v string) *UpdateXMLClassifierReq type UserDefinedFunction struct { _ struct{} `type:"structure"` + // The ID of the Data Catalog in which the function resides. + CatalogId *string `min:"1" type:"string"` + // The Java class that contains the function code. ClassName *string `min:"1" type:"string"` // The time at which the function was created. CreateTime *time.Time `type:"timestamp"` + // The name of the catalog database that contains the function. + DatabaseName *string `min:"1" type:"string"` + // The name of the function. FunctionName *string `min:"1" type:"string"` @@ -33594,6 +36718,12 @@ func (s UserDefinedFunction) GoString() string { return s.String() } +// SetCatalogId sets the CatalogId field's value. +func (s *UserDefinedFunction) SetCatalogId(v string) *UserDefinedFunction { + s.CatalogId = &v + return s +} + // SetClassName sets the ClassName field's value. func (s *UserDefinedFunction) SetClassName(v string) *UserDefinedFunction { s.ClassName = &v @@ -33606,6 +36736,12 @@ func (s *UserDefinedFunction) SetCreateTime(v time.Time) *UserDefinedFunction { return s } +// SetDatabaseName sets the DatabaseName field's value. +func (s *UserDefinedFunction) SetDatabaseName(v string) *UserDefinedFunction { + s.DatabaseName = &v + return s +} + // SetFunctionName sets the FunctionName field's value. func (s *UserDefinedFunction) SetFunctionName(v string) *UserDefinedFunction { s.FunctionName = &v @@ -33961,9 +37097,12 @@ type WorkflowRun struct { // as nodes and directed connections between them as edges. Graph *WorkflowGraph `type:"structure"` - // Name of the workflow which was executed. + // Name of the workflow that was executed. Name *string `min:"1" type:"string"` + // The ID of the previous workflow run. + PreviousRunId *string `min:"1" type:"string"` + // The date and time when the workflow run was started. StartedOn *time.Time `type:"timestamp"` @@ -34008,6 +37147,12 @@ func (s *WorkflowRun) SetName(v string) *WorkflowRun { return s } +// SetPreviousRunId sets the PreviousRunId field's value. +func (s *WorkflowRun) SetPreviousRunId(v string) *WorkflowRun { + s.PreviousRunId = &v + return s +} + // SetStartedOn sets the StartedOn field's value. func (s *WorkflowRun) SetStartedOn(v time.Time) *WorkflowRun { s.StartedOn = &v @@ -34042,19 +37187,19 @@ func (s *WorkflowRun) SetWorkflowRunProperties(v map[string]*string) *WorkflowRu type WorkflowRunStatistics struct { _ struct{} `type:"structure"` - // Total number of Actions which have failed. + // Total number of Actions that have failed. FailedActions *int64 `type:"integer"` // Total number Actions in running state. RunningActions *int64 `type:"integer"` - // Total number of Actions which have stopped. + // Total number of Actions that have stopped. StoppedActions *int64 `type:"integer"` - // Total number of Actions which have succeeded. + // Total number of Actions that have succeeded. SucceededActions *int64 `type:"integer"` - // Total number of Actions which timed out. + // Total number of Actions that timed out. TimeoutActions *int64 `type:"integer"` // Total number of Actions in the workflow run. @@ -34200,6 +37345,29 @@ const ( CloudWatchEncryptionModeSseKms = "SSE-KMS" ) +const ( + // ColumnStatisticsTypeBoolean is a ColumnStatisticsType enum value + ColumnStatisticsTypeBoolean = "BOOLEAN" + + // ColumnStatisticsTypeDate is a ColumnStatisticsType enum value + ColumnStatisticsTypeDate = "DATE" + + // ColumnStatisticsTypeDecimal is a ColumnStatisticsType enum value + ColumnStatisticsTypeDecimal = "DECIMAL" + + // ColumnStatisticsTypeDouble is a ColumnStatisticsType enum value + ColumnStatisticsTypeDouble = "DOUBLE" + + // ColumnStatisticsTypeLong is a ColumnStatisticsType enum value + ColumnStatisticsTypeLong = "LONG" + + // ColumnStatisticsTypeString is a ColumnStatisticsType enum value + ColumnStatisticsTypeString = "STRING" + + // ColumnStatisticsTypeBinary is a ColumnStatisticsType enum value + ColumnStatisticsTypeBinary = "BINARY" +) + const ( // ComparatorEquals is a Comparator enum value ComparatorEquals = "EQUALS" @@ -34271,6 +37439,15 @@ const ( // ConnectionPropertyKeyKafkaBootstrapServers is a ConnectionPropertyKey enum value ConnectionPropertyKeyKafkaBootstrapServers = "KAFKA_BOOTSTRAP_SERVERS" + + // ConnectionPropertyKeyKafkaSslEnabled is a ConnectionPropertyKey enum value + ConnectionPropertyKeyKafkaSslEnabled = "KAFKA_SSL_ENABLED" + + // ConnectionPropertyKeyKafkaCustomCert is a ConnectionPropertyKey enum value + ConnectionPropertyKeyKafkaCustomCert = "KAFKA_CUSTOM_CERT" + + // ConnectionPropertyKeyKafkaSkipCustomCertValidation is a ConnectionPropertyKey enum value + ConnectionPropertyKeyKafkaSkipCustomCertValidation = "KAFKA_SKIP_CUSTOM_CERT_VALIDATION" ) const ( @@ -34285,18 +37462,24 @@ const ( // ConnectionTypeKafka is a ConnectionType enum value ConnectionTypeKafka = "KAFKA" + + // ConnectionTypeNetwork is a ConnectionType enum value + ConnectionTypeNetwork = "NETWORK" ) const ( // CrawlStateRunning is a CrawlState enum value CrawlStateRunning = "RUNNING" - // CrawlStateSucceeded is a CrawlState enum value - CrawlStateSucceeded = "SUCCEEDED" + // CrawlStateCancelling is a CrawlState enum value + CrawlStateCancelling = "CANCELLING" // CrawlStateCancelled is a CrawlState enum value CrawlStateCancelled = "CANCELLED" + // CrawlStateSucceeded is a CrawlState enum value + CrawlStateSucceeded = "SUCCEEDED" + // CrawlStateFailed is a CrawlState enum value CrawlStateFailed = "FAILED" ) @@ -34334,6 +37517,14 @@ const ( DeleteBehaviorDeprecateInDatabase = "DEPRECATE_IN_DATABASE" ) +const ( + // EnableHybridValuesTrue is a EnableHybridValues enum value + EnableHybridValuesTrue = "TRUE" + + // EnableHybridValuesFalse is a EnableHybridValues enum value + EnableHybridValuesFalse = "FALSE" +) + const ( // ExistConditionMustExist is a ExistCondition enum value ExistConditionMustExist = "MUST_EXIST" @@ -34459,6 +37650,14 @@ const ( PrincipalTypeGroup = "GROUP" ) +const ( + // ResourceShareTypeForeign is a ResourceShareType enum value + ResourceShareTypeForeign = "FOREIGN" + + // ResourceShareTypeAll is a ResourceShareType enum value + ResourceShareTypeAll = "ALL" +) + const ( // ResourceTypeJar is a ResourceType enum value ResourceTypeJar = "JAR" @@ -34654,4 +37853,10 @@ const ( // WorkflowRunStatusCompleted is a WorkflowRunStatus enum value WorkflowRunStatusCompleted = "COMPLETED" + + // WorkflowRunStatusStopping is a WorkflowRunStatus enum value + WorkflowRunStatusStopping = "STOPPING" + + // WorkflowRunStatusStopped is a WorkflowRunStatus enum value + WorkflowRunStatusStopped = "STOPPED" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/glue/errors.go b/vendor/github.com/aws/aws-sdk-go/service/glue/errors.go index dc5ad7afd38..95a992b0233 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/glue/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/glue/errors.go @@ -74,6 +74,12 @@ const ( // The same unique identifier was associated with two different records. ErrCodeIdempotentParameterMismatchException = "IdempotentParameterMismatchException" + // ErrCodeIllegalWorkflowStateException for service response error code + // "IllegalWorkflowStateException". + // + // The workflow is in an invalid state to perform a requested operation. + ErrCodeIllegalWorkflowStateException = "IllegalWorkflowStateException" + // ErrCodeInternalServiceException for service response error code // "InternalServiceException". // @@ -153,6 +159,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "GlueEncryptionException": newErrorEncryptionException, "EntityNotFoundException": newErrorEntityNotFoundException, "IdempotentParameterMismatchException": newErrorIdempotentParameterMismatchException, + "IllegalWorkflowStateException": newErrorIllegalWorkflowStateException, "InternalServiceException": newErrorInternalServiceException, "InvalidInputException": newErrorInvalidInputException, "MLTransformNotReadyException": newErrorMLTransformNotReadyException, diff --git a/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go b/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go index b1e8e563acc..d1d3711f585 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/guardduty/api.go @@ -4,6 +4,7 @@ package guardduty import ( "fmt" + "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" @@ -228,7 +229,8 @@ func (c *GuardDuty) CreateDetectorRequest(input *CreateDetectorInput) (req *requ // Creates a single Amazon GuardDuty detector. A detector is a resource that // represents the GuardDuty service. To start using GuardDuty, you must create // a detector in each Region where you enable the service. You can have only -// one detector per account per Region. +// one detector per account per Region. All data sources are enabled in a new +// detector by default. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -479,8 +481,17 @@ func (c *GuardDuty) CreateMembersRequest(input *CreateMembersInput) (req *reques // CreateMembers API operation for Amazon GuardDuty. // // Creates member accounts of the current AWS account by specifying a list of -// AWS account IDs. The current AWS account can then invite these members to -// manage GuardDuty in their accounts. +// AWS account IDs. This step is a prerequisite for managing the associated +// member accounts either by invitation or through an organization. +// +// When using Create Members as an organizations delegated administrator this +// action will enable GuardDuty in the added member accounts, with the exception +// of the organization master account, which must enable GuardDuty prior to +// being added as a member. +// +// If you are adding accounts by invitation use this action after GuardDuty +// has been enabled in potential member accounts and before using Invite Members +// (https://docs.aws.amazon.com/guardduty/latest/APIReference/API_InviteMembers.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 @@ -1646,8 +1657,8 @@ func (c *GuardDuty) DisableOrganizationAdminAccountRequest(input *DisableOrganiz // DisableOrganizationAdminAccount API operation for Amazon GuardDuty. // -// Disables GuardDuty administrator permissions for an AWS account within the -// Organization. +// Disables an AWS account within the Organization as the GuardDuty delegated +// administrator. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1896,8 +1907,8 @@ func (c *GuardDuty) EnableOrganizationAdminAccountRequest(input *EnableOrganizat // EnableOrganizationAdminAccount API operation for Amazon GuardDuty. // -// Enables GuardDuty administrator permissions for an AWS account within the -// organization. +// Enables an AWS account within the organization as the GuardDuty delegated +// administrator. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2511,6 +2522,88 @@ func (c *GuardDuty) GetMasterAccountWithContext(ctx aws.Context, input *GetMaste return out, req.Send() } +const opGetMemberDetectors = "GetMemberDetectors" + +// GetMemberDetectorsRequest generates a "aws/request.Request" representing the +// client's request for the GetMemberDetectors operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetMemberDetectors for more information on using the GetMemberDetectors +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetMemberDetectorsRequest method. +// req, resp := client.GetMemberDetectorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMemberDetectors +func (c *GuardDuty) GetMemberDetectorsRequest(input *GetMemberDetectorsInput) (req *request.Request, output *GetMemberDetectorsOutput) { + op := &request.Operation{ + Name: opGetMemberDetectors, + HTTPMethod: "POST", + HTTPPath: "/detector/{detectorId}/member/detector/get", + } + + if input == nil { + input = &GetMemberDetectorsInput{} + } + + output = &GetMemberDetectorsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetMemberDetectors API operation for Amazon GuardDuty. +// +// Describes which data sources are enabled for the member account's detector. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GuardDuty's +// API operation GetMemberDetectors for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// A bad request exception object. +// +// * InternalServerErrorException +// An internal server error exception object. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMemberDetectors +func (c *GuardDuty) GetMemberDetectors(input *GetMemberDetectorsInput) (*GetMemberDetectorsOutput, error) { + req, out := c.GetMemberDetectorsRequest(input) + return out, req.Send() +} + +// GetMemberDetectorsWithContext is the same as GetMemberDetectors with the addition of +// the ability to pass a context and additional request options. +// +// See GetMemberDetectors for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GuardDuty) GetMemberDetectorsWithContext(ctx aws.Context, input *GetMemberDetectorsInput, opts ...request.Option) (*GetMemberDetectorsOutput, error) { + req, out := c.GetMemberDetectorsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetMembers = "GetMembers" // GetMembersRequest generates a "aws/request.Request" representing the @@ -2676,6 +2769,151 @@ func (c *GuardDuty) GetThreatIntelSetWithContext(ctx aws.Context, input *GetThre return out, req.Send() } +const opGetUsageStatistics = "GetUsageStatistics" + +// GetUsageStatisticsRequest generates a "aws/request.Request" representing the +// client's request for the GetUsageStatistics operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetUsageStatistics for more information on using the GetUsageStatistics +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetUsageStatisticsRequest method. +// req, resp := client.GetUsageStatisticsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatistics +func (c *GuardDuty) GetUsageStatisticsRequest(input *GetUsageStatisticsInput) (req *request.Request, output *GetUsageStatisticsOutput) { + op := &request.Operation{ + Name: opGetUsageStatistics, + HTTPMethod: "POST", + HTTPPath: "/detector/{detectorId}/usage/statistics", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetUsageStatisticsInput{} + } + + output = &GetUsageStatisticsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetUsageStatistics API operation for Amazon GuardDuty. +// +// Lists Amazon GuardDuty usage statistics over the last 30 days for the specified +// detector ID. For newly enabled detectors or data sources the cost returned +// will include only the usage so far under 30 days, this may differ from the +// cost metrics in the console, which projects usage over 30 days to provide +// a monthly cost estimate. For more information see Understanding How Usage +// Costs are Calculated (https://docs.aws.amazon.com/guardduty/latest/ug/monitoring_costs.html#usage-calculations). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GuardDuty's +// API operation GetUsageStatistics for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// A bad request exception object. +// +// * InternalServerErrorException +// An internal server error exception object. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatistics +func (c *GuardDuty) GetUsageStatistics(input *GetUsageStatisticsInput) (*GetUsageStatisticsOutput, error) { + req, out := c.GetUsageStatisticsRequest(input) + return out, req.Send() +} + +// GetUsageStatisticsWithContext is the same as GetUsageStatistics with the addition of +// the ability to pass a context and additional request options. +// +// See GetUsageStatistics for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GuardDuty) GetUsageStatisticsWithContext(ctx aws.Context, input *GetUsageStatisticsInput, opts ...request.Option) (*GetUsageStatisticsOutput, error) { + req, out := c.GetUsageStatisticsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetUsageStatisticsPages iterates over the pages of a GetUsageStatistics operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetUsageStatistics 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 GetUsageStatistics operation. +// pageNum := 0 +// err := client.GetUsageStatisticsPages(params, +// func(page *guardduty.GetUsageStatisticsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *GuardDuty) GetUsageStatisticsPages(input *GetUsageStatisticsInput, fn func(*GetUsageStatisticsOutput, bool) bool) error { + return c.GetUsageStatisticsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetUsageStatisticsPagesWithContext same as GetUsageStatisticsPages 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 *GuardDuty) GetUsageStatisticsPagesWithContext(ctx aws.Context, input *GetUsageStatisticsInput, fn func(*GetUsageStatisticsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetUsageStatisticsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetUsageStatisticsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetUsageStatisticsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opInviteMembers = "InviteMembers" // InviteMembersRequest generates a "aws/request.Request" representing the @@ -3514,8 +3752,8 @@ func (c *GuardDuty) ListMembersRequest(input *ListMembersInput) (req *request.Re // ListMembers API operation for Amazon GuardDuty. // -// Lists details about associated member accounts for the current GuardDuty -// master account. +// Lists details about all member accounts for the current GuardDuty master +// 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 @@ -3655,7 +3893,7 @@ func (c *GuardDuty) ListOrganizationAdminAccountsRequest(input *ListOrganization // ListOrganizationAdminAccounts API operation for Amazon GuardDuty. // -// Lists the accounts configured as AWS Organization delegated administrators. +// Lists the accounts configured as GuardDuty delegated administrators. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4859,6 +5097,88 @@ func (c *GuardDuty) UpdateIPSetWithContext(ctx aws.Context, input *UpdateIPSetIn return out, req.Send() } +const opUpdateMemberDetectors = "UpdateMemberDetectors" + +// UpdateMemberDetectorsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMemberDetectors operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateMemberDetectors for more information on using the UpdateMemberDetectors +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateMemberDetectorsRequest method. +// req, resp := client.UpdateMemberDetectorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateMemberDetectors +func (c *GuardDuty) UpdateMemberDetectorsRequest(input *UpdateMemberDetectorsInput) (req *request.Request, output *UpdateMemberDetectorsOutput) { + op := &request.Operation{ + Name: opUpdateMemberDetectors, + HTTPMethod: "POST", + HTTPPath: "/detector/{detectorId}/member/detector/update", + } + + if input == nil { + input = &UpdateMemberDetectorsInput{} + } + + output = &UpdateMemberDetectorsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateMemberDetectors API operation for Amazon GuardDuty. +// +// Contains information on member accounts to be updated. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon GuardDuty's +// API operation UpdateMemberDetectors for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// A bad request exception object. +// +// * InternalServerErrorException +// An internal server error exception object. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateMemberDetectors +func (c *GuardDuty) UpdateMemberDetectors(input *UpdateMemberDetectorsInput) (*UpdateMemberDetectorsOutput, error) { + req, out := c.UpdateMemberDetectorsRequest(input) + return out, req.Send() +} + +// UpdateMemberDetectorsWithContext is the same as UpdateMemberDetectors with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateMemberDetectors for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *GuardDuty) UpdateMemberDetectorsWithContext(ctx aws.Context, input *UpdateMemberDetectorsInput, opts ...request.Option) (*UpdateMemberDetectorsOutput, error) { + req, out := c.UpdateMemberDetectorsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration" // UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the @@ -5191,6 +5511,41 @@ func (s AcceptInvitationOutput) GoString() string { return s.String() } +// Contains information on the current access control policies for the bucket. +type AccessControlList struct { + _ struct{} `type:"structure"` + + // A value that indicates whether public read access for the bucket is enabled + // through an Access Control List (ACL). + AllowsPublicReadAccess *bool `locationName:"allowsPublicReadAccess" type:"boolean"` + + // A value that indicates whether public write access for the bucket is enabled + // through an Access Control List (ACL). + AllowsPublicWriteAccess *bool `locationName:"allowsPublicWriteAccess" type:"boolean"` +} + +// String returns the string representation +func (s AccessControlList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessControlList) GoString() string { + return s.String() +} + +// SetAllowsPublicReadAccess sets the AllowsPublicReadAccess field's value. +func (s *AccessControlList) SetAllowsPublicReadAccess(v bool) *AccessControlList { + s.AllowsPublicReadAccess = &v + return s +} + +// SetAllowsPublicWriteAccess sets the AllowsPublicWriteAccess field's value. +func (s *AccessControlList) SetAllowsPublicWriteAccess(v bool) *AccessControlList { + s.AllowsPublicWriteAccess = &v + return s +} + // Contains information about the access keys. type AccessKeyDetails struct { _ struct{} `type:"structure"` @@ -5301,14 +5656,38 @@ func (s *AccountDetail) SetEmail(v string) *AccountDetail { return s } -// Contains information about actions. -type Action struct { +// Contains information about the account level permissions on the S3 bucket. +type AccountLevelPermissions struct { _ struct{} `type:"structure"` - // The GuardDuty finding activity type. - ActionType *string `locationName:"actionType" type:"string"` + // Describes the S3 Block Public Access settings of the bucket's parent account. + BlockPublicAccess *BlockPublicAccess `locationName:"blockPublicAccess" type:"structure"` +} - // Information about the AWS_API_CALL action described in this finding. +// String returns the string representation +func (s AccountLevelPermissions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountLevelPermissions) GoString() string { + return s.String() +} + +// SetBlockPublicAccess sets the BlockPublicAccess field's value. +func (s *AccountLevelPermissions) SetBlockPublicAccess(v *BlockPublicAccess) *AccountLevelPermissions { + s.BlockPublicAccess = v + return s +} + +// Contains information about actions. +type Action struct { + _ struct{} `type:"structure"` + + // The GuardDuty finding activity type. + ActionType *string `locationName:"actionType" type:"string"` + + // Information about the AWS_API_CALL action described in this finding. AwsApiCallAction *AwsApiCallAction `locationName:"awsApiCallAction" type:"structure"` // Information about the DNS_REQUEST action described in this finding. @@ -5585,6 +5964,137 @@ func (s *BadRequestException) RequestID() string { return s.RespMetadata.RequestID } +// Contains information on how the bucker owner's S3 Block Public Access settings +// are being applied to the S3 bucket. See S3 Block Public Access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html) +// for more information. +type BlockPublicAccess struct { + _ struct{} `type:"structure"` + + // Indicates if S3 Block Public Access is set to BlockPublicAcls. + BlockPublicAcls *bool `locationName:"blockPublicAcls" type:"boolean"` + + // Indicates if S3 Block Public Access is set to BlockPublicPolicy. + BlockPublicPolicy *bool `locationName:"blockPublicPolicy" type:"boolean"` + + // Indicates if S3 Block Public Access is set to IgnorePublicAcls. + IgnorePublicAcls *bool `locationName:"ignorePublicAcls" type:"boolean"` + + // Indicates if S3 Block Public Access is set to RestrictPublicBuckets. + RestrictPublicBuckets *bool `locationName:"restrictPublicBuckets" type:"boolean"` +} + +// String returns the string representation +func (s BlockPublicAccess) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BlockPublicAccess) GoString() string { + return s.String() +} + +// SetBlockPublicAcls sets the BlockPublicAcls field's value. +func (s *BlockPublicAccess) SetBlockPublicAcls(v bool) *BlockPublicAccess { + s.BlockPublicAcls = &v + return s +} + +// SetBlockPublicPolicy sets the BlockPublicPolicy field's value. +func (s *BlockPublicAccess) SetBlockPublicPolicy(v bool) *BlockPublicAccess { + s.BlockPublicPolicy = &v + return s +} + +// SetIgnorePublicAcls sets the IgnorePublicAcls field's value. +func (s *BlockPublicAccess) SetIgnorePublicAcls(v bool) *BlockPublicAccess { + s.IgnorePublicAcls = &v + return s +} + +// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value. +func (s *BlockPublicAccess) SetRestrictPublicBuckets(v bool) *BlockPublicAccess { + s.RestrictPublicBuckets = &v + return s +} + +// Contains information about the bucket level permissions for the S3 bucket. +type BucketLevelPermissions struct { + _ struct{} `type:"structure"` + + // Contains information on how Access Control Policies are applied to the bucket. + AccessControlList *AccessControlList `locationName:"accessControlList" type:"structure"` + + // Contains information on which account level S3 Block Public Access settings + // are applied to the S3 bucket. + BlockPublicAccess *BlockPublicAccess `locationName:"blockPublicAccess" type:"structure"` + + // Contains information on the bucket policies for the S3 bucket. + BucketPolicy *BucketPolicy `locationName:"bucketPolicy" type:"structure"` +} + +// String returns the string representation +func (s BucketLevelPermissions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BucketLevelPermissions) GoString() string { + return s.String() +} + +// SetAccessControlList sets the AccessControlList field's value. +func (s *BucketLevelPermissions) SetAccessControlList(v *AccessControlList) *BucketLevelPermissions { + s.AccessControlList = v + return s +} + +// SetBlockPublicAccess sets the BlockPublicAccess field's value. +func (s *BucketLevelPermissions) SetBlockPublicAccess(v *BlockPublicAccess) *BucketLevelPermissions { + s.BlockPublicAccess = v + return s +} + +// SetBucketPolicy sets the BucketPolicy field's value. +func (s *BucketLevelPermissions) SetBucketPolicy(v *BucketPolicy) *BucketLevelPermissions { + s.BucketPolicy = v + return s +} + +// Contains information on the current bucket policies for the S3 bucket. +type BucketPolicy struct { + _ struct{} `type:"structure"` + + // A value that indicates whether public read access for the bucket is enabled + // through a bucket policy. + AllowsPublicReadAccess *bool `locationName:"allowsPublicReadAccess" type:"boolean"` + + // A value that indicates whether public write access for the bucket is enabled + // through a bucket policy. + AllowsPublicWriteAccess *bool `locationName:"allowsPublicWriteAccess" type:"boolean"` +} + +// String returns the string representation +func (s BucketPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BucketPolicy) GoString() string { + return s.String() +} + +// SetAllowsPublicReadAccess sets the AllowsPublicReadAccess field's value. +func (s *BucketPolicy) SetAllowsPublicReadAccess(v bool) *BucketPolicy { + s.AllowsPublicReadAccess = &v + return s +} + +// SetAllowsPublicWriteAccess sets the AllowsPublicWriteAccess field's value. +func (s *BucketPolicy) SetAllowsPublicWriteAccess(v bool) *BucketPolicy { + s.AllowsPublicWriteAccess = &v + return s +} + // Contains information about the city associated with the IP address. type City struct { _ struct{} `type:"structure"` @@ -5609,6 +6119,33 @@ func (s *City) SetCityName(v string) *City { return s } +// Contains information on the status of CloudTrail as a data source for the +// detector. +type CloudTrailConfigurationResult struct { + _ struct{} `type:"structure"` + + // Describes whether CloudTrail is enabled as a data source for the detector. + // + // Status is a required field + Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"` +} + +// String returns the string representation +func (s CloudTrailConfigurationResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloudTrailConfigurationResult) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *CloudTrailConfigurationResult) SetStatus(v string) *CloudTrailConfigurationResult { + s.Status = &v + return s +} + // Contains information about the condition. type Condition struct { _ struct{} `type:"structure"` @@ -5795,6 +6332,9 @@ type CreateDetectorInput struct { // The idempotency token for the create request. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` + // An object that describes which data sources will be enabled for the detector. + DataSources *DataSourceConfigurations `locationName:"dataSources" type:"structure"` + // A Boolean value that specifies whether the detector is to be enabled. // // Enable is a required field @@ -5826,6 +6366,11 @@ func (s *CreateDetectorInput) Validate() error { if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } + if s.DataSources != nil { + if err := s.DataSources.Validate(); err != nil { + invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -5839,6 +6384,12 @@ func (s *CreateDetectorInput) SetClientToken(v string) *CreateDetectorInput { return s } +// SetDataSources sets the DataSources field's value. +func (s *CreateDetectorInput) SetDataSources(v *DataSourceConfigurations) *CreateDetectorInput { + s.DataSources = v + return s +} + // SetEnable sets the Enable field's value. func (s *CreateDetectorInput) SetEnable(v bool) *CreateDetectorInput { s.Enable = &v @@ -5977,6 +6528,8 @@ type CreateFilterInput struct { // // * service.action.networkConnectionAction.protocol // + // * service.action.networkConnectionAction.localIpDetails.ipAddressV4 + // // * service.action.networkConnectionAction.remoteIpDetails.city.cityName // // * service.action.networkConnectionAction.remoteIpDetails.country.countryName @@ -6717,6 +7270,133 @@ func (s *CreateThreatIntelSetOutput) SetThreatIntelSetId(v string) *CreateThreat return s } +// Contains information on the status of DNS logs as a data source. +type DNSLogsConfigurationResult struct { + _ struct{} `type:"structure"` + + // Denotes whether DNS logs is enabled as a data source. + // + // Status is a required field + Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"` +} + +// String returns the string representation +func (s DNSLogsConfigurationResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DNSLogsConfigurationResult) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *DNSLogsConfigurationResult) SetStatus(v string) *DNSLogsConfigurationResult { + s.Status = &v + return s +} + +// Contains information about which data sources are enabled. +type DataSourceConfigurations struct { + _ struct{} `type:"structure"` + + // Describes whether S3 data event logs are enabled as a data source. + S3Logs *S3LogsConfiguration `locationName:"s3Logs" type:"structure"` +} + +// String returns the string representation +func (s DataSourceConfigurations) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSourceConfigurations) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataSourceConfigurations) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataSourceConfigurations"} + if s.S3Logs != nil { + if err := s.S3Logs.Validate(); err != nil { + invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3Logs sets the S3Logs field's value. +func (s *DataSourceConfigurations) SetS3Logs(v *S3LogsConfiguration) *DataSourceConfigurations { + s.S3Logs = v + return s +} + +// Contains information on the status of data sources for the detector. +type DataSourceConfigurationsResult struct { + _ struct{} `type:"structure"` + + // An object that contains information on the status of CloudTrail as a data + // source. + // + // CloudTrail is a required field + CloudTrail *CloudTrailConfigurationResult `locationName:"cloudTrail" type:"structure" required:"true"` + + // An object that contains information on the status of DNS logs as a data source. + // + // DNSLogs is a required field + DNSLogs *DNSLogsConfigurationResult `locationName:"dnsLogs" type:"structure" required:"true"` + + // An object that contains information on the status of VPC flow logs as a data + // source. + // + // FlowLogs is a required field + FlowLogs *FlowLogsConfigurationResult `locationName:"flowLogs" type:"structure" required:"true"` + + // An object that contains information on the status of S3 Data event logs as + // a data source. + // + // S3Logs is a required field + S3Logs *S3LogsConfigurationResult `locationName:"s3Logs" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DataSourceConfigurationsResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSourceConfigurationsResult) GoString() string { + return s.String() +} + +// SetCloudTrail sets the CloudTrail field's value. +func (s *DataSourceConfigurationsResult) SetCloudTrail(v *CloudTrailConfigurationResult) *DataSourceConfigurationsResult { + s.CloudTrail = v + return s +} + +// SetDNSLogs sets the DNSLogs field's value. +func (s *DataSourceConfigurationsResult) SetDNSLogs(v *DNSLogsConfigurationResult) *DataSourceConfigurationsResult { + s.DNSLogs = v + return s +} + +// SetFlowLogs sets the FlowLogs field's value. +func (s *DataSourceConfigurationsResult) SetFlowLogs(v *FlowLogsConfigurationResult) *DataSourceConfigurationsResult { + s.FlowLogs = v + return s +} + +// SetS3Logs sets the S3Logs field's value. +func (s *DataSourceConfigurationsResult) SetS3Logs(v *S3LogsConfigurationResult) *DataSourceConfigurationsResult { + s.S3Logs = v + return s +} + type DeclineInvitationsInput struct { _ struct{} `type:"structure"` @@ -6785,6 +7465,42 @@ func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*UnprocessedAccoun return s } +// Contains information on the server side encryption method used in the S3 +// bucket. See S3 Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/atest/dev/serv-side-encryption.html) +// for more information. +type DefaultServerSideEncryption struct { + _ struct{} `type:"structure"` + + // The type of encryption used for objects within the S3 bucket. + EncryptionType *string `locationName:"encryptionType" type:"string"` + + // The Amazon Resource Name (ARN) of the KMS encryption key. Only available + // if the bucket EncryptionType is aws:kms. + KmsMasterKeyArn *string `locationName:"kmsMasterKeyArn" type:"string"` +} + +// String returns the string representation +func (s DefaultServerSideEncryption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefaultServerSideEncryption) GoString() string { + return s.String() +} + +// SetEncryptionType sets the EncryptionType field's value. +func (s *DefaultServerSideEncryption) SetEncryptionType(v string) *DefaultServerSideEncryption { + s.EncryptionType = &v + return s +} + +// SetKmsMasterKeyArn sets the KmsMasterKeyArn field's value. +func (s *DefaultServerSideEncryption) SetKmsMasterKeyArn(v string) *DefaultServerSideEncryption { + s.KmsMasterKeyArn = &v + return s +} + type DeleteDetectorInput struct { _ struct{} `type:"structure"` @@ -7332,6 +8048,10 @@ type DescribeOrganizationConfigurationOutput struct { // AutoEnable is a required field AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` + // An object that describes which data sources are enabled automatically for + // member accounts. + DataSources *OrganizationDataSourceConfigurationsResult `locationName:"dataSources" type:"structure"` + // Indicates whether the maximum number of allowed member accounts are already // associated with the delegated administrator master account. // @@ -7355,6 +8075,12 @@ func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v bool) *Describ return s } +// SetDataSources sets the DataSources field's value. +func (s *DescribeOrganizationConfigurationOutput) SetDataSources(v *OrganizationDataSourceConfigurationsResult) *DescribeOrganizationConfigurationOutput { + s.DataSources = v + return s +} + // SetMemberAccountLimitReached sets the MemberAccountLimitReached field's value. func (s *DescribeOrganizationConfigurationOutput) SetMemberAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput { s.MemberAccountLimitReached = &v @@ -7579,7 +8305,7 @@ func (s *DestinationProperties) SetKmsKeyArn(v string) *DestinationProperties { type DisableOrganizationAdminAccountInput struct { _ struct{} `type:"structure"` - // The AWS Account ID for the Organizations account to be disabled as a GuardDuty + // The AWS Account ID for the organizations account to be disabled as a GuardDuty // delegated administrator. // // AdminAccountId is a required field @@ -7821,7 +8547,7 @@ func (s *DomainDetails) SetDomain(v string) *DomainDetails { type EnableOrganizationAdminAccountInput struct { _ struct{} `type:"structure"` - // The AWS Account ID for the Organizations account to be enabled as a GuardDuty + // The AWS Account ID for the organization account to be enabled as a GuardDuty // delegated administrator. // // AdminAccountId is a required field @@ -8116,6 +8842,32 @@ func (s *FindingStatistics) SetCountBySeverity(v map[string]*int64) *FindingStat return s } +// Contains information on the status of VPC flow logs as a data source. +type FlowLogsConfigurationResult struct { + _ struct{} `type:"structure"` + + // Denotes whether VPC flow logs is enabled as a data source. + // + // Status is a required field + Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"` +} + +// String returns the string representation +func (s FlowLogsConfigurationResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FlowLogsConfigurationResult) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *FlowLogsConfigurationResult) SetStatus(v string) *FlowLogsConfigurationResult { + s.Status = &v + return s +} + // Contains information about the location of the remote IP address. type GeoLocation struct { _ struct{} `type:"structure"` @@ -8196,6 +8948,9 @@ type GetDetectorOutput struct { // The timestamp of when the detector was created. CreatedAt *string `locationName:"createdAt" type:"string"` + // An object that describes which data sources are enabled for the detector. + DataSources *DataSourceConfigurationsResult `locationName:"dataSources" type:"structure"` + // The publishing frequency of the finding. FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"` @@ -8232,6 +8987,12 @@ func (s *GetDetectorOutput) SetCreatedAt(v string) *GetDetectorOutput { return s } +// SetDataSources sets the DataSources field's value. +func (s *GetDetectorOutput) SetDataSources(v *DataSourceConfigurationsResult) *GetDetectorOutput { + s.DataSources = v + return s +} + // SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value. func (s *GetDetectorOutput) SetFindingPublishingFrequency(v string) *GetDetectorOutput { s.FindingPublishingFrequency = &v @@ -8804,34 +9565,33 @@ func (s *GetMasterAccountOutput) SetMaster(v *Master) *GetMasterAccountOutput { return s } -type GetMembersInput struct { +type GetMemberDetectorsInput struct { _ struct{} `type:"structure"` - // A list of account IDs of the GuardDuty member accounts that you want to describe. + // The account ID of the member account. // // AccountIds is a required field AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` - // The unique ID of the detector of the GuardDuty account whose members you - // want to retrieve. + // The detector ID for the master account. // // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetMembersInput) String() string { +func (s GetMemberDetectorsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetMembersInput) GoString() string { +func (s GetMemberDetectorsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetMembersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"} +func (s *GetMemberDetectorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMemberDetectorsInput"} if s.AccountIds == nil { invalidParams.Add(request.NewErrParamRequired("AccountIds")) } @@ -8852,45 +9612,141 @@ func (s *GetMembersInput) Validate() error { } // SetAccountIds sets the AccountIds field's value. -func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput { +func (s *GetMemberDetectorsInput) SetAccountIds(v []*string) *GetMemberDetectorsInput { s.AccountIds = v return s } // SetDetectorId sets the DetectorId field's value. -func (s *GetMembersInput) SetDetectorId(v string) *GetMembersInput { +func (s *GetMemberDetectorsInput) SetDetectorId(v string) *GetMemberDetectorsInput { s.DetectorId = &v return s } -type GetMembersOutput struct { +type GetMemberDetectorsOutput struct { _ struct{} `type:"structure"` - // A list of members. + // An object that describes which data sources are enabled for a member account. // - // Members is a required field - Members []*Member `locationName:"members" type:"list" required:"true"` + // MemberDataSourceConfigurations is a required field + MemberDataSourceConfigurations []*MemberDataSourceConfiguration `locationName:"members" min:"1" type:"list" required:"true"` - // A list of objects that contain the unprocessed account and a result string - // that explains why it was unprocessed. + // A list of member account IDs that were unable to be processed along with + // an explanation for why they were not processed. // // UnprocessedAccounts is a required field UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"` } // String returns the string representation -func (s GetMembersOutput) String() string { +func (s GetMemberDetectorsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetMembersOutput) GoString() string { +func (s GetMemberDetectorsOutput) GoString() string { return s.String() } -// SetMembers sets the Members field's value. -func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput { - s.Members = v +// SetMemberDataSourceConfigurations sets the MemberDataSourceConfigurations field's value. +func (s *GetMemberDetectorsOutput) SetMemberDataSourceConfigurations(v []*MemberDataSourceConfiguration) *GetMemberDetectorsOutput { + s.MemberDataSourceConfigurations = v + return s +} + +// SetUnprocessedAccounts sets the UnprocessedAccounts field's value. +func (s *GetMemberDetectorsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetMemberDetectorsOutput { + s.UnprocessedAccounts = v + return s +} + +type GetMembersInput struct { + _ struct{} `type:"structure"` + + // A list of account IDs of the GuardDuty member accounts that you want to describe. + // + // AccountIds is a required field + AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` + + // The unique ID of the detector of the GuardDuty account whose members you + // want to retrieve. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetMembersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMembersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMembersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"} + if s.AccountIds == nil { + invalidParams.Add(request.NewErrParamRequired("AccountIds")) + } + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) + } + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountIds sets the AccountIds field's value. +func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput { + s.AccountIds = v + return s +} + +// SetDetectorId sets the DetectorId field's value. +func (s *GetMembersInput) SetDetectorId(v string) *GetMembersInput { + s.DetectorId = &v + return s +} + +type GetMembersOutput struct { + _ struct{} `type:"structure"` + + // A list of members. + // + // Members is a required field + Members []*Member `locationName:"members" type:"list" required:"true"` + + // A list of objects that contain the unprocessed account and a result string + // that explains why it was unprocessed. + // + // UnprocessedAccounts is a required field + UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"` +} + +// String returns the string representation +func (s GetMembersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMembersOutput) GoString() string { + return s.String() +} + +// SetMembers sets the Members field's value. +func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput { + s.Members = v return s } @@ -9026,6 +9882,149 @@ func (s *GetThreatIntelSetOutput) SetTags(v map[string]*string) *GetThreatIntelS return s } +type GetUsageStatisticsInput struct { + _ struct{} `type:"structure"` + + // The ID of the detector that specifies the GuardDuty service whose usage statistics + // you want to retrieve. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + + // The maximum number of results to return in the response. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // For subsequent calls, use the NextToken value returned from the previous + // request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` + + // The currency unit you would like to view your usage statistics in. Current + // valid values are USD. + Unit *string `locationName:"unit" type:"string"` + + // Represents the criteria used for querying usage. + // + // UsageCriteria is a required field + UsageCriteria *UsageCriteria `locationName:"usageCriteria" type:"structure" required:"true"` + + // The type of usage statistics to retrieve. + // + // UsageStatisticType is a required field + UsageStatisticType *string `locationName:"usageStatisticsType" type:"string" required:"true" enum:"UsageStatisticType"` +} + +// String returns the string representation +func (s GetUsageStatisticsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetUsageStatisticsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetUsageStatisticsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetUsageStatisticsInput"} + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.UsageCriteria == nil { + invalidParams.Add(request.NewErrParamRequired("UsageCriteria")) + } + if s.UsageStatisticType == nil { + invalidParams.Add(request.NewErrParamRequired("UsageStatisticType")) + } + if s.UsageCriteria != nil { + if err := s.UsageCriteria.Validate(); err != nil { + invalidParams.AddNested("UsageCriteria", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDetectorId sets the DetectorId field's value. +func (s *GetUsageStatisticsInput) SetDetectorId(v string) *GetUsageStatisticsInput { + s.DetectorId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetUsageStatisticsInput) SetMaxResults(v int64) *GetUsageStatisticsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetUsageStatisticsInput) SetNextToken(v string) *GetUsageStatisticsInput { + s.NextToken = &v + return s +} + +// SetUnit sets the Unit field's value. +func (s *GetUsageStatisticsInput) SetUnit(v string) *GetUsageStatisticsInput { + s.Unit = &v + return s +} + +// SetUsageCriteria sets the UsageCriteria field's value. +func (s *GetUsageStatisticsInput) SetUsageCriteria(v *UsageCriteria) *GetUsageStatisticsInput { + s.UsageCriteria = v + return s +} + +// SetUsageStatisticType sets the UsageStatisticType field's value. +func (s *GetUsageStatisticsInput) SetUsageStatisticType(v string) *GetUsageStatisticsInput { + s.UsageStatisticType = &v + return s +} + +type GetUsageStatisticsOutput struct { + _ struct{} `type:"structure"` + + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `locationName:"nextToken" type:"string"` + + // The usage statistics object. If a UsageStatisticType was provided, the objects + // representing other types will be null. + UsageStatistics *UsageStatistics `locationName:"usageStatistics" type:"structure"` +} + +// String returns the string representation +func (s GetUsageStatisticsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetUsageStatisticsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetUsageStatisticsOutput) SetNextToken(v string) *GetUsageStatisticsOutput { + s.NextToken = &v + return s +} + +// SetUsageStatistics sets the UsageStatistics field's value. +func (s *GetUsageStatisticsOutput) SetUsageStatistics(v *UsageStatistics) *GetUsageStatisticsOutput { + s.UsageStatistics = v + return s +} + // Contains information about the EC2 instance profile. type IamInstanceProfile struct { _ struct{} `type:"structure"` @@ -9320,10 +10319,10 @@ type InviteMembersInput struct { DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` // A Boolean value that specifies whether you want to disable email notification - // to the accounts that you’re inviting to GuardDuty as members. + // to the accounts that you are inviting to GuardDuty as members. DisableEmailNotification *bool `locationName:"disableEmailNotification" type:"boolean"` - // The invitation message that you want to send to the accounts that you’re + // The invitation message that you want to send to the accounts that you're // inviting to GuardDuty as members. Message *string `locationName:"message" type:"string"` } @@ -10017,10 +11016,8 @@ type ListMembersInput struct { // from the previous response to continue listing data. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` - // Specifies what member accounts the response includes based on their relationship - // status with the master account. The default value is "true". If set to "false" - // the response includes all existing member accounts (including members who - // haven't been invited yet or have been disassociated). + // Specifies whether to only return associated members or to return all members + // (including members who haven't been invited yet or have been disassociated). OnlyAssociated *string `location:"querystring" locationName:"onlyAssociated" type:"string"` } @@ -10656,6 +11653,43 @@ func (s *Member) SetUpdatedAt(v string) *Member { return s } +// Contains information on which data sources are enabled for a member account. +type MemberDataSourceConfiguration struct { + _ struct{} `type:"structure"` + + // The account ID for the member account. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + + // Contains information on the status of data sources for the account. + // + // DataSources is a required field + DataSources *DataSourceConfigurationsResult `locationName:"dataSources" type:"structure" required:"true"` +} + +// String returns the string representation +func (s MemberDataSourceConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MemberDataSourceConfiguration) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *MemberDataSourceConfiguration) SetAccountId(v string) *MemberDataSourceConfiguration { + s.AccountId = &v + return s +} + +// SetDataSources sets the DataSources field's value. +func (s *MemberDataSourceConfiguration) SetDataSources(v *DataSourceConfigurationsResult) *MemberDataSourceConfiguration { + s.DataSources = v + return s +} + // Contains information about the NETWORK_CONNECTION action described in the // finding. type NetworkConnectionAction struct { @@ -10892,56 +11926,250 @@ func (s *Organization) SetOrg(v string) *Organization { return s } -// Contains information about the PORT_PROBE action described in the finding. -type PortProbeAction struct { +// An object that contains information on which data sources will be configured +// to be automatically enabled for new members within the organization. +type OrganizationDataSourceConfigurations struct { _ struct{} `type:"structure"` - // Indicates whether EC2 blocked the port probe to the instance, such as with - // an ACL. - Blocked *bool `locationName:"blocked" type:"boolean"` - - // A list of objects related to port probe details. - PortProbeDetails []*PortProbeDetail `locationName:"portProbeDetails" type:"list"` + // Describes whether S3 data event logs are enabled for new members of the organization. + S3Logs *OrganizationS3LogsConfiguration `locationName:"s3Logs" type:"structure"` } // String returns the string representation -func (s PortProbeAction) String() string { +func (s OrganizationDataSourceConfigurations) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PortProbeAction) GoString() string { +func (s OrganizationDataSourceConfigurations) GoString() string { return s.String() } -// SetBlocked sets the Blocked field's value. -func (s *PortProbeAction) SetBlocked(v bool) *PortProbeAction { - s.Blocked = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *OrganizationDataSourceConfigurations) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OrganizationDataSourceConfigurations"} + if s.S3Logs != nil { + if err := s.S3Logs.Validate(); err != nil { + invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetPortProbeDetails sets the PortProbeDetails field's value. -func (s *PortProbeAction) SetPortProbeDetails(v []*PortProbeDetail) *PortProbeAction { - s.PortProbeDetails = v +// SetS3Logs sets the S3Logs field's value. +func (s *OrganizationDataSourceConfigurations) SetS3Logs(v *OrganizationS3LogsConfiguration) *OrganizationDataSourceConfigurations { + s.S3Logs = v return s } -// Contains information about the port probe details. -type PortProbeDetail struct { +// An object that contains information on which data sources are automatically +// enabled for new members within the organization. +type OrganizationDataSourceConfigurationsResult struct { _ struct{} `type:"structure"` - // The local IP information of the connection. - LocalIpDetails *LocalIpDetails `locationName:"localIpDetails" type:"structure"` - - // The local port information of the connection. - LocalPortDetails *LocalPortDetails `locationName:"localPortDetails" type:"structure"` - - // The remote IP information of the connection. - RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"` + // Describes whether S3 data event logs are enabled as a data source. + // + // S3Logs is a required field + S3Logs *OrganizationS3LogsConfigurationResult `locationName:"s3Logs" type:"structure" required:"true"` } // String returns the string representation -func (s PortProbeDetail) String() string { +func (s OrganizationDataSourceConfigurationsResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OrganizationDataSourceConfigurationsResult) GoString() string { + return s.String() +} + +// SetS3Logs sets the S3Logs field's value. +func (s *OrganizationDataSourceConfigurationsResult) SetS3Logs(v *OrganizationS3LogsConfigurationResult) *OrganizationDataSourceConfigurationsResult { + s.S3Logs = v + return s +} + +// Describes whether S3 data event logs will be automatically enabled for new +// members of the organization. +type OrganizationS3LogsConfiguration struct { + _ struct{} `type:"structure"` + + // A value that contains information on whether S3 data event logs will be enabled + // automatically as a data source for the organization. + // + // AutoEnable is a required field + AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` +} + +// String returns the string representation +func (s OrganizationS3LogsConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OrganizationS3LogsConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OrganizationS3LogsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OrganizationS3LogsConfiguration"} + if s.AutoEnable == nil { + invalidParams.Add(request.NewErrParamRequired("AutoEnable")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoEnable sets the AutoEnable field's value. +func (s *OrganizationS3LogsConfiguration) SetAutoEnable(v bool) *OrganizationS3LogsConfiguration { + s.AutoEnable = &v + return s +} + +// The current configuration of S3 data event logs as a data source for the +// organization. +type OrganizationS3LogsConfigurationResult struct { + _ struct{} `type:"structure"` + + // A value that describes whether S3 data event logs are automatically enabled + // for new members of the organization. + // + // AutoEnable is a required field + AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` +} + +// String returns the string representation +func (s OrganizationS3LogsConfigurationResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OrganizationS3LogsConfigurationResult) GoString() string { + return s.String() +} + +// SetAutoEnable sets the AutoEnable field's value. +func (s *OrganizationS3LogsConfigurationResult) SetAutoEnable(v bool) *OrganizationS3LogsConfigurationResult { + s.AutoEnable = &v + return s +} + +// Contains information on the owner of the bucket. +type Owner struct { + _ struct{} `type:"structure"` + + // The canonical user ID of the bucket owner. For information about locating + // your canonical user ID see Finding Your Account Canonical User ID. (https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId) + Id *string `locationName:"id" 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() +} + +// SetId sets the Id field's value. +func (s *Owner) SetId(v string) *Owner { + s.Id = &v + return s +} + +// Contains information about how permissions are configured for the S3 bucket. +type PermissionConfiguration struct { + _ struct{} `type:"structure"` + + // Contains information about the account level permissions on the S3 bucket. + AccountLevelPermissions *AccountLevelPermissions `locationName:"accountLevelPermissions" type:"structure"` + + // Contains information about the bucket level permissions for the S3 bucket. + BucketLevelPermissions *BucketLevelPermissions `locationName:"bucketLevelPermissions" type:"structure"` +} + +// String returns the string representation +func (s PermissionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PermissionConfiguration) GoString() string { + return s.String() +} + +// SetAccountLevelPermissions sets the AccountLevelPermissions field's value. +func (s *PermissionConfiguration) SetAccountLevelPermissions(v *AccountLevelPermissions) *PermissionConfiguration { + s.AccountLevelPermissions = v + return s +} + +// SetBucketLevelPermissions sets the BucketLevelPermissions field's value. +func (s *PermissionConfiguration) SetBucketLevelPermissions(v *BucketLevelPermissions) *PermissionConfiguration { + s.BucketLevelPermissions = v + return s +} + +// Contains information about the PORT_PROBE action described in the finding. +type PortProbeAction struct { + _ struct{} `type:"structure"` + + // Indicates whether EC2 blocked the port probe to the instance, such as with + // an ACL. + Blocked *bool `locationName:"blocked" type:"boolean"` + + // A list of objects related to port probe details. + PortProbeDetails []*PortProbeDetail `locationName:"portProbeDetails" type:"list"` +} + +// String returns the string representation +func (s PortProbeAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PortProbeAction) GoString() string { + return s.String() +} + +// SetBlocked sets the Blocked field's value. +func (s *PortProbeAction) SetBlocked(v bool) *PortProbeAction { + s.Blocked = &v + return s +} + +// SetPortProbeDetails sets the PortProbeDetails field's value. +func (s *PortProbeAction) SetPortProbeDetails(v []*PortProbeDetail) *PortProbeAction { + s.PortProbeDetails = v + return s +} + +// Contains information about the port probe details. +type PortProbeDetail struct { + _ struct{} `type:"structure"` + + // The local IP information of the connection. + LocalIpDetails *LocalIpDetails `locationName:"localIpDetails" type:"structure"` + + // The local port information of the connection. + LocalPortDetails *LocalPortDetails `locationName:"localPortDetails" type:"structure"` + + // The remote IP information of the connection. + RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"` +} + +// String returns the string representation +func (s PortProbeDetail) String() string { return awsutil.Prettify(s) } @@ -11034,6 +12262,40 @@ func (s *ProductCode) SetProductType(v string) *ProductCode { return s } +// Describes the public access policies that apply to the S3 bucket. +type PublicAccess struct { + _ struct{} `type:"structure"` + + // Describes the effective permission on this bucket after factoring all attached + // policies. + EffectivePermission *string `locationName:"effectivePermission" type:"string"` + + // Contains information about how permissions are configured for the S3 bucket. + PermissionConfiguration *PermissionConfiguration `locationName:"permissionConfiguration" type:"structure"` +} + +// String returns the string representation +func (s PublicAccess) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PublicAccess) GoString() string { + return s.String() +} + +// SetEffectivePermission sets the EffectivePermission field's value. +func (s *PublicAccess) SetEffectivePermission(v string) *PublicAccess { + s.EffectivePermission = &v + return s +} + +// SetPermissionConfiguration sets the PermissionConfiguration field's value. +func (s *PublicAccess) SetPermissionConfiguration(v *PermissionConfiguration) *PublicAccess { + s.PermissionConfiguration = v + return s +} + // Contains information about the remote IP address of the connection. type RemoteIpDetails struct { _ struct{} `type:"structure"` @@ -11142,6 +12404,9 @@ type Resource struct { // The type of AWS resource. ResourceType *string `locationName:"resourceType" type:"string"` + + // Contains information on the S3 bucket. + S3BucketDetails []*S3BucketDetail `locationName:"s3BucketDetails" type:"list"` } // String returns the string representation @@ -11166,9 +12431,168 @@ func (s *Resource) SetInstanceDetails(v *InstanceDetails) *Resource { return s } -// SetResourceType sets the ResourceType field's value. -func (s *Resource) SetResourceType(v string) *Resource { - s.ResourceType = &v +// SetResourceType sets the ResourceType field's value. +func (s *Resource) SetResourceType(v string) *Resource { + s.ResourceType = &v + return s +} + +// SetS3BucketDetails sets the S3BucketDetails field's value. +func (s *Resource) SetS3BucketDetails(v []*S3BucketDetail) *Resource { + s.S3BucketDetails = v + return s +} + +// Contains information on the S3 bucket. +type S3BucketDetail struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the S3 bucket. + Arn *string `locationName:"arn" type:"string"` + + // The date and time the bucket was created at. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // Describes the server side encryption method used in the S3 bucket. + DefaultServerSideEncryption *DefaultServerSideEncryption `locationName:"defaultServerSideEncryption" type:"structure"` + + // The name of the S3 bucket. + Name *string `locationName:"name" type:"string"` + + // The owner of the S3 bucket. + Owner *Owner `locationName:"owner" type:"structure"` + + // Describes the public access policies that apply to the S3 bucket. + PublicAccess *PublicAccess `locationName:"publicAccess" type:"structure"` + + // All tags attached to the S3 bucket + Tags []*Tag `locationName:"tags" type:"list"` + + // Describes whether the bucket is a source or destination bucket. + Type *string `locationName:"type" type:"string"` +} + +// String returns the string representation +func (s S3BucketDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3BucketDetail) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *S3BucketDetail) SetArn(v string) *S3BucketDetail { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *S3BucketDetail) SetCreatedAt(v time.Time) *S3BucketDetail { + s.CreatedAt = &v + return s +} + +// SetDefaultServerSideEncryption sets the DefaultServerSideEncryption field's value. +func (s *S3BucketDetail) SetDefaultServerSideEncryption(v *DefaultServerSideEncryption) *S3BucketDetail { + s.DefaultServerSideEncryption = v + return s +} + +// SetName sets the Name field's value. +func (s *S3BucketDetail) SetName(v string) *S3BucketDetail { + s.Name = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *S3BucketDetail) SetOwner(v *Owner) *S3BucketDetail { + s.Owner = v + return s +} + +// SetPublicAccess sets the PublicAccess field's value. +func (s *S3BucketDetail) SetPublicAccess(v *PublicAccess) *S3BucketDetail { + s.PublicAccess = v + return s +} + +// SetTags sets the Tags field's value. +func (s *S3BucketDetail) SetTags(v []*Tag) *S3BucketDetail { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *S3BucketDetail) SetType(v string) *S3BucketDetail { + s.Type = &v + return s +} + +// Describes whether S3 data event logs will be enabled as a data source. +type S3LogsConfiguration struct { + _ struct{} `type:"structure"` + + // The status of S3 data event logs as a data source. + // + // Enable is a required field + Enable *bool `locationName:"enable" type:"boolean" required:"true"` +} + +// String returns the string representation +func (s S3LogsConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3LogsConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3LogsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3LogsConfiguration"} + if s.Enable == nil { + invalidParams.Add(request.NewErrParamRequired("Enable")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnable sets the Enable field's value. +func (s *S3LogsConfiguration) SetEnable(v bool) *S3LogsConfiguration { + s.Enable = &v + return s +} + +// Describes whether S3 data event logs will be enabled as a data source. +type S3LogsConfigurationResult struct { + _ struct{} `type:"structure"` + + // A value that describes whether S3 data event logs are automatically enabled + // for new members of the organization. + // + // Status is a required field + Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"` +} + +// String returns the string representation +func (s S3LogsConfigurationResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s S3LogsConfigurationResult) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *S3LogsConfigurationResult) SetStatus(v string) *S3LogsConfigurationResult { + s.Status = &v return s } @@ -11658,6 +13082,39 @@ func (s *ThreatIntelligenceDetail) SetThreatNames(v []*string) *ThreatIntelligen return s } +// Contains the total usage with the corresponding currency unit for that value. +type Total struct { + _ struct{} `type:"structure"` + + // The total usage. + Amount *string `locationName:"amount" type:"string"` + + // The currency unit that the amount is given in. + Unit *string `locationName:"unit" type:"string"` +} + +// String returns the string representation +func (s Total) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Total) GoString() string { + return s.String() +} + +// SetAmount sets the Amount field's value. +func (s *Total) SetAmount(v string) *Total { + s.Amount = &v + return s +} + +// SetUnit sets the Unit field's value. +func (s *Total) SetUnit(v string) *Total { + s.Unit = &v + return s +} + type UnarchiveFindingsInput struct { _ struct{} `type:"structure"` @@ -11839,6 +13296,9 @@ func (s UntagResourceOutput) GoString() string { type UpdateDetectorInput struct { _ struct{} `type:"structure"` + // An object that describes which data sources will be updated. + DataSources *DataSourceConfigurations `locationName:"dataSources" type:"structure"` + // The unique ID of the detector to update. // // DetectorId is a required field @@ -11871,6 +13331,11 @@ func (s *UpdateDetectorInput) Validate() error { if s.DetectorId != nil && len(*s.DetectorId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) } + if s.DataSources != nil { + if err := s.DataSources.Validate(); err != nil { + invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -11878,6 +13343,12 @@ func (s *UpdateDetectorInput) Validate() error { return nil } +// SetDataSources sets the DataSources field's value. +func (s *UpdateDetectorInput) SetDataSources(v *DataSourceConfigurations) *UpdateDetectorInput { + s.DataSources = v + return s +} + // SetDetectorId sets the DetectorId field's value. func (s *UpdateDetectorInput) SetDetectorId(v string) *UpdateDetectorInput { s.DetectorId = &v @@ -12236,6 +13707,104 @@ func (s UpdateIPSetOutput) GoString() string { return s.String() } +type UpdateMemberDetectorsInput struct { + _ struct{} `type:"structure"` + + // A list of member account IDs to be updated. + // + // AccountIds is a required field + AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` + + // An object describes which data sources will be updated. + DataSources *DataSourceConfigurations `locationName:"dataSources" type:"structure"` + + // The detector ID of the master account. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateMemberDetectorsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMemberDetectorsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMemberDetectorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMemberDetectorsInput"} + if s.AccountIds == nil { + invalidParams.Add(request.NewErrParamRequired("AccountIds")) + } + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) + } + if s.DetectorId == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorId")) + } + if s.DetectorId != nil && len(*s.DetectorId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) + } + if s.DataSources != nil { + if err := s.DataSources.Validate(); err != nil { + invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountIds sets the AccountIds field's value. +func (s *UpdateMemberDetectorsInput) SetAccountIds(v []*string) *UpdateMemberDetectorsInput { + s.AccountIds = v + return s +} + +// SetDataSources sets the DataSources field's value. +func (s *UpdateMemberDetectorsInput) SetDataSources(v *DataSourceConfigurations) *UpdateMemberDetectorsInput { + s.DataSources = v + return s +} + +// SetDetectorId sets the DetectorId field's value. +func (s *UpdateMemberDetectorsInput) SetDetectorId(v string) *UpdateMemberDetectorsInput { + s.DetectorId = &v + return s +} + +type UpdateMemberDetectorsOutput struct { + _ struct{} `type:"structure"` + + // A list of member account IDs that were unable to be processed along with + // an explanation for why they were not processed. + // + // UnprocessedAccounts is a required field + UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"` +} + +// String returns the string representation +func (s UpdateMemberDetectorsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateMemberDetectorsOutput) GoString() string { + return s.String() +} + +// SetUnprocessedAccounts sets the UnprocessedAccounts field's value. +func (s *UpdateMemberDetectorsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *UpdateMemberDetectorsOutput { + s.UnprocessedAccounts = v + return s +} + type UpdateOrganizationConfigurationInput struct { _ struct{} `type:"structure"` @@ -12244,6 +13813,9 @@ type UpdateOrganizationConfigurationInput struct { // AutoEnable is a required field AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"` + // An object describes which data sources will be updated. + DataSources *OrganizationDataSourceConfigurations `locationName:"dataSources" type:"structure"` + // The ID of the detector to update the delegated administrator for. // // DetectorId is a required field @@ -12272,6 +13844,11 @@ func (s *UpdateOrganizationConfigurationInput) Validate() error { if s.DetectorId != nil && len(*s.DetectorId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1)) } + if s.DataSources != nil { + if err := s.DataSources.Validate(); err != nil { + invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -12285,6 +13862,12 @@ func (s *UpdateOrganizationConfigurationInput) SetAutoEnable(v bool) *UpdateOrga return s } +// SetDataSources sets the DataSources field's value. +func (s *UpdateOrganizationConfigurationInput) SetDataSources(v *OrganizationDataSourceConfigurations) *UpdateOrganizationConfigurationInput { + s.DataSources = v + return s +} + // SetDetectorId sets the DetectorId field's value. func (s *UpdateOrganizationConfigurationInput) SetDetectorId(v string) *UpdateOrganizationConfigurationInput { s.DetectorId = &v @@ -12495,6 +14078,219 @@ func (s UpdateThreatIntelSetOutput) GoString() string { return s.String() } +// Contains information on the total of usage based on account IDs. +type UsageAccountResult struct { + _ struct{} `type:"structure"` + + // The Account ID that generated usage. + AccountId *string `locationName:"accountId" min:"12" type:"string"` + + // Represents the total of usage for the Account ID. + Total *Total `locationName:"total" type:"structure"` +} + +// String returns the string representation +func (s UsageAccountResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UsageAccountResult) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *UsageAccountResult) SetAccountId(v string) *UsageAccountResult { + s.AccountId = &v + return s +} + +// SetTotal sets the Total field's value. +func (s *UsageAccountResult) SetTotal(v *Total) *UsageAccountResult { + s.Total = v + return s +} + +// Contains information about the criteria used to query usage statistics. +type UsageCriteria struct { + _ struct{} `type:"structure"` + + // The account IDs to aggregate usage statistics from. + AccountIds []*string `locationName:"accountIds" min:"1" type:"list"` + + // The data sources to aggregate usage statistics from. + // + // DataSources is a required field + DataSources []*string `locationName:"dataSources" type:"list" required:"true"` + + // The resources to aggregate usage statistics from. Only accepts exact resource + // names. + Resources []*string `locationName:"resources" type:"list"` +} + +// String returns the string representation +func (s UsageCriteria) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UsageCriteria) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UsageCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UsageCriteria"} + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) + } + if s.DataSources == nil { + invalidParams.Add(request.NewErrParamRequired("DataSources")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountIds sets the AccountIds field's value. +func (s *UsageCriteria) SetAccountIds(v []*string) *UsageCriteria { + s.AccountIds = v + return s +} + +// SetDataSources sets the DataSources field's value. +func (s *UsageCriteria) SetDataSources(v []*string) *UsageCriteria { + s.DataSources = v + return s +} + +// SetResources sets the Resources field's value. +func (s *UsageCriteria) SetResources(v []*string) *UsageCriteria { + s.Resources = v + return s +} + +// Contains information on the result of usage based on data source type. +type UsageDataSourceResult struct { + _ struct{} `type:"structure"` + + // The data source type that generated usage. + DataSource *string `locationName:"dataSource" type:"string" enum:"DataSource"` + + // Represents the total of usage for the specified data source. + Total *Total `locationName:"total" type:"structure"` +} + +// String returns the string representation +func (s UsageDataSourceResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UsageDataSourceResult) GoString() string { + return s.String() +} + +// SetDataSource sets the DataSource field's value. +func (s *UsageDataSourceResult) SetDataSource(v string) *UsageDataSourceResult { + s.DataSource = &v + return s +} + +// SetTotal sets the Total field's value. +func (s *UsageDataSourceResult) SetTotal(v *Total) *UsageDataSourceResult { + s.Total = v + return s +} + +// Contains information on the sum of usage based on an AWS resource. +type UsageResourceResult struct { + _ struct{} `type:"structure"` + + // The AWS resource that generated usage. + Resource *string `locationName:"resource" type:"string"` + + // Represents the sum total of usage for the specified resource type. + Total *Total `locationName:"total" type:"structure"` +} + +// String returns the string representation +func (s UsageResourceResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UsageResourceResult) GoString() string { + return s.String() +} + +// SetResource sets the Resource field's value. +func (s *UsageResourceResult) SetResource(v string) *UsageResourceResult { + s.Resource = &v + return s +} + +// SetTotal sets the Total field's value. +func (s *UsageResourceResult) SetTotal(v *Total) *UsageResourceResult { + s.Total = v + return s +} + +// Contains the result of GuardDuty usage. If a UsageStatisticType is provided +// the result for other types will be null. +type UsageStatistics struct { + _ struct{} `type:"structure"` + + // The usage statistic sum organized by account ID. + SumByAccount []*UsageAccountResult `locationName:"sumByAccount" type:"list"` + + // The usage statistic sum organized by on data source. + SumByDataSource []*UsageDataSourceResult `locationName:"sumByDataSource" type:"list"` + + // The usage statistic sum organized by resource. + SumByResource []*UsageResourceResult `locationName:"sumByResource" type:"list"` + + // Lists the top 50 resources that have generated the most GuardDuty usage, + // in order from most to least expensive. + TopResources []*UsageResourceResult `locationName:"topResources" type:"list"` +} + +// String returns the string representation +func (s UsageStatistics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UsageStatistics) GoString() string { + return s.String() +} + +// SetSumByAccount sets the SumByAccount field's value. +func (s *UsageStatistics) SetSumByAccount(v []*UsageAccountResult) *UsageStatistics { + s.SumByAccount = v + return s +} + +// SetSumByDataSource sets the SumByDataSource field's value. +func (s *UsageStatistics) SetSumByDataSource(v []*UsageDataSourceResult) *UsageStatistics { + s.SumByDataSource = v + return s +} + +// SetSumByResource sets the SumByResource field's value. +func (s *UsageStatistics) SetSumByResource(v []*UsageResourceResult) *UsageStatistics { + s.SumByResource = v + return s +} + +// SetTopResources sets the TopResources field's value. +func (s *UsageStatistics) SetTopResources(v []*UsageResourceResult) *UsageStatistics { + s.TopResources = v + return s +} + const ( // AdminStatusEnabled is a AdminStatus enum value AdminStatusEnabled = "ENABLED" @@ -12503,6 +14299,28 @@ const ( AdminStatusDisableInProgress = "DISABLE_IN_PROGRESS" ) +const ( + // DataSourceFlowLogs is a DataSource enum value + DataSourceFlowLogs = "FLOW_LOGS" + + // DataSourceCloudTrail is a DataSource enum value + DataSourceCloudTrail = "CLOUD_TRAIL" + + // DataSourceDnsLogs is a DataSource enum value + DataSourceDnsLogs = "DNS_LOGS" + + // DataSourceS3Logs is a DataSource enum value + DataSourceS3Logs = "S3_LOGS" +) + +const ( + // DataSourceStatusEnabled is a DataSourceStatus enum value + DataSourceStatusEnabled = "ENABLED" + + // DataSourceStatusDisabled is a DataSourceStatus enum value + DataSourceStatusDisabled = "DISABLED" +) + const ( // DestinationTypeS3 is a DestinationType enum value DestinationTypeS3 = "S3" @@ -12655,3 +14473,17 @@ const ( // ThreatIntelSetStatusDeleted is a ThreatIntelSetStatus enum value ThreatIntelSetStatusDeleted = "DELETED" ) + +const ( + // UsageStatisticTypeSumByAccount is a UsageStatisticType enum value + UsageStatisticTypeSumByAccount = "SUM_BY_ACCOUNT" + + // UsageStatisticTypeSumByDataSource is a UsageStatisticType enum value + UsageStatisticTypeSumByDataSource = "SUM_BY_DATA_SOURCE" + + // UsageStatisticTypeSumByResource is a UsageStatisticType enum value + UsageStatisticTypeSumByResource = "SUM_BY_RESOURCE" + + // UsageStatisticTypeTopResources is a UsageStatisticType enum value + UsageStatisticTypeTopResources = "TOP_RESOURCES" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/iam/api.go b/vendor/github.com/aws/aws-sdk-go/service/iam/api.go index eb606e83573..0744bc7b0ba 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iam/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iam/api.go @@ -82,7 +82,8 @@ func (c *IAM) AddClientIDToOpenIDConnectProviderRequest(input *AddClientIDToOpen // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -156,10 +157,12 @@ func (c *IAM) AddRoleToInstanceProfileRequest(input *AddRoleToInstanceProfileInp // AddRoleToInstanceProfile API operation for AWS Identity and Access Management. // // Adds the specified IAM role to the specified instance profile. An instance -// profile can contain only one role, and this limit cannot be increased. You -// can remove the existing role and then add a different role to an instance -// profile. You must then wait for the change to appear across all of AWS because -// of eventual consistency (https://en.wikipedia.org/wiki/Eventual_consistency). +// profile can contain only one role. (The number and size of IAM resources +// in an AWS account are limited. For more information, see IAM and STS Quotas +// (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) +// in the IAM User Guide.) You can remove the existing role and then add a different +// role to an instance profile. You must then wait for the change to appear +// across all of AWS because of eventual consistency (https://en.wikipedia.org/wiki/Eventual_consistency). // To force the change, you must disassociate the instance profile (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateIamInstanceProfile.html) // and then associate the instance profile (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateIamInstanceProfile.html), // or you can stop your instance and then restart it. @@ -189,7 +192,8 @@ func (c *IAM) AddRoleToInstanceProfileRequest(input *AddRoleToInstanceProfileInp // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeUnmodifiableEntityException "UnmodifiableEntity" // The request was rejected because only the service that depends on the service-linked @@ -284,7 +288,8 @@ func (c *IAM) AddUserToGroupRequest(input *AddUserToGroupInput) (req *request.Re // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -380,7 +385,8 @@ func (c *IAM) AttachGroupPolicyRequest(input *AttachGroupPolicyInput) (req *requ // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied @@ -488,7 +494,8 @@ func (c *IAM) AttachRolePolicyRequest(input *AttachRolePolicyInput) (req *reques // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied @@ -598,7 +605,8 @@ func (c *IAM) AttachUserPolicyRequest(input *AttachUserPolicyInput) (req *reques // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied @@ -704,7 +712,8 @@ func (c *IAM) ChangePasswordRequest(input *ChangePasswordInput) (req *request.Re // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeEntityTemporarilyUnmodifiableException "EntityTemporarilyUnmodifiable" // The request was rejected because it referenced an entity that is temporarily @@ -795,8 +804,8 @@ func (c *IAM) CreateAccessKeyRequest(input *CreateAccessKeyInput) (req *request. // to manage AWS account root user credentials. This is true even if the AWS // account has no associated users. // -// For information about limits on the number of keys you can create, see Limitations -// on IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) +// The number and size of IAM resources in an AWS account are limited. For more +// information, see IAM and STS Quotas (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) // in the IAM User Guide. // // To ensure the security of your AWS account, the secret access key is accessible @@ -819,7 +828,8 @@ func (c *IAM) CreateAccessKeyRequest(input *CreateAccessKeyInput) (req *request. // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -910,7 +920,8 @@ func (c *IAM) CreateAccountAliasRequest(input *CreateAccountAliasInput) (req *re // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -984,8 +995,8 @@ func (c *IAM) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, // // Creates a new group. // -// For information about the number of groups you can create, see Limitations -// on IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) +// The number and size of IAM resources in an AWS account are limited. For more +// information, see IAM and STS Quotas (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) // in the IAM User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -998,7 +1009,8 @@ func (c *IAM) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, // Returned Error Codes: // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already @@ -1081,8 +1093,8 @@ func (c *IAM) CreateInstanceProfileRequest(input *CreateInstanceProfileInput) (r // Creates a new instance profile. For information about instance profiles, // go to About Instance Profiles (https://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html). // -// For information about the number of instance profiles you can create, see -// Limitations on IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) +// The number and size of IAM resources in an AWS account are limited. For more +// information, see IAM and STS Quotas (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) // in the IAM User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1099,7 +1111,8 @@ func (c *IAM) CreateInstanceProfileRequest(input *CreateInstanceProfileInput) (r // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -1198,7 +1211,8 @@ func (c *IAM) CreateLoginProfileRequest(input *CreateLoginProfileInput) (req *re // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -1312,7 +1326,8 @@ func (c *IAM) CreateOpenIDConnectProviderRequest(input *CreateOpenIDConnectProvi // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -1409,7 +1424,8 @@ func (c *IAM) CreatePolicyRequest(input *CreatePolicyInput) (req *request.Reques // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already @@ -1524,7 +1540,8 @@ func (c *IAM) CreatePolicyVersionRequest(input *CreatePolicyVersionInput) (req * // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -1598,8 +1615,8 @@ func (c *IAM) CreateRoleRequest(input *CreateRoleInput) (req *request.Request, o // // Creates a new role for your AWS account. For more information about roles, // go to IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html). -// For information about limitations on role names and the number of roles you -// can create, go to Limitations on IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) +// The number and size of IAM resources in an AWS account are limited. For more +// information, see IAM and STS Quotas (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) // in the IAM User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1612,7 +1629,8 @@ func (c *IAM) CreateRoleRequest(input *CreateRoleInput) (req *request.Request, o // Returned Error Codes: // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied @@ -1742,7 +1760,8 @@ func (c *IAM) CreateSAMLProviderRequest(input *CreateSAMLProviderInput) (req *re // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -1840,7 +1859,8 @@ func (c *IAM) CreateServiceLinkedRoleRequest(input *CreateServiceLinkedRoleInput // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced a resource entity that does @@ -1941,7 +1961,8 @@ func (c *IAM) CreateServiceSpecificCredentialRequest(input *CreateServiceSpecifi // Returned Error Codes: // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced a resource entity that does @@ -2018,8 +2039,8 @@ func (c *IAM) CreateUserRequest(input *CreateUserInput) (req *request.Request, o // // Creates a new IAM user for your AWS account. // -// For information about limitations on the number of IAM users you can create, -// see Limitations on IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) +// The number and size of IAM resources in an AWS account are limited. For more +// information, see IAM and STS Quotas (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) // in the IAM User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2032,7 +2053,8 @@ func (c *IAM) CreateUserRequest(input *CreateUserInput) (req *request.Request, o // Returned Error Codes: // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already @@ -2127,8 +2149,8 @@ func (c *IAM) CreateVirtualMFADeviceRequest(input *CreateVirtualMFADeviceInput) // go to Using a Virtual MFA Device (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html) // in the IAM User Guide. // -// For information about limits on the number of MFA devices you can create, -// see Limitations on Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) +// The number and size of IAM resources in an AWS account are limited. For more +// information, see IAM and STS Quotas (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) // in the IAM User Guide. // // The seed information contained in the QR code and the Base32 string should @@ -2147,7 +2169,8 @@ func (c *IAM) CreateVirtualMFADeviceRequest(input *CreateVirtualMFADeviceInput) // Returned Error Codes: // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already @@ -2251,7 +2274,8 @@ func (c *IAM) DeactivateMFADeviceRequest(input *DeactivateMFADeviceInput) (req * // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -2346,7 +2370,8 @@ func (c *IAM) DeleteAccessKeyRequest(input *DeleteAccessKeyInput) (req *request. // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -2437,7 +2462,8 @@ func (c *IAM) DeleteAccountAliasRequest(input *DeleteAccountAliasInput) (req *re // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -2526,7 +2552,8 @@ func (c *IAM) DeleteAccountPasswordPolicyRequest(input *DeleteAccountPasswordPol // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -2620,7 +2647,8 @@ func (c *IAM) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -2715,7 +2743,8 @@ func (c *IAM) DeleteGroupPolicyRequest(input *DeleteGroupPolicyInput) (req *requ // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -2817,7 +2846,8 @@ func (c *IAM) DeleteInstanceProfileRequest(input *DeleteInstanceProfileInput) (r // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -2918,7 +2948,8 @@ func (c *IAM) DeleteLoginProfileRequest(input *DeleteLoginProfileInput) (req *re // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -3125,7 +3156,8 @@ func (c *IAM) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Reques // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied @@ -3230,7 +3262,8 @@ func (c *IAM) DeletePolicyVersionRequest(input *DeletePolicyVersionInput) (req * // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied @@ -3337,7 +3370,8 @@ func (c *IAM) DeleteRoleRequest(input *DeleteRoleInput) (req *request.Request, o // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeUnmodifiableEntityException "UnmodifiableEntity" // The request was rejected because only the service that depends on the service-linked @@ -3538,7 +3572,8 @@ func (c *IAM) DeleteRolePolicyRequest(input *DeleteRolePolicyInput) (req *reques // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeUnmodifiableEntityException "UnmodifiableEntity" // The request was rejected because only the service that depends on the service-linked @@ -3640,7 +3675,8 @@ func (c *IAM) DeleteSAMLProviderRequest(input *DeleteSAMLProviderInput) (req *re // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced a resource entity that does @@ -3839,7 +3875,8 @@ func (c *IAM) DeleteServerCertificateRequest(input *DeleteServerCertificateInput // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -3946,7 +3983,8 @@ func (c *IAM) DeleteServiceLinkedRoleRequest(input *DeleteServiceLinkedRoleInput // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -4122,7 +4160,8 @@ func (c *IAM) DeleteSigningCertificateRequest(input *DeleteSigningCertificateInp // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -4229,7 +4268,8 @@ func (c *IAM) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, o // Returned Error Codes: // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced a resource entity that does @@ -4426,7 +4466,8 @@ func (c *IAM) DeleteUserPolicyRequest(input *DeleteUserPolicyInput) (req *reques // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -4522,7 +4563,8 @@ func (c *IAM) DeleteVirtualMFADeviceRequest(input *DeleteVirtualMFADeviceInput) // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -4616,7 +4658,8 @@ func (c *IAM) DetachGroupPolicyRequest(input *DetachGroupPolicyInput) (req *requ // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied @@ -4714,7 +4757,8 @@ func (c *IAM) DetachRolePolicyRequest(input *DetachRolePolicyInput) (req *reques // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied @@ -4818,7 +4862,8 @@ func (c *IAM) DetachUserPolicyRequest(input *DetachUserPolicyInput) (req *reques // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied @@ -4923,7 +4968,8 @@ func (c *IAM) EnableMFADeviceRequest(input *EnableMFADeviceInput) (req *request. // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced a resource entity that does @@ -5013,7 +5059,8 @@ func (c *IAM) GenerateCredentialReportRequest(input *GenerateCredentialReportInp // Returned Error Codes: // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -5326,8 +5373,8 @@ func (c *IAM) GenerateServiceLastAccessedDetailsRequest(input *GenerateServiceLa // see Evaluating Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-basics) // in the IAM User Guide. // -// For more information about service last accessed data, see Reducing Policy -// Scope by Viewing User Activity (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html) +// For more information about service and action last accessed data, see Reducing +// Permissions Using Service Last Accessed Data (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html) // in the IAM User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -5726,8 +5773,8 @@ func (c *IAM) GetAccountSummaryRequest(input *GetAccountSummaryInput) (req *requ // // Retrieves information about IAM entity usage and IAM quotas in the AWS account. // -// For information about limitations on IAM entities, see Limitations on IAM -// Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) +// The number and size of IAM resources in an AWS account are limited. For more +// information, see IAM and STS Quotas (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) // in the IAM User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -7410,6 +7457,15 @@ func (c *IAM) GetServiceLastAccessedDetailsRequest(input *GetServiceLastAccessed // // By default, the list is sorted by service namespace. // +// If you specified ACTION_LEVEL granularity when you generated the report, +// this operation returns service and action last accessed data. This includes +// the most recent access attempt for each tracked action within a service. +// Otherwise, this operation returns only service data. +// +// For more information about service and action last accessed data, see Reducing +// Permissions Using Service Last Accessed Data (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html) +// in the IAM User Guide. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -11715,7 +11771,8 @@ func (c *IAM) PutGroupPolicyRequest(input *PutGroupPolicyInput) (req *request.Re // Returned Error Codes: // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" // The request was rejected because the policy document was malformed. The error @@ -11941,7 +11998,8 @@ func (c *IAM) PutRolePolicyRequest(input *PutRolePolicyInput) (req *request.Requ // Returned Error Codes: // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" // The request was rejected because the policy document was malformed. The error @@ -12159,7 +12217,8 @@ func (c *IAM) PutUserPolicyRequest(input *PutUserPolicyInput) (req *request.Requ // Returned Error Codes: // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" // The request was rejected because the policy document was malformed. The error @@ -12359,7 +12418,8 @@ func (c *IAM) RemoveRoleFromInstanceProfileRequest(input *RemoveRoleFromInstance // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeUnmodifiableEntityException "UnmodifiableEntity" // The request was rejected because only the service that depends on the service-linked @@ -12454,7 +12514,8 @@ func (c *IAM) RemoveUserFromGroupRequest(input *RemoveUserFromGroupInput) (req * // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -12635,7 +12696,8 @@ func (c *IAM) ResyncMFADeviceRequest(input *ResyncMFADeviceInput) (req *request. // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -12737,7 +12799,8 @@ func (c *IAM) SetDefaultPolicyVersionRequest(input *SetDefaultPolicyVersionInput // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -13292,7 +13355,8 @@ func (c *IAM) TagRoleRequest(input *TagRoleInput) (req *request.Request, output // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied @@ -13422,7 +13486,8 @@ func (c *IAM) TagUserRequest(input *TagUserInput) (req *request.Request, output // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeInvalidInputException "InvalidInput" // The request was rejected because an invalid or out-of-range value was supplied @@ -13715,7 +13780,8 @@ func (c *IAM) UpdateAccessKeyRequest(input *UpdateAccessKeyInput) (req *request. // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -13819,7 +13885,8 @@ func (c *IAM) UpdateAccountPasswordPolicyRequest(input *UpdateAccountPasswordPol // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -13915,7 +13982,8 @@ func (c *IAM) UpdateAssumeRolePolicyRequest(input *UpdateAssumeRolePolicyInput) // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeUnmodifiableEntityException "UnmodifiableEntity" // The request was rejected because only the service that depends on the service-linked @@ -14025,7 +14093,8 @@ func (c *IAM) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -14128,7 +14197,8 @@ func (c *IAM) UpdateLoginProfileRequest(input *UpdateLoginProfileInput) (req *re // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -14509,7 +14579,8 @@ func (c *IAM) UpdateSAMLProviderRequest(input *UpdateSAMLProviderInput) (req *re // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -14711,7 +14782,8 @@ func (c *IAM) UpdateServerCertificateRequest(input *UpdateServerCertificateInput // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -14892,7 +14964,8 @@ func (c *IAM) UpdateSigningCertificateRequest(input *UpdateSigningCertificateInp // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeServiceFailureException "ServiceFailure" // The request processing has failed because of an unknown error, exception @@ -14992,7 +15065,8 @@ func (c *IAM) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, o // // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already @@ -15097,7 +15171,8 @@ func (c *IAM) UploadSSHPublicKeyRequest(input *UploadSSHPublicKeyInput) (req *re // Returned Error Codes: // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeNoSuchEntityException "NoSuchEntity" // The request was rejected because it referenced a resource entity that does @@ -15218,7 +15293,8 @@ func (c *IAM) UploadServerCertificateRequest(input *UploadServerCertificateInput // Returned Error Codes: // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already @@ -15331,7 +15407,8 @@ func (c *IAM) UploadSigningCertificateRequest(input *UploadSigningCertificateInp // Returned Error Codes: // * ErrCodeLimitExceededException "LimitExceeded" // The request was rejected because it attempted to create resources beyond -// the current AWS account limits. The error message describes the limit exceeded. +// the current AWS account limitations. The error message describes the limit +// exceeded. // // * ErrCodeEntityAlreadyExistsException "EntityAlreadyExists" // The request was rejected because it attempted to create a resource that already @@ -20346,6 +20423,14 @@ type GenerateServiceLastAccessedDetailsInput struct { // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` + + // The level of detail that you want to generate. You can specify whether you + // want to generate information about the last attempt to access services or + // actions. If you specify service-level granularity, this operation generates + // only service data. If you specify action-level granularity, it generates + // service and action data. If you don't include this optional parameter, the + // operation generates service data. + Granularity *string `type:"string" enum:"AccessAdvisorUsageGranularityType"` } // String returns the string representation @@ -20380,6 +20465,12 @@ func (s *GenerateServiceLastAccessedDetailsInput) SetArn(v string) *GenerateServ return s } +// SetGranularity sets the Granularity field's value. +func (s *GenerateServiceLastAccessedDetailsInput) SetGranularity(v string) *GenerateServiceLastAccessedDetailsInput { + s.Granularity = &v + return s +} + type GenerateServiceLastAccessedDetailsOutput struct { _ struct{} `type:"structure"` @@ -22358,6 +22449,11 @@ type GetServiceLastAccessedDetailsOutput struct { // JobStatus is a required field JobStatus *string `type:"string" required:"true" enum:"JobStatusType"` + // The type of job. Service jobs return information about when each service + // was last accessed. Action jobs also include information about when tracked + // actions within the service were last accessed. + JobType *string `type:"string" enum:"AccessAdvisorUsageGranularityType"` + // When IsTruncated is true, this element is present and contains the value // to use for the Marker parameter in a subsequent pagination request. Marker *string `type:"string"` @@ -22409,6 +22505,12 @@ func (s *GetServiceLastAccessedDetailsOutput) SetJobStatus(v string) *GetService return s } +// SetJobType sets the JobType field's value. +func (s *GetServiceLastAccessedDetailsOutput) SetJobType(v string) *GetServiceLastAccessedDetailsOutput { + s.JobType = &v + return s +} + // SetMarker sets the Marker field's value. func (s *GetServiceLastAccessedDetailsOutput) SetMarker(v string) *GetServiceLastAccessedDetailsOutput { s.Marker = &v @@ -29462,6 +29564,13 @@ type ServiceLastAccessed struct { // the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period). LastAuthenticatedEntity *string `min:"20" type:"string"` + // The Region from which the authenticated entity (user or role) last attempted + // to access the service. AWS does not report unauthenticated requests. + // + // This field is null if no IAM entities attempted to access the service within + // the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period). + LastAuthenticatedRegion *string `type:"string"` + // The name of the service in which access was attempted. // // ServiceName is a required field @@ -29486,6 +29595,16 @@ type ServiceLastAccessed struct { // This field is null if no principals attempted to access the service within // the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period). TotalAuthenticatedEntities *int64 `type:"integer"` + + // An object that contains details about the most recent attempt to access a + // tracked action within the service. + // + // This field is null if there no tracked actions or if the principal did not + // use the tracked actions within the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period). + // This field is also null if the report was generated at the service level + // and not the action level. For more information, see the Granularity field + // in GenerateServiceLastAccessedDetails. + TrackedActionsLastAccessed []*TrackedActionLastAccessed `type:"list"` } // String returns the string representation @@ -29510,6 +29629,12 @@ func (s *ServiceLastAccessed) SetLastAuthenticatedEntity(v string) *ServiceLastA return s } +// SetLastAuthenticatedRegion sets the LastAuthenticatedRegion field's value. +func (s *ServiceLastAccessed) SetLastAuthenticatedRegion(v string) *ServiceLastAccessed { + s.LastAuthenticatedRegion = &v + return s +} + // SetServiceName sets the ServiceName field's value. func (s *ServiceLastAccessed) SetServiceName(v string) *ServiceLastAccessed { s.ServiceName = &v @@ -29528,6 +29653,12 @@ func (s *ServiceLastAccessed) SetTotalAuthenticatedEntities(v int64) *ServiceLas return s } +// SetTrackedActionsLastAccessed sets the TrackedActionsLastAccessed field's value. +func (s *ServiceLastAccessed) SetTrackedActionsLastAccessed(v []*TrackedActionLastAccessed) *ServiceLastAccessed { + s.TrackedActionsLastAccessed = v + return s +} + // Contains the details of a service-specific credential. type ServiceSpecificCredential struct { _ struct{} `type:"structure"` @@ -30313,7 +30444,7 @@ type SimulatePrincipalPolicyInput struct { // one permissions boundary when you pass a policy to this operation. An IAM // entity can only have one permissions boundary in effect at a time. For example, // if a permissions boundary is attached to an entity and you pass in a different - // permissions boundary policy using this parameter, then the new permission + // permissions boundary policy using this parameter, then the new permissions // boundary policy is used for the simulation. For more information about permissions // boundaries, see Permissions Boundaries for IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) // in the IAM User Guide. The policy input is specified as a string containing @@ -30857,6 +30988,75 @@ func (s TagUserOutput) GoString() string { return s.String() } +// Contains details about the most recent attempt to access an action within +// the service. +// +// This data type is used as a response element in the GetServiceLastAccessedDetails +// operation. +type TrackedActionLastAccessed struct { + _ struct{} `type:"structure"` + + // The name of the tracked action to which access was attempted. Tracked actions + // are actions that report activity to IAM. + ActionName *string `type:"string"` + + // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources. + // + // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS + // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + LastAccessedEntity *string `min:"20" type:"string"` + + // The Region from which the authenticated entity (user or role) last attempted + // to access the tracked action. AWS does not report unauthenticated requests. + // + // This field is null if no IAM entities attempted to access the service within + // the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period). + LastAccessedRegion *string `type:"string"` + + // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), + // when an authenticated entity most recently attempted to access the tracked + // service. AWS does not report unauthenticated requests. + // + // This field is null if no IAM entities attempted to access the service within + // the reporting period (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period). + LastAccessedTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s TrackedActionLastAccessed) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TrackedActionLastAccessed) GoString() string { + return s.String() +} + +// SetActionName sets the ActionName field's value. +func (s *TrackedActionLastAccessed) SetActionName(v string) *TrackedActionLastAccessed { + s.ActionName = &v + return s +} + +// SetLastAccessedEntity sets the LastAccessedEntity field's value. +func (s *TrackedActionLastAccessed) SetLastAccessedEntity(v string) *TrackedActionLastAccessed { + s.LastAccessedEntity = &v + return s +} + +// SetLastAccessedRegion sets the LastAccessedRegion field's value. +func (s *TrackedActionLastAccessed) SetLastAccessedRegion(v string) *TrackedActionLastAccessed { + s.LastAccessedRegion = &v + return s +} + +// SetLastAccessedTime sets the LastAccessedTime field's value. +func (s *TrackedActionLastAccessed) SetLastAccessedTime(v time.Time) *TrackedActionLastAccessed { + s.LastAccessedTime = &v + return s +} + type UntagRoleInput struct { _ struct{} `type:"structure"` @@ -33066,6 +33266,14 @@ func (s *VirtualMFADevice) SetUser(v *User) *VirtualMFADevice { return s } +const ( + // AccessAdvisorUsageGranularityTypeServiceLevel is a AccessAdvisorUsageGranularityType enum value + AccessAdvisorUsageGranularityTypeServiceLevel = "SERVICE_LEVEL" + + // AccessAdvisorUsageGranularityTypeActionLevel is a AccessAdvisorUsageGranularityType enum value + AccessAdvisorUsageGranularityTypeActionLevel = "ACTION_LEVEL" +) + const ( // AssignmentStatusTypeAssigned is a AssignmentStatusType enum value AssignmentStatusTypeAssigned = "Assigned" diff --git a/vendor/github.com/aws/aws-sdk-go/service/iam/doc.go b/vendor/github.com/aws/aws-sdk-go/service/iam/doc.go index 0d709cd275b..13f89fa1900 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iam/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iam/doc.go @@ -3,59 +3,12 @@ // Package iam provides the client and types for making API // requests to AWS Identity and Access Management. // -// AWS Identity and Access Management (IAM) is a web service that you can use -// to manage users and user permissions under your AWS account. This guide provides -// descriptions of IAM actions that you can call programmatically. For general -// information about IAM, see AWS Identity and Access Management (IAM) (http://aws.amazon.com/iam/). -// For the user guide for IAM, see Using IAM (https://docs.aws.amazon.com/IAM/latest/UserGuide/). -// -// AWS provides SDKs that consist of libraries and sample code for various programming -// languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs -// provide a convenient way to create programmatic access to IAM and AWS. For -// example, the SDKs take care of tasks such as cryptographically signing requests -// (see below), managing errors, and retrying requests automatically. For information -// about the AWS SDKs, including how to download and install them, see the Tools -// for Amazon Web Services (http://aws.amazon.com/tools/) page. -// -// We recommend that you use the AWS SDKs to make programmatic API calls to -// IAM. However, you can also use the IAM Query API to make direct calls to -// the IAM web service. To learn more about the IAM Query API, see Making Query -// Requests (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html) -// in the Using IAM guide. IAM supports GET and POST requests for all actions. -// That is, the API does not require you to use GET for some actions and POST -// for others. However, GET requests are subject to the limitation size of a -// URL. Therefore, for operations that require larger sizes, use a POST request. -// -// Signing Requests -// -// Requests must be signed using an access key ID and a secret access key. We -// strongly recommend that you do not use your AWS account access key ID and -// secret access key for everyday work with IAM. You can use the access key -// ID and secret access key for an IAM user or you can use the AWS Security -// Token Service to generate temporary security credentials and use those to -// sign requests. -// -// To sign requests, we recommend that you use Signature Version 4 (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). -// If you have an existing application that uses Signature Version 2, you do -// not have to update it to use Signature Version 4. However, some operations -// now require Signature Version 4. The documentation for operations that require -// version 4 indicate this requirement. -// -// Additional Resources -// -// For more information, see the following: -// -// * AWS Security Credentials (https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). -// This topic provides general information about the types of credentials -// used for accessing AWS. -// -// * IAM Best Practices (https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPractices.html). -// This topic presents a list of suggestions for using the IAM service to -// help secure your AWS resources. -// -// * Signing AWS API Requests (https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html). -// This set of topics walk you through the process of signing a request using -// an access key ID and secret access key. +// AWS Identity and Access Management (IAM) is a web service for securely controlling +// access to AWS services. With IAM, you can centrally manage users, security +// credentials such as access keys, and permissions that control which AWS resources +// users and applications can access. For more information about IAM, see AWS +// Identity and Access Management (IAM) (http://aws.amazon.com/iam/) and the +// AWS Identity and Access Management User Guide (https://docs.aws.amazon.com/IAM/latest/UserGuide/). // // See https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/iam/errors.go b/vendor/github.com/aws/aws-sdk-go/service/iam/errors.go index 30a85b3b44d..74afac25e08 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iam/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iam/errors.go @@ -117,7 +117,8 @@ const ( // "LimitExceeded". // // The request was rejected because it attempted to create resources beyond - // the current AWS account limits. The error message describes the limit exceeded. + // the current AWS account limitations. The error message describes the limit + // exceeded. ErrCodeLimitExceededException = "LimitExceeded" // ErrCodeMalformedCertificateException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/imagebuilder/api.go b/vendor/github.com/aws/aws-sdk-go/service/imagebuilder/api.go index 10a6d1a9a06..d3702242c19 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/imagebuilder/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/imagebuilder/api.go @@ -207,6 +207,10 @@ func (c *Imagebuilder) CreateComponentRequest(input *CreateComponentInput) (req // You have specified two or more mutually exclusive parameters. Review the // error message for details. // +// * ServiceQuotaExceededException +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateComponent func (c *Imagebuilder) CreateComponent(input *CreateComponentInput) (*CreateComponentOutput, error) { req, out := c.CreateComponentRequest(input) @@ -319,6 +323,10 @@ func (c *Imagebuilder) CreateDistributionConfigurationRequest(input *CreateDistr // You have specified two or more mutually exclusive parameters. Review the // error message for details. // +// * ServiceQuotaExceededException +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateDistributionConfiguration func (c *Imagebuilder) CreateDistributionConfiguration(input *CreateDistributionConfigurationInput) (*CreateDistributionConfigurationOutput, error) { req, out := c.CreateDistributionConfigurationRequest(input) @@ -424,6 +432,10 @@ func (c *Imagebuilder) CreateImageRequest(input *CreateImageInput) (req *request // The resource that you are trying to operate on is currently in use. Review // the message details and retry later. // +// * ServiceQuotaExceededException +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImage func (c *Imagebuilder) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) { req, out := c.CreateImageRequest(input) @@ -532,6 +544,10 @@ func (c *Imagebuilder) CreateImagePipelineRequest(input *CreateImagePipelineInpu // * ResourceAlreadyExistsException // The resource that you are trying to create already exists. // +// * ServiceQuotaExceededException +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImagePipeline func (c *Imagebuilder) CreateImagePipeline(input *CreateImagePipelineInput) (*CreateImagePipelineOutput, error) { req, out := c.CreateImagePipelineRequest(input) @@ -643,6 +659,10 @@ func (c *Imagebuilder) CreateImageRecipeRequest(input *CreateImageRecipeInput) ( // * ResourceAlreadyExistsException // The resource that you are trying to create already exists. // +// * ServiceQuotaExceededException +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImageRecipe func (c *Imagebuilder) CreateImageRecipe(input *CreateImageRecipeInput) (*CreateImageRecipeOutput, error) { req, out := c.CreateImageRecipeRequest(input) @@ -751,6 +771,10 @@ func (c *Imagebuilder) CreateInfrastructureConfigurationRequest(input *CreateInf // * ResourceAlreadyExistsException // The resource that you are trying to create already exists. // +// * ServiceQuotaExceededException +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +// // See also, https://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateInfrastructureConfiguration func (c *Imagebuilder) CreateInfrastructureConfiguration(input *CreateInfrastructureConfigurationInput) (*CreateInfrastructureConfigurationOutput, error) { req, out := c.CreateInfrastructureConfigurationRequest(input) @@ -2863,7 +2887,7 @@ func (c *Imagebuilder) ListImageBuildVersionsRequest(input *ListImageBuildVersio // ListImageBuildVersions API operation for EC2 Image Builder. // -// Returns a list of distribution configurations. +// Returns a list of image build 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 @@ -3494,7 +3518,7 @@ func (c *Imagebuilder) ListImagesRequest(input *ListImagesInput) (req *request.R // ListImages API operation for EC2 Image Builder. // -// Returns the list of image build versions for the specified semantic version. +// Returns the list of images that you have access to. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4835,6 +4859,9 @@ type AmiDistributionConfiguration struct { // The description of the distribution configuration. Description *string `locationName:"description" min:"1" type:"string"` + // The KMS key identifier used to encrypt the distributed image. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + // Launch permissions can be used to configure which AWS accounts can use the // AMI to launch instances. LaunchPermission *LaunchPermissionConfiguration `locationName:"launchPermission" type:"structure"` @@ -4862,6 +4889,9 @@ func (s *AmiDistributionConfiguration) Validate() error { if s.Description != nil && len(*s.Description) < 1 { invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } @@ -4884,6 +4914,12 @@ func (s *AmiDistributionConfiguration) SetDescription(v string) *AmiDistribution return s } +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *AmiDistributionConfiguration) SetKmsKeyId(v string) *AmiDistributionConfiguration { + s.KmsKeyId = &v + return s +} + // SetLaunchPermission sets the LaunchPermission field's value. func (s *AmiDistributionConfiguration) SetLaunchPermission(v *LaunchPermissionConfiguration) *AmiDistributionConfiguration { s.LaunchPermission = v @@ -5135,6 +5171,11 @@ type Component struct { // The platform of the component. Platform *string `locationName:"platform" type:"string" enum:"Platform"` + // The operating system (OS) version supported by the component. If the OS information + // is available, a prefix match is performed against the parent image OS version + // during image recipe creation. + SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"` + // The tags associated with the component. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` @@ -5216,6 +5257,12 @@ func (s *Component) SetPlatform(v string) *Component { return s } +// SetSupportedOsVersions sets the SupportedOsVersions field's value. +func (s *Component) SetSupportedOsVersions(v []*string) *Component { + s.SupportedOsVersions = v + return s +} + // SetTags sets the Tags field's value. func (s *Component) SetTags(v map[string]*string) *Component { s.Tags = v @@ -5298,6 +5345,11 @@ type ComponentSummary struct { // The platform of the component. Platform *string `locationName:"platform" type:"string" enum:"Platform"` + // The operating system (OS) version supported by the component. If the OS information + // is available, a prefix match is performed against the parent image OS version + // during image recipe creation. + SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"` + // The tags associated with the component. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` @@ -5361,6 +5413,12 @@ func (s *ComponentSummary) SetPlatform(v string) *ComponentSummary { return s } +// SetSupportedOsVersions sets the SupportedOsVersions field's value. +func (s *ComponentSummary) SetSupportedOsVersions(v []*string) *ComponentSummary { + s.SupportedOsVersions = v + return s +} + // SetTags sets the Tags field's value. func (s *ComponentSummary) SetTags(v map[string]*string) *ComponentSummary { s.Tags = v @@ -5401,6 +5459,11 @@ type ComponentVersion struct { // The platform of the component. Platform *string `locationName:"platform" type:"string" enum:"Platform"` + // The operating system (OS) version supported by the component. If the OS information + // is available, a prefix match is performed against the parent image OS version + // during image recipe creation. + SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"` + // The type of the component denotes whether the component is used to build // the image or only to test it. Type *string `locationName:"type" type:"string" enum:"ComponentType"` @@ -5455,6 +5518,12 @@ func (s *ComponentVersion) SetPlatform(v string) *ComponentVersion { return s } +// SetSupportedOsVersions sets the SupportedOsVersions field's value. +func (s *ComponentVersion) SetSupportedOsVersions(v []*string) *ComponentVersion { + s.SupportedOsVersions = v + return s +} + // SetType sets the Type field's value. func (s *ComponentVersion) SetType(v string) *ComponentVersion { s.Type = &v @@ -5505,6 +5574,11 @@ type CreateComponentInput struct { // SemanticVersion is a required field SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"` + // The operating system (OS) version supported by the component. If the OS information + // is available, a prefix match is performed against the parent image OS version + // during image recipe creation. + SupportedOsVersions []*string `locationName:"supportedOsVersions" min:"1" type:"list"` + // The tags of the component. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` @@ -5552,6 +5626,9 @@ func (s *CreateComponentInput) Validate() error { if s.SemanticVersion == nil { invalidParams.Add(request.NewErrParamRequired("SemanticVersion")) } + if s.SupportedOsVersions != nil && len(s.SupportedOsVersions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SupportedOsVersions", 1)) + } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } @@ -5610,6 +5687,12 @@ func (s *CreateComponentInput) SetSemanticVersion(v string) *CreateComponentInpu return s } +// SetSupportedOsVersions sets the SupportedOsVersions field's value. +func (s *CreateComponentInput) SetSupportedOsVersions(v []*string) *CreateComponentInput { + s.SupportedOsVersions = v + return s +} + // SetTags sets the Tags field's value. func (s *CreateComponentInput) SetTags(v map[string]*string) *CreateComponentInput { s.Tags = v @@ -6206,6 +6289,9 @@ type CreateImageRecipeInput struct { // The tags of the image recipe. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` + + // The working directory to be used during build and test workflows. + WorkingDirectory *string `locationName:"workingDirectory" min:"1" type:"string"` } // String returns the string representation @@ -6248,6 +6334,9 @@ func (s *CreateImageRecipeInput) Validate() error { if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } + if s.WorkingDirectory != nil && len(*s.WorkingDirectory) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkingDirectory", 1)) + } if s.BlockDeviceMappings != nil { for i, v := range s.BlockDeviceMappings { if v == nil { @@ -6323,6 +6412,12 @@ func (s *CreateImageRecipeInput) SetTags(v map[string]*string) *CreateImageRecip return s } +// SetWorkingDirectory sets the WorkingDirectory field's value. +func (s *CreateImageRecipeInput) SetWorkingDirectory(v string) *CreateImageRecipeInput { + s.WorkingDirectory = &v + return s +} + type CreateImageRecipeOutput struct { _ struct{} `type:"structure"` @@ -6397,6 +6492,9 @@ type CreateInfrastructureConfigurationInput struct { // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` + // The tags attached to the resource created by Image Builder. + ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` + // The security group IDs to associate with the instance used to customize your // EC2 AMI. SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` @@ -6447,6 +6545,9 @@ func (s *CreateInfrastructureConfigurationInput) Validate() error { if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } + if s.ResourceTags != nil && len(s.ResourceTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceTags", 1)) + } if s.SubnetId != nil && len(*s.SubnetId) < 1 { invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) } @@ -6507,6 +6608,12 @@ func (s *CreateInfrastructureConfigurationInput) SetName(v string) *CreateInfras return s } +// SetResourceTags sets the ResourceTags field's value. +func (s *CreateInfrastructureConfigurationInput) SetResourceTags(v map[string]*string) *CreateInfrastructureConfigurationInput { + s.ResourceTags = v + return s +} + // SetSecurityGroupIds sets the SecurityGroupIds field's value. func (s *CreateInfrastructureConfigurationInput) SetSecurityGroupIds(v []*string) *CreateInfrastructureConfigurationInput { s.SecurityGroupIds = v @@ -8487,6 +8594,9 @@ type ImageRecipe struct { // The version of the image recipe. Version *string `locationName:"version" type:"string"` + + // The working directory to be used during build and test workflows. + WorkingDirectory *string `locationName:"workingDirectory" min:"1" type:"string"` } // String returns the string representation @@ -8565,6 +8675,12 @@ func (s *ImageRecipe) SetVersion(v string) *ImageRecipe { return s } +// SetWorkingDirectory sets the WorkingDirectory field's value. +func (s *ImageRecipe) SetWorkingDirectory(v string) *ImageRecipe { + s.WorkingDirectory = &v + return s +} + // A summary of an image recipe. type ImageRecipeSummary struct { _ struct{} `type:"structure"` @@ -9163,6 +9279,9 @@ type InfrastructureConfiguration struct { // The name of the infrastructure configuration. Name *string `locationName:"name" type:"string"` + // The tags attached to the resource created by Image Builder. + ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` + // The security group IDs of the infrastructure configuration. SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` @@ -9243,6 +9362,12 @@ func (s *InfrastructureConfiguration) SetName(v string) *InfrastructureConfigura return s } +// SetResourceTags sets the ResourceTags field's value. +func (s *InfrastructureConfiguration) SetResourceTags(v map[string]*string) *InfrastructureConfiguration { + s.ResourceTags = v + return s +} + // SetSecurityGroupIds sets the SecurityGroupIds field's value. func (s *InfrastructureConfiguration) SetSecurityGroupIds(v []*string) *InfrastructureConfiguration { s.SecurityGroupIds = v @@ -9292,6 +9417,9 @@ type InfrastructureConfigurationSummary struct { // The name of the infrastructure configuration. Name *string `locationName:"name" type:"string"` + // The tags attached to the image created by Image Builder. + ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` + // The tags of the infrastructure configuration. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } @@ -9336,6 +9464,12 @@ func (s *InfrastructureConfigurationSummary) SetName(v string) *InfrastructureCo return s } +// SetResourceTags sets the ResourceTags field's value. +func (s *InfrastructureConfigurationSummary) SetResourceTags(v map[string]*string) *InfrastructureConfigurationSummary { + s.ResourceTags = v + return s +} + // SetTags sets the Tags field's value. func (s *InfrastructureConfigurationSummary) SetTags(v map[string]*string) *InfrastructureConfigurationSummary { s.Tags = v @@ -9755,7 +9889,9 @@ func (s *InvalidVersionNumberException) RequestID() string { // Describes the configuration for a launch permission. The launch permission // modification request is sent to the EC2 ModifyImageAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html) // API on behalf of the user for each Region they have selected to distribute -// the AMI. +// the AMI. To make an AMI public, set the launch permission authorized accounts +// to all. See the examples for making an AMI public at EC2 ModifyImageAttribute +// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html). type LaunchPermissionConfiguration struct { _ struct{} `type:"structure"` @@ -10025,6 +10161,8 @@ type ListDistributionConfigurationsInput struct { _ struct{} `type:"structure"` // The filters. + // + // * name - The name of this distribution configuration. Filters []*Filter `locationName:"filters" min:"1" type:"list"` // The maximum items to return in a request. @@ -11649,6 +11787,63 @@ func (s *ServiceException) RequestID() string { return s.RespMetadata.RequestID } +// You have exceeded the number of permitted resources or operations for this +// service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceQuotaExceededException) GoString() string { + return s.String() +} + +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" +} + +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil +} + +func (s *ServiceQuotaExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + // The service is unable to process your request at this time. type ServiceUnavailableException struct { _ struct{} `type:"structure"` @@ -12296,6 +12491,9 @@ type UpdateInfrastructureConfigurationInput struct { // The logging configuration of the infrastructure configuration. Logging *Logging `locationName:"logging" type:"structure"` + // The tags attached to the resource created by Image Builder. + ResourceTags map[string]*string `locationName:"resourceTags" min:"1" type:"map"` + // The security group IDs to associate with the instance used to customize your // EC2 AMI. SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` @@ -12343,6 +12541,9 @@ func (s *UpdateInfrastructureConfigurationInput) Validate() error { if s.KeyPair != nil && len(*s.KeyPair) < 1 { invalidParams.Add(request.NewErrParamMinLen("KeyPair", 1)) } + if s.ResourceTags != nil && len(s.ResourceTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceTags", 1)) + } if s.SubnetId != nil && len(*s.SubnetId) < 1 { invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) } @@ -12400,6 +12601,12 @@ func (s *UpdateInfrastructureConfigurationInput) SetLogging(v *Logging) *UpdateI return s } +// SetResourceTags sets the ResourceTags field's value. +func (s *UpdateInfrastructureConfigurationInput) SetResourceTags(v map[string]*string) *UpdateInfrastructureConfigurationInput { + s.ResourceTags = v + return s +} + // SetSecurityGroupIds sets the SecurityGroupIds field's value. func (s *UpdateInfrastructureConfigurationInput) SetSecurityGroupIds(v []*string) *UpdateInfrastructureConfigurationInput { s.SecurityGroupIds = v diff --git a/vendor/github.com/aws/aws-sdk-go/service/imagebuilder/errors.go b/vendor/github.com/aws/aws-sdk-go/service/imagebuilder/errors.go index 3f688043e53..d40ea63665e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/imagebuilder/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/imagebuilder/errors.go @@ -105,6 +105,13 @@ const ( // This exception is thrown when the service encounters an unrecoverable exception. ErrCodeServiceException = "ServiceException" + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // You have exceeded the number of permitted resources or operations for this + // service. For service quotas, see EC2 Image Builder endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#limits_imagebuilder). + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + // ErrCodeServiceUnavailableException for service response error code // "ServiceUnavailableException". // @@ -128,5 +135,6 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ResourceInUseException": newErrorResourceInUseException, "ResourceNotFoundException": newErrorResourceNotFoundException, "ServiceException": newErrorServiceException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, "ServiceUnavailableException": newErrorServiceUnavailableException, } diff --git a/vendor/github.com/aws/aws-sdk-go/service/iot/api.go b/vendor/github.com/aws/aws-sdk-go/service/iot/api.go index 0a75d6e8d41..3c1e3322532 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/iot/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/iot/api.go @@ -15287,6 +15287,10 @@ func (c *IoT) RemoveThingFromThingGroupRequest(input *RemoveThingFromThingGroupI // // Remove the specified thing from the specified group. // +// You must specify either a thingGroupArn or a thingGroupName to identify the +// thing group and either a thingArn or a thingName to identify the thing to +// remove from the thing group. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -18759,11 +18763,11 @@ func (c *IoT) ValidateSecurityProfileBehaviorsWithContext(ctx aws.Context, input return out, req.Send() } -// Details of abort criteria to abort the job. +// The criteria that determine when and how a job abort takes place. type AbortConfig struct { _ struct{} `type:"structure"` - // The list of abort criteria to define rules to abort the job. + // The list of criteria that determine when and how to abort the job. // // CriteriaList is a required field CriteriaList []*AbortCriteria `locationName:"criteriaList" min:"1" type:"list" required:"true"` @@ -18811,27 +18815,28 @@ func (s *AbortConfig) SetCriteriaList(v []*AbortCriteria) *AbortConfig { return s } -// Details of abort criteria to define rules to abort the job. +// The criteria that determine when and how a job abort takes place. type AbortCriteria struct { _ struct{} `type:"structure"` - // The type of abort action to initiate a job abort. + // The type of job action to take to initiate the job abort. // // Action is a required field Action *string `locationName:"action" type:"string" required:"true" enum:"AbortAction"` - // The type of job execution failure to define a rule to initiate a job abort. + // The type of job execution failures that can initiate a job abort. // // FailureType is a required field FailureType *string `locationName:"failureType" type:"string" required:"true" enum:"JobExecutionFailureType"` - // Minimum number of executed things before evaluating an abort rule. + // The minimum number of things which must receive job execution notifications + // before the job can be aborted. // // MinNumberOfExecutedThings is a required field MinNumberOfExecutedThings *int64 `locationName:"minNumberOfExecutedThings" min:"1" type:"integer" required:"true"` - // The threshold as a percentage of the total number of executed things that - // will initiate a job abort. + // The minimum percentage of job execution failures that must occur to initiate + // the job abort. // // AWS IoT supports up to two digits after the decimal (for example, 10.9 and // 10.99, but not 10.999). @@ -19947,7 +19952,7 @@ type AttachPolicyInput struct { // PolicyName is a required field PolicyName *string `location:"uri" locationName:"policyName" min:"1" type:"string" required:"true"` - // The identity (https://docs.aws.amazon.com/iot/latest/developerguide/iot-security-identity.html) + // The identity (https://docs.aws.amazon.com/iot/latest/developerguide/security-iam.html) // to which the policy is attached. // // Target is a required field @@ -21055,10 +21060,155 @@ func (s *AuthorizerSummary) SetAuthorizerName(v string) *AuthorizerSummary { return s } +// The criteria that determine when and how a job abort takes place. +type AwsJobAbortConfig struct { + _ struct{} `type:"structure"` + + // The list of criteria that determine when and how to abort the job. + // + // AbortCriteriaList is a required field + AbortCriteriaList []*AwsJobAbortCriteria `locationName:"abortCriteriaList" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s AwsJobAbortConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsJobAbortConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AwsJobAbortConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AwsJobAbortConfig"} + if s.AbortCriteriaList == nil { + invalidParams.Add(request.NewErrParamRequired("AbortCriteriaList")) + } + if s.AbortCriteriaList != nil && len(s.AbortCriteriaList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AbortCriteriaList", 1)) + } + if s.AbortCriteriaList != nil { + for i, v := range s.AbortCriteriaList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AbortCriteriaList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAbortCriteriaList sets the AbortCriteriaList field's value. +func (s *AwsJobAbortConfig) SetAbortCriteriaList(v []*AwsJobAbortCriteria) *AwsJobAbortConfig { + s.AbortCriteriaList = v + return s +} + +// The criteria that determine when and how a job abort takes place. +type AwsJobAbortCriteria struct { + _ struct{} `type:"structure"` + + // The type of job action to take to initiate the job abort. + // + // Action is a required field + Action *string `locationName:"action" type:"string" required:"true" enum:"AwsJobAbortCriteriaAbortAction"` + + // The type of job execution failures that can initiate a job abort. + // + // FailureType is a required field + FailureType *string `locationName:"failureType" type:"string" required:"true" enum:"AwsJobAbortCriteriaFailureType"` + + // The minimum number of things which must receive job execution notifications + // before the job can be aborted. + // + // MinNumberOfExecutedThings is a required field + MinNumberOfExecutedThings *int64 `locationName:"minNumberOfExecutedThings" min:"1" type:"integer" required:"true"` + + // The minimum percentage of job execution failures that must occur to initiate + // the job abort. + // + // AWS IoT supports up to two digits after the decimal (for example, 10.9 and + // 10.99, but not 10.999). + // + // ThresholdPercentage is a required field + ThresholdPercentage *float64 `locationName:"thresholdPercentage" type:"double" required:"true"` +} + +// String returns the string representation +func (s AwsJobAbortCriteria) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsJobAbortCriteria) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AwsJobAbortCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AwsJobAbortCriteria"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.FailureType == nil { + invalidParams.Add(request.NewErrParamRequired("FailureType")) + } + if s.MinNumberOfExecutedThings == nil { + invalidParams.Add(request.NewErrParamRequired("MinNumberOfExecutedThings")) + } + if s.MinNumberOfExecutedThings != nil && *s.MinNumberOfExecutedThings < 1 { + invalidParams.Add(request.NewErrParamMinValue("MinNumberOfExecutedThings", 1)) + } + if s.ThresholdPercentage == nil { + invalidParams.Add(request.NewErrParamRequired("ThresholdPercentage")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAction sets the Action field's value. +func (s *AwsJobAbortCriteria) SetAction(v string) *AwsJobAbortCriteria { + s.Action = &v + return s +} + +// SetFailureType sets the FailureType field's value. +func (s *AwsJobAbortCriteria) SetFailureType(v string) *AwsJobAbortCriteria { + s.FailureType = &v + return s +} + +// SetMinNumberOfExecutedThings sets the MinNumberOfExecutedThings field's value. +func (s *AwsJobAbortCriteria) SetMinNumberOfExecutedThings(v int64) *AwsJobAbortCriteria { + s.MinNumberOfExecutedThings = &v + return s +} + +// SetThresholdPercentage sets the ThresholdPercentage field's value. +func (s *AwsJobAbortCriteria) SetThresholdPercentage(v float64) *AwsJobAbortCriteria { + s.ThresholdPercentage = &v + return s +} + // Configuration for the rollout of OTA updates. type AwsJobExecutionsRolloutConfig struct { _ struct{} `type:"structure"` + // The rate of increase for a job rollout. This parameter allows you to define + // an exponential rate increase for a job rollout. + ExponentialRate *AwsJobExponentialRolloutRate `locationName:"exponentialRate" type:"structure"` + // The maximum number of OTA update job executions started per minute. MaximumPerMinute *int64 `locationName:"maximumPerMinute" min:"1" type:"integer"` } @@ -21079,6 +21229,11 @@ func (s *AwsJobExecutionsRolloutConfig) Validate() error { if s.MaximumPerMinute != nil && *s.MaximumPerMinute < 1 { invalidParams.Add(request.NewErrParamMinValue("MaximumPerMinute", 1)) } + if s.ExponentialRate != nil { + if err := s.ExponentialRate.Validate(); err != nil { + invalidParams.AddNested("ExponentialRate", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -21086,12 +21241,100 @@ func (s *AwsJobExecutionsRolloutConfig) Validate() error { return nil } +// SetExponentialRate sets the ExponentialRate field's value. +func (s *AwsJobExecutionsRolloutConfig) SetExponentialRate(v *AwsJobExponentialRolloutRate) *AwsJobExecutionsRolloutConfig { + s.ExponentialRate = v + return s +} + // SetMaximumPerMinute sets the MaximumPerMinute field's value. func (s *AwsJobExecutionsRolloutConfig) SetMaximumPerMinute(v int64) *AwsJobExecutionsRolloutConfig { s.MaximumPerMinute = &v return s } +// The rate of increase for a job rollout. This parameter allows you to define +// an exponential rate increase for a job rollout. +type AwsJobExponentialRolloutRate struct { + _ struct{} `type:"structure"` + + // The minimum number of things that will be notified of a pending job, per + // minute, at the start of the job rollout. This is the initial rate of the + // rollout. + // + // BaseRatePerMinute is a required field + BaseRatePerMinute *int64 `locationName:"baseRatePerMinute" min:"1" type:"integer" required:"true"` + + // The rate of increase for a job rollout. The number of things notified is + // multiplied by this factor. + // + // IncrementFactor is a required field + IncrementFactor *float64 `locationName:"incrementFactor" type:"double" required:"true"` + + // The criteria to initiate the increase in rate of rollout for a job. + // + // AWS IoT supports up to one digit after the decimal (for example, 1.5, but + // not 1.55). + // + // RateIncreaseCriteria is a required field + RateIncreaseCriteria *AwsJobRateIncreaseCriteria `locationName:"rateIncreaseCriteria" type:"structure" required:"true"` +} + +// String returns the string representation +func (s AwsJobExponentialRolloutRate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsJobExponentialRolloutRate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AwsJobExponentialRolloutRate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AwsJobExponentialRolloutRate"} + if s.BaseRatePerMinute == nil { + invalidParams.Add(request.NewErrParamRequired("BaseRatePerMinute")) + } + if s.BaseRatePerMinute != nil && *s.BaseRatePerMinute < 1 { + invalidParams.Add(request.NewErrParamMinValue("BaseRatePerMinute", 1)) + } + if s.IncrementFactor == nil { + invalidParams.Add(request.NewErrParamRequired("IncrementFactor")) + } + if s.RateIncreaseCriteria == nil { + invalidParams.Add(request.NewErrParamRequired("RateIncreaseCriteria")) + } + if s.RateIncreaseCriteria != nil { + if err := s.RateIncreaseCriteria.Validate(); err != nil { + invalidParams.AddNested("RateIncreaseCriteria", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBaseRatePerMinute sets the BaseRatePerMinute field's value. +func (s *AwsJobExponentialRolloutRate) SetBaseRatePerMinute(v int64) *AwsJobExponentialRolloutRate { + s.BaseRatePerMinute = &v + return s +} + +// SetIncrementFactor sets the IncrementFactor field's value. +func (s *AwsJobExponentialRolloutRate) SetIncrementFactor(v float64) *AwsJobExponentialRolloutRate { + s.IncrementFactor = &v + return s +} + +// SetRateIncreaseCriteria sets the RateIncreaseCriteria field's value. +func (s *AwsJobExponentialRolloutRate) SetRateIncreaseCriteria(v *AwsJobRateIncreaseCriteria) *AwsJobExponentialRolloutRate { + s.RateIncreaseCriteria = v + return s +} + // Configuration information for pre-signed URLs. Valid when protocols contains // HTTP. type AwsJobPresignedUrlConfig struct { @@ -21119,6 +21362,89 @@ func (s *AwsJobPresignedUrlConfig) SetExpiresInSec(v int64) *AwsJobPresignedUrlC return s } +// The criteria to initiate the increase in rate of rollout for a job. +type AwsJobRateIncreaseCriteria struct { + _ struct{} `type:"structure"` + + // When this number of things have been notified, it will initiate an increase + // in the rollout rate. + NumberOfNotifiedThings *int64 `locationName:"numberOfNotifiedThings" min:"1" type:"integer"` + + // When this number of things have succeeded in their job execution, it will + // initiate an increase in the rollout rate. + NumberOfSucceededThings *int64 `locationName:"numberOfSucceededThings" min:"1" type:"integer"` +} + +// String returns the string representation +func (s AwsJobRateIncreaseCriteria) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsJobRateIncreaseCriteria) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AwsJobRateIncreaseCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AwsJobRateIncreaseCriteria"} + if s.NumberOfNotifiedThings != nil && *s.NumberOfNotifiedThings < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumberOfNotifiedThings", 1)) + } + if s.NumberOfSucceededThings != nil && *s.NumberOfSucceededThings < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumberOfSucceededThings", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNumberOfNotifiedThings sets the NumberOfNotifiedThings field's value. +func (s *AwsJobRateIncreaseCriteria) SetNumberOfNotifiedThings(v int64) *AwsJobRateIncreaseCriteria { + s.NumberOfNotifiedThings = &v + return s +} + +// SetNumberOfSucceededThings sets the NumberOfSucceededThings field's value. +func (s *AwsJobRateIncreaseCriteria) SetNumberOfSucceededThings(v int64) *AwsJobRateIncreaseCriteria { + s.NumberOfSucceededThings = &v + return s +} + +// Specifies the amount of time each device has to finish its execution of the +// job. A timer is started when the job execution status is set to IN_PROGRESS. +// If the job execution status is not set to another terminal state before the +// timer expires, it will be automatically set to TIMED_OUT. +type AwsJobTimeoutConfig struct { + _ struct{} `type:"structure"` + + // Specifies the amount of time, in minutes, this device has to finish execution + // of this job. The timeout interval can be anywhere between 1 minute and 7 + // days (1 to 10080 minutes). The in progress timer can't be updated and will + // apply to all job executions for the job. Whenever a job execution remains + // in the IN_PROGRESS status for longer than this interval, the job execution + // will fail and switch to the terminal TIMED_OUT status. + InProgressTimeoutInMinutes *int64 `locationName:"inProgressTimeoutInMinutes" type:"long"` +} + +// String returns the string representation +func (s AwsJobTimeoutConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsJobTimeoutConfig) GoString() string { + return s.String() +} + +// SetInProgressTimeoutInMinutes sets the InProgressTimeoutInMinutes field's value. +func (s *AwsJobTimeoutConfig) SetInProgressTimeoutInMinutes(v int64) *AwsJobTimeoutConfig { + s.InProgressTimeoutInMinutes = &v + return s +} + // A Device Defender security profile behavior. type Behavior struct { _ struct{} `type:"structure"` @@ -24122,12 +24448,21 @@ type CreateOTAUpdateInput struct { // A list of additional OTA update parameters which are name-value pairs. AdditionalParameters map[string]*string `locationName:"additionalParameters" type:"map"` + // The criteria that determine when and how a job abort takes place. + AwsJobAbortConfig *AwsJobAbortConfig `locationName:"awsJobAbortConfig" type:"structure"` + // Configuration for the rollout of OTA updates. AwsJobExecutionsRolloutConfig *AwsJobExecutionsRolloutConfig `locationName:"awsJobExecutionsRolloutConfig" type:"structure"` // Configuration information for pre-signed URLs. AwsJobPresignedUrlConfig *AwsJobPresignedUrlConfig `locationName:"awsJobPresignedUrlConfig" type:"structure"` + // Specifies the amount of time each device has to finish its execution of the + // job. A timer is started when the job execution status is set to IN_PROGRESS. + // If the job execution status is not set to another terminal state before the + // timer expires, it will be automatically set to TIMED_OUT. + AwsJobTimeoutConfig *AwsJobTimeoutConfig `locationName:"awsJobTimeoutConfig" type:"structure"` + // The description of the OTA update. Description *string `locationName:"description" type:"string"` @@ -24146,7 +24481,8 @@ type CreateOTAUpdateInput struct { // can choose the protocol. Protocols []*string `locationName:"protocols" min:"1" type:"list"` - // The IAM role that allows access to the AWS IoT Jobs service. + // The IAM role that grants AWS IoT access to the Amazon S3, AWS IoT jobs and + // AWS Code Signing resources to create an OTA update job. // // RoleArn is a required field RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"` @@ -24162,7 +24498,7 @@ type CreateOTAUpdateInput struct { // by all things originally in the group. Valid values: CONTINUOUS | SNAPSHOT. TargetSelection *string `locationName:"targetSelection" type:"string" enum:"TargetSelection"` - // The targeted devices to receive OTA updates. + // The devices targeted to receive OTA updates. // // Targets is a required field Targets []*string `locationName:"targets" min:"1" type:"list" required:"true"` @@ -24208,6 +24544,11 @@ func (s *CreateOTAUpdateInput) Validate() error { if s.Targets != nil && len(s.Targets) < 1 { invalidParams.Add(request.NewErrParamMinLen("Targets", 1)) } + if s.AwsJobAbortConfig != nil { + if err := s.AwsJobAbortConfig.Validate(); err != nil { + invalidParams.AddNested("AwsJobAbortConfig", err.(request.ErrInvalidParams)) + } + } if s.AwsJobExecutionsRolloutConfig != nil { if err := s.AwsJobExecutionsRolloutConfig.Validate(); err != nil { invalidParams.AddNested("AwsJobExecutionsRolloutConfig", err.(request.ErrInvalidParams)) @@ -24246,6 +24587,12 @@ func (s *CreateOTAUpdateInput) SetAdditionalParameters(v map[string]*string) *Cr return s } +// SetAwsJobAbortConfig sets the AwsJobAbortConfig field's value. +func (s *CreateOTAUpdateInput) SetAwsJobAbortConfig(v *AwsJobAbortConfig) *CreateOTAUpdateInput { + s.AwsJobAbortConfig = v + return s +} + // SetAwsJobExecutionsRolloutConfig sets the AwsJobExecutionsRolloutConfig field's value. func (s *CreateOTAUpdateInput) SetAwsJobExecutionsRolloutConfig(v *AwsJobExecutionsRolloutConfig) *CreateOTAUpdateInput { s.AwsJobExecutionsRolloutConfig = v @@ -24258,6 +24605,12 @@ func (s *CreateOTAUpdateInput) SetAwsJobPresignedUrlConfig(v *AwsJobPresignedUrl return s } +// SetAwsJobTimeoutConfig sets the AwsJobTimeoutConfig field's value. +func (s *CreateOTAUpdateInput) SetAwsJobTimeoutConfig(v *AwsJobTimeoutConfig) *CreateOTAUpdateInput { + s.AwsJobTimeoutConfig = v + return s +} + // SetDescription sets the Description field's value. func (s *CreateOTAUpdateInput) SetDescription(v string) *CreateOTAUpdateInput { s.Description = &v @@ -26928,10 +27281,10 @@ type DeleteOTAUpdateInput struct { DeleteStream *bool `location:"querystring" locationName:"deleteStream" type:"boolean"` // Specifies if the AWS Job associated with the OTA update should be deleted - // with the OTA update is deleted. + // when the OTA update is deleted. ForceDeleteAWSJob *bool `location:"querystring" locationName:"forceDeleteAWSJob" type:"boolean"` - // The OTA update ID to delete. + // The ID of the OTA update to delete. // // OtaUpdateId is a required field OtaUpdateId *string `location:"uri" locationName:"otaUpdateId" min:"1" type:"string" required:"true"` @@ -49555,6 +49908,25 @@ const ( AutoRegistrationStatusDisable = "DISABLE" ) +const ( + // AwsJobAbortCriteriaAbortActionCancel is a AwsJobAbortCriteriaAbortAction enum value + AwsJobAbortCriteriaAbortActionCancel = "CANCEL" +) + +const ( + // AwsJobAbortCriteriaFailureTypeFailed is a AwsJobAbortCriteriaFailureType enum value + AwsJobAbortCriteriaFailureTypeFailed = "FAILED" + + // AwsJobAbortCriteriaFailureTypeRejected is a AwsJobAbortCriteriaFailureType enum value + AwsJobAbortCriteriaFailureTypeRejected = "REJECTED" + + // AwsJobAbortCriteriaFailureTypeTimedOut is a AwsJobAbortCriteriaFailureType enum value + AwsJobAbortCriteriaFailureTypeTimedOut = "TIMED_OUT" + + // AwsJobAbortCriteriaFailureTypeAll is a AwsJobAbortCriteriaFailureType enum value + AwsJobAbortCriteriaFailureTypeAll = "ALL" +) + const ( // CACertificateStatusActive is a CACertificateStatus enum value CACertificateStatusActive = "ACTIVE" diff --git a/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go b/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go index 07f1aab901f..e11f4c26d2a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kafka/api.go @@ -758,6 +758,103 @@ func (c *Kafka) GetBootstrapBrokersWithContext(ctx aws.Context, input *GetBootst return out, req.Send() } +const opGetCompatibleKafkaVersions = "GetCompatibleKafkaVersions" + +// GetCompatibleKafkaVersionsRequest generates a "aws/request.Request" representing the +// client's request for the GetCompatibleKafkaVersions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCompatibleKafkaVersions for more information on using the GetCompatibleKafkaVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetCompatibleKafkaVersionsRequest method. +// req, resp := client.GetCompatibleKafkaVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetCompatibleKafkaVersions +func (c *Kafka) GetCompatibleKafkaVersionsRequest(input *GetCompatibleKafkaVersionsInput) (req *request.Request, output *GetCompatibleKafkaVersionsOutput) { + op := &request.Operation{ + Name: opGetCompatibleKafkaVersions, + HTTPMethod: "GET", + HTTPPath: "/v1/compatible-kafka-versions", + } + + if input == nil { + input = &GetCompatibleKafkaVersionsInput{} + } + + output = &GetCompatibleKafkaVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCompatibleKafkaVersions API operation for Managed Streaming for Kafka. +// +// Gets the Apache Kafka versions to which you can update the MSK cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Managed Streaming for Kafka's +// API operation GetCompatibleKafkaVersions for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// Returns information about an error. +// +// * UnauthorizedException +// Returns information about an error. +// +// * InternalServerErrorException +// Returns information about an error. +// +// * ForbiddenException +// Returns information about an error. +// +// * NotFoundException +// Returns information about an error. +// +// * ServiceUnavailableException +// Returns information about an error. +// +// * TooManyRequestsException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetCompatibleKafkaVersions +func (c *Kafka) GetCompatibleKafkaVersions(input *GetCompatibleKafkaVersionsInput) (*GetCompatibleKafkaVersionsOutput, error) { + req, out := c.GetCompatibleKafkaVersionsRequest(input) + return out, req.Send() +} + +// GetCompatibleKafkaVersionsWithContext is the same as GetCompatibleKafkaVersions with the addition of +// the ability to pass a context and additional request options. +// +// See GetCompatibleKafkaVersions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kafka) GetCompatibleKafkaVersionsWithContext(ctx aws.Context, input *GetCompatibleKafkaVersionsInput, opts ...request.Option) (*GetCompatibleKafkaVersionsOutput, error) { + req, out := c.GetCompatibleKafkaVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListClusterOperations = "ListClusterOperations" // ListClusterOperationsRequest generates a "aws/request.Request" representing the @@ -1729,6 +1826,103 @@ func (c *Kafka) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsF return out, req.Send() } +const opRebootBroker = "RebootBroker" + +// RebootBrokerRequest generates a "aws/request.Request" representing the +// client's request for the RebootBroker operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See RebootBroker for more information on using the RebootBroker +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the RebootBrokerRequest method. +// req, resp := client.RebootBrokerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/RebootBroker +func (c *Kafka) RebootBrokerRequest(input *RebootBrokerInput) (req *request.Request, output *RebootBrokerOutput) { + op := &request.Operation{ + Name: opRebootBroker, + HTTPMethod: "PUT", + HTTPPath: "/v1/clusters/{clusterArn}/reboot-broker", + } + + if input == nil { + input = &RebootBrokerInput{} + } + + output = &RebootBrokerOutput{} + req = c.newRequest(op, input, output) + return +} + +// RebootBroker API operation for Managed Streaming for Kafka. +// +// Executes a reboot on a broker. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Managed Streaming for Kafka's +// API operation RebootBroker for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// Returns information about an error. +// +// * UnauthorizedException +// Returns information about an error. +// +// * InternalServerErrorException +// Returns information about an error. +// +// * ForbiddenException +// Returns information about an error. +// +// * NotFoundException +// Returns information about an error. +// +// * ServiceUnavailableException +// Returns information about an error. +// +// * TooManyRequestsException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/RebootBroker +func (c *Kafka) RebootBroker(input *RebootBrokerInput) (*RebootBrokerOutput, error) { + req, out := c.RebootBrokerRequest(input) + return out, req.Send() +} + +// RebootBrokerWithContext is the same as RebootBroker with the addition of +// the ability to pass a context and additional request options. +// +// See RebootBroker for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kafka) RebootBrokerWithContext(ctx aws.Context, input *RebootBrokerInput, opts ...request.Option) (*RebootBrokerOutput, error) { + req, out := c.RebootBrokerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the @@ -2180,6 +2374,103 @@ func (c *Kafka) UpdateClusterConfigurationWithContext(ctx aws.Context, input *Up return out, req.Send() } +const opUpdateClusterKafkaVersion = "UpdateClusterKafkaVersion" + +// UpdateClusterKafkaVersionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateClusterKafkaVersion operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateClusterKafkaVersion for more information on using the UpdateClusterKafkaVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateClusterKafkaVersionRequest method. +// req, resp := client.UpdateClusterKafkaVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateClusterKafkaVersion +func (c *Kafka) UpdateClusterKafkaVersionRequest(input *UpdateClusterKafkaVersionInput) (req *request.Request, output *UpdateClusterKafkaVersionOutput) { + op := &request.Operation{ + Name: opUpdateClusterKafkaVersion, + HTTPMethod: "PUT", + HTTPPath: "/v1/clusters/{clusterArn}/version", + } + + if input == nil { + input = &UpdateClusterKafkaVersionInput{} + } + + output = &UpdateClusterKafkaVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateClusterKafkaVersion API operation for Managed Streaming for Kafka. +// +// Updates the Apache Kafka version for the cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Managed Streaming for Kafka's +// API operation UpdateClusterKafkaVersion for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// Returns information about an error. +// +// * UnauthorizedException +// Returns information about an error. +// +// * InternalServerErrorException +// Returns information about an error. +// +// * ForbiddenException +// Returns information about an error. +// +// * NotFoundException +// Returns information about an error. +// +// * ServiceUnavailableException +// Returns information about an error. +// +// * TooManyRequestsException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateClusterKafkaVersion +func (c *Kafka) UpdateClusterKafkaVersion(input *UpdateClusterKafkaVersionInput) (*UpdateClusterKafkaVersionOutput, error) { + req, out := c.UpdateClusterKafkaVersionRequest(input) + return out, req.Send() +} + +// UpdateClusterKafkaVersionWithContext is the same as UpdateClusterKafkaVersion with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateClusterKafkaVersion for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kafka) UpdateClusterKafkaVersionWithContext(ctx aws.Context, input *UpdateClusterKafkaVersionInput, opts ...request.Option) (*UpdateClusterKafkaVersionOutput, error) { + req, out := c.UpdateClusterKafkaVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateMonitoring = "UpdateMonitoring" // UpdateMonitoringRequest generates a "aws/request.Request" representing the @@ -2930,6 +3221,9 @@ type ClusterOperationInfo struct { // State of the cluster operation. OperationState *string `locationName:"operationState" type:"string"` + // Steps completed during the operation. + OperationSteps []*ClusterOperationStep `locationName:"operationSteps" type:"list"` + // Type of the cluster operation. OperationType *string `locationName:"operationType" type:"string"` @@ -2992,6 +3286,12 @@ func (s *ClusterOperationInfo) SetOperationState(v string) *ClusterOperationInfo return s } +// SetOperationSteps sets the OperationSteps field's value. +func (s *ClusterOperationInfo) SetOperationSteps(v []*ClusterOperationStep) *ClusterOperationInfo { + s.OperationSteps = v + return s +} + // SetOperationType sets the OperationType field's value. func (s *ClusterOperationInfo) SetOperationType(v string) *ClusterOperationInfo { s.OperationType = &v @@ -3010,6 +3310,94 @@ func (s *ClusterOperationInfo) SetTargetClusterInfo(v *MutableClusterInfo) *Clus return s } +// Step taken during a cluster operation. +type ClusterOperationStep struct { + _ struct{} `type:"structure"` + + // Information about the step and its status. + StepInfo *ClusterOperationStepInfo `locationName:"stepInfo" type:"structure"` + + // The name of the step. + StepName *string `locationName:"stepName" type:"string"` +} + +// String returns the string representation +func (s ClusterOperationStep) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClusterOperationStep) GoString() string { + return s.String() +} + +// SetStepInfo sets the StepInfo field's value. +func (s *ClusterOperationStep) SetStepInfo(v *ClusterOperationStepInfo) *ClusterOperationStep { + s.StepInfo = v + return s +} + +// SetStepName sets the StepName field's value. +func (s *ClusterOperationStep) SetStepName(v string) *ClusterOperationStep { + s.StepName = &v + return s +} + +// State information about the operation step. +type ClusterOperationStepInfo struct { + _ struct{} `type:"structure"` + + // The steps current status. + StepStatus *string `locationName:"stepStatus" type:"string"` +} + +// String returns the string representation +func (s ClusterOperationStepInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClusterOperationStepInfo) GoString() string { + return s.String() +} + +// SetStepStatus sets the StepStatus field's value. +func (s *ClusterOperationStepInfo) SetStepStatus(v string) *ClusterOperationStepInfo { + s.StepStatus = &v + return s +} + +// Contains source Kafka versions and compatible target Kafka versions. +type CompatibleKafkaVersion struct { + _ struct{} `type:"structure"` + + SourceVersion *string `locationName:"sourceVersion" type:"string"` + + TargetVersions []*string `locationName:"targetVersions" type:"list"` +} + +// String returns the string representation +func (s CompatibleKafkaVersion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CompatibleKafkaVersion) GoString() string { + return s.String() +} + +// SetSourceVersion sets the SourceVersion field's value. +func (s *CompatibleKafkaVersion) SetSourceVersion(v string) *CompatibleKafkaVersion { + s.SourceVersion = &v + return s +} + +// SetTargetVersions sets the TargetVersions field's value. +func (s *CompatibleKafkaVersion) SetTargetVersions(v []*string) *CompatibleKafkaVersion { + s.TargetVersions = v + return s +} + // Represents an MSK Configuration. type Configuration struct { _ struct{} `type:"structure"` @@ -3478,9 +3866,7 @@ type CreateConfigurationInput struct { Description *string `locationName:"description" type:"string"` // The versions of Apache Kafka with which you can use this MSK configuration. - // - // KafkaVersions is a required field - KafkaVersions []*string `locationName:"kafkaVersions" type:"list" required:"true"` + KafkaVersions []*string `locationName:"kafkaVersions" type:"list"` // The name of the configuration. Configuration names are strings that match // the regex "^[0-9A-Za-z-]+$". @@ -3507,9 +3893,6 @@ func (s CreateConfigurationInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateConfigurationInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationInput"} - if s.KafkaVersions == nil { - invalidParams.Add(request.NewErrParamRequired("KafkaVersions")) - } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -4416,6 +4799,52 @@ func (s *GetBootstrapBrokersOutput) SetBootstrapBrokerStringTls(v string) *GetBo return s } +type GetCompatibleKafkaVersionsInput struct { + _ struct{} `type:"structure"` + + ClusterArn *string `location:"querystring" locationName:"clusterArn" type:"string"` +} + +// String returns the string representation +func (s GetCompatibleKafkaVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCompatibleKafkaVersionsInput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *GetCompatibleKafkaVersionsInput) SetClusterArn(v string) *GetCompatibleKafkaVersionsInput { + s.ClusterArn = &v + return s +} + +// Response body for GetCompatibleKafkaVersions. +type GetCompatibleKafkaVersionsOutput struct { + _ struct{} `type:"structure"` + + // A list of CompatibleKafkaVersion objects. + CompatibleKafkaVersions []*CompatibleKafkaVersion `locationName:"compatibleKafkaVersions" type:"list"` +} + +// String returns the string representation +func (s GetCompatibleKafkaVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCompatibleKafkaVersionsOutput) GoString() string { + return s.String() +} + +// SetCompatibleKafkaVersions sets the CompatibleKafkaVersions field's value. +func (s *GetCompatibleKafkaVersionsOutput) SetCompatibleKafkaVersions(v []*CompatibleKafkaVersion) *GetCompatibleKafkaVersionsOutput { + s.CompatibleKafkaVersions = v + return s +} + // Returns information about an error. type InternalServerErrorException struct { _ struct{} `type:"structure"` @@ -5216,6 +5645,8 @@ type MutableClusterInfo struct { // CloudWatch for this cluster. EnhancedMonitoring *string `locationName:"enhancedMonitoring" type:"string" enum:"EnhancedMonitoring"` + KafkaVersion *string `locationName:"kafkaVersion" type:"string"` + // LoggingInfo details. LoggingInfo *LoggingInfo `locationName:"loggingInfo" type:"structure"` @@ -5254,6 +5685,12 @@ func (s *MutableClusterInfo) SetEnhancedMonitoring(v string) *MutableClusterInfo return s } +// SetKafkaVersion sets the KafkaVersion field's value. +func (s *MutableClusterInfo) SetKafkaVersion(v string) *MutableClusterInfo { + s.KafkaVersion = &v + return s +} + // SetLoggingInfo sets the LoggingInfo field's value. func (s *MutableClusterInfo) SetLoggingInfo(v *LoggingInfo) *MutableClusterInfo { s.LoggingInfo = v @@ -5620,6 +6057,93 @@ func (s *PrometheusInfo) SetNodeExporter(v *NodeExporterInfo) *PrometheusInfo { return s } +// Request body for RebootBrokerNode action. +type RebootBrokerInput struct { + _ struct{} `type:"structure"` + + // The list of broker ids to be rebooted. + // + // BrokerIds is a required field + BrokerIds []*string `locationName:"brokerIds" type:"list" required:"true"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s RebootBrokerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RebootBrokerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RebootBrokerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RebootBrokerInput"} + if s.BrokerIds == nil { + invalidParams.Add(request.NewErrParamRequired("BrokerIds")) + } + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBrokerIds sets the BrokerIds field's value. +func (s *RebootBrokerInput) SetBrokerIds(v []*string) *RebootBrokerInput { + s.BrokerIds = v + return s +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *RebootBrokerInput) SetClusterArn(v string) *RebootBrokerInput { + s.ClusterArn = &v + return s +} + +// Response body for RebootBrokers action. +type RebootBrokerOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the cluster. + ClusterArn *string `locationName:"clusterArn" type:"string"` + + // The Amazon Resource Name (ARN) of the cluster operation. + ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"` +} + +// String returns the string representation +func (s RebootBrokerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RebootBrokerOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *RebootBrokerOutput) SetClusterArn(v string) *RebootBrokerOutput { + s.ClusterArn = &v + return s +} + +// SetClusterOperationArn sets the ClusterOperationArn field's value. +func (s *RebootBrokerOutput) SetClusterOperationArn(v string) *RebootBrokerOutput { + s.ClusterOperationArn = &v + return s +} + // The details of the Amazon S3 destination for broker logs. type S3 struct { _ struct{} `type:"structure"` @@ -6376,6 +6900,121 @@ func (s *UpdateClusterConfigurationOutput) SetClusterOperationArn(v string) *Upd return s } +// Request body for UpdateClusterKafkaVersion. +type UpdateClusterKafkaVersionInput struct { + _ struct{} `type:"structure"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` + + // Specifies the configuration to use for the brokers. + ConfigurationInfo *ConfigurationInfo `locationName:"configurationInfo" type:"structure"` + + // Current cluster version. + // + // CurrentVersion is a required field + CurrentVersion *string `locationName:"currentVersion" type:"string" required:"true"` + + // Target Kafka version. + // + // TargetKafkaVersion is a required field + TargetKafkaVersion *string `locationName:"targetKafkaVersion" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateClusterKafkaVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateClusterKafkaVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateClusterKafkaVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateClusterKafkaVersionInput"} + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + if s.CurrentVersion == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentVersion")) + } + if s.TargetKafkaVersion == nil { + invalidParams.Add(request.NewErrParamRequired("TargetKafkaVersion")) + } + if s.ConfigurationInfo != nil { + if err := s.ConfigurationInfo.Validate(); err != nil { + invalidParams.AddNested("ConfigurationInfo", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *UpdateClusterKafkaVersionInput) SetClusterArn(v string) *UpdateClusterKafkaVersionInput { + s.ClusterArn = &v + return s +} + +// SetConfigurationInfo sets the ConfigurationInfo field's value. +func (s *UpdateClusterKafkaVersionInput) SetConfigurationInfo(v *ConfigurationInfo) *UpdateClusterKafkaVersionInput { + s.ConfigurationInfo = v + return s +} + +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *UpdateClusterKafkaVersionInput) SetCurrentVersion(v string) *UpdateClusterKafkaVersionInput { + s.CurrentVersion = &v + return s +} + +// SetTargetKafkaVersion sets the TargetKafkaVersion field's value. +func (s *UpdateClusterKafkaVersionInput) SetTargetKafkaVersion(v string) *UpdateClusterKafkaVersionInput { + s.TargetKafkaVersion = &v + return s +} + +// Response body for UpdateClusterKafkaVersion. +type UpdateClusterKafkaVersionOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the cluster. + ClusterArn *string `locationName:"clusterArn" type:"string"` + + // The Amazon Resource Name (ARN) of the cluster operation. + ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"` +} + +// String returns the string representation +func (s UpdateClusterKafkaVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateClusterKafkaVersionOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *UpdateClusterKafkaVersionOutput) SetClusterArn(v string) *UpdateClusterKafkaVersionOutput { + s.ClusterArn = &v + return s +} + +// SetClusterOperationArn sets the ClusterOperationArn field's value. +func (s *UpdateClusterKafkaVersionOutput) SetClusterOperationArn(v string) *UpdateClusterKafkaVersionOutput { + s.ClusterOperationArn = &v + return s +} + // Request body for UpdateMonitoring. type UpdateMonitoringInput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go b/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go index 9ebd449de56..38e72bea595 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go @@ -3233,6 +3233,8 @@ func (c *Kinesis) SubscribeToShardWithContext(ctx aws.Context, input *SubscribeT return out, req.Send() } +var _ awserr.Error + // SubscribeToShardEventStream provides the event stream handling for the SubscribeToShard. type SubscribeToShardEventStream struct { @@ -3316,6 +3318,7 @@ func (e eventTypeForSubscribeToShardEventStreamOutputEvent) UnmarshalerForEventN // These events are: // // * SubscribeToShardEvent +// * SubscribeToShardEventStreamUnknownEvent func (es *SubscribeToShardEventStream) Events() <-chan SubscribeToShardEventStreamEvent { return es.Reader.Events() } @@ -5108,6 +5111,8 @@ func (s *InternalFailureException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *InternalFailureException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -5251,6 +5256,8 @@ func (s *KMSAccessDeniedException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *KMSAccessDeniedException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -5336,6 +5343,8 @@ func (s *KMSDisabledException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *KMSDisabledException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -5423,6 +5432,8 @@ func (s *KMSInvalidStateException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *KMSInvalidStateException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -5508,6 +5519,8 @@ func (s *KMSNotFoundException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *KMSNotFoundException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -5592,6 +5605,8 @@ func (s *KMSOptInRequired) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *KMSOptInRequired) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -5678,6 +5693,8 @@ func (s *KMSThrottlingException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *KMSThrottlingException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -7141,6 +7158,8 @@ func (s *ResourceInUseException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *ResourceInUseException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -7226,6 +7245,8 @@ func (s *ResourceNotFoundException) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *ResourceNotFoundException) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.ExceptionMessageType)) var buf bytes.Buffer @@ -8095,6 +8116,8 @@ func (s *SubscribeToShardEvent) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *SubscribeToShardEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) var buf bytes.Buffer @@ -8125,6 +8148,7 @@ type SubscribeToShardEventStreamEvent interface { // These events are: // // * SubscribeToShardEvent +// * SubscribeToShardEventStreamUnknownEvent type SubscribeToShardEventStreamReader interface { // Returns a channel of events as they are read from the event stream. Events() <-chan SubscribeToShardEventStreamEvent @@ -8199,6 +8223,9 @@ func (r *readSubscribeToShardEventStream) readEventStream() { return default: } + if _, ok := err.(*eventstreamapi.UnknownMessageTypeError); ok { + continue + } r.err.SetError(err) return } @@ -8238,14 +8265,39 @@ func (u unmarshalerForSubscribeToShardEventStreamEvent) UnmarshalerForEventName( case "ResourceNotFoundException": return newErrorResourceNotFoundException(u.metadata).(eventstreamapi.Unmarshaler), nil default: - return nil, awserr.New( - request.ErrCodeSerialization, - fmt.Sprintf("unknown event type name, %s, for SubscribeToShardEventStream", eventType), - nil, - ) + return &SubscribeToShardEventStreamUnknownEvent{Type: eventType}, nil } } +// SubscribeToShardEventStreamUnknownEvent provides a failsafe event for the +// SubscribeToShardEventStream group of events when an unknown event is received. +type SubscribeToShardEventStreamUnknownEvent struct { + Type string + Message eventstream.Message +} + +// The SubscribeToShardEventStreamUnknownEvent is and event in the SubscribeToShardEventStream +// group of events. +func (s *SubscribeToShardEventStreamUnknownEvent) eventSubscribeToShardEventStream() {} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (e *SubscribeToShardEventStreamUnknownEvent) MarshalEvent(pm protocol.PayloadMarshaler) ( + msg eventstream.Message, err error, +) { + return e.Message.Clone(), nil +} + +// UnmarshalEvent unmarshals the EventStream Message into the SubscribeToShardEventStreamData value. +// This method is only used internally within the SDK's EventStream handling. +func (e *SubscribeToShardEventStreamUnknownEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + e.Message = msg.Clone() + return nil +} + type SubscribeToShardInput struct { _ struct{} `type:"structure"` @@ -8368,6 +8420,8 @@ func (s *SubscribeToShardOutput) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *SubscribeToShardOutput) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) var buf bytes.Buffer diff --git a/vendor/github.com/aws/aws-sdk-go/service/kms/api.go b/vendor/github.com/aws/aws-sdk-go/service/kms/api.go index efbc44ebcbf..8793c2d808e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kms/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kms/api.go @@ -350,9 +350,9 @@ func (c *KMS) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, // CreateAlias API operation for AWS Key Management Service. // // Creates a display name for a customer managed customer master key (CMK). -// You can use an alias to identify a CMK in cryptographic operations, such -// as Encrypt and GenerateDataKey. You can change the CMK associated with the -// alias at any time. +// You can use an alias to identify a CMK in cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations), +// such as Encrypt and GenerateDataKey. You can change the CMK associated with +// the alias at any time. // // Aliases are easier to remember than key IDs. They can also help to simplify // your applications. For example, if you use an alias in your code, you can @@ -399,11 +399,12 @@ func (c *KMS) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, // a new alias with the desired name. // // * You can use an alias name or alias ARN to identify a CMK in AWS KMS -// cryptographic operations and in the DescribeKey operation. However, you -// cannot use alias names or alias ARNs in API operations that manage CMKs, -// such as DisableKey or GetKeyPolicy. For information about the valid CMK -// identifiers for each AWS KMS API operation, see the descriptions of the -// KeyId parameter in the API operation documentation. +// cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) +// and in the DescribeKey operation. However, you cannot use alias names +// or alias ARNs in API operations that manage CMKs, such as DisableKey or +// GetKeyPolicy. For information about the valid CMK identifiers for each +// AWS KMS API operation, see the descriptions of the KeyId parameter in +// the API operation documentation. // // Because an alias is not a property of a CMK, you can delete and change the // aliases of a CMK without affecting the CMK. Also, aliases do not appear in @@ -693,8 +694,8 @@ func (c *KMS) CreateGrantRequest(input *CreateGrantInput) (req *request.Request, // principal to use the CMK when the conditions specified in the grant are met. // When setting permissions, grants are an alternative to key policies. // -// To create a grant that allows a cryptographic operation only when the request -// includes a particular encryption context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context), +// To create a grant that allows a cryptographic operation (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) +// only when the request includes a particular encryption context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context), // use the Constraints parameter. For details, see GrantConstraints. // // You can create grants on symmetric and asymmetric CMKs. However, if the grant @@ -1357,12 +1358,12 @@ func (c *KMS) DeleteCustomKeyStoreRequest(input *DeleteCustomKeyStoreInput) (req // The custom key store that you delete cannot contain any AWS KMS customer // master keys (CMKs) (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys). // Before deleting the key store, verify that you will never need to use any -// of the CMKs in the key store for any cryptographic operations. Then, use -// ScheduleKeyDeletion to delete the AWS KMS customer master keys (CMKs) from -// the key store. When the scheduled waiting period expires, the ScheduleKeyDeletion -// operation deletes the CMKs. Then it makes a best effort to delete the key -// material from the associated cluster. However, you might need to manually -// delete the orphaned key material (https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key) +// of the CMKs in the key store for any cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations). +// Then, use ScheduleKeyDeletion to delete the AWS KMS customer master keys +// (CMKs) from the key store. When the scheduled waiting period expires, the +// ScheduleKeyDeletion operation deletes the CMKs. Then it makes a best effort +// to delete the key material from the associated cluster. However, you might +// need to manually delete the orphaned key material (https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key) // from the cluster and its backups. // // After all CMKs are deleted from AWS KMS, use DisconnectCustomKeyStore to @@ -1844,8 +1845,8 @@ func (c *KMS) DisableKeyRequest(input *DisableKeyInput) (req *request.Request, o // DisableKey API operation for AWS Key Management Service. // // Sets the state of a customer master key (CMK) to disabled, thereby preventing -// its use for cryptographic operations. You cannot perform this operation on -// a CMK in a different AWS account. +// its use for cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations). +// You cannot perform this operation on a CMK in a different AWS account. // // For more information about how key state affects the use of a CMK, see How // Key State Affects the Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) @@ -2079,8 +2080,9 @@ func (c *KMS) DisconnectCustomKeyStoreRequest(input *DisconnectCustomKeyStoreInp // // While a custom key store is disconnected, all attempts to create customer // master keys (CMKs) in the custom key store or to use existing CMKs in cryptographic -// operations will fail. This action can prevent users from storing and accessing -// sensitive data. +// operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) +// will fail. This action can prevent users from storing and accessing sensitive +// data. // // To find the connection state of a custom key store, use the DescribeCustomKeyStores // operation. To reconnect a custom key store, use the ConnectCustomKeyStore @@ -2195,8 +2197,8 @@ func (c *KMS) EnableKeyRequest(input *EnableKeyInput) (req *request.Request, out // EnableKey API operation for AWS Key Management Service. // // Sets the key state of a customer master key (CMK) to enabled. This allows -// you to use the CMK for cryptographic operations. You cannot perform this -// operation on a CMK in a different AWS account. +// you to use the CMK for cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations). +// You cannot perform this operation on a CMK in a different AWS account. // // The CMK that you use for this operation must be in a compatible key state. // For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) @@ -2429,11 +2431,12 @@ func (c *KMS) EncryptRequest(input *EncryptInput) (req *request.Request, output // identifier or database password, or other sensitive information. // // * You can use the Encrypt operation to move encrypted data from one AWS -// region to another. In the first region, generate a data key and use the -// plaintext key to encrypt the data. Then, in the new region, call the Encrypt -// method on same plaintext data key. Now, you can safely move the encrypted -// data and encrypted data key to the new region, and decrypt in the new -// region when necessary. +// Region to another. For example, in Region A, generate a data key and use +// the plaintext key to encrypt your data. Then, in Region A, use the Encrypt +// operation to encrypt the plaintext data key under a CMK in Region B. Now, +// you can move the encrypted data and the encrypted data key to Region B. +// When necessary, you can decrypt the encrypted data key and the encrypted +// data entirely within in Region B. // // You don't need to use the Encrypt operation to encrypt a data key. The GenerateDataKey // and GenerateDataKeyPair operations return a plaintext data key and an encrypted @@ -2603,27 +2606,20 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request. // GenerateDataKey API operation for AWS Key Management Service. // -// Generates a unique symmetric data key. This operation returns a plaintext -// copy of the data key and a copy that is encrypted under a customer master -// key (CMK) that you specify. You can use the plaintext key to encrypt your -// data outside of AWS KMS and store the encrypted data key with the encrypted -// data. +// Generates a unique symmetric data key for client-side encryption. This operation +// returns a plaintext copy of the data key and a copy that is encrypted under +// a customer master key (CMK) that you specify. You can use the plaintext key +// to encrypt your data outside of AWS KMS and store the encrypted data key +// with the encrypted data. // // GenerateDataKey returns a unique data key for each request. The bytes in -// the key are not related to the caller or CMK that is used to encrypt the -// data key. +// the plaintext key are not related to the caller or the CMK. // // To generate a data key, specify the symmetric CMK that will be used to encrypt // the data key. You cannot use an asymmetric CMK to generate data keys. To -// get the type of your CMK, use the DescribeKey operation. -// -// You must also specify the length of the data key. Use either the KeySpec -// or NumberOfBytes parameters (but not both). For 128-bit and 256-bit data -// keys, use the KeySpec parameter. -// -// If the operation succeeds, the plaintext copy of the data key is in the Plaintext -// field of the response, and the encrypted copy of the data key in the CiphertextBlob -// field. +// get the type of your CMK, use the DescribeKey operation. You must also specify +// the length of the data key. Use either the KeySpec or NumberOfBytes parameters +// (but not both). For 128-bit and 256-bit data keys, use the KeySpec parameter. // // To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. // To generate an asymmetric data key pair, use the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext @@ -2640,24 +2636,32 @@ func (c *KMS) GenerateDataKeyRequest(input *GenerateDataKeyInput) (req *request. // For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // +// How to use your data key +// // We recommend that you use the following pattern to encrypt data locally in -// your application: +// your application. You can write your own code or use a client-side encryption +// library, such as the AWS Encryption SDK (https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/), +// the Amazon DynamoDB Encryption Client (https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/), +// or Amazon S3 client-side encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html) +// to do these tasks for you. +// +// To encrypt data outside of AWS KMS: // -// Use the GenerateDataKey operation to get a data encryption key. +// Use the GenerateDataKey operation to get a data key. // -// Use the plaintext data key (returned in the Plaintext field of the response) -// to encrypt data locally, then erase the plaintext data key from memory. +// Use the plaintext data key (in the Plaintext field of the response) to encrypt +// your data outside of AWS KMS. Then erase the plaintext data key from memory. // -// Store the encrypted data key (returned in the CiphertextBlob field of the -// response) alongside the locally encrypted data. +// Store the encrypted data key (in the CiphertextBlob field of the response) +// with the encrypted data. // -// To decrypt data locally: +// To decrypt data outside of AWS KMS: // // Use the Decrypt operation to decrypt the encrypted data key. The operation // returns a plaintext copy of the data key. // -// Use the plaintext data key to decrypt data locally, then erase the plaintext -// data key from memory. +// Use the plaintext data key to decrypt data outside of AWS KMS, then erase +// the plaintext data key from memory. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2794,7 +2798,8 @@ func (c *KMS) GenerateDataKeyPairRequest(input *GenerateDataKeyPairInput) (req * // // To generate a data key pair, you must specify a symmetric customer master // key (CMK) to encrypt the private key in a data key pair. You cannot use an -// asymmetric CMK. To get the type of your CMK, use the DescribeKey operation. +// asymmetric CMK or a CMK in a custom key store. To get the type and origin +// of your CMK, use the DescribeKey operation. // // If you are using the data key pair to encrypt data, or for any operation // where you don't immediately need a private key, consider using the GenerateDataKeyPairWithoutPlaintext @@ -2868,6 +2873,10 @@ func (c *KMS) GenerateDataKeyPairRequest(input *GenerateDataKeyPairInput) (req * // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide . // +// * UnsupportedOperationException +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair func (c *KMS) GenerateDataKeyPair(input *GenerateDataKeyPairInput) (*GenerateDataKeyPairOutput, error) { req, out := c.GenerateDataKeyPairRequest(input) @@ -2941,8 +2950,8 @@ func (c *KMS) GenerateDataKeyPairWithoutPlaintextRequest(input *GenerateDataKeyP // // To generate a data key pair, you must specify a symmetric customer master // key (CMK) to encrypt the private key in the data key pair. You cannot use -// an asymmetric CMK. To get the type of your CMK, use the KeySpec field in -// the DescribeKey response. +// an asymmetric CMK or a CMK in a custom key store. To get the type and origin +// of your CMK, use the KeySpec field in the DescribeKey response. // // You can use the public key that GenerateDataKeyPairWithoutPlaintext returns // to encrypt data or verify a signature outside of AWS KMS. Then, store the @@ -3018,6 +3027,10 @@ func (c *KMS) GenerateDataKeyPairWithoutPlaintextRequest(input *GenerateDataKeyP // Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide . // +// * UnsupportedOperationException +// The request was rejected because a specified parameter is not supported or +// a specified resource is not valid for this operation. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintext func (c *KMS) GenerateDataKeyPairWithoutPlaintext(input *GenerateDataKeyPairWithoutPlaintextInput) (*GenerateDataKeyPairWithoutPlaintextOutput, error) { req, out := c.GenerateDataKeyPairWithoutPlaintextRequest(input) @@ -4237,6 +4250,12 @@ func (c *KMS) ListGrantsRequest(input *ListGrantsInput) (req *request.Request, o // To perform this operation on a CMK in a different AWS account, specify the // key ARN in the value of the KeyId parameter. // +// The GranteePrincipal field in the ListGrants response usually contains the +// user or role designated as the grantee principal in the grant. However, when +// the grantee principal in the grant is an AWS service, the GranteePrincipal +// field contains the service principal (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services), +// which might represent several different grantee principals. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -5016,13 +5035,15 @@ func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, out // is encrypted, such as when you manually rotate (https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-manually) // a CMK or change the CMK that protects a ciphertext. You can also use it to // reencrypt ciphertext under the same CMK, such as to change the encryption -// context of a ciphertext. +// context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) +// of a ciphertext. // // The ReEncrypt operation can decrypt ciphertext that was encrypted by using // an AWS KMS CMK in an AWS KMS operation, such as Encrypt or GenerateDataKey. // It can also decrypt ciphertext that was encrypted by using the public key -// of an asymmetric CMK outside of AWS KMS. However, it cannot decrypt ciphertext -// produced by other libraries, such as the AWS Encryption SDK (https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/) +// of an asymmetric CMK (https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#asymmetric-cmks) +// outside of AWS KMS. However, it cannot decrypt ciphertext produced by other +// libraries, such as the AWS Encryption SDK (https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/) // or Amazon S3 client-side encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html). // These libraries return a ciphertext format that is incompatible with AWS // KMS. @@ -5057,17 +5078,16 @@ func (c *KMS) ReEncryptRequest(input *ReEncryptInput) (req *request.Request, out // // Unlike other AWS KMS API operations, ReEncrypt callers must have two permissions: // -// * kms:EncryptFrom permission on the source CMK -// -// * kms:EncryptTo permission on the destination CMK +// * kms:ReEncryptFrom permission on the source CMK // -// To permit reencryption from +// * kms:ReEncryptTo permission on the destination CMK // -// or to a CMK, include the "kms:ReEncrypt*" permission in your key policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html). +// To permit reencryption from or to a CMK, include the "kms:ReEncrypt*" permission +// in your key policy (https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html). // This permission is automatically included in the key policy when you use // the console to create a CMK. But you must include it manually when you create -// a CMK programmatically or when you use the PutKeyPolicy operation set a key -// policy. +// a CMK programmatically or when you use the PutKeyPolicy operation to set +// a key policy. // // The CMK that you use for this operation must be in a compatible key state. // For details, see How Key State Affects Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) @@ -5995,6 +6015,11 @@ func (c *KMS) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, // The request was rejected because an internal exception occurred. The request // can be retried. // +// * LimitExceededException +// The request was rejected because a quota was exceeded. For more information, +// see Quotas (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html) +// in the AWS Key Management Service Developer Guide. +// // * InvalidStateException // The request was rejected because the state of the specified resource is not // valid for this request. @@ -6642,7 +6667,8 @@ func (s *CancelKeyDeletionInput) SetKeyId(v string) *CancelKeyDeletionInput { type CancelKeyDeletionOutput struct { _ struct{} `type:"structure"` - // The unique identifier of the master key for which deletion is canceled. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK whose deletion is canceled. KeyId *string `min:"1" type:"string"` } @@ -7259,9 +7285,10 @@ func (s *CreateCustomKeyStoreOutput) SetCustomKeyStoreId(v string) *CreateCustom type CreateGrantInput struct { _ struct{} `type:"structure"` - // Allows a cryptographic operation only when the encryption context matches - // or includes the encryption context specified in this structure. For more - // information about encryption context, see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) + // Allows a cryptographic operation (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) + // only when the encryption context matches or includes the encryption context + // specified in this structure. For more information about encryption context, + // see Encryption Context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) // in the AWS Key Management Service Developer Guide . Constraints *GrantConstraints `type:"structure"` @@ -7530,9 +7557,10 @@ type CreateKeyInput struct { // a task. Description *string `type:"string"` - // Determines the cryptographic operations for which you can use the CMK. The - // default value is ENCRYPT_DECRYPT. This parameter is required only for asymmetric - // CMKs. You can't change the KeyUsage value after the CMK is created. + // Determines the cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) + // for which you can use the CMK. The default value is ENCRYPT_DECRYPT. This + // parameter is required only for asymmetric CMKs. You can't change the KeyUsage + // value after the CMK is created. // // Select only one valid value. // @@ -7992,11 +8020,12 @@ type CustomKeyStoresListEntry struct { // to the custom key store. // // * SUBNET_NOT_FOUND - A subnet in the AWS CloudHSM cluster configuration - // was deleted. If AWS KMS cannot find all of the subnets that were configured - // for the cluster when the custom key store was created, attempts to connect - // fail. To fix this error, create a cluster from a backup and associate - // it with your custom key store. This process includes selecting a VPC and - // subnets. For details, see How to Fix a Connection Failure (https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-failed) + // was deleted. If AWS KMS cannot find all of the subnets in the cluster + // configuration, attempts to connect the custom key store to the AWS CloudHSM + // cluster fail. To fix this error, create a cluster from a recent backup + // and associate it with your custom key store. (This process creates a new + // cluster configuration with a VPC and private subnets.) For details, see + // How to Fix a Connection Failure (https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-failed) // in the AWS Key Management Service Developer Guide. // // * USER_LOCKED_OUT - The kmsuser CU account is locked out of the associated @@ -8126,9 +8155,9 @@ type DecryptInput struct { EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` // Specifies the encryption context to use when decrypting the data. An encryption - // context is valid only for cryptographic operations with a symmetric CMK. - // The standard asymmetric encryption algorithms that AWS KMS uses do not support - // an encryption context. + // context is valid only for cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) + // with a symmetric CMK. The standard asymmetric encryption algorithms that + // AWS KMS uses do not support an encryption context. // // An encryption context is a collection of non-secret key-value pairs that // represents additional authenticated data. When you use an encryption context @@ -8241,7 +8270,8 @@ type DecryptOutput struct { // The encryption algorithm that was used to decrypt the ciphertext. EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` - // The ARN of the customer master key that was used to perform the decryption. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK that was used to decrypt the ciphertext. KeyId *string `min:"1" type:"string"` // Decrypted plaintext data. When you use the HTTP API or the AWS CLI, the value @@ -9133,9 +9163,9 @@ type EncryptInput struct { EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` // Specifies the encryption context that will be used to encrypt the data. An - // encryption context is valid only for cryptographic operations with a symmetric - // CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not - // support an encryption context. + // encryption context is valid only for cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) + // with a symmetric CMK. The standard asymmetric encryption algorithms that + // AWS KMS uses do not support an encryption context. // // An encryption context is a collection of non-secret key-value pairs that // represents additional authenticated data. When you use an encryption context @@ -9257,7 +9287,8 @@ type EncryptOutput struct { // The encryption algorithm that was used to encrypt the plaintext. EncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` - // The ID of the key used during encryption. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK that was used to encrypt the plaintext. KeyId *string `min:"1" type:"string"` } @@ -9475,7 +9506,8 @@ type GenerateDataKeyOutput struct { // CiphertextBlob is automatically base64 encoded/decoded by the SDK. CiphertextBlob []byte `min:"1" type:"blob"` - // The identifier of the CMK that encrypted the data key. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK that encrypted the data key. KeyId *string `min:"1" type:"string"` // The plaintext data key. When you use the HTTP API or the AWS CLI, the value @@ -9538,7 +9570,8 @@ type GenerateDataKeyPairInput struct { GrantTokens []*string `type:"list"` // Specifies the symmetric CMK that encrypts the private key in the data key - // pair. You cannot specify an asymmetric CMKs. + // pair. You cannot specify an asymmetric CMK or a CMK in a custom key store. + // To get the type and origin of your CMK, use the DescribeKey operation. // // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, // or alias ARN. When using an alias name, prefix it with "alias/". To specify @@ -9627,7 +9660,8 @@ func (s *GenerateDataKeyPairInput) SetKeyPairSpec(v string) *GenerateDataKeyPair type GenerateDataKeyPairOutput struct { _ struct{} `type:"structure"` - // The identifier of the CMK that encrypted the private key. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK that encrypted the private key. KeyId *string `min:"1" type:"string"` // The type of data key pair that was generated. @@ -9714,8 +9748,9 @@ type GenerateDataKeyPairWithoutPlaintextInput struct { GrantTokens []*string `type:"list"` // Specifies the CMK that encrypts the private key in the data key pair. You - // must specify a symmetric CMK. You cannot use an asymmetric CMK. To get the - // type of your CMK, use the DescribeKey operation. + // must specify a symmetric CMK. You cannot use an asymmetric CMK or a CMK in + // a custom key store. To get the type and origin of your CMK, use the DescribeKey + // operation. // // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, // or alias ARN. When using an alias name, prefix it with "alias/". @@ -9803,25 +9838,8 @@ func (s *GenerateDataKeyPairWithoutPlaintextInput) SetKeyPairSpec(v string) *Gen type GenerateDataKeyPairWithoutPlaintextOutput struct { _ struct{} `type:"structure"` - // Specifies the CMK that encrypted the private key in the data key pair. You - // must specify a symmetric CMK. You cannot use an asymmetric CMK. To get the - // type of your CMK, use the DescribeKey operation. - // - // To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, - // or alias ARN. When using an alias name, prefix it with "alias/". - // - // For example: - // - // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab - // - // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab - // - // * Alias name: alias/ExampleAlias - // - // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias - // - // To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To - // get the alias name and alias ARN, use ListAliases. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK that encrypted the private key. KeyId *string `min:"1" type:"string"` // The type of data key pair that was generated. @@ -9997,7 +10015,8 @@ type GenerateDataKeyWithoutPlaintextOutput struct { // CiphertextBlob is automatically base64 encoded/decoded by the SDK. CiphertextBlob []byte `min:"1" type:"blob"` - // The identifier of the CMK that encrypted the data key. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK that encrypted the data key. KeyId *string `min:"1" type:"string"` } @@ -10358,8 +10377,9 @@ type GetParametersForImportOutput struct { // ImportToken is automatically base64 encoded/decoded by the SDK. ImportToken []byte `min:"1" type:"blob"` - // The identifier of the CMK to use in a subsequent ImportKeyMaterial request. - // This is the same CMK specified in the GetParametersForImport request. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK to use in a subsequent ImportKeyMaterial request. This is the + // same CMK specified in the GetParametersForImport request. KeyId *string `min:"1" type:"string"` // The time at which the import token and public key are no longer valid. After @@ -10494,7 +10514,8 @@ type GetPublicKeyOutput struct { // is ENCRYPT_DECRYPT. EncryptionAlgorithms []*string `type:"list"` - // The identifier of the asymmetric CMK from which the public key was downloaded. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the asymmetric CMK from which the public key was downloaded. KeyId *string `min:"1" type:"string"` // The permitted use of the public key. Valid values are ENCRYPT_DECRYPT or @@ -10567,24 +10588,16 @@ func (s *GetPublicKeyOutput) SetSigningAlgorithms(v []*string) *GetPublicKeyOutp return s } -// Use this structure to allow cryptographic operations in the grant only when -// the operation request includes the specified encryption context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context). +// Use this structure to allow cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) +// in the grant only when the operation request includes the specified encryption +// context (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context). // -// AWS KMS applies the grant constraints only when the grant allows a cryptographic -// operation that accepts an encryption context as input, such as the following. -// -// * Encrypt -// -// * Decrypt -// -// * GenerateDataKey -// -// * GenerateDataKeyWithoutPlaintext -// -// * ReEncrypt -// -// AWS KMS does not apply the grant constraints to other operations, such as -// DescribeKey or ScheduleKeyDeletion. +// AWS KMS applies the grant constraints only to cryptographic operations that +// support an encryption context, that is, all cryptographic operations with +// a symmetric CMK (https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#symmetric-cmks). +// Grant constraints are not applied to operations that do not support an encryption +// context, such as cryptographic operations with asymmetric CMKs and management +// operations, such as DescribeKey or ScheduleKeyDeletion. // // In a cryptographic operation, the encryption context in the decryption operation // must be an exact, case-sensitive match for the keys and values in the encryption @@ -10602,16 +10615,16 @@ type GrantConstraints struct { _ struct{} `type:"structure"` // A list of key-value pairs that must match the encryption context in the cryptographic - // operation request. The grant allows the operation only when the encryption - // context in the request is the same as the encryption context specified in - // this constraint. + // operation (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) + // request. The grant allows the operation only when the encryption context + // in the request is the same as the encryption context specified in this constraint. EncryptionContextEquals map[string]*string `type:"map"` // A list of key-value pairs that must be included in the encryption context - // of the cryptographic operation request. The grant allows the cryptographic - // operation only when the encryption context in the request includes the key-value - // pairs specified in this constraint, although it can include additional key-value - // pairs. + // of the cryptographic operation (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) + // request. The grant allows the cryptographic operation only when the encryption + // context in the request includes the key-value pairs specified in this constraint, + // although it can include additional key-value pairs. EncryptionContextSubset map[string]*string `type:"map"` } @@ -10637,7 +10650,7 @@ func (s *GrantConstraints) SetEncryptionContextSubset(v map[string]*string) *Gra return s } -// Contains information about an entry in a list of grants. +// Contains information about a grant. type GrantListEntry struct { _ struct{} `type:"structure"` @@ -10651,7 +10664,13 @@ type GrantListEntry struct { // The unique identifier for the grant. GrantId *string `min:"1" type:"string"` - // The principal that receives the grant's permissions. + // The identity that gets the permissions in the grant. + // + // The GranteePrincipal field in the ListGrants response usually contains the + // user or role designated as the grantee principal in the grant. However, when + // the grantee principal in the grant is an AWS service, the GranteePrincipal + // field contains the service principal (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services), + // which might represent several different grantee principals. GranteePrincipal *string `min:"1" type:"string"` // The AWS account under which the grant was issued. @@ -11768,8 +11787,8 @@ type KeyMetadata struct { // is true, otherwise it is false. Enabled *bool `type:"boolean"` - // A list of encryption algorithms that the CMK supports. You cannot use the - // CMK with other encryption algorithms within AWS KMS. + // The encryption algorithms that the CMK supports. You cannot use the CMK with + // other encryption algorithms within AWS KMS. // // This field appears only when the KeyUsage of the CMK is ENCRYPT_DECRYPT. EncryptionAlgorithms []*string `type:"list"` @@ -11789,14 +11808,15 @@ type KeyMetadata struct { // in the AWS Key Management Service Developer Guide. KeyManager *string `type:"string" enum:"KeyManagerType"` - // The state of the CMK. + // The current status of the CMK. // - // For more information about how key state affects the use of a CMK, see How - // Key State Affects the Use of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) + // For more information about how key state affects the use of a CMK, see Key + // state: Effect on your CMK (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. KeyState *string `type:"string" enum:"KeyState"` - // The cryptographic operations for which you can use the CMK. + // The cryptographic operations (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) + // for which you can use the CMK. KeyUsage *string `type:"string" enum:"KeyUsageType"` // The source of the CMK's key material. When this value is AWS_KMS, AWS KMS @@ -11806,8 +11826,8 @@ type KeyMetadata struct { // in the AWS CloudHSM cluster associated with a custom key store. Origin *string `type:"string" enum:"OriginType"` - // A list of signing algorithms that the CMK supports. You cannot use the CMK - // with other signing algorithms within AWS KMS. + // The signing algorithms that the CMK supports. You cannot use the CMK with + // other signing algorithms within AWS KMS. // // This field appears only when the KeyUsage of the CMK is SIGN_VERIFY. SigningAlgorithms []*string `type:"list"` @@ -13205,7 +13225,8 @@ type ReEncryptOutput struct { // The encryption algorithm that was used to reencrypt the data. DestinationEncryptionAlgorithm *string `type:"string" enum:"EncryptionAlgorithmSpec"` - // Unique identifier of the CMK used to reencrypt the data. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK that was used to reencrypt the data. KeyId *string `min:"1" type:"string"` // The encryption algorithm that was used to decrypt the ciphertext before it @@ -13491,8 +13512,8 @@ type ScheduleKeyDeletionOutput struct { // The date and time after which AWS KMS deletes the customer master key (CMK). DeletionDate *time.Time `type:"timestamp"` - // The unique identifier of the customer master key (CMK) for which deletion - // is scheduled. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the CMK whose deletion is scheduled. KeyId *string `min:"1" type:"string"` } @@ -13644,8 +13665,8 @@ func (s *SignInput) SetSigningAlgorithm(v string) *SignInput { type SignOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the asymmetric CMK that was used to sign - // the message. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the asymmetric CMK that was used to sign the message. KeyId *string `min:"1" type:"string"` // The cryptographic signature that was generated for the message. @@ -14466,8 +14487,8 @@ func (s *VerifyInput) SetSigningAlgorithm(v string) *VerifyInput { type VerifyOutput struct { _ struct{} `type:"structure"` - // The unique identifier for the asymmetric CMK that was used to verify the - // signature. + // The Amazon Resource Name (key ARN (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN)) + // of the asymmetric CMK that was used to verify the signature. KeyId *string `min:"1" type:"string"` // A Boolean value that indicates whether the signature was verified. A value diff --git a/vendor/github.com/aws/aws-sdk-go/service/lakeformation/api.go b/vendor/github.com/aws/aws-sdk-go/service/lakeformation/api.go index fe19b68cbf5..801d489d6a3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lakeformation/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lakeformation/api.go @@ -402,7 +402,8 @@ func (c *LakeFormation) GetDataLakeSettingsRequest(input *GetDataLakeSettingsInp // GetDataLakeSettings API operation for AWS Lake Formation. // -// The AWS Lake Formation principal. +// Retrieves the list of the data lake administrators of a Lake Formation-managed +// data lake. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -493,8 +494,9 @@ func (c *LakeFormation) GetEffectivePermissionsForPathRequest(input *GetEffectiv // GetEffectivePermissionsForPath API operation for AWS Lake Formation. // -// Returns the permissions for a specified table or database resource located -// at a path in Amazon S3. +// Returns the Lake Formation permissions for a specified table or database +// resource located at a path in Amazon S3. GetEffectivePermissionsForPath will +// not return databases and tables if the catalog is encrypted. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -639,7 +641,7 @@ func (c *LakeFormation) GrantPermissionsRequest(input *GrantPermissionsInput) (r // and data organized in underlying data storage such as Amazon S3. // // For information about permissions, see Security and Access Control to Metadata -// and Data (https://docs-aws.amazon.com/michigan/latest/dg/security-data-access.html). +// and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -737,7 +739,7 @@ func (c *LakeFormation) ListPermissionsRequest(input *ListPermissionsInput) (req // This operation returns only those permissions that have been explicitly granted. // // For information about permissions, see Security and Access Control to Metadata -// and Data (https://docs-aws.amazon.com/michigan/latest/dg/security-data-access.html). +// and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1018,7 +1020,13 @@ func (c *LakeFormation) PutDataLakeSettingsRequest(input *PutDataLakeSettingsInp // PutDataLakeSettings API operation for AWS Lake Formation. // -// The AWS Lake Formation principal. +// Sets the list of data lake administrators who have admin privileges on all +// resources managed by Lake Formation. For more information on admin privileges, +// see Granting Lake Formation Permissions (https://docs.aws.amazon.com/lake-formation/latest/dg/lake-formation-permissions.html). +// +// This API replaces the current list of data lake admins with the new list +// being passed. To add an admin, fetch the current list and add the new admin +// to that list and pass that list in this API. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1112,6 +1120,15 @@ func (c *LakeFormation) RegisterResourceRequest(input *RegisterResourceInput) (r // you register subsequent paths, Lake Formation adds the path to the existing // policy. // +// The following request registers a new location and gives AWS Lake Formation +// permission to use the service-linked role to access that location. +// +// ResourceArn = arn:aws:s3:::my-bucket UseServiceLinkedRole = true +// +// If UseServiceLinkedRole is not set to true, you must provide or set the RoleArn: +// +// arn:aws:iam::12345:role/my-data-access-role +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1780,7 +1797,8 @@ func (s *ConcurrentModificationException) RequestID() string { return s.RespMetadata.RequestID } -// The AWS Lake Formation principal. +// The AWS Lake Formation principal. Supported principals are IAM users or IAM +// roles. type DataLakePrincipal struct { _ struct{} `type:"structure"` @@ -1817,20 +1835,31 @@ func (s *DataLakePrincipal) SetDataLakePrincipalIdentifier(v string) *DataLakePr return s } -// The AWS Lake Formation principal. +// A structure representing a list of AWS Lake Formation principals designated +// as data lake administrators and lists of principal permission entries for +// default create database and default create table permissions. type DataLakeSettings struct { _ struct{} `type:"structure"` - // A list of up to three principal permissions entries for default create database - // permissions. + // A structure representing a list of up to three principal permissions entries + // for default create database permissions. CreateDatabaseDefaultPermissions []*PrincipalPermissions `type:"list"` - // A list of up to three principal permissions entries for default create table - // permissions. + // A structure representing a list of up to three principal permissions entries + // for default create table permissions. CreateTableDefaultPermissions []*PrincipalPermissions `type:"list"` - // A list of AWS Lake Formation principals. + // A list of AWS Lake Formation principals. Supported principals are IAM users + // or IAM roles. DataLakeAdmins []*DataLakePrincipal `type:"list"` + + // A list of the resource-owning account IDs that the caller's account can use + // to share their user access details (user ARNs). The user ARNs can be logged + // in the resource owner's AWS CloudTrail log. + // + // You may want to specify this property when you are in a high-trust boundary, + // such as the same team or company. + TrustedResourceOwners []*string `type:"list"` } // String returns the string representation @@ -1901,10 +1930,20 @@ func (s *DataLakeSettings) SetDataLakeAdmins(v []*DataLakePrincipal) *DataLakeSe return s } +// SetTrustedResourceOwners sets the TrustedResourceOwners field's value. +func (s *DataLakeSettings) SetTrustedResourceOwners(v []*string) *DataLakeSettings { + s.TrustedResourceOwners = v + return s +} + // A structure for a data location object where permissions are granted or revoked. type DataLocationResource struct { _ struct{} `type:"structure"` + // The identifier for the Data Catalog where the location is registered with + // AWS Lake Formation. By default, it is the account ID of the caller. + CatalogId *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) that uniquely identifies the data location // resource. // @@ -1925,6 +1964,9 @@ func (s DataLocationResource) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DataLocationResource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DataLocationResource"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } @@ -1935,6 +1977,12 @@ func (s *DataLocationResource) Validate() error { return nil } +// SetCatalogId sets the CatalogId field's value. +func (s *DataLocationResource) SetCatalogId(v string) *DataLocationResource { + s.CatalogId = &v + return s +} + // SetResourceArn sets the ResourceArn field's value. func (s *DataLocationResource) SetResourceArn(v string) *DataLocationResource { s.ResourceArn = &v @@ -1945,6 +1993,10 @@ func (s *DataLocationResource) SetResourceArn(v string) *DataLocationResource { type DatabaseResource struct { _ struct{} `type:"structure"` + // The identifier for the Data Catalog. By default, it is the account ID of + // the caller. + CatalogId *string `min:"1" type:"string"` + // The name of the database resource. Unique to the Data Catalog. // // Name is a required field @@ -1964,6 +2016,9 @@ func (s DatabaseResource) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DatabaseResource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DatabaseResource"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -1977,6 +2032,12 @@ func (s *DatabaseResource) Validate() error { return nil } +// SetCatalogId sets the CatalogId field's value. +func (s *DatabaseResource) SetCatalogId(v string) *DatabaseResource { + s.CatalogId = &v + return s +} + // SetName sets the Name field's value. func (s *DatabaseResource) SetName(v string) *DatabaseResource { s.Name = &v @@ -2271,7 +2332,8 @@ func (s *GetDataLakeSettingsInput) SetCatalogId(v string) *GetDataLakeSettingsIn type GetDataLakeSettingsOutput struct { _ struct{} `type:"structure"` - // A list of AWS Lake Formation principals. + // A structure representing a list of AWS Lake Formation principals designated + // as data lake administrators. DataLakeSettings *DataLakeSettings `type:"structure"` } @@ -3030,7 +3092,8 @@ type PutDataLakeSettingsInput struct { // Formation environment. CatalogId *string `min:"1" type:"string"` - // A list of AWS Lake Formation principals. + // A structure representing a list of AWS Lake Formation principals designated + // as data lake administrators. // // DataLakeSettings is a required field DataLakeSettings *DataLakeSettings `type:"structure" required:"true"` @@ -3101,11 +3164,14 @@ type RegisterResourceInput struct { // ResourceArn is a required field ResourceArn *string `type:"string" required:"true"` - // The identifier for the role. + // The identifier for the role that registers the resource. RoleArn *string `type:"string"` - // Designates a trusted caller, an IAM principal, by registering this caller - // with the Data Catalog. + // Designates an AWS Identity and Access Management (IAM) service-linked role + // by registering this role with the Data Catalog. A service-linked role is + // a unique type of IAM role that is linked directly to Lake Formation. + // + // For more information, see Using Service-Linked Roles for Lake Formation (https://docs-aws.amazon.com/lake-formation/latest/dg/service-linked-roles.html). UseServiceLinkedRole *bool `type:"boolean"` } @@ -3314,7 +3380,7 @@ type RevokePermissionsInput struct { CatalogId *string `min:"1" type:"string"` // The permissions revoked to the principal on the resource. For information - // about permissions, see Security and Access Control to Metadata and Data (https://docs-aws.amazon.com/michigan/latest/dg/security-data-access.html). + // about permissions, see Security and Access Control to Metadata and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html). // // Permissions is a required field Permissions []*string `type:"list" required:"true"` @@ -3425,6 +3491,10 @@ func (s RevokePermissionsOutput) GoString() string { type TableResource struct { _ struct{} `type:"structure"` + // The identifier for the Data Catalog. By default, it is the account ID of + // the caller. + CatalogId *string `min:"1" type:"string"` + // The name of the database for the table. Unique to a Data Catalog. A database // is a set of associated table definitions organized into a logical group. // You can Grant and Revoke database privileges to a principal. @@ -3433,9 +3503,12 @@ type TableResource struct { DatabaseName *string `min:"1" type:"string" required:"true"` // The name of the table. + Name *string `min:"1" type:"string"` + + // A wildcard object representing every table under a database. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // At least one of TableResource$Name or TableResource$TableWildcard is required. + TableWildcard *TableWildcard `type:"structure"` } // String returns the string representation @@ -3451,15 +3524,15 @@ func (s TableResource) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *TableResource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TableResource"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } if s.DatabaseName == nil { invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } @@ -3470,6 +3543,12 @@ func (s *TableResource) Validate() error { return nil } +// SetCatalogId sets the CatalogId field's value. +func (s *TableResource) SetCatalogId(v string) *TableResource { + s.CatalogId = &v + return s +} + // SetDatabaseName sets the DatabaseName field's value. func (s *TableResource) SetDatabaseName(v string) *TableResource { s.DatabaseName = &v @@ -3482,6 +3561,27 @@ func (s *TableResource) SetName(v string) *TableResource { return s } +// SetTableWildcard sets the TableWildcard field's value. +func (s *TableResource) SetTableWildcard(v *TableWildcard) *TableResource { + s.TableWildcard = v + return s +} + +// A wildcard object representing every table under a database. +type TableWildcard struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TableWildcard) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TableWildcard) GoString() string { + return s.String() +} + // A structure for a table with columns object. This object is only used when // granting a SELECT permission. // @@ -3490,6 +3590,10 @@ func (s *TableResource) SetName(v string) *TableResource { type TableWithColumnsResource struct { _ struct{} `type:"structure"` + // The identifier for the Data Catalog. By default, it is the account ID of + // the caller. + CatalogId *string `min:"1" type:"string"` + // The list of column names for the table. At least one of ColumnNames or ColumnWildcard // is required. ColumnNames []*string `type:"list"` @@ -3501,11 +3605,15 @@ type TableWithColumnsResource struct { // The name of the database for the table with columns resource. Unique to the // Data Catalog. A database is a set of associated table definitions organized // into a logical group. You can Grant and Revoke database privileges to a principal. - DatabaseName *string `min:"1" type:"string"` + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` // The name of the table resource. A table is a metadata definition that represents // your data. You can Grant and Revoke table privileges to a principal. - Name *string `min:"1" type:"string"` + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -3521,9 +3629,18 @@ func (s TableWithColumnsResource) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *TableWithColumnsResource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TableWithColumnsResource"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } @@ -3534,6 +3651,12 @@ func (s *TableWithColumnsResource) Validate() error { return nil } +// SetCatalogId sets the CatalogId field's value. +func (s *TableWithColumnsResource) SetCatalogId(v string) *TableWithColumnsResource { + s.CatalogId = &v + return s +} + // SetColumnNames sets the ColumnNames field's value. func (s *TableWithColumnsResource) SetColumnNames(v []*string) *TableWithColumnsResource { s.ColumnNames = v @@ -3703,6 +3826,9 @@ const ( // PermissionInsert is a Permission enum value PermissionInsert = "INSERT" + // PermissionDescribe is a Permission enum value + PermissionDescribe = "DESCRIBE" + // PermissionCreateDatabase is a Permission enum value PermissionCreateDatabase = "CREATE_DATABASE" diff --git a/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go b/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go index e1495de85c5..2c9ee2d45e2 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lambda/api.go @@ -2420,6 +2420,20 @@ func (c *Lambda) InvokeRequest(input *InvokeInput) (req *request.Request, output // specified as part of Lambda function configuration, because the limit for // network interfaces has been reached. // +// * EFSMountConnectivityException +// The function couldn't make a network connection to the configured file system. +// +// * EFSMountFailureException +// The function couldn't mount the configured file system due to a permission +// or configuration issue. +// +// * EFSMountTimeoutException +// The function was able to make a network connection to the configured file +// system, but the mount operation timed out. +// +// * EFSIOException +// An error occured when reading from or writing to a connected file system. +// // * EC2ThrottledException // AWS Lambda was throttled by Amazon EC2 during Lambda function initialization // using the execution role provided for the Lambda function. @@ -4211,7 +4225,7 @@ func (c *Lambda) PutFunctionEventInvokeConfigRequest(input *PutFunctionEventInvo // on a function, version, or alias. If a configuration already exists for a // function, version, or alias, this operation overwrites it. If you exclude // any settings, they are removed. To set one option without affecting existing -// settings for other options, use PutFunctionEventInvokeConfig. +// settings for other options, use UpdateFunctionEventInvokeConfig. // // By default, Lambda retries an asynchronous invocation twice if the function // returns an error. It retains events in a queue for up to six hours. When @@ -5756,8 +5770,7 @@ func (s *AliasConfiguration) SetRoutingConfig(v *AliasRoutingConfiguration) *Ali type AliasRoutingConfiguration struct { _ struct{} `type:"structure"` - // The name of the second alias, and the percentage of traffic that's routed - // to it. + // The second version, and the percentage of traffic that's routed to it. AdditionalVersionWeights map[string]*float64 `type:"map"` } @@ -5868,7 +5881,7 @@ type CreateAliasInput struct { // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html) + // The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html#configuring-alias-routing) // of the alias. RoutingConfig *AliasRoutingConfiguration `type:"structure"` } @@ -6145,6 +6158,9 @@ type CreateFunctionInput struct { // Environment variables that are accessible from function code during execution. Environment *Environment `type:"structure"` + // Connection settings for an Amazon EFS file system. + FileSystemConfigs []*FileSystemConfig `type:"list"` + // The name of the Lambda function. // // Name formats @@ -6258,6 +6274,16 @@ func (s *CreateFunctionInput) Validate() error { invalidParams.AddNested("Code", err.(request.ErrInvalidParams)) } } + if s.FileSystemConfigs != nil { + for i, v := range s.FileSystemConfigs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FileSystemConfigs", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -6289,6 +6315,12 @@ func (s *CreateFunctionInput) SetEnvironment(v *Environment) *CreateFunctionInpu return s } +// SetFileSystemConfigs sets the FileSystemConfigs field's value. +func (s *CreateFunctionInput) SetFileSystemConfigs(v []*FileSystemConfig) *CreateFunctionInput { + s.FileSystemConfigs = v + return s +} + // SetFunctionName sets the FunctionName field's value. func (s *CreateFunctionInput) SetFunctionName(v string) *CreateFunctionInput { s.FunctionName = &v @@ -7099,6 +7131,240 @@ func (s *EC2UnexpectedException) RequestID() string { return s.RespMetadata.RequestID } +// An error occured when reading from or writing to a connected file system. +type EFSIOException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + Type *string `type:"string"` +} + +// String returns the string representation +func (s EFSIOException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EFSIOException) GoString() string { + return s.String() +} + +func newErrorEFSIOException(v protocol.ResponseMetadata) error { + return &EFSIOException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *EFSIOException) Code() string { + return "EFSIOException" +} + +// Message returns the exception's message. +func (s *EFSIOException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *EFSIOException) OrigErr() error { + return nil +} + +func (s *EFSIOException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *EFSIOException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *EFSIOException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The function couldn't make a network connection to the configured file system. +type EFSMountConnectivityException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + Type *string `type:"string"` +} + +// String returns the string representation +func (s EFSMountConnectivityException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EFSMountConnectivityException) GoString() string { + return s.String() +} + +func newErrorEFSMountConnectivityException(v protocol.ResponseMetadata) error { + return &EFSMountConnectivityException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *EFSMountConnectivityException) Code() string { + return "EFSMountConnectivityException" +} + +// Message returns the exception's message. +func (s *EFSMountConnectivityException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *EFSMountConnectivityException) OrigErr() error { + return nil +} + +func (s *EFSMountConnectivityException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *EFSMountConnectivityException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *EFSMountConnectivityException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The function couldn't mount the configured file system due to a permission +// or configuration issue. +type EFSMountFailureException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + Type *string `type:"string"` +} + +// String returns the string representation +func (s EFSMountFailureException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EFSMountFailureException) GoString() string { + return s.String() +} + +func newErrorEFSMountFailureException(v protocol.ResponseMetadata) error { + return &EFSMountFailureException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *EFSMountFailureException) Code() string { + return "EFSMountFailureException" +} + +// Message returns the exception's message. +func (s *EFSMountFailureException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *EFSMountFailureException) OrigErr() error { + return nil +} + +func (s *EFSMountFailureException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *EFSMountFailureException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *EFSMountFailureException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The function was able to make a network connection to the configured file +// system, but the mount operation timed out. +type EFSMountTimeoutException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + Type *string `type:"string"` +} + +// String returns the string representation +func (s EFSMountTimeoutException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EFSMountTimeoutException) GoString() string { + return s.String() +} + +func newErrorEFSMountTimeoutException(v protocol.ResponseMetadata) error { + return &EFSMountTimeoutException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *EFSMountTimeoutException) Code() string { + return "EFSMountTimeoutException" +} + +// Message returns the exception's message. +func (s *EFSMountTimeoutException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *EFSMountTimeoutException) OrigErr() error { + return nil +} + +func (s *EFSMountTimeoutException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *EFSMountTimeoutException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *EFSMountTimeoutException) RequestID() string { + return s.RespMetadata.RequestID +} + // AWS Lambda was not able to create an elastic network interface in the VPC, // specified as part of Lambda function configuration, because the limit for // network interfaces has been reached. @@ -7399,6 +7665,61 @@ func (s *EventSourceMappingConfiguration) SetUUID(v string) *EventSourceMappingC return s } +// Details about the connection between a Lambda function and an Amazon EFS +// file system. +type FileSystemConfig struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Amazon EFS access point that provides + // access to the file system. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` + + // The path where the function can access the file system, starting with /mnt/. + // + // LocalMountPath is a required field + LocalMountPath *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s FileSystemConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FileSystemConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FileSystemConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FileSystemConfig"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.LocalMountPath == nil { + invalidParams.Add(request.NewErrParamRequired("LocalMountPath")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *FileSystemConfig) SetArn(v string) *FileSystemConfig { + s.Arn = &v + return s +} + +// SetLocalMountPath sets the LocalMountPath field's value. +func (s *FileSystemConfig) SetLocalMountPath(v string) *FileSystemConfig { + s.LocalMountPath = &v + return s +} + // The code for the Lambda function. You can specify either an object in Amazon // S3, or upload a deployment package directly. type FunctionCode struct { @@ -7526,6 +7847,9 @@ type FunctionConfiguration struct { // The function's environment variables. Environment *EnvironmentResponse `type:"structure"` + // Connection settings for an Amazon EFS file system. + FileSystemConfigs []*FileSystemConfig `type:"list"` + // The function's Amazon Resource Name (ARN). FunctionArn *string `type:"string"` @@ -7636,6 +7960,12 @@ func (s *FunctionConfiguration) SetEnvironment(v *EnvironmentResponse) *Function return s } +// SetFileSystemConfigs sets the FileSystemConfigs field's value. +func (s *FunctionConfiguration) SetFileSystemConfigs(v []*FileSystemConfig) *FunctionConfiguration { + s.FileSystemConfigs = v + return s +} + // SetFunctionArn sets the FunctionArn field's value. func (s *FunctionConfiguration) SetFunctionArn(v string) *FunctionConfiguration { s.FunctionArn = &v @@ -12954,7 +13284,7 @@ type UpdateAliasInput struct { // read it. RevisionId *string `type:"string"` - // The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html) + // The routing configuration (https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html#configuring-alias-routing) // of the alias. RoutingConfig *AliasRoutingConfiguration `type:"structure"` } @@ -13333,6 +13663,9 @@ type UpdateFunctionConfigurationInput struct { // Environment variables that are accessible from function code during execution. Environment *Environment `type:"structure"` + // Connection settings for an Amazon EFS file system. + FileSystemConfigs []*FileSystemConfig `type:"list"` + // The name of the Lambda function. // // Name formats @@ -13421,6 +13754,16 @@ func (s *UpdateFunctionConfigurationInput) Validate() error { if s.Timeout != nil && *s.Timeout < 1 { invalidParams.Add(request.NewErrParamMinValue("Timeout", 1)) } + if s.FileSystemConfigs != nil { + for i, v := range s.FileSystemConfigs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FileSystemConfigs", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -13446,6 +13789,12 @@ func (s *UpdateFunctionConfigurationInput) SetEnvironment(v *Environment) *Updat return s } +// SetFileSystemConfigs sets the FileSystemConfigs field's value. +func (s *UpdateFunctionConfigurationInput) SetFileSystemConfigs(v []*FileSystemConfig) *UpdateFunctionConfigurationInput { + s.FileSystemConfigs = v + return s +} + // SetFunctionName sets the FunctionName field's value. func (s *UpdateFunctionConfigurationInput) SetFunctionName(v string) *UpdateFunctionConfigurationInput { s.FunctionName = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go b/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go index 739daeca0a5..4cee20127ed 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lambda/errors.go @@ -34,6 +34,32 @@ const ( // the Lambda function. ErrCodeEC2UnexpectedException = "EC2UnexpectedException" + // ErrCodeEFSIOException for service response error code + // "EFSIOException". + // + // An error occured when reading from or writing to a connected file system. + ErrCodeEFSIOException = "EFSIOException" + + // ErrCodeEFSMountConnectivityException for service response error code + // "EFSMountConnectivityException". + // + // The function couldn't make a network connection to the configured file system. + ErrCodeEFSMountConnectivityException = "EFSMountConnectivityException" + + // ErrCodeEFSMountFailureException for service response error code + // "EFSMountFailureException". + // + // The function couldn't mount the configured file system due to a permission + // or configuration issue. + ErrCodeEFSMountFailureException = "EFSMountFailureException" + + // ErrCodeEFSMountTimeoutException for service response error code + // "EFSMountTimeoutException". + // + // The function was able to make a network connection to the configured file + // system, but the mount operation timed out. + ErrCodeEFSMountTimeoutException = "EFSMountTimeoutException" + // ErrCodeENILimitReachedException for service response error code // "ENILimitReachedException". // @@ -192,6 +218,10 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "EC2AccessDeniedException": newErrorEC2AccessDeniedException, "EC2ThrottledException": newErrorEC2ThrottledException, "EC2UnexpectedException": newErrorEC2UnexpectedException, + "EFSIOException": newErrorEFSIOException, + "EFSMountConnectivityException": newErrorEFSMountConnectivityException, + "EFSMountFailureException": newErrorEFSMountFailureException, + "EFSMountTimeoutException": newErrorEFSMountTimeoutException, "ENILimitReachedException": newErrorENILimitReachedException, "InvalidParameterValueException": newErrorInvalidParameterValueException, "InvalidRequestContentException": newErrorInvalidRequestContentException, diff --git a/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/api.go b/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/api.go index 5f334ee6141..87573569bf9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lexmodelbuildingservice/api.go @@ -5288,6 +5288,11 @@ type CreateBotVersionOutput struct { // Comprehend for sentiment analysis. DetectSentiment *bool `locationName:"detectSentiment" type:"boolean"` + // Indicates whether the bot uses the new natural language understanding (NLU) + // model or the original NLU. True indicates that the bot is using the new model, + // otherwise, false. + EnableModelImprovements *bool `locationName:"enableModelImprovements" type:"boolean"` + // If status is FAILED, Amazon Lex provides the reason that it failed to build // the bot. FailureReason *string `locationName:"failureReason" type:"string"` @@ -5374,6 +5379,12 @@ func (s *CreateBotVersionOutput) SetDetectSentiment(v bool) *CreateBotVersionOut return s } +// SetEnableModelImprovements sets the EnableModelImprovements field's value. +func (s *CreateBotVersionOutput) SetEnableModelImprovements(v bool) *CreateBotVersionOutput { + s.EnableModelImprovements = &v + return s +} + // SetFailureReason sets the FailureReason field's value. func (s *CreateBotVersionOutput) SetFailureReason(v string) *CreateBotVersionOutput { s.FailureReason = &v @@ -5513,6 +5524,10 @@ type CreateIntentVersionOutput struct { // Describes how the intent is fulfilled. FulfillmentActivity *FulfillmentActivity `locationName:"fulfillmentActivity" type:"structure"` + // Configuration information, if any, for connectin an Amazon Kendra index with + // the AMAZON.KendraSearchIntent intent. + KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"` + // The date that the intent was updated. LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp"` @@ -5595,6 +5610,12 @@ func (s *CreateIntentVersionOutput) SetFulfillmentActivity(v *FulfillmentActivit return s } +// SetKendraConfiguration sets the KendraConfiguration field's value. +func (s *CreateIntentVersionOutput) SetKendraConfiguration(v *KendraConfiguration) *CreateIntentVersionOutput { + s.KendraConfiguration = v + return s +} + // SetLastUpdatedDate sets the LastUpdatedDate field's value. func (s *CreateIntentVersionOutput) SetLastUpdatedDate(v time.Time) *CreateIntentVersionOutput { s.LastUpdatedDate = &v @@ -7304,6 +7325,11 @@ type GetBotOutput struct { // sentiment analysis. DetectSentiment *bool `locationName:"detectSentiment" type:"boolean"` + // Indicates whether the bot uses the new natural language understanding (NLU) + // model or the original NLU. True indicates that the bot is using the new model, + // otherwise, false. + EnableModelImprovements *bool `locationName:"enableModelImprovements" type:"boolean"` + // If status is FAILED, Amazon Lex explains why it failed to build the bot. FailureReason *string `locationName:"failureReason" type:"string"` @@ -7324,6 +7350,14 @@ type GetBotOutput struct { // The name of the bot. Name *string `locationName:"name" min:"2" type:"string"` + // The score that determines where Amazon Lex inserts the AMAZON.FallbackIntent, + // AMAZON.KendraSearchIntent, or both when returning alternative intents in + // a PostContent (https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostContent.html) + // or PostText (https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostText.html) + // response. AMAZON.FallbackIntent and AMAZON.KendraSearchIntent are only inserted + // if they are configured for the bot. + NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double"` + // The status of the bot. // // When the status is BUILDING Amazon Lex is building the bot for testing and @@ -7399,6 +7433,12 @@ func (s *GetBotOutput) SetDetectSentiment(v bool) *GetBotOutput { return s } +// SetEnableModelImprovements sets the EnableModelImprovements field's value. +func (s *GetBotOutput) SetEnableModelImprovements(v bool) *GetBotOutput { + s.EnableModelImprovements = &v + return s +} + // SetFailureReason sets the FailureReason field's value. func (s *GetBotOutput) SetFailureReason(v string) *GetBotOutput { s.FailureReason = &v @@ -7435,6 +7475,12 @@ func (s *GetBotOutput) SetName(v string) *GetBotOutput { return s } +// SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value. +func (s *GetBotOutput) SetNluIntentConfidenceThreshold(v float64) *GetBotOutput { + s.NluIntentConfidenceThreshold = &v + return s +} + // SetStatus sets the Status field's value. func (s *GetBotOutput) SetStatus(v string) *GetBotOutput { s.Status = &v @@ -8325,6 +8371,10 @@ type GetIntentOutput struct { // Describes how the intent is fulfilled. For more information, see PutIntent. FulfillmentActivity *FulfillmentActivity `locationName:"fulfillmentActivity" type:"structure"` + // Configuration information, if any, to connect to an Amazon Kendra index with + // the AMAZON.KendraSearchIntent intent. + KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"` + // The date that the intent was updated. When you create a resource, the creation // date and the last updated date are the same. LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp"` @@ -8407,6 +8457,12 @@ func (s *GetIntentOutput) SetFulfillmentActivity(v *FulfillmentActivity) *GetInt return s } +// SetKendraConfiguration sets the KendraConfiguration field's value. +func (s *GetIntentOutput) SetKendraConfiguration(v *KendraConfiguration) *GetIntentOutput { + s.KendraConfiguration = v + return s +} + // SetLastUpdatedDate sets the LastUpdatedDate field's value. func (s *GetIntentOutput) SetLastUpdatedDate(v time.Time) *GetIntentOutput { s.LastUpdatedDate = &v @@ -9296,6 +9352,87 @@ func (s *InternalFailureException) RequestID() string { return s.RespMetadata.RequestID } +// Provides configuration information for the AMAZON.KendraSearchIntent intent. +// When you use this intent, Amazon Lex searches the specified Amazon Kendra +// index and returns documents from the index that match the user's utterance. +// For more information, see AMAZON.KendraSearchIntent (http://docs.aws.amazon.com/lex/latest/dg/built-in-intent-kendra-search.html). +type KendraConfiguration struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the + // AMAZON.KendraSearchIntent intent to search. The index must be in the same + // account and Region as the Amazon Lex bot. If the Amazon Kendra index does + // not exist, you get an exception when you call the PutIntent operation. + // + // KendraIndex is a required field + KendraIndex *string `locationName:"kendraIndex" min:"20" type:"string" required:"true"` + + // A query filter that Amazon Lex sends to Amazon Kendra to filter the response + // from the query. The filter is in the format defined by Amazon Kendra. For + // more information, see Filtering queries (http://docs.aws.amazon.com/kendra/latest/dg/filtering.html). + // + // You can override this filter string with a new filter string at runtime. + QueryFilterString *string `locationName:"queryFilterString" type:"string"` + + // The Amazon Resource Name (ARN) of an IAM role that has permission to search + // the Amazon Kendra index. The role must be in the same account and Region + // as the Amazon Lex bot. If the role does not exist, you get an exception when + // you call the PutIntent operation. + // + // Role is a required field + Role *string `locationName:"role" min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s KendraConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KendraConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KendraConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KendraConfiguration"} + if s.KendraIndex == nil { + invalidParams.Add(request.NewErrParamRequired("KendraIndex")) + } + if s.KendraIndex != nil && len(*s.KendraIndex) < 20 { + invalidParams.Add(request.NewErrParamMinLen("KendraIndex", 20)) + } + if s.Role == nil { + invalidParams.Add(request.NewErrParamRequired("Role")) + } + if s.Role != nil && len(*s.Role) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Role", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKendraIndex sets the KendraIndex field's value. +func (s *KendraConfiguration) SetKendraIndex(v string) *KendraConfiguration { + s.KendraIndex = &v + return s +} + +// SetQueryFilterString sets the QueryFilterString field's value. +func (s *KendraConfiguration) SetQueryFilterString(v string) *KendraConfiguration { + s.QueryFilterString = &v + return s +} + +// SetRole sets the Role field's value. +func (s *KendraConfiguration) SetRole(v string) *KendraConfiguration { + s.Role = &v + return s +} + // The request exceeded a limit. Try your request again. type LimitExceededException struct { _ struct{} `type:"structure"` @@ -10180,6 +10317,43 @@ type PutBotInput struct { // analysis. If you don't specify detectSentiment, the default is false. DetectSentiment *bool `locationName:"detectSentiment" type:"boolean"` + // Set to true to enable the use of a new natural language understanding (NLU) + // model. Using the new NLU may improve the performance of your bot. + // + // When you set the enableModelImprovements parameter to true you can use the + // nluIntentConfidenceThreshold parameter to configure confidence scores. For + // more information, see Confidence Scores (https://docs.aws.amazon.com/lex/latest/dg/confidence-scores.html). + // + // You can only set the enableModelImprovements parameter in certain Regions. + // If you set the parameter to true, your bot will use the new NLU. If you set + // the parameter to false, your bot will continue to use the original NLU. If + // you set the parameter to false after setting it to true, your bot will return + // to the original NLU. + // + // The Regions where you can set the enableModelImprovements parameter to true + // are: + // + // * US East (N. Virginia) (us-east-1) + // + // * US West (Oregon) (us-west-2) + // + // * Asia Pacific (Sydney) (ap-southeast-2) + // + // * EU (Ireland) (eu-west-1) + // + // In other Regions, the enableModelImprovements parameter is set to true by + // default. In these Regions setting the parameter to false throws a ValidationException + // exception. + // + // * Asia Pacific (Singapore) (ap-southeast-1) + // + // * Asia Pacific (Tokyo) (ap-northeast-1) + // + // * EU (Frankfurt) (eu-central-1) + // + // * EU (London) (eu-west-2) + EnableModelImprovements *bool `locationName:"enableModelImprovements" type:"boolean"` + // The maximum time in seconds that Amazon Lex retains the data gathered in // a conversation. // @@ -10217,6 +10391,30 @@ type PutBotInput struct { // Name is a required field Name *string `location:"uri" locationName:"name" min:"2" type:"string" required:"true"` + // Determines the threshold where Amazon Lex will insert the AMAZON.FallbackIntent, + // AMAZON.KendraSearchIntent, or both when returning alternative intents in + // a PostContent (https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostContent.html) + // or PostText (https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostText.html) + // response. AMAZON.FallbackIntent and AMAZON.KendraSearchIntent are only inserted + // if they are configured for the bot. + // + // You must set the enableModelImprovements parameter to true to use confidence + // scores. + // + // For example, suppose a bot is configured with the confidence threshold of + // 0.80 and the AMAZON.FallbackIntent. Amazon Lex returns three alternative + // intents with the following confidence scores: IntentA (0.70), IntentB (0.60), + // IntentC (0.50). The response from the PostText operation would be: + // + // * AMAZON.FallbackIntent + // + // * IntentA + // + // * IntentB + // + // * IntentC + NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double"` + // If you set the processBehavior element to BUILD, Amazon Lex builds the bot // so that it can be run. If you set the element to SAVE Amazon Lex saves the // bot, but doesn't build it. @@ -10343,6 +10541,12 @@ func (s *PutBotInput) SetDetectSentiment(v bool) *PutBotInput { return s } +// SetEnableModelImprovements sets the EnableModelImprovements field's value. +func (s *PutBotInput) SetEnableModelImprovements(v bool) *PutBotInput { + s.EnableModelImprovements = &v + return s +} + // SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value. func (s *PutBotInput) SetIdleSessionTTLInSeconds(v int64) *PutBotInput { s.IdleSessionTTLInSeconds = &v @@ -10367,6 +10571,12 @@ func (s *PutBotInput) SetName(v string) *PutBotInput { return s } +// SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value. +func (s *PutBotInput) SetNluIntentConfidenceThreshold(v float64) *PutBotInput { + s.NluIntentConfidenceThreshold = &v + return s +} + // SetProcessBehavior sets the ProcessBehavior field's value. func (s *PutBotInput) SetProcessBehavior(v string) *PutBotInput { s.ProcessBehavior = &v @@ -10440,6 +10650,11 @@ type PutBotOutput struct { // the request, the detectSentiment field is false in the response. DetectSentiment *bool `locationName:"detectSentiment" type:"boolean"` + // Indicates whether the bot uses the new natural language understanding (NLU) + // model or the original NLU. True indicates that the bot is using the new model, + // otherwise, false. + EnableModelImprovements *bool `locationName:"enableModelImprovements" type:"boolean"` + // If status is FAILED, Amazon Lex provides the reason that it failed to build // the bot. FailureReason *string `locationName:"failureReason" type:"string"` @@ -10461,6 +10676,14 @@ type PutBotOutput struct { // The name of the bot. Name *string `locationName:"name" min:"2" type:"string"` + // The score that determines where Amazon Lex inserts the AMAZON.FallbackIntent, + // AMAZON.KendraSearchIntent, or both when returning alternative intents in + // a PostContent (https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostContent.html) + // or PostText (https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostText.html) + // response. AMAZON.FallbackIntent and AMAZON.KendraSearchIntent are only inserted + // if they are configured for the bot. + NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double"` + // When you send a request to create a bot with processBehavior set to BUILD, // Amazon Lex sets the status response element to BUILDING. // @@ -10546,6 +10769,12 @@ func (s *PutBotOutput) SetDetectSentiment(v bool) *PutBotOutput { return s } +// SetEnableModelImprovements sets the EnableModelImprovements field's value. +func (s *PutBotOutput) SetEnableModelImprovements(v bool) *PutBotOutput { + s.EnableModelImprovements = &v + return s +} + // SetFailureReason sets the FailureReason field's value. func (s *PutBotOutput) SetFailureReason(v string) *PutBotOutput { s.FailureReason = &v @@ -10582,6 +10811,12 @@ func (s *PutBotOutput) SetName(v string) *PutBotOutput { return s } +// SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value. +func (s *PutBotOutput) SetNluIntentConfidenceThreshold(v float64) *PutBotOutput { + s.NluIntentConfidenceThreshold = &v + return s +} + // SetStatus sets the Status field's value. func (s *PutBotOutput) SetStatus(v string) *PutBotOutput { s.Status = &v @@ -10693,6 +10928,11 @@ type PutIntentInput struct { // process the intent (for example, place an order with a pizzeria). FulfillmentActivity *FulfillmentActivity `locationName:"fulfillmentActivity" type:"structure"` + // Configuration information required to use the AMAZON.KendraSearchIntent intent + // to connect to an Amazon Kendra index. For more information, see AMAZON.KendraSearchIntent + // (http://docs.aws.amazon.com/lex/latest/dg/built-in-intent-kendra-search.html). + KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"` + // The name of the intent. The name is not case sensitive. // // The name can't match a built-in intent name, or a built-in intent name with @@ -10774,6 +11014,11 @@ func (s *PutIntentInput) Validate() error { invalidParams.AddNested("FulfillmentActivity", err.(request.ErrInvalidParams)) } } + if s.KendraConfiguration != nil { + if err := s.KendraConfiguration.Validate(); err != nil { + invalidParams.AddNested("KendraConfiguration", err.(request.ErrInvalidParams)) + } + } if s.RejectionStatement != nil { if err := s.RejectionStatement.Validate(); err != nil { invalidParams.AddNested("RejectionStatement", err.(request.ErrInvalidParams)) @@ -10844,6 +11089,12 @@ func (s *PutIntentInput) SetFulfillmentActivity(v *FulfillmentActivity) *PutInte return s } +// SetKendraConfiguration sets the KendraConfiguration field's value. +func (s *PutIntentInput) SetKendraConfiguration(v *KendraConfiguration) *PutIntentInput { + s.KendraConfiguration = v + return s +} + // SetName sets the Name field's value. func (s *PutIntentInput) SetName(v string) *PutIntentInput { s.Name = &v @@ -10912,6 +11163,10 @@ type PutIntentOutput struct { // intent. FulfillmentActivity *FulfillmentActivity `locationName:"fulfillmentActivity" type:"structure"` + // Configuration information, if any, required to connect to an Amazon Kendra + // index and use the AMAZON.KendraSearchIntent intent. + KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"` + // The date that the intent was updated. When you create a resource, the creation // date and last update dates are the same. LastUpdatedDate *time.Time `locationName:"lastUpdatedDate" type:"timestamp"` @@ -11000,6 +11255,12 @@ func (s *PutIntentOutput) SetFulfillmentActivity(v *FulfillmentActivity) *PutInt return s } +// SetKendraConfiguration sets the KendraConfiguration field's value. +func (s *PutIntentOutput) SetKendraConfiguration(v *KendraConfiguration) *PutIntentOutput { + s.KendraConfiguration = v + return s +} + // SetLastUpdatedDate sets the LastUpdatedDate field's value. func (s *PutIntentOutput) SetLastUpdatedDate(v time.Time) *PutIntentOutput { s.LastUpdatedDate = &v @@ -11459,12 +11720,12 @@ type Slot struct { // (https://docs.aws.amazon.com/lex/latest/dg/how-obfuscate.html). ObfuscationSetting *string `locationName:"obfuscationSetting" type:"string" enum:"ObfuscationSetting"` - // Directs Lex the order in which to elicit this slot value from the user. For - // example, if the intent has two slots with priorities 1 and 2, AWS Lex first - // elicits a value for the slot with priority 1. + // Directs Amazon Lex the order in which to elicit this slot value from the + // user. For example, if the intent has two slots with priorities 1 and 2, AWS + // Amazon Lex first elicits a value for the slot with priority 1. // - // If multiple slots share the same priority, the order in which Lex elicits - // values is arbitrary. + // If multiple slots share the same priority, the order in which Amazon Lex + // elicits values is arbitrary. Priority *int64 `locationName:"priority" type:"integer"` // A set of possible responses for the slot type used by text-based clients. diff --git a/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go b/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go index 1aacad6e2d3..314d92ed41f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lightsail/api.go @@ -116,6 +116,118 @@ func (c *Lightsail) AllocateStaticIpWithContext(ctx aws.Context, input *Allocate return out, req.Send() } +const opAttachCertificateToDistribution = "AttachCertificateToDistribution" + +// AttachCertificateToDistributionRequest generates a "aws/request.Request" representing the +// client's request for the AttachCertificateToDistribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AttachCertificateToDistribution for more information on using the AttachCertificateToDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AttachCertificateToDistributionRequest method. +// req, resp := client.AttachCertificateToDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachCertificateToDistribution +func (c *Lightsail) AttachCertificateToDistributionRequest(input *AttachCertificateToDistributionInput) (req *request.Request, output *AttachCertificateToDistributionOutput) { + op := &request.Operation{ + Name: opAttachCertificateToDistribution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AttachCertificateToDistributionInput{} + } + + output = &AttachCertificateToDistributionOutput{} + req = c.newRequest(op, input, output) + return +} + +// AttachCertificateToDistribution API operation for Amazon Lightsail. +// +// Attaches an SSL/TLS certificate to your Amazon Lightsail content delivery +// network (CDN) distribution. +// +// After the certificate is attached, your distribution accepts HTTPS traffic +// for all of the domains that are associated with the certificate. +// +// Use the CreateCertificate action to create a certificate that you can attach +// to your distribution. +// +// Only certificates created in the us-east-1 AWS Region can be attached to +// Lightsail distributions. Lightsail distributions are global resources that +// can reference an origin in any AWS Region, and distribute its content globally. +// However, all distributions are located in the us-east-1 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 Lightsail's +// API operation AttachCertificateToDistribution for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachCertificateToDistribution +func (c *Lightsail) AttachCertificateToDistribution(input *AttachCertificateToDistributionInput) (*AttachCertificateToDistributionOutput, error) { + req, out := c.AttachCertificateToDistributionRequest(input) + return out, req.Send() +} + +// AttachCertificateToDistributionWithContext is the same as AttachCertificateToDistribution with the addition of +// the ability to pass a context and additional request options. +// +// See AttachCertificateToDistribution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) AttachCertificateToDistributionWithContext(ctx aws.Context, input *AttachCertificateToDistributionInput, opts ...request.Option) (*AttachCertificateToDistributionOutput, error) { + req, out := c.AttachCertificateToDistributionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAttachDisk = "AttachDisk" // AttachDiskRequest generates a "aws/request.Request" representing the @@ -599,11 +711,11 @@ func (c *Lightsail) CloseInstancePublicPortsRequest(input *CloseInstancePublicPo // CloseInstancePublicPorts API operation for Amazon Lightsail. // -// Closes the public ports on a specific Amazon Lightsail instance. +// Closes ports for a specific Amazon Lightsail instance. // -// The close instance public ports operation supports tag-based access control -// via resource tags applied to the resource identified by instance name. For -// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// The CloseInstancePublicPorts action supports tag-based access control via +// resource tags applied to the resource identified by instanceName. For more +// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -777,6 +889,112 @@ func (c *Lightsail) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshot return out, req.Send() } +const opCreateCertificate = "CreateCertificate" + +// CreateCertificateRequest generates a "aws/request.Request" representing the +// client's request for the CreateCertificate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateCertificate for more information on using the CreateCertificate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateCertificateRequest method. +// req, resp := client.CreateCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCertificate +func (c *Lightsail) CreateCertificateRequest(input *CreateCertificateInput) (req *request.Request, output *CreateCertificateOutput) { + op := &request.Operation{ + Name: opCreateCertificate, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateCertificateInput{} + } + + output = &CreateCertificateOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCertificate API operation for Amazon Lightsail. +// +// Creates an SSL/TLS certificate for a Amazon Lightsail content delivery network +// (CDN) distribution. +// +// After the certificate is created, use the AttachCertificateToDistribution +// action to attach the certificate to your distribution. +// +// Only certificates created in the us-east-1 AWS Region can be attached to +// Lightsail distributions. Lightsail distributions are global resources that +// can reference an origin in any AWS Region, and distribute its content globally. +// However, all distributions are located in the us-east-1 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 Lightsail's +// API operation CreateCertificate for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCertificate +func (c *Lightsail) CreateCertificate(input *CreateCertificateInput) (*CreateCertificateOutput, error) { + req, out := c.CreateCertificateRequest(input) + return out, req.Send() +} + +// CreateCertificateWithContext is the same as CreateCertificate with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCertificate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) CreateCertificateWithContext(ctx aws.Context, input *CreateCertificateInput, opts ...request.Option) (*CreateCertificateOutput, error) { + req, out := c.CreateCertificateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateCloudFormationStack = "CreateCloudFormationStack" // CreateCloudFormationStackRequest generates a "aws/request.Request" representing the @@ -1343,6 +1561,111 @@ func (c *Lightsail) CreateDiskSnapshotWithContext(ctx aws.Context, input *Create return out, req.Send() } +const opCreateDistribution = "CreateDistribution" + +// CreateDistributionRequest generates a "aws/request.Request" representing the +// client's request for the CreateDistribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateDistribution for more information on using the CreateDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateDistributionRequest method. +// req, resp := client.CreateDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDistribution +func (c *Lightsail) CreateDistributionRequest(input *CreateDistributionInput) (req *request.Request, output *CreateDistributionOutput) { + op := &request.Operation{ + Name: opCreateDistribution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDistributionInput{} + } + + output = &CreateDistributionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDistribution API operation for Amazon Lightsail. +// +// Creates an Amazon Lightsail content delivery network (CDN) distribution. +// +// A distribution is a globally distributed network of caching servers that +// improve the performance of your website or web application hosted on a Lightsail +// instance. For more information, see Content delivery networks in Amazon Lightsail +// (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-content-delivery-networks). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lightsail's +// API operation CreateDistribution for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDistribution +func (c *Lightsail) CreateDistribution(input *CreateDistributionInput) (*CreateDistributionOutput, error) { + req, out := c.CreateDistributionRequest(input) + return out, req.Send() +} + +// CreateDistributionWithContext is the same as CreateDistribution with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDistribution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) CreateDistributionWithContext(ctx aws.Context, input *CreateDistributionInput, opts ...request.Option) (*CreateDistributionOutput, error) { + req, out := c.CreateDistributionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDomain = "CreateDomain" // CreateDomainRequest generates a "aws/request.Request" representing the @@ -2752,51 +3075,153 @@ func (c *Lightsail) DeleteAutoSnapshotWithContext(ctx aws.Context, input *Delete return out, req.Send() } -const opDeleteContactMethod = "DeleteContactMethod" +const opDeleteCertificate = "DeleteCertificate" -// DeleteContactMethodRequest generates a "aws/request.Request" representing the -// client's request for the DeleteContactMethod operation. The "output" return +// DeleteCertificateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCertificate operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteContactMethod for more information on using the DeleteContactMethod +// See DeleteCertificate for more information on using the DeleteCertificate // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteContactMethodRequest method. -// req, resp := client.DeleteContactMethodRequest(params) +// // Example sending a request using the DeleteCertificateRequest method. +// req, resp := client.DeleteCertificateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContactMethod -func (c *Lightsail) DeleteContactMethodRequest(input *DeleteContactMethodInput) (req *request.Request, output *DeleteContactMethodOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteCertificate +func (c *Lightsail) DeleteCertificateRequest(input *DeleteCertificateInput) (req *request.Request, output *DeleteCertificateOutput) { op := &request.Operation{ - Name: opDeleteContactMethod, + Name: opDeleteCertificate, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteContactMethodInput{} + input = &DeleteCertificateInput{} } - output = &DeleteContactMethodOutput{} + output = &DeleteCertificateOutput{} req = c.newRequest(op, input, output) return } -// DeleteContactMethod API operation for Amazon Lightsail. +// DeleteCertificate API operation for Amazon Lightsail. // -// Deletes a contact method. +// Deletes an SSL/TLS certificate for your Amazon Lightsail content delivery +// network (CDN) distribution. +// +// Certificates that are currently attached to a distribution cannot be deleted. +// Use the DetachCertificateFromDistribution action to detach a certificate +// from a distribution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lightsail's +// API operation DeleteCertificate for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteCertificate +func (c *Lightsail) DeleteCertificate(input *DeleteCertificateInput) (*DeleteCertificateOutput, error) { + req, out := c.DeleteCertificateRequest(input) + return out, req.Send() +} + +// DeleteCertificateWithContext is the same as DeleteCertificate with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCertificate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) DeleteCertificateWithContext(ctx aws.Context, input *DeleteCertificateInput, opts ...request.Option) (*DeleteCertificateOutput, error) { + req, out := c.DeleteCertificateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteContactMethod = "DeleteContactMethod" + +// DeleteContactMethodRequest generates a "aws/request.Request" representing the +// client's request for the DeleteContactMethod operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteContactMethod for more information on using the DeleteContactMethod +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteContactMethodRequest method. +// req, resp := client.DeleteContactMethodRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteContactMethod +func (c *Lightsail) DeleteContactMethodRequest(input *DeleteContactMethodInput) (req *request.Request, output *DeleteContactMethodOutput) { + op := &request.Operation{ + Name: opDeleteContactMethod, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteContactMethodInput{} + } + + output = &DeleteContactMethodOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteContactMethod API operation for Amazon Lightsail. +// +// Deletes a contact method. // // A contact method is used to send you notifications about your Amazon Lightsail // resources. You can add one email address and one mobile phone number contact @@ -3084,6 +3509,106 @@ func (c *Lightsail) DeleteDiskSnapshotWithContext(ctx aws.Context, input *Delete return out, req.Send() } +const opDeleteDistribution = "DeleteDistribution" + +// DeleteDistributionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDistribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteDistribution for more information on using the DeleteDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteDistributionRequest method. +// req, resp := client.DeleteDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDistribution +func (c *Lightsail) DeleteDistributionRequest(input *DeleteDistributionInput) (req *request.Request, output *DeleteDistributionOutput) { + op := &request.Operation{ + Name: opDeleteDistribution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDistributionInput{} + } + + output = &DeleteDistributionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteDistribution API operation for Amazon Lightsail. +// +// Deletes your Amazon Lightsail content delivery network (CDN) distribution. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lightsail's +// API operation DeleteDistribution for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDistribution +func (c *Lightsail) DeleteDistribution(input *DeleteDistributionInput) (*DeleteDistributionOutput, error) { + req, out := c.DeleteDistributionRequest(input) + return out, req.Send() +} + +// DeleteDistributionWithContext is the same as DeleteDistribution with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDistribution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) DeleteDistributionWithContext(ctx aws.Context, input *DeleteDistributionInput, opts ...request.Option) (*DeleteDistributionOutput, error) { + req, out := c.DeleteDistributionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteDomain = "DeleteDomain" // DeleteDomainRequest generates a "aws/request.Request" representing the @@ -4170,6 +4695,110 @@ func (c *Lightsail) DeleteRelationalDatabaseSnapshotWithContext(ctx aws.Context, return out, req.Send() } +const opDetachCertificateFromDistribution = "DetachCertificateFromDistribution" + +// DetachCertificateFromDistributionRequest generates a "aws/request.Request" representing the +// client's request for the DetachCertificateFromDistribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DetachCertificateFromDistribution for more information on using the DetachCertificateFromDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DetachCertificateFromDistributionRequest method. +// req, resp := client.DetachCertificateFromDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachCertificateFromDistribution +func (c *Lightsail) DetachCertificateFromDistributionRequest(input *DetachCertificateFromDistributionInput) (req *request.Request, output *DetachCertificateFromDistributionOutput) { + op := &request.Operation{ + Name: opDetachCertificateFromDistribution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DetachCertificateFromDistributionInput{} + } + + output = &DetachCertificateFromDistributionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DetachCertificateFromDistribution API operation for Amazon Lightsail. +// +// Detaches an SSL/TLS certificate from your Amazon Lightsail content delivery +// network (CDN) distribution. +// +// After the certificate is detached, your distribution stops accepting traffic +// for all of the domains that are associated with the certificate. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lightsail's +// API operation DetachCertificateFromDistribution for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachCertificateFromDistribution +func (c *Lightsail) DetachCertificateFromDistribution(input *DetachCertificateFromDistributionInput) (*DetachCertificateFromDistributionOutput, error) { + req, out := c.DetachCertificateFromDistributionRequest(input) + return out, req.Send() +} + +// DetachCertificateFromDistributionWithContext is the same as DetachCertificateFromDistribution with the addition of +// the ability to pass a context and additional request options. +// +// See DetachCertificateFromDistribution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) DetachCertificateFromDistributionWithContext(ctx aws.Context, input *DetachCertificateFromDistributionInput, opts ...request.Option) (*DetachCertificateFromDistributionOutput, error) { + req, out := c.DetachCertificateFromDistributionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDetachDisk = "DetachDisk" // DetachDiskRequest generates a "aws/request.Request" representing the @@ -5450,32 +6079,133 @@ func (c *Lightsail) GetBundlesWithContext(ctx aws.Context, input *GetBundlesInpu return out, req.Send() } -const opGetCloudFormationStackRecords = "GetCloudFormationStackRecords" +const opGetCertificates = "GetCertificates" -// GetCloudFormationStackRecordsRequest generates a "aws/request.Request" representing the -// client's request for the GetCloudFormationStackRecords operation. The "output" return +// GetCertificatesRequest generates a "aws/request.Request" representing the +// client's request for the GetCertificates operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetCloudFormationStackRecords for more information on using the GetCloudFormationStackRecords +// See GetCertificates for more information on using the GetCertificates // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetCloudFormationStackRecordsRequest method. -// req, resp := client.GetCloudFormationStackRecordsRequest(params) +// // Example sending a request using the GetCertificatesRequest method. +// req, resp := client.GetCertificatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCertificates +func (c *Lightsail) GetCertificatesRequest(input *GetCertificatesInput) (req *request.Request, output *GetCertificatesOutput) { + op := &request.Operation{ + Name: opGetCertificates, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetCertificatesInput{} + } + + output = &GetCertificatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCertificates API operation for Amazon Lightsail. +// +// Returns information about one or more Amazon Lightsail SSL/TLS certificates. +// +// To get a summary of a certificate, ommit includeCertificateDetails from your +// request. The response will include only the certificate Amazon Resource Name +// (ARN), certificate name, domain name, and tags. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lightsail's +// API operation GetCertificates for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCertificates +func (c *Lightsail) GetCertificates(input *GetCertificatesInput) (*GetCertificatesOutput, error) { + req, out := c.GetCertificatesRequest(input) + return out, req.Send() +} + +// GetCertificatesWithContext is the same as GetCertificates with the addition of +// the ability to pass a context and additional request options. +// +// See GetCertificates for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) GetCertificatesWithContext(ctx aws.Context, input *GetCertificatesInput, opts ...request.Option) (*GetCertificatesOutput, error) { + req, out := c.GetCertificatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCloudFormationStackRecords = "GetCloudFormationStackRecords" + +// GetCloudFormationStackRecordsRequest generates a "aws/request.Request" representing the +// client's request for the GetCloudFormationStackRecords operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCloudFormationStackRecords for more information on using the GetCloudFormationStackRecords +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetCloudFormationStackRecordsRequest method. +// req, resp := client.GetCloudFormationStackRecordsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCloudFormationStackRecords func (c *Lightsail) GetCloudFormationStackRecordsRequest(input *GetCloudFormationStackRecordsInput) (req *request.Request, output *GetCloudFormationStackRecordsOutput) { op := &request.Operation{ Name: opGetCloudFormationStackRecords, @@ -6083,58 +6813,62 @@ func (c *Lightsail) GetDisksWithContext(ctx aws.Context, input *GetDisksInput, o return out, req.Send() } -const opGetDomain = "GetDomain" +const opGetDistributionBundles = "GetDistributionBundles" -// GetDomainRequest generates a "aws/request.Request" representing the -// client's request for the GetDomain operation. The "output" return +// GetDistributionBundlesRequest generates a "aws/request.Request" representing the +// client's request for the GetDistributionBundles operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetDomain for more information on using the GetDomain +// See GetDistributionBundles for more information on using the GetDistributionBundles // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetDomainRequest method. -// req, resp := client.GetDomainRequest(params) +// // Example sending a request using the GetDistributionBundlesRequest method. +// req, resp := client.GetDistributionBundlesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain -func (c *Lightsail) GetDomainRequest(input *GetDomainInput) (req *request.Request, output *GetDomainOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionBundles +func (c *Lightsail) GetDistributionBundlesRequest(input *GetDistributionBundlesInput) (req *request.Request, output *GetDistributionBundlesOutput) { op := &request.Operation{ - Name: opGetDomain, + Name: opGetDistributionBundles, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetDomainInput{} + input = &GetDistributionBundlesInput{} } - output = &GetDomainOutput{} + output = &GetDistributionBundlesOutput{} req = c.newRequest(op, input, output) return } -// GetDomain API operation for Amazon Lightsail. +// GetDistributionBundles API operation for Amazon Lightsail. // -// Returns information about a specific domain recordset. +// Returns the list bundles that can be applied to you Amazon Lightsail content +// delivery network (CDN) distributions. +// +// A distribution bundle specifies the monthly network transfer quota and monthly +// cost of your dsitribution. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetDomain for usage and error information. +// API operation GetDistributionBundles for usage and error information. // // Returned Error Types: // * ServiceException @@ -6158,87 +6892,84 @@ func (c *Lightsail) GetDomainRequest(input *GetDomainInput) (req *request.Reques // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * AccountSetupInProgressException -// Lightsail throws this exception when an account is still in the setup in -// progress state. -// // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain -func (c *Lightsail) GetDomain(input *GetDomainInput) (*GetDomainOutput, error) { - req, out := c.GetDomainRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionBundles +func (c *Lightsail) GetDistributionBundles(input *GetDistributionBundlesInput) (*GetDistributionBundlesOutput, error) { + req, out := c.GetDistributionBundlesRequest(input) return out, req.Send() } -// GetDomainWithContext is the same as GetDomain with the addition of +// GetDistributionBundlesWithContext is the same as GetDistributionBundles with the addition of // the ability to pass a context and additional request options. // -// See GetDomain for details on how to use this API operation. +// See GetDistributionBundles for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetDomainWithContext(ctx aws.Context, input *GetDomainInput, opts ...request.Option) (*GetDomainOutput, error) { - req, out := c.GetDomainRequest(input) +func (c *Lightsail) GetDistributionBundlesWithContext(ctx aws.Context, input *GetDistributionBundlesInput, opts ...request.Option) (*GetDistributionBundlesOutput, error) { + req, out := c.GetDistributionBundlesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetDomains = "GetDomains" +const opGetDistributionLatestCacheReset = "GetDistributionLatestCacheReset" -// GetDomainsRequest generates a "aws/request.Request" representing the -// client's request for the GetDomains operation. The "output" return +// GetDistributionLatestCacheResetRequest generates a "aws/request.Request" representing the +// client's request for the GetDistributionLatestCacheReset operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetDomains for more information on using the GetDomains +// See GetDistributionLatestCacheReset for more information on using the GetDistributionLatestCacheReset // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetDomainsRequest method. -// req, resp := client.GetDomainsRequest(params) +// // Example sending a request using the GetDistributionLatestCacheResetRequest method. +// req, resp := client.GetDistributionLatestCacheResetRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains -func (c *Lightsail) GetDomainsRequest(input *GetDomainsInput) (req *request.Request, output *GetDomainsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionLatestCacheReset +func (c *Lightsail) GetDistributionLatestCacheResetRequest(input *GetDistributionLatestCacheResetInput) (req *request.Request, output *GetDistributionLatestCacheResetOutput) { op := &request.Operation{ - Name: opGetDomains, + Name: opGetDistributionLatestCacheReset, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetDomainsInput{} + input = &GetDistributionLatestCacheResetInput{} } - output = &GetDomainsOutput{} + output = &GetDistributionLatestCacheResetOutput{} req = c.newRequest(op, input, output) return } -// GetDomains API operation for Amazon Lightsail. +// GetDistributionLatestCacheReset API operation for Amazon Lightsail. // -// Returns a list of all domains in the user's account. +// Returns the timestamp and status of the last cache reset of a specific Amazon +// Lightsail content delivery network (CDN) distribution. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetDomains for usage and error information. +// API operation GetDistributionLatestCacheReset for usage and error information. // // Returned Error Types: // * ServiceException @@ -6262,91 +6993,88 @@ func (c *Lightsail) GetDomainsRequest(input *GetDomainsInput) (req *request.Requ // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * AccountSetupInProgressException -// Lightsail throws this exception when an account is still in the setup in -// progress state. -// // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains -func (c *Lightsail) GetDomains(input *GetDomainsInput) (*GetDomainsOutput, error) { - req, out := c.GetDomainsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionLatestCacheReset +func (c *Lightsail) GetDistributionLatestCacheReset(input *GetDistributionLatestCacheResetInput) (*GetDistributionLatestCacheResetOutput, error) { + req, out := c.GetDistributionLatestCacheResetRequest(input) return out, req.Send() } -// GetDomainsWithContext is the same as GetDomains with the addition of +// GetDistributionLatestCacheResetWithContext is the same as GetDistributionLatestCacheReset with the addition of // the ability to pass a context and additional request options. // -// See GetDomains for details on how to use this API operation. +// See GetDistributionLatestCacheReset for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetDomainsWithContext(ctx aws.Context, input *GetDomainsInput, opts ...request.Option) (*GetDomainsOutput, error) { - req, out := c.GetDomainsRequest(input) +func (c *Lightsail) GetDistributionLatestCacheResetWithContext(ctx aws.Context, input *GetDistributionLatestCacheResetInput, opts ...request.Option) (*GetDistributionLatestCacheResetOutput, error) { + req, out := c.GetDistributionLatestCacheResetRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetExportSnapshotRecords = "GetExportSnapshotRecords" +const opGetDistributionMetricData = "GetDistributionMetricData" -// GetExportSnapshotRecordsRequest generates a "aws/request.Request" representing the -// client's request for the GetExportSnapshotRecords operation. The "output" return +// GetDistributionMetricDataRequest generates a "aws/request.Request" representing the +// client's request for the GetDistributionMetricData operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetExportSnapshotRecords for more information on using the GetExportSnapshotRecords +// See GetDistributionMetricData for more information on using the GetDistributionMetricData // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetExportSnapshotRecordsRequest method. -// req, resp := client.GetExportSnapshotRecordsRequest(params) +// // Example sending a request using the GetDistributionMetricDataRequest method. +// req, resp := client.GetDistributionMetricDataRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords -func (c *Lightsail) GetExportSnapshotRecordsRequest(input *GetExportSnapshotRecordsInput) (req *request.Request, output *GetExportSnapshotRecordsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionMetricData +func (c *Lightsail) GetDistributionMetricDataRequest(input *GetDistributionMetricDataInput) (req *request.Request, output *GetDistributionMetricDataOutput) { op := &request.Operation{ - Name: opGetExportSnapshotRecords, + Name: opGetDistributionMetricData, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetExportSnapshotRecordsInput{} + input = &GetDistributionMetricDataInput{} } - output = &GetExportSnapshotRecordsOutput{} + output = &GetDistributionMetricDataOutput{} req = c.newRequest(op, input, output) return } -// GetExportSnapshotRecords API operation for Amazon Lightsail. +// GetDistributionMetricData API operation for Amazon Lightsail. // -// Returns the export snapshot record created as a result of the export snapshot -// operation. +// Returns the data points of a specific metric for an Amazon Lightsail content +// delivery network (CDN) distribution. // -// An export snapshot record can be used to create a new Amazon EC2 instance -// and its related resources with the create cloud formation stack operation. +// Metrics report the utilization of your resources, and the error counts generated +// by them. Monitor and collect metric data regularly to maintain the reliability, +// availability, and performance of your 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 Lightsail's -// API operation GetExportSnapshotRecords for usage and error information. +// API operation GetDistributionMetricData for usage and error information. // // Returned Error Types: // * ServiceException @@ -6370,88 +7098,84 @@ func (c *Lightsail) GetExportSnapshotRecordsRequest(input *GetExportSnapshotReco // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * AccountSetupInProgressException -// Lightsail throws this exception when an account is still in the setup in -// progress state. -// // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords -func (c *Lightsail) GetExportSnapshotRecords(input *GetExportSnapshotRecordsInput) (*GetExportSnapshotRecordsOutput, error) { - req, out := c.GetExportSnapshotRecordsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionMetricData +func (c *Lightsail) GetDistributionMetricData(input *GetDistributionMetricDataInput) (*GetDistributionMetricDataOutput, error) { + req, out := c.GetDistributionMetricDataRequest(input) return out, req.Send() } -// GetExportSnapshotRecordsWithContext is the same as GetExportSnapshotRecords with the addition of +// GetDistributionMetricDataWithContext is the same as GetDistributionMetricData with the addition of // the ability to pass a context and additional request options. // -// See GetExportSnapshotRecords for details on how to use this API operation. +// See GetDistributionMetricData for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetExportSnapshotRecordsWithContext(ctx aws.Context, input *GetExportSnapshotRecordsInput, opts ...request.Option) (*GetExportSnapshotRecordsOutput, error) { - req, out := c.GetExportSnapshotRecordsRequest(input) +func (c *Lightsail) GetDistributionMetricDataWithContext(ctx aws.Context, input *GetDistributionMetricDataInput, opts ...request.Option) (*GetDistributionMetricDataOutput, error) { + req, out := c.GetDistributionMetricDataRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstance = "GetInstance" +const opGetDistributions = "GetDistributions" -// GetInstanceRequest generates a "aws/request.Request" representing the -// client's request for the GetInstance operation. The "output" return +// GetDistributionsRequest generates a "aws/request.Request" representing the +// client's request for the GetDistributions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstance for more information on using the GetInstance +// See GetDistributions for more information on using the GetDistributions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstanceRequest method. -// req, resp := client.GetInstanceRequest(params) +// // Example sending a request using the GetDistributionsRequest method. +// req, resp := client.GetDistributionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance -func (c *Lightsail) GetInstanceRequest(input *GetInstanceInput) (req *request.Request, output *GetInstanceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributions +func (c *Lightsail) GetDistributionsRequest(input *GetDistributionsInput) (req *request.Request, output *GetDistributionsOutput) { op := &request.Operation{ - Name: opGetInstance, + Name: opGetDistributions, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstanceInput{} + input = &GetDistributionsInput{} } - output = &GetInstanceOutput{} + output = &GetDistributionsOutput{} req = c.newRequest(op, input, output) return } -// GetInstance API operation for Amazon Lightsail. +// GetDistributions API operation for Amazon Lightsail. // -// Returns information about a specific Amazon Lightsail instance, which is -// a virtual private server. +// Returns information about one or more of your Amazon Lightsail content delivery +// network (CDN) distributions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetInstance for usage and error information. +// API operation GetDistributions for usage and error information. // // Returned Error Types: // * ServiceException @@ -6475,92 +7199,83 @@ func (c *Lightsail) GetInstanceRequest(input *GetInstanceInput) (req *request.Re // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * AccountSetupInProgressException -// Lightsail throws this exception when an account is still in the setup in -// progress state. -// // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance -func (c *Lightsail) GetInstance(input *GetInstanceInput) (*GetInstanceOutput, error) { - req, out := c.GetInstanceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributions +func (c *Lightsail) GetDistributions(input *GetDistributionsInput) (*GetDistributionsOutput, error) { + req, out := c.GetDistributionsRequest(input) return out, req.Send() } -// GetInstanceWithContext is the same as GetInstance with the addition of +// GetDistributionsWithContext is the same as GetDistributions with the addition of // the ability to pass a context and additional request options. // -// See GetInstance for details on how to use this API operation. +// See GetDistributions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstanceWithContext(ctx aws.Context, input *GetInstanceInput, opts ...request.Option) (*GetInstanceOutput, error) { - req, out := c.GetInstanceRequest(input) +func (c *Lightsail) GetDistributionsWithContext(ctx aws.Context, input *GetDistributionsInput, opts ...request.Option) (*GetDistributionsOutput, error) { + req, out := c.GetDistributionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstanceAccessDetails = "GetInstanceAccessDetails" +const opGetDomain = "GetDomain" -// GetInstanceAccessDetailsRequest generates a "aws/request.Request" representing the -// client's request for the GetInstanceAccessDetails operation. The "output" return +// GetDomainRequest generates a "aws/request.Request" representing the +// client's request for the GetDomain operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstanceAccessDetails for more information on using the GetInstanceAccessDetails +// See GetDomain for more information on using the GetDomain // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstanceAccessDetailsRequest method. -// req, resp := client.GetInstanceAccessDetailsRequest(params) +// // Example sending a request using the GetDomainRequest method. +// req, resp := client.GetDomainRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails -func (c *Lightsail) GetInstanceAccessDetailsRequest(input *GetInstanceAccessDetailsInput) (req *request.Request, output *GetInstanceAccessDetailsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain +func (c *Lightsail) GetDomainRequest(input *GetDomainInput) (req *request.Request, output *GetDomainOutput) { op := &request.Operation{ - Name: opGetInstanceAccessDetails, + Name: opGetDomain, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstanceAccessDetailsInput{} + input = &GetDomainInput{} } - output = &GetInstanceAccessDetailsOutput{} + output = &GetDomainOutput{} req = c.newRequest(op, input, output) return } -// GetInstanceAccessDetails API operation for Amazon Lightsail. -// -// Returns temporary SSH keys you can use to connect to a specific virtual private -// server, or instance. +// GetDomain API operation for Amazon Lightsail. // -// The get instance access details operation supports tag-based access control -// via resource tags applied to the resource identified by instance name. For -// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// Returns information about a specific domain recordset. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetInstanceAccessDetails for usage and error information. +// API operation GetDomain for usage and error information. // // Returned Error Types: // * ServiceException @@ -6591,81 +7306,80 @@ func (c *Lightsail) GetInstanceAccessDetailsRequest(input *GetInstanceAccessDeta // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails -func (c *Lightsail) GetInstanceAccessDetails(input *GetInstanceAccessDetailsInput) (*GetInstanceAccessDetailsOutput, error) { - req, out := c.GetInstanceAccessDetailsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomain +func (c *Lightsail) GetDomain(input *GetDomainInput) (*GetDomainOutput, error) { + req, out := c.GetDomainRequest(input) return out, req.Send() } -// GetInstanceAccessDetailsWithContext is the same as GetInstanceAccessDetails with the addition of +// GetDomainWithContext is the same as GetDomain with the addition of // the ability to pass a context and additional request options. // -// See GetInstanceAccessDetails for details on how to use this API operation. +// See GetDomain for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstanceAccessDetailsWithContext(ctx aws.Context, input *GetInstanceAccessDetailsInput, opts ...request.Option) (*GetInstanceAccessDetailsOutput, error) { - req, out := c.GetInstanceAccessDetailsRequest(input) +func (c *Lightsail) GetDomainWithContext(ctx aws.Context, input *GetDomainInput, opts ...request.Option) (*GetDomainOutput, error) { + req, out := c.GetDomainRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstanceMetricData = "GetInstanceMetricData" +const opGetDomains = "GetDomains" -// GetInstanceMetricDataRequest generates a "aws/request.Request" representing the -// client's request for the GetInstanceMetricData operation. The "output" return +// GetDomainsRequest generates a "aws/request.Request" representing the +// client's request for the GetDomains operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstanceMetricData for more information on using the GetInstanceMetricData +// See GetDomains for more information on using the GetDomains // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstanceMetricDataRequest method. -// req, resp := client.GetInstanceMetricDataRequest(params) +// // Example sending a request using the GetDomainsRequest method. +// req, resp := client.GetDomainsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData -func (c *Lightsail) GetInstanceMetricDataRequest(input *GetInstanceMetricDataInput) (req *request.Request, output *GetInstanceMetricDataOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains +func (c *Lightsail) GetDomainsRequest(input *GetDomainsInput) (req *request.Request, output *GetDomainsOutput) { op := &request.Operation{ - Name: opGetInstanceMetricData, + Name: opGetDomains, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstanceMetricDataInput{} + input = &GetDomainsInput{} } - output = &GetInstanceMetricDataOutput{} + output = &GetDomainsOutput{} req = c.newRequest(op, input, output) return } -// GetInstanceMetricData API operation for Amazon Lightsail. +// GetDomains API operation for Amazon Lightsail. // -// Returns the data points for the specified Amazon Lightsail instance metric, -// given an instance name. +// Returns a list of all domains in the user's 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 Lightsail's -// API operation GetInstanceMetricData for usage and error information. +// API operation GetDomains for usage and error information. // // Returned Error Types: // * ServiceException @@ -6696,80 +7410,84 @@ func (c *Lightsail) GetInstanceMetricDataRequest(input *GetInstanceMetricDataInp // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData -func (c *Lightsail) GetInstanceMetricData(input *GetInstanceMetricDataInput) (*GetInstanceMetricDataOutput, error) { - req, out := c.GetInstanceMetricDataRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDomains +func (c *Lightsail) GetDomains(input *GetDomainsInput) (*GetDomainsOutput, error) { + req, out := c.GetDomainsRequest(input) return out, req.Send() } -// GetInstanceMetricDataWithContext is the same as GetInstanceMetricData with the addition of +// GetDomainsWithContext is the same as GetDomains with the addition of // the ability to pass a context and additional request options. // -// See GetInstanceMetricData for details on how to use this API operation. +// See GetDomains for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstanceMetricDataWithContext(ctx aws.Context, input *GetInstanceMetricDataInput, opts ...request.Option) (*GetInstanceMetricDataOutput, error) { - req, out := c.GetInstanceMetricDataRequest(input) +func (c *Lightsail) GetDomainsWithContext(ctx aws.Context, input *GetDomainsInput, opts ...request.Option) (*GetDomainsOutput, error) { + req, out := c.GetDomainsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstancePortStates = "GetInstancePortStates" +const opGetExportSnapshotRecords = "GetExportSnapshotRecords" -// GetInstancePortStatesRequest generates a "aws/request.Request" representing the -// client's request for the GetInstancePortStates operation. The "output" return +// GetExportSnapshotRecordsRequest generates a "aws/request.Request" representing the +// client's request for the GetExportSnapshotRecords operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstancePortStates for more information on using the GetInstancePortStates +// See GetExportSnapshotRecords for more information on using the GetExportSnapshotRecords // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstancePortStatesRequest method. -// req, resp := client.GetInstancePortStatesRequest(params) +// // Example sending a request using the GetExportSnapshotRecordsRequest method. +// req, resp := client.GetExportSnapshotRecordsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates -func (c *Lightsail) GetInstancePortStatesRequest(input *GetInstancePortStatesInput) (req *request.Request, output *GetInstancePortStatesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords +func (c *Lightsail) GetExportSnapshotRecordsRequest(input *GetExportSnapshotRecordsInput) (req *request.Request, output *GetExportSnapshotRecordsOutput) { op := &request.Operation{ - Name: opGetInstancePortStates, + Name: opGetExportSnapshotRecords, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstancePortStatesInput{} + input = &GetExportSnapshotRecordsInput{} } - output = &GetInstancePortStatesOutput{} + output = &GetExportSnapshotRecordsOutput{} req = c.newRequest(op, input, output) return } -// GetInstancePortStates API operation for Amazon Lightsail. +// GetExportSnapshotRecords API operation for Amazon Lightsail. +// +// Returns the export snapshot record created as a result of the export snapshot +// operation. // -// Returns the port states for a specific virtual private server, or instance. +// An export snapshot record can be used to create a new Amazon EC2 instance +// and its related resources with the create cloud formation stack 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 Lightsail's -// API operation GetInstancePortStates for usage and error information. +// API operation GetExportSnapshotRecords for usage and error information. // // Returned Error Types: // * ServiceException @@ -6800,80 +7518,81 @@ func (c *Lightsail) GetInstancePortStatesRequest(input *GetInstancePortStatesInp // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates -func (c *Lightsail) GetInstancePortStates(input *GetInstancePortStatesInput) (*GetInstancePortStatesOutput, error) { - req, out := c.GetInstancePortStatesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetExportSnapshotRecords +func (c *Lightsail) GetExportSnapshotRecords(input *GetExportSnapshotRecordsInput) (*GetExportSnapshotRecordsOutput, error) { + req, out := c.GetExportSnapshotRecordsRequest(input) return out, req.Send() } -// GetInstancePortStatesWithContext is the same as GetInstancePortStates with the addition of +// GetExportSnapshotRecordsWithContext is the same as GetExportSnapshotRecords with the addition of // the ability to pass a context and additional request options. // -// See GetInstancePortStates for details on how to use this API operation. +// See GetExportSnapshotRecords for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstancePortStatesWithContext(ctx aws.Context, input *GetInstancePortStatesInput, opts ...request.Option) (*GetInstancePortStatesOutput, error) { - req, out := c.GetInstancePortStatesRequest(input) +func (c *Lightsail) GetExportSnapshotRecordsWithContext(ctx aws.Context, input *GetExportSnapshotRecordsInput, opts ...request.Option) (*GetExportSnapshotRecordsOutput, error) { + req, out := c.GetExportSnapshotRecordsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstanceSnapshot = "GetInstanceSnapshot" +const opGetInstance = "GetInstance" -// GetInstanceSnapshotRequest generates a "aws/request.Request" representing the -// client's request for the GetInstanceSnapshot operation. The "output" return +// GetInstanceRequest generates a "aws/request.Request" representing the +// client's request for the GetInstance operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstanceSnapshot for more information on using the GetInstanceSnapshot +// See GetInstance for more information on using the GetInstance // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstanceSnapshotRequest method. -// req, resp := client.GetInstanceSnapshotRequest(params) +// // Example sending a request using the GetInstanceRequest method. +// req, resp := client.GetInstanceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot -func (c *Lightsail) GetInstanceSnapshotRequest(input *GetInstanceSnapshotInput) (req *request.Request, output *GetInstanceSnapshotOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance +func (c *Lightsail) GetInstanceRequest(input *GetInstanceInput) (req *request.Request, output *GetInstanceOutput) { op := &request.Operation{ - Name: opGetInstanceSnapshot, + Name: opGetInstance, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstanceSnapshotInput{} + input = &GetInstanceInput{} } - output = &GetInstanceSnapshotOutput{} + output = &GetInstanceOutput{} req = c.newRequest(op, input, output) return } -// GetInstanceSnapshot API operation for Amazon Lightsail. +// GetInstance API operation for Amazon Lightsail. // -// Returns information about a specific instance snapshot. +// Returns information about a specific Amazon Lightsail instance, which is +// a virtual private server. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetInstanceSnapshot for usage and error information. +// API operation GetInstance for usage and error information. // // Returned Error Types: // * ServiceException @@ -6904,80 +7623,85 @@ func (c *Lightsail) GetInstanceSnapshotRequest(input *GetInstanceSnapshotInput) // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot -func (c *Lightsail) GetInstanceSnapshot(input *GetInstanceSnapshotInput) (*GetInstanceSnapshotOutput, error) { - req, out := c.GetInstanceSnapshotRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstance +func (c *Lightsail) GetInstance(input *GetInstanceInput) (*GetInstanceOutput, error) { + req, out := c.GetInstanceRequest(input) return out, req.Send() } -// GetInstanceSnapshotWithContext is the same as GetInstanceSnapshot with the addition of +// GetInstanceWithContext is the same as GetInstance with the addition of // the ability to pass a context and additional request options. // -// See GetInstanceSnapshot for details on how to use this API operation. +// See GetInstance for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstanceSnapshotWithContext(ctx aws.Context, input *GetInstanceSnapshotInput, opts ...request.Option) (*GetInstanceSnapshotOutput, error) { - req, out := c.GetInstanceSnapshotRequest(input) +func (c *Lightsail) GetInstanceWithContext(ctx aws.Context, input *GetInstanceInput, opts ...request.Option) (*GetInstanceOutput, error) { + req, out := c.GetInstanceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstanceSnapshots = "GetInstanceSnapshots" +const opGetInstanceAccessDetails = "GetInstanceAccessDetails" -// GetInstanceSnapshotsRequest generates a "aws/request.Request" representing the -// client's request for the GetInstanceSnapshots operation. The "output" return +// GetInstanceAccessDetailsRequest generates a "aws/request.Request" representing the +// client's request for the GetInstanceAccessDetails operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstanceSnapshots for more information on using the GetInstanceSnapshots +// See GetInstanceAccessDetails for more information on using the GetInstanceAccessDetails // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstanceSnapshotsRequest method. -// req, resp := client.GetInstanceSnapshotsRequest(params) +// // Example sending a request using the GetInstanceAccessDetailsRequest method. +// req, resp := client.GetInstanceAccessDetailsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots -func (c *Lightsail) GetInstanceSnapshotsRequest(input *GetInstanceSnapshotsInput) (req *request.Request, output *GetInstanceSnapshotsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails +func (c *Lightsail) GetInstanceAccessDetailsRequest(input *GetInstanceAccessDetailsInput) (req *request.Request, output *GetInstanceAccessDetailsOutput) { op := &request.Operation{ - Name: opGetInstanceSnapshots, + Name: opGetInstanceAccessDetails, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstanceSnapshotsInput{} + input = &GetInstanceAccessDetailsInput{} } - output = &GetInstanceSnapshotsOutput{} + output = &GetInstanceAccessDetailsOutput{} req = c.newRequest(op, input, output) return } -// GetInstanceSnapshots API operation for Amazon Lightsail. +// GetInstanceAccessDetails API operation for Amazon Lightsail. // -// Returns all instance snapshots for the user's account. +// Returns temporary SSH keys you can use to connect to a specific virtual private +// server, or instance. +// +// The get instance access details operation supports tag-based access control +// via resource tags applied to the resource identified by instance name. For +// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetInstanceSnapshots for usage and error information. +// API operation GetInstanceAccessDetails for usage and error information. // // Returned Error Types: // * ServiceException @@ -7008,80 +7732,85 @@ func (c *Lightsail) GetInstanceSnapshotsRequest(input *GetInstanceSnapshotsInput // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots -func (c *Lightsail) GetInstanceSnapshots(input *GetInstanceSnapshotsInput) (*GetInstanceSnapshotsOutput, error) { - req, out := c.GetInstanceSnapshotsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceAccessDetails +func (c *Lightsail) GetInstanceAccessDetails(input *GetInstanceAccessDetailsInput) (*GetInstanceAccessDetailsOutput, error) { + req, out := c.GetInstanceAccessDetailsRequest(input) return out, req.Send() } -// GetInstanceSnapshotsWithContext is the same as GetInstanceSnapshots with the addition of +// GetInstanceAccessDetailsWithContext is the same as GetInstanceAccessDetails with the addition of // the ability to pass a context and additional request options. // -// See GetInstanceSnapshots for details on how to use this API operation. +// See GetInstanceAccessDetails for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstanceSnapshotsWithContext(ctx aws.Context, input *GetInstanceSnapshotsInput, opts ...request.Option) (*GetInstanceSnapshotsOutput, error) { - req, out := c.GetInstanceSnapshotsRequest(input) +func (c *Lightsail) GetInstanceAccessDetailsWithContext(ctx aws.Context, input *GetInstanceAccessDetailsInput, opts ...request.Option) (*GetInstanceAccessDetailsOutput, error) { + req, out := c.GetInstanceAccessDetailsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstanceState = "GetInstanceState" +const opGetInstanceMetricData = "GetInstanceMetricData" -// GetInstanceStateRequest generates a "aws/request.Request" representing the -// client's request for the GetInstanceState operation. The "output" return +// GetInstanceMetricDataRequest generates a "aws/request.Request" representing the +// client's request for the GetInstanceMetricData operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstanceState for more information on using the GetInstanceState +// See GetInstanceMetricData for more information on using the GetInstanceMetricData // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstanceStateRequest method. -// req, resp := client.GetInstanceStateRequest(params) +// // Example sending a request using the GetInstanceMetricDataRequest method. +// req, resp := client.GetInstanceMetricDataRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState -func (c *Lightsail) GetInstanceStateRequest(input *GetInstanceStateInput) (req *request.Request, output *GetInstanceStateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData +func (c *Lightsail) GetInstanceMetricDataRequest(input *GetInstanceMetricDataInput) (req *request.Request, output *GetInstanceMetricDataOutput) { op := &request.Operation{ - Name: opGetInstanceState, + Name: opGetInstanceMetricData, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstanceStateInput{} + input = &GetInstanceMetricDataInput{} } - output = &GetInstanceStateOutput{} + output = &GetInstanceMetricDataOutput{} req = c.newRequest(op, input, output) return } -// GetInstanceState API operation for Amazon Lightsail. +// GetInstanceMetricData API operation for Amazon Lightsail. // -// Returns the state of a specific instance. Works on one instance at a time. +// Returns the data points for the specified Amazon Lightsail instance metric, +// given an instance name. +// +// Metrics report the utilization of your resources, and the error counts generated +// by them. Monitor and collect metric data regularly to maintain the reliability, +// availability, and performance of your 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 Lightsail's -// API operation GetInstanceState for usage and error information. +// API operation GetInstanceMetricData for usage and error information. // // Returned Error Types: // * ServiceException @@ -7112,81 +7841,82 @@ func (c *Lightsail) GetInstanceStateRequest(input *GetInstanceStateInput) (req * // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState -func (c *Lightsail) GetInstanceState(input *GetInstanceStateInput) (*GetInstanceStateOutput, error) { - req, out := c.GetInstanceStateRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceMetricData +func (c *Lightsail) GetInstanceMetricData(input *GetInstanceMetricDataInput) (*GetInstanceMetricDataOutput, error) { + req, out := c.GetInstanceMetricDataRequest(input) return out, req.Send() } -// GetInstanceStateWithContext is the same as GetInstanceState with the addition of +// GetInstanceMetricDataWithContext is the same as GetInstanceMetricData with the addition of // the ability to pass a context and additional request options. // -// See GetInstanceState for details on how to use this API operation. +// See GetInstanceMetricData for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstanceStateWithContext(ctx aws.Context, input *GetInstanceStateInput, opts ...request.Option) (*GetInstanceStateOutput, error) { - req, out := c.GetInstanceStateRequest(input) +func (c *Lightsail) GetInstanceMetricDataWithContext(ctx aws.Context, input *GetInstanceMetricDataInput, opts ...request.Option) (*GetInstanceMetricDataOutput, error) { + req, out := c.GetInstanceMetricDataRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetInstances = "GetInstances" +const opGetInstancePortStates = "GetInstancePortStates" -// GetInstancesRequest generates a "aws/request.Request" representing the -// client's request for the GetInstances operation. The "output" return +// GetInstancePortStatesRequest generates a "aws/request.Request" representing the +// client's request for the GetInstancePortStates operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetInstances for more information on using the GetInstances +// See GetInstancePortStates for more information on using the GetInstancePortStates // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetInstancesRequest method. -// req, resp := client.GetInstancesRequest(params) +// // Example sending a request using the GetInstancePortStatesRequest method. +// req, resp := client.GetInstancePortStatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances -func (c *Lightsail) GetInstancesRequest(input *GetInstancesInput) (req *request.Request, output *GetInstancesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates +func (c *Lightsail) GetInstancePortStatesRequest(input *GetInstancePortStatesInput) (req *request.Request, output *GetInstancePortStatesOutput) { op := &request.Operation{ - Name: opGetInstances, + Name: opGetInstancePortStates, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetInstancesInput{} + input = &GetInstancePortStatesInput{} } - output = &GetInstancesOutput{} + output = &GetInstancePortStatesOutput{} req = c.newRequest(op, input, output) return } -// GetInstances API operation for Amazon Lightsail. +// GetInstancePortStates API operation for Amazon Lightsail. // -// Returns information about all Amazon Lightsail virtual private servers, or -// instances. +// Returns the firewall port states for a specific Amazon Lightsail instance, +// the IP addresses allowed to connect to the instance through the ports, and +// the protocol. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetInstances for usage and error information. +// API operation GetInstancePortStates for usage and error information. // // Returned Error Types: // * ServiceException @@ -7217,80 +7947,80 @@ func (c *Lightsail) GetInstancesRequest(input *GetInstancesInput) (req *request. // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances -func (c *Lightsail) GetInstances(input *GetInstancesInput) (*GetInstancesOutput, error) { - req, out := c.GetInstancesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstancePortStates +func (c *Lightsail) GetInstancePortStates(input *GetInstancePortStatesInput) (*GetInstancePortStatesOutput, error) { + req, out := c.GetInstancePortStatesRequest(input) return out, req.Send() } -// GetInstancesWithContext is the same as GetInstances with the addition of +// GetInstancePortStatesWithContext is the same as GetInstancePortStates with the addition of // the ability to pass a context and additional request options. // -// See GetInstances for details on how to use this API operation. +// See GetInstancePortStates for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetInstancesWithContext(ctx aws.Context, input *GetInstancesInput, opts ...request.Option) (*GetInstancesOutput, error) { - req, out := c.GetInstancesRequest(input) +func (c *Lightsail) GetInstancePortStatesWithContext(ctx aws.Context, input *GetInstancePortStatesInput, opts ...request.Option) (*GetInstancePortStatesOutput, error) { + req, out := c.GetInstancePortStatesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetKeyPair = "GetKeyPair" +const opGetInstanceSnapshot = "GetInstanceSnapshot" -// GetKeyPairRequest generates a "aws/request.Request" representing the -// client's request for the GetKeyPair operation. The "output" return +// GetInstanceSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the GetInstanceSnapshot operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetKeyPair for more information on using the GetKeyPair +// See GetInstanceSnapshot for more information on using the GetInstanceSnapshot // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetKeyPairRequest method. -// req, resp := client.GetKeyPairRequest(params) +// // Example sending a request using the GetInstanceSnapshotRequest method. +// req, resp := client.GetInstanceSnapshotRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair -func (c *Lightsail) GetKeyPairRequest(input *GetKeyPairInput) (req *request.Request, output *GetKeyPairOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot +func (c *Lightsail) GetInstanceSnapshotRequest(input *GetInstanceSnapshotInput) (req *request.Request, output *GetInstanceSnapshotOutput) { op := &request.Operation{ - Name: opGetKeyPair, + Name: opGetInstanceSnapshot, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetKeyPairInput{} + input = &GetInstanceSnapshotInput{} } - output = &GetKeyPairOutput{} + output = &GetInstanceSnapshotOutput{} req = c.newRequest(op, input, output) return } -// GetKeyPair API operation for Amazon Lightsail. +// GetInstanceSnapshot API operation for Amazon Lightsail. // -// Returns information about a specific key pair. +// Returns information about a specific instance 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 Lightsail's -// API operation GetKeyPair for usage and error information. +// API operation GetInstanceSnapshot for usage and error information. // // Returned Error Types: // * ServiceException @@ -7321,80 +8051,80 @@ func (c *Lightsail) GetKeyPairRequest(input *GetKeyPairInput) (req *request.Requ // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair -func (c *Lightsail) GetKeyPair(input *GetKeyPairInput) (*GetKeyPairOutput, error) { - req, out := c.GetKeyPairRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshot +func (c *Lightsail) GetInstanceSnapshot(input *GetInstanceSnapshotInput) (*GetInstanceSnapshotOutput, error) { + req, out := c.GetInstanceSnapshotRequest(input) return out, req.Send() } -// GetKeyPairWithContext is the same as GetKeyPair with the addition of +// GetInstanceSnapshotWithContext is the same as GetInstanceSnapshot with the addition of // the ability to pass a context and additional request options. // -// See GetKeyPair for details on how to use this API operation. +// See GetInstanceSnapshot for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetKeyPairWithContext(ctx aws.Context, input *GetKeyPairInput, opts ...request.Option) (*GetKeyPairOutput, error) { - req, out := c.GetKeyPairRequest(input) +func (c *Lightsail) GetInstanceSnapshotWithContext(ctx aws.Context, input *GetInstanceSnapshotInput, opts ...request.Option) (*GetInstanceSnapshotOutput, error) { + req, out := c.GetInstanceSnapshotRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetKeyPairs = "GetKeyPairs" +const opGetInstanceSnapshots = "GetInstanceSnapshots" -// GetKeyPairsRequest generates a "aws/request.Request" representing the -// client's request for the GetKeyPairs operation. The "output" return +// GetInstanceSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the GetInstanceSnapshots operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetKeyPairs for more information on using the GetKeyPairs +// See GetInstanceSnapshots for more information on using the GetInstanceSnapshots // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetKeyPairsRequest method. -// req, resp := client.GetKeyPairsRequest(params) +// // Example sending a request using the GetInstanceSnapshotsRequest method. +// req, resp := client.GetInstanceSnapshotsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs -func (c *Lightsail) GetKeyPairsRequest(input *GetKeyPairsInput) (req *request.Request, output *GetKeyPairsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots +func (c *Lightsail) GetInstanceSnapshotsRequest(input *GetInstanceSnapshotsInput) (req *request.Request, output *GetInstanceSnapshotsOutput) { op := &request.Operation{ - Name: opGetKeyPairs, + Name: opGetInstanceSnapshots, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetKeyPairsInput{} + input = &GetInstanceSnapshotsInput{} } - output = &GetKeyPairsOutput{} + output = &GetInstanceSnapshotsOutput{} req = c.newRequest(op, input, output) return } -// GetKeyPairs API operation for Amazon Lightsail. +// GetInstanceSnapshots API operation for Amazon Lightsail. // -// Returns information about all key pairs in the user's account. +// Returns all instance snapshots for the user's 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 Lightsail's -// API operation GetKeyPairs for usage and error information. +// API operation GetInstanceSnapshots for usage and error information. // // Returned Error Types: // * ServiceException @@ -7425,80 +8155,80 @@ func (c *Lightsail) GetKeyPairsRequest(input *GetKeyPairsInput) (req *request.Re // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs -func (c *Lightsail) GetKeyPairs(input *GetKeyPairsInput) (*GetKeyPairsOutput, error) { - req, out := c.GetKeyPairsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceSnapshots +func (c *Lightsail) GetInstanceSnapshots(input *GetInstanceSnapshotsInput) (*GetInstanceSnapshotsOutput, error) { + req, out := c.GetInstanceSnapshotsRequest(input) return out, req.Send() } -// GetKeyPairsWithContext is the same as GetKeyPairs with the addition of +// GetInstanceSnapshotsWithContext is the same as GetInstanceSnapshots with the addition of // the ability to pass a context and additional request options. // -// See GetKeyPairs for details on how to use this API operation. +// See GetInstanceSnapshots for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetKeyPairsWithContext(ctx aws.Context, input *GetKeyPairsInput, opts ...request.Option) (*GetKeyPairsOutput, error) { - req, out := c.GetKeyPairsRequest(input) +func (c *Lightsail) GetInstanceSnapshotsWithContext(ctx aws.Context, input *GetInstanceSnapshotsInput, opts ...request.Option) (*GetInstanceSnapshotsOutput, error) { + req, out := c.GetInstanceSnapshotsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetLoadBalancer = "GetLoadBalancer" +const opGetInstanceState = "GetInstanceState" -// GetLoadBalancerRequest generates a "aws/request.Request" representing the -// client's request for the GetLoadBalancer operation. The "output" return +// GetInstanceStateRequest generates a "aws/request.Request" representing the +// client's request for the GetInstanceState operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetLoadBalancer for more information on using the GetLoadBalancer +// See GetInstanceState for more information on using the GetInstanceState // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetLoadBalancerRequest method. -// req, resp := client.GetLoadBalancerRequest(params) +// // Example sending a request using the GetInstanceStateRequest method. +// req, resp := client.GetInstanceStateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer -func (c *Lightsail) GetLoadBalancerRequest(input *GetLoadBalancerInput) (req *request.Request, output *GetLoadBalancerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState +func (c *Lightsail) GetInstanceStateRequest(input *GetInstanceStateInput) (req *request.Request, output *GetInstanceStateOutput) { op := &request.Operation{ - Name: opGetLoadBalancer, + Name: opGetInstanceState, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetLoadBalancerInput{} + input = &GetInstanceStateInput{} } - output = &GetLoadBalancerOutput{} + output = &GetInstanceStateOutput{} req = c.newRequest(op, input, output) return } -// GetLoadBalancer API operation for Amazon Lightsail. +// GetInstanceState API operation for Amazon Lightsail. // -// Returns information about the specified Lightsail load balancer. +// Returns the state of a specific instance. Works on one instance 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 Lightsail's -// API operation GetLoadBalancer for usage and error information. +// API operation GetInstanceState for usage and error information. // // Returned Error Types: // * ServiceException @@ -7529,80 +8259,81 @@ func (c *Lightsail) GetLoadBalancerRequest(input *GetLoadBalancerInput) (req *re // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer -func (c *Lightsail) GetLoadBalancer(input *GetLoadBalancerInput) (*GetLoadBalancerOutput, error) { - req, out := c.GetLoadBalancerRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstanceState +func (c *Lightsail) GetInstanceState(input *GetInstanceStateInput) (*GetInstanceStateOutput, error) { + req, out := c.GetInstanceStateRequest(input) return out, req.Send() } -// GetLoadBalancerWithContext is the same as GetLoadBalancer with the addition of +// GetInstanceStateWithContext is the same as GetInstanceState with the addition of // the ability to pass a context and additional request options. // -// See GetLoadBalancer for details on how to use this API operation. +// See GetInstanceState for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetLoadBalancerWithContext(ctx aws.Context, input *GetLoadBalancerInput, opts ...request.Option) (*GetLoadBalancerOutput, error) { - req, out := c.GetLoadBalancerRequest(input) +func (c *Lightsail) GetInstanceStateWithContext(ctx aws.Context, input *GetInstanceStateInput, opts ...request.Option) (*GetInstanceStateOutput, error) { + req, out := c.GetInstanceStateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetLoadBalancerMetricData = "GetLoadBalancerMetricData" +const opGetInstances = "GetInstances" -// GetLoadBalancerMetricDataRequest generates a "aws/request.Request" representing the -// client's request for the GetLoadBalancerMetricData operation. The "output" return +// GetInstancesRequest generates a "aws/request.Request" representing the +// client's request for the GetInstances operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetLoadBalancerMetricData for more information on using the GetLoadBalancerMetricData +// See GetInstances for more information on using the GetInstances // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetLoadBalancerMetricDataRequest method. -// req, resp := client.GetLoadBalancerMetricDataRequest(params) +// // Example sending a request using the GetInstancesRequest method. +// req, resp := client.GetInstancesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData -func (c *Lightsail) GetLoadBalancerMetricDataRequest(input *GetLoadBalancerMetricDataInput) (req *request.Request, output *GetLoadBalancerMetricDataOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances +func (c *Lightsail) GetInstancesRequest(input *GetInstancesInput) (req *request.Request, output *GetInstancesOutput) { op := &request.Operation{ - Name: opGetLoadBalancerMetricData, + Name: opGetInstances, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetLoadBalancerMetricDataInput{} + input = &GetInstancesInput{} } - output = &GetLoadBalancerMetricDataOutput{} + output = &GetInstancesOutput{} req = c.newRequest(op, input, output) return } -// GetLoadBalancerMetricData API operation for Amazon Lightsail. +// GetInstances API operation for Amazon Lightsail. // -// Returns information about health metrics for your Lightsail load balancer. +// Returns information about all Amazon Lightsail virtual private servers, or +// 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 Lightsail's -// API operation GetLoadBalancerMetricData for usage and error information. +// API operation GetInstances for usage and error information. // // Returned Error Types: // * ServiceException @@ -7633,86 +8364,80 @@ func (c *Lightsail) GetLoadBalancerMetricDataRequest(input *GetLoadBalancerMetri // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData -func (c *Lightsail) GetLoadBalancerMetricData(input *GetLoadBalancerMetricDataInput) (*GetLoadBalancerMetricDataOutput, error) { - req, out := c.GetLoadBalancerMetricDataRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetInstances +func (c *Lightsail) GetInstances(input *GetInstancesInput) (*GetInstancesOutput, error) { + req, out := c.GetInstancesRequest(input) return out, req.Send() } -// GetLoadBalancerMetricDataWithContext is the same as GetLoadBalancerMetricData with the addition of +// GetInstancesWithContext is the same as GetInstances with the addition of // the ability to pass a context and additional request options. // -// See GetLoadBalancerMetricData for details on how to use this API operation. +// See GetInstances for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetLoadBalancerMetricDataWithContext(ctx aws.Context, input *GetLoadBalancerMetricDataInput, opts ...request.Option) (*GetLoadBalancerMetricDataOutput, error) { - req, out := c.GetLoadBalancerMetricDataRequest(input) +func (c *Lightsail) GetInstancesWithContext(ctx aws.Context, input *GetInstancesInput, opts ...request.Option) (*GetInstancesOutput, error) { + req, out := c.GetInstancesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetLoadBalancerTlsCertificates = "GetLoadBalancerTlsCertificates" +const opGetKeyPair = "GetKeyPair" -// GetLoadBalancerTlsCertificatesRequest generates a "aws/request.Request" representing the -// client's request for the GetLoadBalancerTlsCertificates operation. The "output" return +// GetKeyPairRequest generates a "aws/request.Request" representing the +// client's request for the GetKeyPair operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetLoadBalancerTlsCertificates for more information on using the GetLoadBalancerTlsCertificates +// See GetKeyPair for more information on using the GetKeyPair // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetLoadBalancerTlsCertificatesRequest method. -// req, resp := client.GetLoadBalancerTlsCertificatesRequest(params) +// // Example sending a request using the GetKeyPairRequest method. +// req, resp := client.GetKeyPairRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates -func (c *Lightsail) GetLoadBalancerTlsCertificatesRequest(input *GetLoadBalancerTlsCertificatesInput) (req *request.Request, output *GetLoadBalancerTlsCertificatesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair +func (c *Lightsail) GetKeyPairRequest(input *GetKeyPairInput) (req *request.Request, output *GetKeyPairOutput) { op := &request.Operation{ - Name: opGetLoadBalancerTlsCertificates, + Name: opGetKeyPair, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetLoadBalancerTlsCertificatesInput{} + input = &GetKeyPairInput{} } - output = &GetLoadBalancerTlsCertificatesOutput{} + output = &GetKeyPairOutput{} req = c.newRequest(op, input, output) return } -// GetLoadBalancerTlsCertificates API operation for Amazon Lightsail. -// -// Returns information about the TLS certificates that are associated with the -// specified Lightsail load balancer. -// -// TLS is just an updated, more secure version of Secure Socket Layer (SSL). +// GetKeyPair API operation for Amazon Lightsail. // -// You can have a maximum of 2 certificates associated with a Lightsail load -// balancer. One is active and the other is inactive. +// Returns information about a specific key pair. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetLoadBalancerTlsCertificates for usage and error information. +// API operation GetKeyPair for usage and error information. // // Returned Error Types: // * ServiceException @@ -7743,80 +8468,80 @@ func (c *Lightsail) GetLoadBalancerTlsCertificatesRequest(input *GetLoadBalancer // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates -func (c *Lightsail) GetLoadBalancerTlsCertificates(input *GetLoadBalancerTlsCertificatesInput) (*GetLoadBalancerTlsCertificatesOutput, error) { - req, out := c.GetLoadBalancerTlsCertificatesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPair +func (c *Lightsail) GetKeyPair(input *GetKeyPairInput) (*GetKeyPairOutput, error) { + req, out := c.GetKeyPairRequest(input) return out, req.Send() } -// GetLoadBalancerTlsCertificatesWithContext is the same as GetLoadBalancerTlsCertificates with the addition of +// GetKeyPairWithContext is the same as GetKeyPair with the addition of // the ability to pass a context and additional request options. // -// See GetLoadBalancerTlsCertificates for details on how to use this API operation. +// See GetKeyPair for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetLoadBalancerTlsCertificatesWithContext(ctx aws.Context, input *GetLoadBalancerTlsCertificatesInput, opts ...request.Option) (*GetLoadBalancerTlsCertificatesOutput, error) { - req, out := c.GetLoadBalancerTlsCertificatesRequest(input) +func (c *Lightsail) GetKeyPairWithContext(ctx aws.Context, input *GetKeyPairInput, opts ...request.Option) (*GetKeyPairOutput, error) { + req, out := c.GetKeyPairRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetLoadBalancers = "GetLoadBalancers" +const opGetKeyPairs = "GetKeyPairs" -// GetLoadBalancersRequest generates a "aws/request.Request" representing the -// client's request for the GetLoadBalancers operation. The "output" return +// GetKeyPairsRequest generates a "aws/request.Request" representing the +// client's request for the GetKeyPairs operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetLoadBalancers for more information on using the GetLoadBalancers +// See GetKeyPairs for more information on using the GetKeyPairs // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetLoadBalancersRequest method. -// req, resp := client.GetLoadBalancersRequest(params) +// // Example sending a request using the GetKeyPairsRequest method. +// req, resp := client.GetKeyPairsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers -func (c *Lightsail) GetLoadBalancersRequest(input *GetLoadBalancersInput) (req *request.Request, output *GetLoadBalancersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs +func (c *Lightsail) GetKeyPairsRequest(input *GetKeyPairsInput) (req *request.Request, output *GetKeyPairsOutput) { op := &request.Operation{ - Name: opGetLoadBalancers, + Name: opGetKeyPairs, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetLoadBalancersInput{} + input = &GetKeyPairsInput{} } - output = &GetLoadBalancersOutput{} + output = &GetKeyPairsOutput{} req = c.newRequest(op, input, output) return } -// GetLoadBalancers API operation for Amazon Lightsail. +// GetKeyPairs API operation for Amazon Lightsail. // -// Returns information about all load balancers in an account. +// Returns information about all key pairs in the user's 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 Lightsail's -// API operation GetLoadBalancers for usage and error information. +// API operation GetKeyPairs for usage and error information. // // Returned Error Types: // * ServiceException @@ -7847,82 +8572,80 @@ func (c *Lightsail) GetLoadBalancersRequest(input *GetLoadBalancersInput) (req * // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers -func (c *Lightsail) GetLoadBalancers(input *GetLoadBalancersInput) (*GetLoadBalancersOutput, error) { - req, out := c.GetLoadBalancersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetKeyPairs +func (c *Lightsail) GetKeyPairs(input *GetKeyPairsInput) (*GetKeyPairsOutput, error) { + req, out := c.GetKeyPairsRequest(input) return out, req.Send() } -// GetLoadBalancersWithContext is the same as GetLoadBalancers with the addition of +// GetKeyPairsWithContext is the same as GetKeyPairs with the addition of // the ability to pass a context and additional request options. // -// See GetLoadBalancers for details on how to use this API operation. +// See GetKeyPairs for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetLoadBalancersWithContext(ctx aws.Context, input *GetLoadBalancersInput, opts ...request.Option) (*GetLoadBalancersOutput, error) { - req, out := c.GetLoadBalancersRequest(input) +func (c *Lightsail) GetKeyPairsWithContext(ctx aws.Context, input *GetKeyPairsInput, opts ...request.Option) (*GetKeyPairsOutput, error) { + req, out := c.GetKeyPairsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetOperation = "GetOperation" +const opGetLoadBalancer = "GetLoadBalancer" -// GetOperationRequest generates a "aws/request.Request" representing the -// client's request for the GetOperation operation. The "output" return +// GetLoadBalancerRequest generates a "aws/request.Request" representing the +// client's request for the GetLoadBalancer operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetOperation for more information on using the GetOperation +// See GetLoadBalancer for more information on using the GetLoadBalancer // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetOperationRequest method. -// req, resp := client.GetOperationRequest(params) +// // Example sending a request using the GetLoadBalancerRequest method. +// req, resp := client.GetLoadBalancerRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation -func (c *Lightsail) GetOperationRequest(input *GetOperationInput) (req *request.Request, output *GetOperationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer +func (c *Lightsail) GetLoadBalancerRequest(input *GetLoadBalancerInput) (req *request.Request, output *GetLoadBalancerOutput) { op := &request.Operation{ - Name: opGetOperation, + Name: opGetLoadBalancer, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetOperationInput{} + input = &GetLoadBalancerInput{} } - output = &GetOperationOutput{} + output = &GetLoadBalancerOutput{} req = c.newRequest(op, input, output) return } -// GetOperation API operation for Amazon Lightsail. +// GetLoadBalancer API operation for Amazon Lightsail. // -// Returns information about a specific operation. Operations include events -// such as when you create an instance, allocate a static IP, attach a static -// IP, and so on. +// Returns information about the specified Lightsail load balancer. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetOperation for usage and error information. +// API operation GetLoadBalancer for usage and error information. // // Returned Error Types: // * ServiceException @@ -7953,84 +8676,84 @@ func (c *Lightsail) GetOperationRequest(input *GetOperationInput) (req *request. // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation -func (c *Lightsail) GetOperation(input *GetOperationInput) (*GetOperationOutput, error) { - req, out := c.GetOperationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancer +func (c *Lightsail) GetLoadBalancer(input *GetLoadBalancerInput) (*GetLoadBalancerOutput, error) { + req, out := c.GetLoadBalancerRequest(input) return out, req.Send() } -// GetOperationWithContext is the same as GetOperation with the addition of +// GetLoadBalancerWithContext is the same as GetLoadBalancer with the addition of // the ability to pass a context and additional request options. // -// See GetOperation for details on how to use this API operation. +// See GetLoadBalancer for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetOperationWithContext(ctx aws.Context, input *GetOperationInput, opts ...request.Option) (*GetOperationOutput, error) { - req, out := c.GetOperationRequest(input) +func (c *Lightsail) GetLoadBalancerWithContext(ctx aws.Context, input *GetLoadBalancerInput, opts ...request.Option) (*GetLoadBalancerOutput, error) { + req, out := c.GetLoadBalancerRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetOperations = "GetOperations" +const opGetLoadBalancerMetricData = "GetLoadBalancerMetricData" -// GetOperationsRequest generates a "aws/request.Request" representing the -// client's request for the GetOperations operation. The "output" return +// GetLoadBalancerMetricDataRequest generates a "aws/request.Request" representing the +// client's request for the GetLoadBalancerMetricData operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetOperations for more information on using the GetOperations +// See GetLoadBalancerMetricData for more information on using the GetLoadBalancerMetricData // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetOperationsRequest method. -// req, resp := client.GetOperationsRequest(params) +// // Example sending a request using the GetLoadBalancerMetricDataRequest method. +// req, resp := client.GetLoadBalancerMetricDataRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations -func (c *Lightsail) GetOperationsRequest(input *GetOperationsInput) (req *request.Request, output *GetOperationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData +func (c *Lightsail) GetLoadBalancerMetricDataRequest(input *GetLoadBalancerMetricDataInput) (req *request.Request, output *GetLoadBalancerMetricDataOutput) { op := &request.Operation{ - Name: opGetOperations, + Name: opGetLoadBalancerMetricData, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetOperationsInput{} + input = &GetLoadBalancerMetricDataInput{} } - output = &GetOperationsOutput{} + output = &GetLoadBalancerMetricDataOutput{} req = c.newRequest(op, input, output) return } -// GetOperations API operation for Amazon Lightsail. +// GetLoadBalancerMetricData API operation for Amazon Lightsail. // -// Returns information about all operations. +// Returns information about health metrics for your Lightsail load balancer. // -// Results are returned from oldest to newest, up to a maximum of 200. Results -// can be paged by making each subsequent call to GetOperations use the maximum -// (last) statusChangedAt value from the previous request. +// Metrics report the utilization of your resources, and the error counts generated +// by them. Monitor and collect metric data regularly to maintain the reliability, +// availability, and performance of your 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 Lightsail's -// API operation GetOperations for usage and error information. +// API operation GetLoadBalancerMetricData for usage and error information. // // Returned Error Types: // * ServiceException @@ -8061,80 +8784,86 @@ func (c *Lightsail) GetOperationsRequest(input *GetOperationsInput) (req *reques // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations -func (c *Lightsail) GetOperations(input *GetOperationsInput) (*GetOperationsOutput, error) { - req, out := c.GetOperationsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerMetricData +func (c *Lightsail) GetLoadBalancerMetricData(input *GetLoadBalancerMetricDataInput) (*GetLoadBalancerMetricDataOutput, error) { + req, out := c.GetLoadBalancerMetricDataRequest(input) return out, req.Send() } -// GetOperationsWithContext is the same as GetOperations with the addition of +// GetLoadBalancerMetricDataWithContext is the same as GetLoadBalancerMetricData with the addition of // the ability to pass a context and additional request options. // -// See GetOperations for details on how to use this API operation. +// See GetLoadBalancerMetricData for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetOperationsWithContext(ctx aws.Context, input *GetOperationsInput, opts ...request.Option) (*GetOperationsOutput, error) { - req, out := c.GetOperationsRequest(input) +func (c *Lightsail) GetLoadBalancerMetricDataWithContext(ctx aws.Context, input *GetLoadBalancerMetricDataInput, opts ...request.Option) (*GetLoadBalancerMetricDataOutput, error) { + req, out := c.GetLoadBalancerMetricDataRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetOperationsForResource = "GetOperationsForResource" +const opGetLoadBalancerTlsCertificates = "GetLoadBalancerTlsCertificates" -// GetOperationsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the GetOperationsForResource operation. The "output" return +// GetLoadBalancerTlsCertificatesRequest generates a "aws/request.Request" representing the +// client's request for the GetLoadBalancerTlsCertificates operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetOperationsForResource for more information on using the GetOperationsForResource +// See GetLoadBalancerTlsCertificates for more information on using the GetLoadBalancerTlsCertificates // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetOperationsForResourceRequest method. -// req, resp := client.GetOperationsForResourceRequest(params) +// // Example sending a request using the GetLoadBalancerTlsCertificatesRequest method. +// req, resp := client.GetLoadBalancerTlsCertificatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource -func (c *Lightsail) GetOperationsForResourceRequest(input *GetOperationsForResourceInput) (req *request.Request, output *GetOperationsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates +func (c *Lightsail) GetLoadBalancerTlsCertificatesRequest(input *GetLoadBalancerTlsCertificatesInput) (req *request.Request, output *GetLoadBalancerTlsCertificatesOutput) { op := &request.Operation{ - Name: opGetOperationsForResource, + Name: opGetLoadBalancerTlsCertificates, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetOperationsForResourceInput{} + input = &GetLoadBalancerTlsCertificatesInput{} } - output = &GetOperationsForResourceOutput{} + output = &GetLoadBalancerTlsCertificatesOutput{} req = c.newRequest(op, input, output) return } -// GetOperationsForResource API operation for Amazon Lightsail. +// GetLoadBalancerTlsCertificates API operation for Amazon Lightsail. // -// Gets operations for a specific resource (e.g., an instance or a static IP). +// Returns information about the TLS certificates that are associated with the +// specified Lightsail load balancer. +// +// TLS is just an updated, more secure version of Secure Socket Layer (SSL). +// +// You can have a maximum of 2 certificates associated with a Lightsail load +// balancer. One is active and the other is inactive. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetOperationsForResource for usage and error information. +// API operation GetLoadBalancerTlsCertificates for usage and error information. // // Returned Error Types: // * ServiceException @@ -8165,81 +8894,80 @@ func (c *Lightsail) GetOperationsForResourceRequest(input *GetOperationsForResou // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource -func (c *Lightsail) GetOperationsForResource(input *GetOperationsForResourceInput) (*GetOperationsForResourceOutput, error) { - req, out := c.GetOperationsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancerTlsCertificates +func (c *Lightsail) GetLoadBalancerTlsCertificates(input *GetLoadBalancerTlsCertificatesInput) (*GetLoadBalancerTlsCertificatesOutput, error) { + req, out := c.GetLoadBalancerTlsCertificatesRequest(input) return out, req.Send() } -// GetOperationsForResourceWithContext is the same as GetOperationsForResource with the addition of +// GetLoadBalancerTlsCertificatesWithContext is the same as GetLoadBalancerTlsCertificates with the addition of // the ability to pass a context and additional request options. // -// See GetOperationsForResource for details on how to use this API operation. +// See GetLoadBalancerTlsCertificates for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetOperationsForResourceWithContext(ctx aws.Context, input *GetOperationsForResourceInput, opts ...request.Option) (*GetOperationsForResourceOutput, error) { - req, out := c.GetOperationsForResourceRequest(input) +func (c *Lightsail) GetLoadBalancerTlsCertificatesWithContext(ctx aws.Context, input *GetLoadBalancerTlsCertificatesInput, opts ...request.Option) (*GetLoadBalancerTlsCertificatesOutput, error) { + req, out := c.GetLoadBalancerTlsCertificatesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRegions = "GetRegions" +const opGetLoadBalancers = "GetLoadBalancers" -// GetRegionsRequest generates a "aws/request.Request" representing the -// client's request for the GetRegions operation. The "output" return +// GetLoadBalancersRequest generates a "aws/request.Request" representing the +// client's request for the GetLoadBalancers operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRegions for more information on using the GetRegions +// See GetLoadBalancers for more information on using the GetLoadBalancers // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRegionsRequest method. -// req, resp := client.GetRegionsRequest(params) +// // Example sending a request using the GetLoadBalancersRequest method. +// req, resp := client.GetLoadBalancersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions -func (c *Lightsail) GetRegionsRequest(input *GetRegionsInput) (req *request.Request, output *GetRegionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers +func (c *Lightsail) GetLoadBalancersRequest(input *GetLoadBalancersInput) (req *request.Request, output *GetLoadBalancersOutput) { op := &request.Operation{ - Name: opGetRegions, + Name: opGetLoadBalancers, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRegionsInput{} + input = &GetLoadBalancersInput{} } - output = &GetRegionsOutput{} + output = &GetLoadBalancersOutput{} req = c.newRequest(op, input, output) return } -// GetRegions API operation for Amazon Lightsail. +// GetLoadBalancers API operation for Amazon Lightsail. // -// Returns a list of all valid regions for Amazon Lightsail. Use the include -// availability zones parameter to also return the Availability Zones in a region. +// Returns information about all load balancers in an account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetRegions for usage and error information. +// API operation GetLoadBalancers for usage and error information. // // Returned Error Types: // * ServiceException @@ -8270,80 +8998,82 @@ func (c *Lightsail) GetRegionsRequest(input *GetRegionsInput) (req *request.Requ // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions -func (c *Lightsail) GetRegions(input *GetRegionsInput) (*GetRegionsOutput, error) { - req, out := c.GetRegionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetLoadBalancers +func (c *Lightsail) GetLoadBalancers(input *GetLoadBalancersInput) (*GetLoadBalancersOutput, error) { + req, out := c.GetLoadBalancersRequest(input) return out, req.Send() } -// GetRegionsWithContext is the same as GetRegions with the addition of +// GetLoadBalancersWithContext is the same as GetLoadBalancers with the addition of // the ability to pass a context and additional request options. // -// See GetRegions for details on how to use this API operation. +// See GetLoadBalancers for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRegionsWithContext(ctx aws.Context, input *GetRegionsInput, opts ...request.Option) (*GetRegionsOutput, error) { - req, out := c.GetRegionsRequest(input) +func (c *Lightsail) GetLoadBalancersWithContext(ctx aws.Context, input *GetLoadBalancersInput, opts ...request.Option) (*GetLoadBalancersOutput, error) { + req, out := c.GetLoadBalancersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabase = "GetRelationalDatabase" +const opGetOperation = "GetOperation" -// GetRelationalDatabaseRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabase operation. The "output" return +// GetOperationRequest generates a "aws/request.Request" representing the +// client's request for the GetOperation operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabase for more information on using the GetRelationalDatabase +// See GetOperation for more information on using the GetOperation // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseRequest method. -// req, resp := client.GetRelationalDatabaseRequest(params) +// // Example sending a request using the GetOperationRequest method. +// req, resp := client.GetOperationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase -func (c *Lightsail) GetRelationalDatabaseRequest(input *GetRelationalDatabaseInput) (req *request.Request, output *GetRelationalDatabaseOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation +func (c *Lightsail) GetOperationRequest(input *GetOperationInput) (req *request.Request, output *GetOperationOutput) { op := &request.Operation{ - Name: opGetRelationalDatabase, + Name: opGetOperation, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseInput{} + input = &GetOperationInput{} } - output = &GetRelationalDatabaseOutput{} + output = &GetOperationOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabase API operation for Amazon Lightsail. +// GetOperation API operation for Amazon Lightsail. // -// Returns information about a specific database in Amazon Lightsail. +// Returns information about a specific operation. Operations include events +// such as when you create an instance, allocate a static IP, attach a static +// IP, 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 Lightsail's -// API operation GetRelationalDatabase for usage and error information. +// API operation GetOperation for usage and error information. // // Returned Error Types: // * ServiceException @@ -8374,84 +9104,84 @@ func (c *Lightsail) GetRelationalDatabaseRequest(input *GetRelationalDatabaseInp // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase -func (c *Lightsail) GetRelationalDatabase(input *GetRelationalDatabaseInput) (*GetRelationalDatabaseOutput, error) { - req, out := c.GetRelationalDatabaseRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperation +func (c *Lightsail) GetOperation(input *GetOperationInput) (*GetOperationOutput, error) { + req, out := c.GetOperationRequest(input) return out, req.Send() } -// GetRelationalDatabaseWithContext is the same as GetRelationalDatabase with the addition of +// GetOperationWithContext is the same as GetOperation with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabase for details on how to use this API operation. +// See GetOperation for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseWithContext(ctx aws.Context, input *GetRelationalDatabaseInput, opts ...request.Option) (*GetRelationalDatabaseOutput, error) { - req, out := c.GetRelationalDatabaseRequest(input) +func (c *Lightsail) GetOperationWithContext(ctx aws.Context, input *GetOperationInput, opts ...request.Option) (*GetOperationOutput, error) { + req, out := c.GetOperationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseBlueprints = "GetRelationalDatabaseBlueprints" +const opGetOperations = "GetOperations" -// GetRelationalDatabaseBlueprintsRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseBlueprints operation. The "output" return +// GetOperationsRequest generates a "aws/request.Request" representing the +// client's request for the GetOperations operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseBlueprints for more information on using the GetRelationalDatabaseBlueprints +// See GetOperations for more information on using the GetOperations // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseBlueprintsRequest method. -// req, resp := client.GetRelationalDatabaseBlueprintsRequest(params) +// // Example sending a request using the GetOperationsRequest method. +// req, resp := client.GetOperationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints -func (c *Lightsail) GetRelationalDatabaseBlueprintsRequest(input *GetRelationalDatabaseBlueprintsInput) (req *request.Request, output *GetRelationalDatabaseBlueprintsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations +func (c *Lightsail) GetOperationsRequest(input *GetOperationsInput) (req *request.Request, output *GetOperationsOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseBlueprints, + Name: opGetOperations, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseBlueprintsInput{} + input = &GetOperationsInput{} } - output = &GetRelationalDatabaseBlueprintsOutput{} + output = &GetOperationsOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseBlueprints API operation for Amazon Lightsail. +// GetOperations API operation for Amazon Lightsail. // -// Returns a list of available database blueprints in Amazon Lightsail. A blueprint -// describes the major engine version of a database. +// Returns information about all operations. // -// You can use a blueprint ID to create a new database that runs a specific -// database engine. +// Results are returned from oldest to newest, up to a maximum of 200. Results +// can be paged by making each subsequent call to GetOperations use the maximum +// (last) statusChangedAt value from the previous 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 Lightsail's -// API operation GetRelationalDatabaseBlueprints for usage and error information. +// API operation GetOperations for usage and error information. // // Returned Error Types: // * ServiceException @@ -8482,84 +9212,80 @@ func (c *Lightsail) GetRelationalDatabaseBlueprintsRequest(input *GetRelationalD // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints -func (c *Lightsail) GetRelationalDatabaseBlueprints(input *GetRelationalDatabaseBlueprintsInput) (*GetRelationalDatabaseBlueprintsOutput, error) { - req, out := c.GetRelationalDatabaseBlueprintsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperations +func (c *Lightsail) GetOperations(input *GetOperationsInput) (*GetOperationsOutput, error) { + req, out := c.GetOperationsRequest(input) return out, req.Send() } -// GetRelationalDatabaseBlueprintsWithContext is the same as GetRelationalDatabaseBlueprints with the addition of +// GetOperationsWithContext is the same as GetOperations with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseBlueprints for details on how to use this API operation. +// See GetOperations for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseBlueprintsWithContext(ctx aws.Context, input *GetRelationalDatabaseBlueprintsInput, opts ...request.Option) (*GetRelationalDatabaseBlueprintsOutput, error) { - req, out := c.GetRelationalDatabaseBlueprintsRequest(input) +func (c *Lightsail) GetOperationsWithContext(ctx aws.Context, input *GetOperationsInput, opts ...request.Option) (*GetOperationsOutput, error) { + req, out := c.GetOperationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseBundles = "GetRelationalDatabaseBundles" +const opGetOperationsForResource = "GetOperationsForResource" -// GetRelationalDatabaseBundlesRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseBundles operation. The "output" return +// GetOperationsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the GetOperationsForResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseBundles for more information on using the GetRelationalDatabaseBundles +// See GetOperationsForResource for more information on using the GetOperationsForResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseBundlesRequest method. -// req, resp := client.GetRelationalDatabaseBundlesRequest(params) +// // Example sending a request using the GetOperationsForResourceRequest method. +// req, resp := client.GetOperationsForResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles -func (c *Lightsail) GetRelationalDatabaseBundlesRequest(input *GetRelationalDatabaseBundlesInput) (req *request.Request, output *GetRelationalDatabaseBundlesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource +func (c *Lightsail) GetOperationsForResourceRequest(input *GetOperationsForResourceInput) (req *request.Request, output *GetOperationsForResourceOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseBundles, + Name: opGetOperationsForResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseBundlesInput{} + input = &GetOperationsForResourceInput{} } - output = &GetRelationalDatabaseBundlesOutput{} + output = &GetOperationsForResourceOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseBundles API operation for Amazon Lightsail. -// -// Returns the list of bundles that are available in Amazon Lightsail. A bundle -// describes the performance specifications for a database. +// GetOperationsForResource API operation for Amazon Lightsail. // -// You can use a bundle ID to create a new database with explicit performance -// specifications. +// Gets operations for a specific resource (e.g., an instance or a static IP). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetRelationalDatabaseBundles for usage and error information. +// API operation GetOperationsForResource for usage and error information. // // Returned Error Types: // * ServiceException @@ -8590,80 +9316,81 @@ func (c *Lightsail) GetRelationalDatabaseBundlesRequest(input *GetRelationalData // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles -func (c *Lightsail) GetRelationalDatabaseBundles(input *GetRelationalDatabaseBundlesInput) (*GetRelationalDatabaseBundlesOutput, error) { - req, out := c.GetRelationalDatabaseBundlesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetOperationsForResource +func (c *Lightsail) GetOperationsForResource(input *GetOperationsForResourceInput) (*GetOperationsForResourceOutput, error) { + req, out := c.GetOperationsForResourceRequest(input) return out, req.Send() } -// GetRelationalDatabaseBundlesWithContext is the same as GetRelationalDatabaseBundles with the addition of +// GetOperationsForResourceWithContext is the same as GetOperationsForResource with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseBundles for details on how to use this API operation. +// See GetOperationsForResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseBundlesWithContext(ctx aws.Context, input *GetRelationalDatabaseBundlesInput, opts ...request.Option) (*GetRelationalDatabaseBundlesOutput, error) { - req, out := c.GetRelationalDatabaseBundlesRequest(input) +func (c *Lightsail) GetOperationsForResourceWithContext(ctx aws.Context, input *GetOperationsForResourceInput, opts ...request.Option) (*GetOperationsForResourceOutput, error) { + req, out := c.GetOperationsForResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseEvents = "GetRelationalDatabaseEvents" +const opGetRegions = "GetRegions" -// GetRelationalDatabaseEventsRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseEvents operation. The "output" return +// GetRegionsRequest generates a "aws/request.Request" representing the +// client's request for the GetRegions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseEvents for more information on using the GetRelationalDatabaseEvents +// See GetRegions for more information on using the GetRegions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseEventsRequest method. -// req, resp := client.GetRelationalDatabaseEventsRequest(params) +// // Example sending a request using the GetRegionsRequest method. +// req, resp := client.GetRegionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents -func (c *Lightsail) GetRelationalDatabaseEventsRequest(input *GetRelationalDatabaseEventsInput) (req *request.Request, output *GetRelationalDatabaseEventsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions +func (c *Lightsail) GetRegionsRequest(input *GetRegionsInput) (req *request.Request, output *GetRegionsOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseEvents, + Name: opGetRegions, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseEventsInput{} + input = &GetRegionsInput{} } - output = &GetRelationalDatabaseEventsOutput{} + output = &GetRegionsOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseEvents API operation for Amazon Lightsail. +// GetRegions API operation for Amazon Lightsail. // -// Returns a list of events for a specific database in Amazon Lightsail. +// Returns a list of all valid regions for Amazon Lightsail. Use the include +// availability zones parameter to also return the Availability Zones in a 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 Lightsail's -// API operation GetRelationalDatabaseEvents for usage and error information. +// API operation GetRegions for usage and error information. // // Returned Error Types: // * ServiceException @@ -8694,80 +9421,80 @@ func (c *Lightsail) GetRelationalDatabaseEventsRequest(input *GetRelationalDatab // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents -func (c *Lightsail) GetRelationalDatabaseEvents(input *GetRelationalDatabaseEventsInput) (*GetRelationalDatabaseEventsOutput, error) { - req, out := c.GetRelationalDatabaseEventsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRegions +func (c *Lightsail) GetRegions(input *GetRegionsInput) (*GetRegionsOutput, error) { + req, out := c.GetRegionsRequest(input) return out, req.Send() } -// GetRelationalDatabaseEventsWithContext is the same as GetRelationalDatabaseEvents with the addition of +// GetRegionsWithContext is the same as GetRegions with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseEvents for details on how to use this API operation. +// See GetRegions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseEventsInput, opts ...request.Option) (*GetRelationalDatabaseEventsOutput, error) { - req, out := c.GetRelationalDatabaseEventsRequest(input) +func (c *Lightsail) GetRegionsWithContext(ctx aws.Context, input *GetRegionsInput, opts ...request.Option) (*GetRegionsOutput, error) { + req, out := c.GetRegionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseLogEvents = "GetRelationalDatabaseLogEvents" +const opGetRelationalDatabase = "GetRelationalDatabase" -// GetRelationalDatabaseLogEventsRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseLogEvents operation. The "output" return +// GetRelationalDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabase operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseLogEvents for more information on using the GetRelationalDatabaseLogEvents +// See GetRelationalDatabase for more information on using the GetRelationalDatabase // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseLogEventsRequest method. -// req, resp := client.GetRelationalDatabaseLogEventsRequest(params) +// // Example sending a request using the GetRelationalDatabaseRequest method. +// req, resp := client.GetRelationalDatabaseRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents -func (c *Lightsail) GetRelationalDatabaseLogEventsRequest(input *GetRelationalDatabaseLogEventsInput) (req *request.Request, output *GetRelationalDatabaseLogEventsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase +func (c *Lightsail) GetRelationalDatabaseRequest(input *GetRelationalDatabaseInput) (req *request.Request, output *GetRelationalDatabaseOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseLogEvents, + Name: opGetRelationalDatabase, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseLogEventsInput{} + input = &GetRelationalDatabaseInput{} } - output = &GetRelationalDatabaseLogEventsOutput{} + output = &GetRelationalDatabaseOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseLogEvents API operation for Amazon Lightsail. +// GetRelationalDatabase API operation for Amazon Lightsail. // -// Returns a list of log events for a database in Amazon Lightsail. +// Returns information about a specific database in Amazon Lightsail. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetRelationalDatabaseLogEvents for usage and error information. +// API operation GetRelationalDatabase for usage and error information. // // Returned Error Types: // * ServiceException @@ -8798,81 +9525,84 @@ func (c *Lightsail) GetRelationalDatabaseLogEventsRequest(input *GetRelationalDa // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents -func (c *Lightsail) GetRelationalDatabaseLogEvents(input *GetRelationalDatabaseLogEventsInput) (*GetRelationalDatabaseLogEventsOutput, error) { - req, out := c.GetRelationalDatabaseLogEventsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabase +func (c *Lightsail) GetRelationalDatabase(input *GetRelationalDatabaseInput) (*GetRelationalDatabaseOutput, error) { + req, out := c.GetRelationalDatabaseRequest(input) return out, req.Send() } -// GetRelationalDatabaseLogEventsWithContext is the same as GetRelationalDatabaseLogEvents with the addition of +// GetRelationalDatabaseWithContext is the same as GetRelationalDatabase with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseLogEvents for details on how to use this API operation. +// See GetRelationalDatabase for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseLogEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogEventsInput, opts ...request.Option) (*GetRelationalDatabaseLogEventsOutput, error) { - req, out := c.GetRelationalDatabaseLogEventsRequest(input) +func (c *Lightsail) GetRelationalDatabaseWithContext(ctx aws.Context, input *GetRelationalDatabaseInput, opts ...request.Option) (*GetRelationalDatabaseOutput, error) { + req, out := c.GetRelationalDatabaseRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseLogStreams = "GetRelationalDatabaseLogStreams" +const opGetRelationalDatabaseBlueprints = "GetRelationalDatabaseBlueprints" -// GetRelationalDatabaseLogStreamsRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseLogStreams operation. The "output" return +// GetRelationalDatabaseBlueprintsRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseBlueprints operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseLogStreams for more information on using the GetRelationalDatabaseLogStreams +// See GetRelationalDatabaseBlueprints for more information on using the GetRelationalDatabaseBlueprints // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseLogStreamsRequest method. -// req, resp := client.GetRelationalDatabaseLogStreamsRequest(params) +// // Example sending a request using the GetRelationalDatabaseBlueprintsRequest method. +// req, resp := client.GetRelationalDatabaseBlueprintsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams -func (c *Lightsail) GetRelationalDatabaseLogStreamsRequest(input *GetRelationalDatabaseLogStreamsInput) (req *request.Request, output *GetRelationalDatabaseLogStreamsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints +func (c *Lightsail) GetRelationalDatabaseBlueprintsRequest(input *GetRelationalDatabaseBlueprintsInput) (req *request.Request, output *GetRelationalDatabaseBlueprintsOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseLogStreams, + Name: opGetRelationalDatabaseBlueprints, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseLogStreamsInput{} + input = &GetRelationalDatabaseBlueprintsInput{} } - output = &GetRelationalDatabaseLogStreamsOutput{} + output = &GetRelationalDatabaseBlueprintsOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseLogStreams API operation for Amazon Lightsail. +// GetRelationalDatabaseBlueprints API operation for Amazon Lightsail. // -// Returns a list of available log streams for a specific database in Amazon -// Lightsail. +// Returns a list of available database blueprints in Amazon Lightsail. A blueprint +// describes the major engine version of a database. +// +// You can use a blueprint ID to create a new database that runs a specific +// database engine. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetRelationalDatabaseLogStreams for usage and error information. +// API operation GetRelationalDatabaseBlueprints for usage and error information. // // Returned Error Types: // * ServiceException @@ -8903,84 +9633,84 @@ func (c *Lightsail) GetRelationalDatabaseLogStreamsRequest(input *GetRelationalD // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams -func (c *Lightsail) GetRelationalDatabaseLogStreams(input *GetRelationalDatabaseLogStreamsInput) (*GetRelationalDatabaseLogStreamsOutput, error) { - req, out := c.GetRelationalDatabaseLogStreamsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBlueprints +func (c *Lightsail) GetRelationalDatabaseBlueprints(input *GetRelationalDatabaseBlueprintsInput) (*GetRelationalDatabaseBlueprintsOutput, error) { + req, out := c.GetRelationalDatabaseBlueprintsRequest(input) return out, req.Send() } -// GetRelationalDatabaseLogStreamsWithContext is the same as GetRelationalDatabaseLogStreams with the addition of +// GetRelationalDatabaseBlueprintsWithContext is the same as GetRelationalDatabaseBlueprints with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseLogStreams for details on how to use this API operation. +// See GetRelationalDatabaseBlueprints for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseLogStreamsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogStreamsInput, opts ...request.Option) (*GetRelationalDatabaseLogStreamsOutput, error) { - req, out := c.GetRelationalDatabaseLogStreamsRequest(input) +func (c *Lightsail) GetRelationalDatabaseBlueprintsWithContext(ctx aws.Context, input *GetRelationalDatabaseBlueprintsInput, opts ...request.Option) (*GetRelationalDatabaseBlueprintsOutput, error) { + req, out := c.GetRelationalDatabaseBlueprintsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseMasterUserPassword = "GetRelationalDatabaseMasterUserPassword" +const opGetRelationalDatabaseBundles = "GetRelationalDatabaseBundles" -// GetRelationalDatabaseMasterUserPasswordRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseMasterUserPassword operation. The "output" return +// GetRelationalDatabaseBundlesRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseBundles operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseMasterUserPassword for more information on using the GetRelationalDatabaseMasterUserPassword +// See GetRelationalDatabaseBundles for more information on using the GetRelationalDatabaseBundles // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseMasterUserPasswordRequest method. -// req, resp := client.GetRelationalDatabaseMasterUserPasswordRequest(params) +// // Example sending a request using the GetRelationalDatabaseBundlesRequest method. +// req, resp := client.GetRelationalDatabaseBundlesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword -func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordRequest(input *GetRelationalDatabaseMasterUserPasswordInput) (req *request.Request, output *GetRelationalDatabaseMasterUserPasswordOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles +func (c *Lightsail) GetRelationalDatabaseBundlesRequest(input *GetRelationalDatabaseBundlesInput) (req *request.Request, output *GetRelationalDatabaseBundlesOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseMasterUserPassword, + Name: opGetRelationalDatabaseBundles, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseMasterUserPasswordInput{} + input = &GetRelationalDatabaseBundlesInput{} } - output = &GetRelationalDatabaseMasterUserPasswordOutput{} + output = &GetRelationalDatabaseBundlesOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseMasterUserPassword API operation for Amazon Lightsail. +// GetRelationalDatabaseBundles API operation for Amazon Lightsail. // -// Returns the current, previous, or pending versions of the master user password -// for a Lightsail database. +// Returns the list of bundles that are available in Amazon Lightsail. A bundle +// describes the performance specifications for a database. // -// The GetRelationalDatabaseMasterUserPassword operation supports tag-based -// access control via resource tags applied to the resource identified by relationalDatabaseName. +// You can use a bundle ID to create a new database with explicit performance +// specifications. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetRelationalDatabaseMasterUserPassword for usage and error information. +// API operation GetRelationalDatabaseBundles for usage and error information. // // Returned Error Types: // * ServiceException @@ -9011,81 +9741,80 @@ func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordRequest(input *GetRel // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword -func (c *Lightsail) GetRelationalDatabaseMasterUserPassword(input *GetRelationalDatabaseMasterUserPasswordInput) (*GetRelationalDatabaseMasterUserPasswordOutput, error) { - req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseBundles +func (c *Lightsail) GetRelationalDatabaseBundles(input *GetRelationalDatabaseBundlesInput) (*GetRelationalDatabaseBundlesOutput, error) { + req, out := c.GetRelationalDatabaseBundlesRequest(input) return out, req.Send() } -// GetRelationalDatabaseMasterUserPasswordWithContext is the same as GetRelationalDatabaseMasterUserPassword with the addition of +// GetRelationalDatabaseBundlesWithContext is the same as GetRelationalDatabaseBundles with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseMasterUserPassword for details on how to use this API operation. +// See GetRelationalDatabaseBundles for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordWithContext(ctx aws.Context, input *GetRelationalDatabaseMasterUserPasswordInput, opts ...request.Option) (*GetRelationalDatabaseMasterUserPasswordOutput, error) { - req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input) +func (c *Lightsail) GetRelationalDatabaseBundlesWithContext(ctx aws.Context, input *GetRelationalDatabaseBundlesInput, opts ...request.Option) (*GetRelationalDatabaseBundlesOutput, error) { + req, out := c.GetRelationalDatabaseBundlesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseMetricData = "GetRelationalDatabaseMetricData" +const opGetRelationalDatabaseEvents = "GetRelationalDatabaseEvents" -// GetRelationalDatabaseMetricDataRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseMetricData operation. The "output" return +// GetRelationalDatabaseEventsRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseEvents operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseMetricData for more information on using the GetRelationalDatabaseMetricData +// See GetRelationalDatabaseEvents for more information on using the GetRelationalDatabaseEvents // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseMetricDataRequest method. -// req, resp := client.GetRelationalDatabaseMetricDataRequest(params) +// // Example sending a request using the GetRelationalDatabaseEventsRequest method. +// req, resp := client.GetRelationalDatabaseEventsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData -func (c *Lightsail) GetRelationalDatabaseMetricDataRequest(input *GetRelationalDatabaseMetricDataInput) (req *request.Request, output *GetRelationalDatabaseMetricDataOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents +func (c *Lightsail) GetRelationalDatabaseEventsRequest(input *GetRelationalDatabaseEventsInput) (req *request.Request, output *GetRelationalDatabaseEventsOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseMetricData, + Name: opGetRelationalDatabaseEvents, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseMetricDataInput{} + input = &GetRelationalDatabaseEventsInput{} } - output = &GetRelationalDatabaseMetricDataOutput{} + output = &GetRelationalDatabaseEventsOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseMetricData API operation for Amazon Lightsail. +// GetRelationalDatabaseEvents API operation for Amazon Lightsail. // -// Returns the data points of the specified metric for a database in Amazon -// Lightsail. +// Returns a list of events for a specific database in Amazon Lightsail. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetRelationalDatabaseMetricData for usage and error information. +// API operation GetRelationalDatabaseEvents for usage and error information. // // Returned Error Types: // * ServiceException @@ -9116,86 +9845,80 @@ func (c *Lightsail) GetRelationalDatabaseMetricDataRequest(input *GetRelationalD // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData -func (c *Lightsail) GetRelationalDatabaseMetricData(input *GetRelationalDatabaseMetricDataInput) (*GetRelationalDatabaseMetricDataOutput, error) { - req, out := c.GetRelationalDatabaseMetricDataRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseEvents +func (c *Lightsail) GetRelationalDatabaseEvents(input *GetRelationalDatabaseEventsInput) (*GetRelationalDatabaseEventsOutput, error) { + req, out := c.GetRelationalDatabaseEventsRequest(input) return out, req.Send() } -// GetRelationalDatabaseMetricDataWithContext is the same as GetRelationalDatabaseMetricData with the addition of +// GetRelationalDatabaseEventsWithContext is the same as GetRelationalDatabaseEvents with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseMetricData for details on how to use this API operation. +// See GetRelationalDatabaseEvents for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseMetricDataWithContext(ctx aws.Context, input *GetRelationalDatabaseMetricDataInput, opts ...request.Option) (*GetRelationalDatabaseMetricDataOutput, error) { - req, out := c.GetRelationalDatabaseMetricDataRequest(input) +func (c *Lightsail) GetRelationalDatabaseEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseEventsInput, opts ...request.Option) (*GetRelationalDatabaseEventsOutput, error) { + req, out := c.GetRelationalDatabaseEventsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseParameters = "GetRelationalDatabaseParameters" +const opGetRelationalDatabaseLogEvents = "GetRelationalDatabaseLogEvents" -// GetRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseParameters operation. The "output" return +// GetRelationalDatabaseLogEventsRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseLogEvents operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseParameters for more information on using the GetRelationalDatabaseParameters +// See GetRelationalDatabaseLogEvents for more information on using the GetRelationalDatabaseLogEvents // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseParametersRequest method. -// req, resp := client.GetRelationalDatabaseParametersRequest(params) +// // Example sending a request using the GetRelationalDatabaseLogEventsRequest method. +// req, resp := client.GetRelationalDatabaseLogEventsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters -func (c *Lightsail) GetRelationalDatabaseParametersRequest(input *GetRelationalDatabaseParametersInput) (req *request.Request, output *GetRelationalDatabaseParametersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents +func (c *Lightsail) GetRelationalDatabaseLogEventsRequest(input *GetRelationalDatabaseLogEventsInput) (req *request.Request, output *GetRelationalDatabaseLogEventsOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseParameters, + Name: opGetRelationalDatabaseLogEvents, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseParametersInput{} + input = &GetRelationalDatabaseLogEventsInput{} } - output = &GetRelationalDatabaseParametersOutput{} + output = &GetRelationalDatabaseLogEventsOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseParameters API operation for Amazon Lightsail. -// -// Returns all of the runtime parameters offered by the underlying database -// software, or engine, for a specific database in Amazon Lightsail. +// GetRelationalDatabaseLogEvents API operation for Amazon Lightsail. // -// In addition to the parameter names and values, this operation returns other -// information about each parameter. This information includes whether changes -// require a reboot, whether the parameter is modifiable, the allowed values, -// and the data types. +// Returns a list of log events for a database in Amazon Lightsail. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetRelationalDatabaseParameters for usage and error information. +// API operation GetRelationalDatabaseLogEvents for usage and error information. // // Returned Error Types: // * ServiceException @@ -9226,80 +9949,81 @@ func (c *Lightsail) GetRelationalDatabaseParametersRequest(input *GetRelationalD // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters -func (c *Lightsail) GetRelationalDatabaseParameters(input *GetRelationalDatabaseParametersInput) (*GetRelationalDatabaseParametersOutput, error) { - req, out := c.GetRelationalDatabaseParametersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogEvents +func (c *Lightsail) GetRelationalDatabaseLogEvents(input *GetRelationalDatabaseLogEventsInput) (*GetRelationalDatabaseLogEventsOutput, error) { + req, out := c.GetRelationalDatabaseLogEventsRequest(input) return out, req.Send() } -// GetRelationalDatabaseParametersWithContext is the same as GetRelationalDatabaseParameters with the addition of +// GetRelationalDatabaseLogEventsWithContext is the same as GetRelationalDatabaseLogEvents with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseParameters for details on how to use this API operation. +// See GetRelationalDatabaseLogEvents for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseParametersWithContext(ctx aws.Context, input *GetRelationalDatabaseParametersInput, opts ...request.Option) (*GetRelationalDatabaseParametersOutput, error) { - req, out := c.GetRelationalDatabaseParametersRequest(input) +func (c *Lightsail) GetRelationalDatabaseLogEventsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogEventsInput, opts ...request.Option) (*GetRelationalDatabaseLogEventsOutput, error) { + req, out := c.GetRelationalDatabaseLogEventsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseSnapshot = "GetRelationalDatabaseSnapshot" +const opGetRelationalDatabaseLogStreams = "GetRelationalDatabaseLogStreams" -// GetRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseSnapshot operation. The "output" return +// GetRelationalDatabaseLogStreamsRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseLogStreams operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseSnapshot for more information on using the GetRelationalDatabaseSnapshot +// See GetRelationalDatabaseLogStreams for more information on using the GetRelationalDatabaseLogStreams // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseSnapshotRequest method. -// req, resp := client.GetRelationalDatabaseSnapshotRequest(params) +// // Example sending a request using the GetRelationalDatabaseLogStreamsRequest method. +// req, resp := client.GetRelationalDatabaseLogStreamsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot -func (c *Lightsail) GetRelationalDatabaseSnapshotRequest(input *GetRelationalDatabaseSnapshotInput) (req *request.Request, output *GetRelationalDatabaseSnapshotOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams +func (c *Lightsail) GetRelationalDatabaseLogStreamsRequest(input *GetRelationalDatabaseLogStreamsInput) (req *request.Request, output *GetRelationalDatabaseLogStreamsOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseSnapshot, + Name: opGetRelationalDatabaseLogStreams, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseSnapshotInput{} + input = &GetRelationalDatabaseLogStreamsInput{} } - output = &GetRelationalDatabaseSnapshotOutput{} + output = &GetRelationalDatabaseLogStreamsOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseSnapshot API operation for Amazon Lightsail. +// GetRelationalDatabaseLogStreams API operation for Amazon Lightsail. // -// Returns information about a specific database snapshot in Amazon Lightsail. +// Returns a list of available log streams for a specific database in Amazon +// Lightsail. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetRelationalDatabaseSnapshot for usage and error information. +// API operation GetRelationalDatabaseLogStreams for usage and error information. // // Returned Error Types: // * ServiceException @@ -9330,80 +10054,84 @@ func (c *Lightsail) GetRelationalDatabaseSnapshotRequest(input *GetRelationalDat // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot -func (c *Lightsail) GetRelationalDatabaseSnapshot(input *GetRelationalDatabaseSnapshotInput) (*GetRelationalDatabaseSnapshotOutput, error) { - req, out := c.GetRelationalDatabaseSnapshotRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseLogStreams +func (c *Lightsail) GetRelationalDatabaseLogStreams(input *GetRelationalDatabaseLogStreamsInput) (*GetRelationalDatabaseLogStreamsOutput, error) { + req, out := c.GetRelationalDatabaseLogStreamsRequest(input) return out, req.Send() } -// GetRelationalDatabaseSnapshotWithContext is the same as GetRelationalDatabaseSnapshot with the addition of +// GetRelationalDatabaseLogStreamsWithContext is the same as GetRelationalDatabaseLogStreams with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseSnapshot for details on how to use this API operation. +// See GetRelationalDatabaseLogStreams for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotOutput, error) { - req, out := c.GetRelationalDatabaseSnapshotRequest(input) +func (c *Lightsail) GetRelationalDatabaseLogStreamsWithContext(ctx aws.Context, input *GetRelationalDatabaseLogStreamsInput, opts ...request.Option) (*GetRelationalDatabaseLogStreamsOutput, error) { + req, out := c.GetRelationalDatabaseLogStreamsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabaseSnapshots = "GetRelationalDatabaseSnapshots" +const opGetRelationalDatabaseMasterUserPassword = "GetRelationalDatabaseMasterUserPassword" -// GetRelationalDatabaseSnapshotsRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabaseSnapshots operation. The "output" return +// GetRelationalDatabaseMasterUserPasswordRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseMasterUserPassword operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabaseSnapshots for more information on using the GetRelationalDatabaseSnapshots +// See GetRelationalDatabaseMasterUserPassword for more information on using the GetRelationalDatabaseMasterUserPassword // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabaseSnapshotsRequest method. -// req, resp := client.GetRelationalDatabaseSnapshotsRequest(params) +// // Example sending a request using the GetRelationalDatabaseMasterUserPasswordRequest method. +// req, resp := client.GetRelationalDatabaseMasterUserPasswordRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots -func (c *Lightsail) GetRelationalDatabaseSnapshotsRequest(input *GetRelationalDatabaseSnapshotsInput) (req *request.Request, output *GetRelationalDatabaseSnapshotsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword +func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordRequest(input *GetRelationalDatabaseMasterUserPasswordInput) (req *request.Request, output *GetRelationalDatabaseMasterUserPasswordOutput) { op := &request.Operation{ - Name: opGetRelationalDatabaseSnapshots, + Name: opGetRelationalDatabaseMasterUserPassword, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabaseSnapshotsInput{} + input = &GetRelationalDatabaseMasterUserPasswordInput{} } - output = &GetRelationalDatabaseSnapshotsOutput{} + output = &GetRelationalDatabaseMasterUserPasswordOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabaseSnapshots API operation for Amazon Lightsail. +// GetRelationalDatabaseMasterUserPassword API operation for Amazon Lightsail. // -// Returns information about all of your database snapshots in Amazon Lightsail. +// Returns the current, previous, or pending versions of the master user password +// for a Lightsail database. +// +// The GetRelationalDatabaseMasterUserPassword operation supports tag-based +// access control via resource tags applied to the resource identified by relationalDatabaseName. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetRelationalDatabaseSnapshots for usage and error information. +// API operation GetRelationalDatabaseMasterUserPassword for usage and error information. // // Returned Error Types: // * ServiceException @@ -9434,80 +10162,85 @@ func (c *Lightsail) GetRelationalDatabaseSnapshotsRequest(input *GetRelationalDa // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots -func (c *Lightsail) GetRelationalDatabaseSnapshots(input *GetRelationalDatabaseSnapshotsInput) (*GetRelationalDatabaseSnapshotsOutput, error) { - req, out := c.GetRelationalDatabaseSnapshotsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMasterUserPassword +func (c *Lightsail) GetRelationalDatabaseMasterUserPassword(input *GetRelationalDatabaseMasterUserPasswordInput) (*GetRelationalDatabaseMasterUserPasswordOutput, error) { + req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input) return out, req.Send() } -// GetRelationalDatabaseSnapshotsWithContext is the same as GetRelationalDatabaseSnapshots with the addition of +// GetRelationalDatabaseMasterUserPasswordWithContext is the same as GetRelationalDatabaseMasterUserPassword with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabaseSnapshots for details on how to use this API operation. +// See GetRelationalDatabaseMasterUserPassword for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabaseSnapshotsWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotsInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotsOutput, error) { - req, out := c.GetRelationalDatabaseSnapshotsRequest(input) +func (c *Lightsail) GetRelationalDatabaseMasterUserPasswordWithContext(ctx aws.Context, input *GetRelationalDatabaseMasterUserPasswordInput, opts ...request.Option) (*GetRelationalDatabaseMasterUserPasswordOutput, error) { + req, out := c.GetRelationalDatabaseMasterUserPasswordRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetRelationalDatabases = "GetRelationalDatabases" +const opGetRelationalDatabaseMetricData = "GetRelationalDatabaseMetricData" -// GetRelationalDatabasesRequest generates a "aws/request.Request" representing the -// client's request for the GetRelationalDatabases operation. The "output" return +// GetRelationalDatabaseMetricDataRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseMetricData operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetRelationalDatabases for more information on using the GetRelationalDatabases +// See GetRelationalDatabaseMetricData for more information on using the GetRelationalDatabaseMetricData // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetRelationalDatabasesRequest method. -// req, resp := client.GetRelationalDatabasesRequest(params) +// // Example sending a request using the GetRelationalDatabaseMetricDataRequest method. +// req, resp := client.GetRelationalDatabaseMetricDataRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases -func (c *Lightsail) GetRelationalDatabasesRequest(input *GetRelationalDatabasesInput) (req *request.Request, output *GetRelationalDatabasesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData +func (c *Lightsail) GetRelationalDatabaseMetricDataRequest(input *GetRelationalDatabaseMetricDataInput) (req *request.Request, output *GetRelationalDatabaseMetricDataOutput) { op := &request.Operation{ - Name: opGetRelationalDatabases, + Name: opGetRelationalDatabaseMetricData, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetRelationalDatabasesInput{} + input = &GetRelationalDatabaseMetricDataInput{} } - output = &GetRelationalDatabasesOutput{} + output = &GetRelationalDatabaseMetricDataOutput{} req = c.newRequest(op, input, output) return } -// GetRelationalDatabases API operation for Amazon Lightsail. +// GetRelationalDatabaseMetricData API operation for Amazon Lightsail. // -// Returns information about all of your databases in Amazon Lightsail. +// Returns the data points of the specified metric for a database in Amazon +// Lightsail. +// +// Metrics report the utilization of your resources, and the error counts generated +// by them. Monitor and collect metric data regularly to maintain the reliability, +// availability, and performance of your 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 Lightsail's -// API operation GetRelationalDatabases for usage and error information. +// API operation GetRelationalDatabaseMetricData for usage and error information. // // Returned Error Types: // * ServiceException @@ -9538,80 +10271,86 @@ func (c *Lightsail) GetRelationalDatabasesRequest(input *GetRelationalDatabasesI // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases -func (c *Lightsail) GetRelationalDatabases(input *GetRelationalDatabasesInput) (*GetRelationalDatabasesOutput, error) { - req, out := c.GetRelationalDatabasesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseMetricData +func (c *Lightsail) GetRelationalDatabaseMetricData(input *GetRelationalDatabaseMetricDataInput) (*GetRelationalDatabaseMetricDataOutput, error) { + req, out := c.GetRelationalDatabaseMetricDataRequest(input) return out, req.Send() } -// GetRelationalDatabasesWithContext is the same as GetRelationalDatabases with the addition of +// GetRelationalDatabaseMetricDataWithContext is the same as GetRelationalDatabaseMetricData with the addition of // the ability to pass a context and additional request options. // -// See GetRelationalDatabases for details on how to use this API operation. +// See GetRelationalDatabaseMetricData for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetRelationalDatabasesWithContext(ctx aws.Context, input *GetRelationalDatabasesInput, opts ...request.Option) (*GetRelationalDatabasesOutput, error) { - req, out := c.GetRelationalDatabasesRequest(input) +func (c *Lightsail) GetRelationalDatabaseMetricDataWithContext(ctx aws.Context, input *GetRelationalDatabaseMetricDataInput, opts ...request.Option) (*GetRelationalDatabaseMetricDataOutput, error) { + req, out := c.GetRelationalDatabaseMetricDataRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetStaticIp = "GetStaticIp" +const opGetRelationalDatabaseParameters = "GetRelationalDatabaseParameters" -// GetStaticIpRequest generates a "aws/request.Request" representing the -// client's request for the GetStaticIp operation. The "output" return +// GetRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseParameters operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetStaticIp for more information on using the GetStaticIp +// See GetRelationalDatabaseParameters for more information on using the GetRelationalDatabaseParameters // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetStaticIpRequest method. -// req, resp := client.GetStaticIpRequest(params) +// // Example sending a request using the GetRelationalDatabaseParametersRequest method. +// req, resp := client.GetRelationalDatabaseParametersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp -func (c *Lightsail) GetStaticIpRequest(input *GetStaticIpInput) (req *request.Request, output *GetStaticIpOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters +func (c *Lightsail) GetRelationalDatabaseParametersRequest(input *GetRelationalDatabaseParametersInput) (req *request.Request, output *GetRelationalDatabaseParametersOutput) { op := &request.Operation{ - Name: opGetStaticIp, + Name: opGetRelationalDatabaseParameters, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetStaticIpInput{} + input = &GetRelationalDatabaseParametersInput{} } - output = &GetStaticIpOutput{} + output = &GetRelationalDatabaseParametersOutput{} req = c.newRequest(op, input, output) return } -// GetStaticIp API operation for Amazon Lightsail. +// GetRelationalDatabaseParameters API operation for Amazon Lightsail. // -// Returns information about a specific static IP. +// Returns all of the runtime parameters offered by the underlying database +// software, or engine, for a specific database in Amazon Lightsail. +// +// In addition to the parameter names and values, this operation returns other +// information about each parameter. This information includes whether changes +// require a reboot, whether the parameter is modifiable, the allowed values, +// and the data types. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetStaticIp for usage and error information. +// API operation GetRelationalDatabaseParameters for usage and error information. // // Returned Error Types: // * ServiceException @@ -9642,80 +10381,80 @@ func (c *Lightsail) GetStaticIpRequest(input *GetStaticIpInput) (req *request.Re // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp -func (c *Lightsail) GetStaticIp(input *GetStaticIpInput) (*GetStaticIpOutput, error) { - req, out := c.GetStaticIpRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseParameters +func (c *Lightsail) GetRelationalDatabaseParameters(input *GetRelationalDatabaseParametersInput) (*GetRelationalDatabaseParametersOutput, error) { + req, out := c.GetRelationalDatabaseParametersRequest(input) return out, req.Send() } -// GetStaticIpWithContext is the same as GetStaticIp with the addition of +// GetRelationalDatabaseParametersWithContext is the same as GetRelationalDatabaseParameters with the addition of // the ability to pass a context and additional request options. // -// See GetStaticIp for details on how to use this API operation. +// See GetRelationalDatabaseParameters for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetStaticIpWithContext(ctx aws.Context, input *GetStaticIpInput, opts ...request.Option) (*GetStaticIpOutput, error) { - req, out := c.GetStaticIpRequest(input) +func (c *Lightsail) GetRelationalDatabaseParametersWithContext(ctx aws.Context, input *GetRelationalDatabaseParametersInput, opts ...request.Option) (*GetRelationalDatabaseParametersOutput, error) { + req, out := c.GetRelationalDatabaseParametersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetStaticIps = "GetStaticIps" +const opGetRelationalDatabaseSnapshot = "GetRelationalDatabaseSnapshot" -// GetStaticIpsRequest generates a "aws/request.Request" representing the -// client's request for the GetStaticIps operation. The "output" return +// GetRelationalDatabaseSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseSnapshot operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetStaticIps for more information on using the GetStaticIps +// See GetRelationalDatabaseSnapshot for more information on using the GetRelationalDatabaseSnapshot // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetStaticIpsRequest method. -// req, resp := client.GetStaticIpsRequest(params) +// // Example sending a request using the GetRelationalDatabaseSnapshotRequest method. +// req, resp := client.GetRelationalDatabaseSnapshotRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps -func (c *Lightsail) GetStaticIpsRequest(input *GetStaticIpsInput) (req *request.Request, output *GetStaticIpsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot +func (c *Lightsail) GetRelationalDatabaseSnapshotRequest(input *GetRelationalDatabaseSnapshotInput) (req *request.Request, output *GetRelationalDatabaseSnapshotOutput) { op := &request.Operation{ - Name: opGetStaticIps, + Name: opGetRelationalDatabaseSnapshot, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetStaticIpsInput{} + input = &GetRelationalDatabaseSnapshotInput{} } - output = &GetStaticIpsOutput{} + output = &GetRelationalDatabaseSnapshotOutput{} req = c.newRequest(op, input, output) return } -// GetStaticIps API operation for Amazon Lightsail. +// GetRelationalDatabaseSnapshot API operation for Amazon Lightsail. // -// Returns information about all static IPs in the user's account. +// Returns information about a specific database snapshot in Amazon Lightsail. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation GetStaticIps for usage and error information. +// API operation GetRelationalDatabaseSnapshot for usage and error information. // // Returned Error Types: // * ServiceException @@ -9746,80 +10485,80 @@ func (c *Lightsail) GetStaticIpsRequest(input *GetStaticIpsInput) (req *request. // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps -func (c *Lightsail) GetStaticIps(input *GetStaticIpsInput) (*GetStaticIpsOutput, error) { - req, out := c.GetStaticIpsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshot +func (c *Lightsail) GetRelationalDatabaseSnapshot(input *GetRelationalDatabaseSnapshotInput) (*GetRelationalDatabaseSnapshotOutput, error) { + req, out := c.GetRelationalDatabaseSnapshotRequest(input) return out, req.Send() } -// GetStaticIpsWithContext is the same as GetStaticIps with the addition of +// GetRelationalDatabaseSnapshotWithContext is the same as GetRelationalDatabaseSnapshot with the addition of // the ability to pass a context and additional request options. // -// See GetStaticIps for details on how to use this API operation. +// See GetRelationalDatabaseSnapshot for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) GetStaticIpsWithContext(ctx aws.Context, input *GetStaticIpsInput, opts ...request.Option) (*GetStaticIpsOutput, error) { - req, out := c.GetStaticIpsRequest(input) +func (c *Lightsail) GetRelationalDatabaseSnapshotWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotOutput, error) { + req, out := c.GetRelationalDatabaseSnapshotRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opImportKeyPair = "ImportKeyPair" +const opGetRelationalDatabaseSnapshots = "GetRelationalDatabaseSnapshots" -// ImportKeyPairRequest generates a "aws/request.Request" representing the -// client's request for the ImportKeyPair operation. The "output" return +// GetRelationalDatabaseSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabaseSnapshots operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 +// See GetRelationalDatabaseSnapshots for more information on using the GetRelationalDatabaseSnapshots // API call, and error handling. // // This method is useful when you want to 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) +// // Example sending a request using the GetRelationalDatabaseSnapshotsRequest method. +// req, resp := client.GetRelationalDatabaseSnapshotsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair -func (c *Lightsail) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots +func (c *Lightsail) GetRelationalDatabaseSnapshotsRequest(input *GetRelationalDatabaseSnapshotsInput) (req *request.Request, output *GetRelationalDatabaseSnapshotsOutput) { op := &request.Operation{ - Name: opImportKeyPair, + Name: opGetRelationalDatabaseSnapshots, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ImportKeyPairInput{} + input = &GetRelationalDatabaseSnapshotsInput{} } - output = &ImportKeyPairOutput{} + output = &GetRelationalDatabaseSnapshotsOutput{} req = c.newRequest(op, input, output) return } -// ImportKeyPair API operation for Amazon Lightsail. +// GetRelationalDatabaseSnapshots API operation for Amazon Lightsail. // -// Imports a public SSH key from a specific key pair. +// Returns information about all of your database snapshots in Amazon Lightsail. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation ImportKeyPair for usage and error information. +// API operation GetRelationalDatabaseSnapshots for usage and error information. // // Returned Error Types: // * ServiceException @@ -9850,80 +10589,80 @@ func (c *Lightsail) ImportKeyPairRequest(input *ImportKeyPairInput) (req *reques // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair -func (c *Lightsail) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) { - req, out := c.ImportKeyPairRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabaseSnapshots +func (c *Lightsail) GetRelationalDatabaseSnapshots(input *GetRelationalDatabaseSnapshotsInput) (*GetRelationalDatabaseSnapshotsOutput, error) { + req, out := c.GetRelationalDatabaseSnapshotsRequest(input) return out, req.Send() } -// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of +// GetRelationalDatabaseSnapshotsWithContext is the same as GetRelationalDatabaseSnapshots 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. +// See GetRelationalDatabaseSnapshots for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) { - req, out := c.ImportKeyPairRequest(input) +func (c *Lightsail) GetRelationalDatabaseSnapshotsWithContext(ctx aws.Context, input *GetRelationalDatabaseSnapshotsInput, opts ...request.Option) (*GetRelationalDatabaseSnapshotsOutput, error) { + req, out := c.GetRelationalDatabaseSnapshotsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opIsVpcPeered = "IsVpcPeered" +const opGetRelationalDatabases = "GetRelationalDatabases" -// IsVpcPeeredRequest generates a "aws/request.Request" representing the -// client's request for the IsVpcPeered operation. The "output" return +// GetRelationalDatabasesRequest generates a "aws/request.Request" representing the +// client's request for the GetRelationalDatabases operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See IsVpcPeered for more information on using the IsVpcPeered +// See GetRelationalDatabases for more information on using the GetRelationalDatabases // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the IsVpcPeeredRequest method. -// req, resp := client.IsVpcPeeredRequest(params) +// // Example sending a request using the GetRelationalDatabasesRequest method. +// req, resp := client.GetRelationalDatabasesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered -func (c *Lightsail) IsVpcPeeredRequest(input *IsVpcPeeredInput) (req *request.Request, output *IsVpcPeeredOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases +func (c *Lightsail) GetRelationalDatabasesRequest(input *GetRelationalDatabasesInput) (req *request.Request, output *GetRelationalDatabasesOutput) { op := &request.Operation{ - Name: opIsVpcPeered, + Name: opGetRelationalDatabases, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &IsVpcPeeredInput{} + input = &GetRelationalDatabasesInput{} } - output = &IsVpcPeeredOutput{} + output = &GetRelationalDatabasesOutput{} req = c.newRequest(op, input, output) return } -// IsVpcPeered API operation for Amazon Lightsail. +// GetRelationalDatabases API operation for Amazon Lightsail. // -// Returns a Boolean value indicating whether your Lightsail VPC is peered. +// Returns information about all of your databases in Amazon Lightsail. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation IsVpcPeered for usage and error information. +// API operation GetRelationalDatabases for usage and error information. // // Returned Error Types: // * ServiceException @@ -9954,84 +10693,80 @@ func (c *Lightsail) IsVpcPeeredRequest(input *IsVpcPeeredInput) (req *request.Re // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered -func (c *Lightsail) IsVpcPeered(input *IsVpcPeeredInput) (*IsVpcPeeredOutput, error) { - req, out := c.IsVpcPeeredRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetRelationalDatabases +func (c *Lightsail) GetRelationalDatabases(input *GetRelationalDatabasesInput) (*GetRelationalDatabasesOutput, error) { + req, out := c.GetRelationalDatabasesRequest(input) return out, req.Send() } -// IsVpcPeeredWithContext is the same as IsVpcPeered with the addition of +// GetRelationalDatabasesWithContext is the same as GetRelationalDatabases with the addition of // the ability to pass a context and additional request options. // -// See IsVpcPeered for details on how to use this API operation. +// See GetRelationalDatabases for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) IsVpcPeeredWithContext(ctx aws.Context, input *IsVpcPeeredInput, opts ...request.Option) (*IsVpcPeeredOutput, error) { - req, out := c.IsVpcPeeredRequest(input) +func (c *Lightsail) GetRelationalDatabasesWithContext(ctx aws.Context, input *GetRelationalDatabasesInput, opts ...request.Option) (*GetRelationalDatabasesOutput, error) { + req, out := c.GetRelationalDatabasesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opOpenInstancePublicPorts = "OpenInstancePublicPorts" +const opGetStaticIp = "GetStaticIp" -// OpenInstancePublicPortsRequest generates a "aws/request.Request" representing the -// client's request for the OpenInstancePublicPorts operation. The "output" return +// GetStaticIpRequest generates a "aws/request.Request" representing the +// client's request for the GetStaticIp operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See OpenInstancePublicPorts for more information on using the OpenInstancePublicPorts +// See GetStaticIp for more information on using the GetStaticIp // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the OpenInstancePublicPortsRequest method. -// req, resp := client.OpenInstancePublicPortsRequest(params) +// // Example sending a request using the GetStaticIpRequest method. +// req, resp := client.GetStaticIpRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts -func (c *Lightsail) OpenInstancePublicPortsRequest(input *OpenInstancePublicPortsInput) (req *request.Request, output *OpenInstancePublicPortsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp +func (c *Lightsail) GetStaticIpRequest(input *GetStaticIpInput) (req *request.Request, output *GetStaticIpOutput) { op := &request.Operation{ - Name: opOpenInstancePublicPorts, + Name: opGetStaticIp, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &OpenInstancePublicPortsInput{} + input = &GetStaticIpInput{} } - output = &OpenInstancePublicPortsOutput{} + output = &GetStaticIpOutput{} req = c.newRequest(op, input, output) return } -// OpenInstancePublicPorts API operation for Amazon Lightsail. -// -// Adds public ports to an Amazon Lightsail instance. +// GetStaticIp API operation for Amazon Lightsail. // -// The open instance public ports operation supports tag-based access control -// via resource tags applied to the resource identified by instance name. For -// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// Returns information about a specific static IP. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation OpenInstancePublicPorts for usage and error information. +// API operation GetStaticIp for usage and error information. // // Returned Error Types: // * ServiceException @@ -10062,80 +10797,80 @@ func (c *Lightsail) OpenInstancePublicPortsRequest(input *OpenInstancePublicPort // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts -func (c *Lightsail) OpenInstancePublicPorts(input *OpenInstancePublicPortsInput) (*OpenInstancePublicPortsOutput, error) { - req, out := c.OpenInstancePublicPortsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIp +func (c *Lightsail) GetStaticIp(input *GetStaticIpInput) (*GetStaticIpOutput, error) { + req, out := c.GetStaticIpRequest(input) return out, req.Send() } -// OpenInstancePublicPortsWithContext is the same as OpenInstancePublicPorts with the addition of +// GetStaticIpWithContext is the same as GetStaticIp with the addition of // the ability to pass a context and additional request options. // -// See OpenInstancePublicPorts for details on how to use this API operation. +// See GetStaticIp for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) OpenInstancePublicPortsWithContext(ctx aws.Context, input *OpenInstancePublicPortsInput, opts ...request.Option) (*OpenInstancePublicPortsOutput, error) { - req, out := c.OpenInstancePublicPortsRequest(input) +func (c *Lightsail) GetStaticIpWithContext(ctx aws.Context, input *GetStaticIpInput, opts ...request.Option) (*GetStaticIpOutput, error) { + req, out := c.GetStaticIpRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPeerVpc = "PeerVpc" +const opGetStaticIps = "GetStaticIps" -// PeerVpcRequest generates a "aws/request.Request" representing the -// client's request for the PeerVpc operation. The "output" return +// GetStaticIpsRequest generates a "aws/request.Request" representing the +// client's request for the GetStaticIps operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PeerVpc for more information on using the PeerVpc +// See GetStaticIps for more information on using the GetStaticIps // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the PeerVpcRequest method. -// req, resp := client.PeerVpcRequest(params) +// // Example sending a request using the GetStaticIpsRequest method. +// req, resp := client.GetStaticIpsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc -func (c *Lightsail) PeerVpcRequest(input *PeerVpcInput) (req *request.Request, output *PeerVpcOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps +func (c *Lightsail) GetStaticIpsRequest(input *GetStaticIpsInput) (req *request.Request, output *GetStaticIpsOutput) { op := &request.Operation{ - Name: opPeerVpc, + Name: opGetStaticIps, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &PeerVpcInput{} + input = &GetStaticIpsInput{} } - output = &PeerVpcOutput{} + output = &GetStaticIpsOutput{} req = c.newRequest(op, input, output) return } -// PeerVpc API operation for Amazon Lightsail. +// GetStaticIps API operation for Amazon Lightsail. // -// Tries to peer the Lightsail VPC with the user's default VPC. +// Returns information about all static IPs in the user's 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 Lightsail's -// API operation PeerVpc for usage and error information. +// API operation GetStaticIps for usage and error information. // // Returned Error Types: // * ServiceException @@ -10166,93 +10901,80 @@ func (c *Lightsail) PeerVpcRequest(input *PeerVpcInput) (req *request.Request, o // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc -func (c *Lightsail) PeerVpc(input *PeerVpcInput) (*PeerVpcOutput, error) { - req, out := c.PeerVpcRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetStaticIps +func (c *Lightsail) GetStaticIps(input *GetStaticIpsInput) (*GetStaticIpsOutput, error) { + req, out := c.GetStaticIpsRequest(input) return out, req.Send() } -// PeerVpcWithContext is the same as PeerVpc with the addition of +// GetStaticIpsWithContext is the same as GetStaticIps with the addition of // the ability to pass a context and additional request options. // -// See PeerVpc for details on how to use this API operation. +// See GetStaticIps for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) PeerVpcWithContext(ctx aws.Context, input *PeerVpcInput, opts ...request.Option) (*PeerVpcOutput, error) { - req, out := c.PeerVpcRequest(input) +func (c *Lightsail) GetStaticIpsWithContext(ctx aws.Context, input *GetStaticIpsInput, opts ...request.Option) (*GetStaticIpsOutput, error) { + req, out := c.GetStaticIpsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutAlarm = "PutAlarm" +const opImportKeyPair = "ImportKeyPair" -// PutAlarmRequest generates a "aws/request.Request" representing the -// client's request for the PutAlarm operation. The "output" return +// 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 // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PutAlarm for more information on using the PutAlarm +// 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 PutAlarmRequest method. -// req, resp := client.PutAlarmRequest(params) +// // 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/lightsail-2016-11-28/PutAlarm -func (c *Lightsail) PutAlarmRequest(input *PutAlarmInput) (req *request.Request, output *PutAlarmOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair +func (c *Lightsail) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) { op := &request.Operation{ - Name: opPutAlarm, + Name: opImportKeyPair, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &PutAlarmInput{} + input = &ImportKeyPairInput{} } - output = &PutAlarmOutput{} + output = &ImportKeyPairOutput{} req = c.newRequest(op, input, output) return } -// PutAlarm API operation for Amazon Lightsail. -// -// Creates or updates an alarm, and associates it with the specified metric. -// -// An alarm is used to monitor a single metric for one of your resources. When -// a metric condition is met, the alarm can notify you by email, SMS text message, -// and a banner displayed on the Amazon Lightsail console. For more information, -// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms). -// -// When this action creates an alarm, the alarm state is immediately set to -// INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. -// Any actions associated with the new state are then executed. +// ImportKeyPair API operation for Amazon Lightsail. // -// When you update an existing alarm, its state is left unchanged, but the update -// completely overwrites the previous configuration of the alarm. The alarm -// is then evaluated with the updated configuration. +// Imports a public SSH key from a specific key pair. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation PutAlarm for usage and error information. +// API operation ImportKeyPair for usage and error information. // // Returned Error Types: // * ServiceException @@ -10266,6 +10988,9 @@ func (c *Lightsail) PutAlarmRequest(input *PutAlarmInput) (req *request.Request, // Please set your AWS Region configuration to us-east-1 to create, view, or // edit these resources. // +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// // * OperationFailureException // Lightsail throws this exception when an operation fails to execute. // @@ -10273,91 +10998,87 @@ func (c *Lightsail) PutAlarmRequest(input *PutAlarmInput) (req *request.Request, // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // +// * AccountSetupInProgressException +// Lightsail throws this exception when an account is still in the setup in +// progress state. +// // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// * NotFoundException -// Lightsail throws this exception when it cannot find a resource. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm -func (c *Lightsail) PutAlarm(input *PutAlarmInput) (*PutAlarmOutput, error) { - req, out := c.PutAlarmRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ImportKeyPair +func (c *Lightsail) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) { + req, out := c.ImportKeyPairRequest(input) return out, req.Send() } -// PutAlarmWithContext is the same as PutAlarm with the addition of +// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of // the ability to pass a context and additional request options. // -// See PutAlarm for details on how to use this API operation. +// 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 *Lightsail) PutAlarmWithContext(ctx aws.Context, input *PutAlarmInput, opts ...request.Option) (*PutAlarmOutput, error) { - req, out := c.PutAlarmRequest(input) +func (c *Lightsail) 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 opPutInstancePublicPorts = "PutInstancePublicPorts" +const opIsVpcPeered = "IsVpcPeered" -// PutInstancePublicPortsRequest generates a "aws/request.Request" representing the -// client's request for the PutInstancePublicPorts operation. The "output" return +// IsVpcPeeredRequest generates a "aws/request.Request" representing the +// client's request for the IsVpcPeered operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PutInstancePublicPorts for more information on using the PutInstancePublicPorts +// See IsVpcPeered for more information on using the IsVpcPeered // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the PutInstancePublicPortsRequest method. -// req, resp := client.PutInstancePublicPortsRequest(params) +// // Example sending a request using the IsVpcPeeredRequest method. +// req, resp := client.IsVpcPeeredRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts -func (c *Lightsail) PutInstancePublicPortsRequest(input *PutInstancePublicPortsInput) (req *request.Request, output *PutInstancePublicPortsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered +func (c *Lightsail) IsVpcPeeredRequest(input *IsVpcPeeredInput) (req *request.Request, output *IsVpcPeeredOutput) { op := &request.Operation{ - Name: opPutInstancePublicPorts, + Name: opIsVpcPeered, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &PutInstancePublicPortsInput{} + input = &IsVpcPeeredInput{} } - output = &PutInstancePublicPortsOutput{} + output = &IsVpcPeeredOutput{} req = c.newRequest(op, input, output) return } -// PutInstancePublicPorts API operation for Amazon Lightsail. -// -// Sets the specified open ports for an Amazon Lightsail instance, and closes -// all ports for every protocol not included in the current request. +// IsVpcPeered API operation for Amazon Lightsail. // -// The put instance public ports operation supports tag-based access control -// via resource tags applied to the resource identified by instance name. For -// more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// Returns a Boolean value indicating whether your Lightsail VPC is peered. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation PutInstancePublicPorts for usage and error information. +// API operation IsVpcPeered for usage and error information. // // Returned Error Types: // * ServiceException @@ -10388,84 +11109,85 @@ func (c *Lightsail) PutInstancePublicPortsRequest(input *PutInstancePublicPortsI // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts -func (c *Lightsail) PutInstancePublicPorts(input *PutInstancePublicPortsInput) (*PutInstancePublicPortsOutput, error) { - req, out := c.PutInstancePublicPortsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeered +func (c *Lightsail) IsVpcPeered(input *IsVpcPeeredInput) (*IsVpcPeeredOutput, error) { + req, out := c.IsVpcPeeredRequest(input) return out, req.Send() } -// PutInstancePublicPortsWithContext is the same as PutInstancePublicPorts with the addition of +// IsVpcPeeredWithContext is the same as IsVpcPeered with the addition of // the ability to pass a context and additional request options. // -// See PutInstancePublicPorts for details on how to use this API operation. +// See IsVpcPeered for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) PutInstancePublicPortsWithContext(ctx aws.Context, input *PutInstancePublicPortsInput, opts ...request.Option) (*PutInstancePublicPortsOutput, error) { - req, out := c.PutInstancePublicPortsRequest(input) +func (c *Lightsail) IsVpcPeeredWithContext(ctx aws.Context, input *IsVpcPeeredInput, opts ...request.Option) (*IsVpcPeeredOutput, error) { + req, out := c.IsVpcPeeredRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRebootInstance = "RebootInstance" +const opOpenInstancePublicPorts = "OpenInstancePublicPorts" -// RebootInstanceRequest generates a "aws/request.Request" representing the -// client's request for the RebootInstance operation. The "output" return +// OpenInstancePublicPortsRequest generates a "aws/request.Request" representing the +// client's request for the OpenInstancePublicPorts operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See RebootInstance for more information on using the RebootInstance +// See OpenInstancePublicPorts for more information on using the OpenInstancePublicPorts // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the RebootInstanceRequest method. -// req, resp := client.RebootInstanceRequest(params) +// // Example sending a request using the OpenInstancePublicPortsRequest method. +// req, resp := client.OpenInstancePublicPortsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance -func (c *Lightsail) RebootInstanceRequest(input *RebootInstanceInput) (req *request.Request, output *RebootInstanceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts +func (c *Lightsail) OpenInstancePublicPortsRequest(input *OpenInstancePublicPortsInput) (req *request.Request, output *OpenInstancePublicPortsOutput) { op := &request.Operation{ - Name: opRebootInstance, + Name: opOpenInstancePublicPorts, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &RebootInstanceInput{} + input = &OpenInstancePublicPortsInput{} } - output = &RebootInstanceOutput{} + output = &OpenInstancePublicPortsOutput{} req = c.newRequest(op, input, output) return } -// RebootInstance API operation for Amazon Lightsail. +// OpenInstancePublicPorts API operation for Amazon Lightsail. // -// Restarts a specific instance. +// Opens ports for a specific Amazon Lightsail instance, and specifies the IP +// addresses allowed to connect to the instance through the ports, and the protocol. // -// The reboot instance operation supports tag-based access control via resource -// tags applied to the resource identified by instance name. For more information, -// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// The OpenInstancePublicPorts action supports tag-based access control via +// resource tags applied to the resource identified by instanceName. For more +// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation RebootInstance for usage and error information. +// API operation OpenInstancePublicPorts for usage and error information. // // Returned Error Types: // * ServiceException @@ -10496,84 +11218,80 @@ func (c *Lightsail) RebootInstanceRequest(input *RebootInstanceInput) (req *requ // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance -func (c *Lightsail) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOutput, error) { - req, out := c.RebootInstanceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/OpenInstancePublicPorts +func (c *Lightsail) OpenInstancePublicPorts(input *OpenInstancePublicPortsInput) (*OpenInstancePublicPortsOutput, error) { + req, out := c.OpenInstancePublicPortsRequest(input) return out, req.Send() } -// RebootInstanceWithContext is the same as RebootInstance with the addition of +// OpenInstancePublicPortsWithContext is the same as OpenInstancePublicPorts with the addition of // the ability to pass a context and additional request options. // -// See RebootInstance for details on how to use this API operation. +// See OpenInstancePublicPorts for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) RebootInstanceWithContext(ctx aws.Context, input *RebootInstanceInput, opts ...request.Option) (*RebootInstanceOutput, error) { - req, out := c.RebootInstanceRequest(input) +func (c *Lightsail) OpenInstancePublicPortsWithContext(ctx aws.Context, input *OpenInstancePublicPortsInput, opts ...request.Option) (*OpenInstancePublicPortsOutput, error) { + req, out := c.OpenInstancePublicPortsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRebootRelationalDatabase = "RebootRelationalDatabase" +const opPeerVpc = "PeerVpc" -// RebootRelationalDatabaseRequest generates a "aws/request.Request" representing the -// client's request for the RebootRelationalDatabase operation. The "output" return +// PeerVpcRequest generates a "aws/request.Request" representing the +// client's request for the PeerVpc operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See RebootRelationalDatabase for more information on using the RebootRelationalDatabase +// See PeerVpc for more information on using the PeerVpc // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the RebootRelationalDatabaseRequest method. -// req, resp := client.RebootRelationalDatabaseRequest(params) +// // Example sending a request using the PeerVpcRequest method. +// req, resp := client.PeerVpcRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase -func (c *Lightsail) RebootRelationalDatabaseRequest(input *RebootRelationalDatabaseInput) (req *request.Request, output *RebootRelationalDatabaseOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc +func (c *Lightsail) PeerVpcRequest(input *PeerVpcInput) (req *request.Request, output *PeerVpcOutput) { op := &request.Operation{ - Name: opRebootRelationalDatabase, + Name: opPeerVpc, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &RebootRelationalDatabaseInput{} + input = &PeerVpcInput{} } - output = &RebootRelationalDatabaseOutput{} + output = &PeerVpcOutput{} req = c.newRequest(op, input, output) return } -// RebootRelationalDatabase API operation for Amazon Lightsail. -// -// Restarts a specific database in Amazon Lightsail. +// PeerVpc API operation for Amazon Lightsail. // -// The reboot relational database operation supports tag-based access control -// via resource tags applied to the resource identified by relationalDatabaseName. -// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// Tries to peer the Lightsail VPC with the user's default 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 Lightsail's -// API operation RebootRelationalDatabase for usage and error information. +// API operation PeerVpc for usage and error information. // // Returned Error Types: // * ServiceException @@ -10604,80 +11322,93 @@ func (c *Lightsail) RebootRelationalDatabaseRequest(input *RebootRelationalDatab // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase -func (c *Lightsail) RebootRelationalDatabase(input *RebootRelationalDatabaseInput) (*RebootRelationalDatabaseOutput, error) { - req, out := c.RebootRelationalDatabaseRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PeerVpc +func (c *Lightsail) PeerVpc(input *PeerVpcInput) (*PeerVpcOutput, error) { + req, out := c.PeerVpcRequest(input) return out, req.Send() } -// RebootRelationalDatabaseWithContext is the same as RebootRelationalDatabase with the addition of +// PeerVpcWithContext is the same as PeerVpc with the addition of // the ability to pass a context and additional request options. // -// See RebootRelationalDatabase for details on how to use this API operation. +// See PeerVpc for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) RebootRelationalDatabaseWithContext(ctx aws.Context, input *RebootRelationalDatabaseInput, opts ...request.Option) (*RebootRelationalDatabaseOutput, error) { - req, out := c.RebootRelationalDatabaseRequest(input) +func (c *Lightsail) PeerVpcWithContext(ctx aws.Context, input *PeerVpcInput, opts ...request.Option) (*PeerVpcOutput, error) { + req, out := c.PeerVpcRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opReleaseStaticIp = "ReleaseStaticIp" +const opPutAlarm = "PutAlarm" -// ReleaseStaticIpRequest generates a "aws/request.Request" representing the -// client's request for the ReleaseStaticIp operation. The "output" return +// PutAlarmRequest generates a "aws/request.Request" representing the +// client's request for the PutAlarm operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ReleaseStaticIp for more information on using the ReleaseStaticIp +// See PutAlarm for more information on using the PutAlarm // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ReleaseStaticIpRequest method. -// req, resp := client.ReleaseStaticIpRequest(params) +// // Example sending a request using the PutAlarmRequest method. +// req, resp := client.PutAlarmRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp -func (c *Lightsail) ReleaseStaticIpRequest(input *ReleaseStaticIpInput) (req *request.Request, output *ReleaseStaticIpOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm +func (c *Lightsail) PutAlarmRequest(input *PutAlarmInput) (req *request.Request, output *PutAlarmOutput) { op := &request.Operation{ - Name: opReleaseStaticIp, + Name: opPutAlarm, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ReleaseStaticIpInput{} + input = &PutAlarmInput{} } - output = &ReleaseStaticIpOutput{} + output = &PutAlarmOutput{} req = c.newRequest(op, input, output) return } -// ReleaseStaticIp API operation for Amazon Lightsail. +// PutAlarm API operation for Amazon Lightsail. // -// Deletes a specific static IP from your account. +// Creates or updates an alarm, and associates it with the specified metric. +// +// An alarm is used to monitor a single metric for one of your resources. When +// a metric condition is met, the alarm can notify you by email, SMS text message, +// and a banner displayed on the Amazon Lightsail console. For more information, +// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms). +// +// When this action creates an alarm, the alarm state is immediately set to +// INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. +// Any actions associated with the new state are then executed. +// +// When you update an existing alarm, its state is left unchanged, but the update +// completely overwrites the previous configuration of the alarm. The alarm +// is then evaluated with the updated configuration. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation ReleaseStaticIp for usage and error information. +// API operation PutAlarm for usage and error information. // // Returned Error Types: // * ServiceException @@ -10691,9 +11422,6 @@ func (c *Lightsail) ReleaseStaticIpRequest(input *ReleaseStaticIpInput) (req *re // Please set your AWS Region configuration to us-east-1 to create, view, or // edit these resources. // -// * NotFoundException -// Lightsail throws this exception when it cannot find a resource. -// // * OperationFailureException // Lightsail throws this exception when an operation fails to execute. // @@ -10701,101 +11429,95 @@ func (c *Lightsail) ReleaseStaticIpRequest(input *ReleaseStaticIpInput) (req *re // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * AccountSetupInProgressException -// Lightsail throws this exception when an account is still in the setup in -// progress state. -// // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp -func (c *Lightsail) ReleaseStaticIp(input *ReleaseStaticIpInput) (*ReleaseStaticIpOutput, error) { - req, out := c.ReleaseStaticIpRequest(input) +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutAlarm +func (c *Lightsail) PutAlarm(input *PutAlarmInput) (*PutAlarmOutput, error) { + req, out := c.PutAlarmRequest(input) return out, req.Send() } -// ReleaseStaticIpWithContext is the same as ReleaseStaticIp with the addition of +// PutAlarmWithContext is the same as PutAlarm with the addition of // the ability to pass a context and additional request options. // -// See ReleaseStaticIp for details on how to use this API operation. +// See PutAlarm for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) ReleaseStaticIpWithContext(ctx aws.Context, input *ReleaseStaticIpInput, opts ...request.Option) (*ReleaseStaticIpOutput, error) { - req, out := c.ReleaseStaticIpRequest(input) +func (c *Lightsail) PutAlarmWithContext(ctx aws.Context, input *PutAlarmInput, opts ...request.Option) (*PutAlarmOutput, error) { + req, out := c.PutAlarmRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opSendContactMethodVerification = "SendContactMethodVerification" +const opPutInstancePublicPorts = "PutInstancePublicPorts" -// SendContactMethodVerificationRequest generates a "aws/request.Request" representing the -// client's request for the SendContactMethodVerification operation. The "output" return +// PutInstancePublicPortsRequest generates a "aws/request.Request" representing the +// client's request for the PutInstancePublicPorts operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See SendContactMethodVerification for more information on using the SendContactMethodVerification +// See PutInstancePublicPorts for more information on using the PutInstancePublicPorts // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the SendContactMethodVerificationRequest method. -// req, resp := client.SendContactMethodVerificationRequest(params) +// // Example sending a request using the PutInstancePublicPortsRequest method. +// req, resp := client.PutInstancePublicPortsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification -func (c *Lightsail) SendContactMethodVerificationRequest(input *SendContactMethodVerificationInput) (req *request.Request, output *SendContactMethodVerificationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts +func (c *Lightsail) PutInstancePublicPortsRequest(input *PutInstancePublicPortsInput) (req *request.Request, output *PutInstancePublicPortsOutput) { op := &request.Operation{ - Name: opSendContactMethodVerification, + Name: opPutInstancePublicPorts, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &SendContactMethodVerificationInput{} + input = &PutInstancePublicPortsInput{} } - output = &SendContactMethodVerificationOutput{} + output = &PutInstancePublicPortsOutput{} req = c.newRequest(op, input, output) return } -// SendContactMethodVerification API operation for Amazon Lightsail. -// -// Sends a verification request to an email contact method to ensure it’s -// owned by the requester. SMS contact methods don’t need to be verified. -// -// A contact method is used to send you notifications about your Amazon Lightsail -// resources. You can add one email address and one mobile phone number contact -// method in each AWS Region. However, SMS text messaging is not supported in -// some AWS Regions, and SMS text messages cannot be sent to some countries/regions. -// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications). +// PutInstancePublicPorts API operation for Amazon Lightsail. // -// A verification request is sent to the contact method when you initially create -// it. Use this action to send another verification request if a previous verification -// request was deleted, or has expired. +// Opens ports for a specific Amazon Lightsail instance, and specifies the IP +// addresses allowed to connect to the instance through the ports, and the protocol. +// This action also closes all currently open ports that are not included in +// the request. Include all of the ports and the protocols you want to open +// in your PutInstancePublicPortsrequest. Or use the OpenInstancePublicPorts +// action to open ports without closing currently open ports. // -// Notifications are not sent to an email contact method until after it is verified, -// and confirmed as valid. +// The PutInstancePublicPorts action supports tag-based access control via resource +// tags applied to the resource identified by instanceName. For more information, +// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation SendContactMethodVerification for usage and error information. +// API operation PutInstancePublicPorts for usage and error information. // // Returned Error Types: // * ServiceException @@ -10809,94 +11531,92 @@ func (c *Lightsail) SendContactMethodVerificationRequest(input *SendContactMetho // Please set your AWS Region configuration to us-east-1 to create, view, or // edit these resources. // +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// // * OperationFailureException // Lightsail throws this exception when an operation fails to execute. // -// * UnauthenticatedException -// Lightsail throws this exception when the user has not been authenticated. -// // * AccessDeniedException // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * NotFoundException -// Lightsail throws this exception when it cannot find a resource. +// * AccountSetupInProgressException +// Lightsail throws this exception when an account is still in the setup in +// progress state. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification -func (c *Lightsail) SendContactMethodVerification(input *SendContactMethodVerificationInput) (*SendContactMethodVerificationOutput, error) { - req, out := c.SendContactMethodVerificationRequest(input) +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/PutInstancePublicPorts +func (c *Lightsail) PutInstancePublicPorts(input *PutInstancePublicPortsInput) (*PutInstancePublicPortsOutput, error) { + req, out := c.PutInstancePublicPortsRequest(input) return out, req.Send() } -// SendContactMethodVerificationWithContext is the same as SendContactMethodVerification with the addition of +// PutInstancePublicPortsWithContext is the same as PutInstancePublicPorts with the addition of // the ability to pass a context and additional request options. // -// See SendContactMethodVerification for details on how to use this API operation. +// See PutInstancePublicPorts for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) SendContactMethodVerificationWithContext(ctx aws.Context, input *SendContactMethodVerificationInput, opts ...request.Option) (*SendContactMethodVerificationOutput, error) { - req, out := c.SendContactMethodVerificationRequest(input) +func (c *Lightsail) PutInstancePublicPortsWithContext(ctx aws.Context, input *PutInstancePublicPortsInput, opts ...request.Option) (*PutInstancePublicPortsOutput, error) { + req, out := c.PutInstancePublicPortsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartInstance = "StartInstance" +const opRebootInstance = "RebootInstance" -// StartInstanceRequest generates a "aws/request.Request" representing the -// client's request for the StartInstance operation. The "output" return +// RebootInstanceRequest generates a "aws/request.Request" representing the +// client's request for the RebootInstance operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StartInstance for more information on using the StartInstance +// See RebootInstance for more information on using the RebootInstance // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the StartInstanceRequest method. -// req, resp := client.StartInstanceRequest(params) +// // Example sending a request using the RebootInstanceRequest method. +// req, resp := client.RebootInstanceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance -func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *request.Request, output *StartInstanceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance +func (c *Lightsail) RebootInstanceRequest(input *RebootInstanceInput) (req *request.Request, output *RebootInstanceOutput) { op := &request.Operation{ - Name: opStartInstance, + Name: opRebootInstance, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StartInstanceInput{} + input = &RebootInstanceInput{} } - output = &StartInstanceOutput{} + output = &RebootInstanceOutput{} req = c.newRequest(op, input, output) return } -// StartInstance API operation for Amazon Lightsail. -// -// Starts a specific Amazon Lightsail instance from a stopped state. To restart -// an instance, use the reboot instance operation. +// RebootInstance API operation for Amazon Lightsail. // -// When you start a stopped instance, Lightsail assigns a new public IP address -// to the instance. To use the same IP address after stopping and starting an -// instance, create a static IP address and attach it to the instance. For more -// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip). +// Restarts a specific instance. // -// The start instance operation supports tag-based access control via resource +// The reboot instance operation supports tag-based access control via resource // tags applied to the resource identified by instance name. For more information, // see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // @@ -10905,7 +11625,7 @@ func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *reques // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation StartInstance for usage and error information. +// API operation RebootInstance for usage and error information. // // Returned Error Types: // * ServiceException @@ -10936,76 +11656,75 @@ func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *reques // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance -func (c *Lightsail) StartInstance(input *StartInstanceInput) (*StartInstanceOutput, error) { - req, out := c.StartInstanceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootInstance +func (c *Lightsail) RebootInstance(input *RebootInstanceInput) (*RebootInstanceOutput, error) { + req, out := c.RebootInstanceRequest(input) return out, req.Send() } -// StartInstanceWithContext is the same as StartInstance with the addition of +// RebootInstanceWithContext is the same as RebootInstance with the addition of // the ability to pass a context and additional request options. // -// See StartInstance for details on how to use this API operation. +// See RebootInstance for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) StartInstanceWithContext(ctx aws.Context, input *StartInstanceInput, opts ...request.Option) (*StartInstanceOutput, error) { - req, out := c.StartInstanceRequest(input) +func (c *Lightsail) RebootInstanceWithContext(ctx aws.Context, input *RebootInstanceInput, opts ...request.Option) (*RebootInstanceOutput, error) { + req, out := c.RebootInstanceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartRelationalDatabase = "StartRelationalDatabase" +const opRebootRelationalDatabase = "RebootRelationalDatabase" -// StartRelationalDatabaseRequest generates a "aws/request.Request" representing the -// client's request for the StartRelationalDatabase operation. The "output" return +// RebootRelationalDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the RebootRelationalDatabase operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StartRelationalDatabase for more information on using the StartRelationalDatabase +// See RebootRelationalDatabase for more information on using the RebootRelationalDatabase // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the StartRelationalDatabaseRequest method. -// req, resp := client.StartRelationalDatabaseRequest(params) +// // Example sending a request using the RebootRelationalDatabaseRequest method. +// req, resp := client.RebootRelationalDatabaseRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase -func (c *Lightsail) StartRelationalDatabaseRequest(input *StartRelationalDatabaseInput) (req *request.Request, output *StartRelationalDatabaseOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase +func (c *Lightsail) RebootRelationalDatabaseRequest(input *RebootRelationalDatabaseInput) (req *request.Request, output *RebootRelationalDatabaseOutput) { op := &request.Operation{ - Name: opStartRelationalDatabase, + Name: opRebootRelationalDatabase, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StartRelationalDatabaseInput{} + input = &RebootRelationalDatabaseInput{} } - output = &StartRelationalDatabaseOutput{} + output = &RebootRelationalDatabaseOutput{} req = c.newRequest(op, input, output) return } -// StartRelationalDatabase API operation for Amazon Lightsail. +// RebootRelationalDatabase API operation for Amazon Lightsail. // -// Starts a specific database from a stopped state in Amazon Lightsail. To restart -// a database, use the reboot relational database operation. +// Restarts a specific database in Amazon Lightsail. // -// The start relational database operation supports tag-based access control +// The reboot relational database operation supports tag-based access control // via resource tags applied to the resource identified by relationalDatabaseName. // For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // @@ -11014,7 +11733,7 @@ func (c *Lightsail) StartRelationalDatabaseRequest(input *StartRelationalDatabas // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation StartRelationalDatabase for usage and error information. +// API operation RebootRelationalDatabase for usage and error information. // // Returned Error Types: // * ServiceException @@ -11045,89 +11764,80 @@ func (c *Lightsail) StartRelationalDatabaseRequest(input *StartRelationalDatabas // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase -func (c *Lightsail) StartRelationalDatabase(input *StartRelationalDatabaseInput) (*StartRelationalDatabaseOutput, error) { - req, out := c.StartRelationalDatabaseRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RebootRelationalDatabase +func (c *Lightsail) RebootRelationalDatabase(input *RebootRelationalDatabaseInput) (*RebootRelationalDatabaseOutput, error) { + req, out := c.RebootRelationalDatabaseRequest(input) return out, req.Send() } -// StartRelationalDatabaseWithContext is the same as StartRelationalDatabase with the addition of +// RebootRelationalDatabaseWithContext is the same as RebootRelationalDatabase with the addition of // the ability to pass a context and additional request options. // -// See StartRelationalDatabase for details on how to use this API operation. +// See RebootRelationalDatabase for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) StartRelationalDatabaseWithContext(ctx aws.Context, input *StartRelationalDatabaseInput, opts ...request.Option) (*StartRelationalDatabaseOutput, error) { - req, out := c.StartRelationalDatabaseRequest(input) +func (c *Lightsail) RebootRelationalDatabaseWithContext(ctx aws.Context, input *RebootRelationalDatabaseInput, opts ...request.Option) (*RebootRelationalDatabaseOutput, error) { + req, out := c.RebootRelationalDatabaseRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStopInstance = "StopInstance" +const opReleaseStaticIp = "ReleaseStaticIp" -// StopInstanceRequest generates a "aws/request.Request" representing the -// client's request for the StopInstance operation. The "output" return +// ReleaseStaticIpRequest generates a "aws/request.Request" representing the +// client's request for the ReleaseStaticIp operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StopInstance for more information on using the StopInstance +// See ReleaseStaticIp for more information on using the ReleaseStaticIp // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the StopInstanceRequest method. -// req, resp := client.StopInstanceRequest(params) +// // Example sending a request using the ReleaseStaticIpRequest method. +// req, resp := client.ReleaseStaticIpRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance -func (c *Lightsail) StopInstanceRequest(input *StopInstanceInput) (req *request.Request, output *StopInstanceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp +func (c *Lightsail) ReleaseStaticIpRequest(input *ReleaseStaticIpInput) (req *request.Request, output *ReleaseStaticIpOutput) { op := &request.Operation{ - Name: opStopInstance, + Name: opReleaseStaticIp, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StopInstanceInput{} + input = &ReleaseStaticIpInput{} } - output = &StopInstanceOutput{} + output = &ReleaseStaticIpOutput{} req = c.newRequest(op, input, output) return } -// StopInstance API operation for Amazon Lightsail. -// -// Stops a specific Amazon Lightsail instance that is currently running. -// -// When you start a stopped instance, Lightsail assigns a new public IP address -// to the instance. To use the same IP address after stopping and starting an -// instance, create a static IP address and attach it to the instance. For more -// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip). +// ReleaseStaticIp API operation for Amazon Lightsail. // -// The stop instance operation supports tag-based access control via resource -// tags applied to the resource identified by instance name. For more information, -// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// Deletes a specific static IP from your account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation StopInstance for usage and error information. +// API operation ReleaseStaticIp for usage and error information. // // Returned Error Types: // * ServiceException @@ -11158,84 +11868,84 @@ func (c *Lightsail) StopInstanceRequest(input *StopInstanceInput) (req *request. // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance -func (c *Lightsail) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, error) { - req, out := c.StopInstanceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ReleaseStaticIp +func (c *Lightsail) ReleaseStaticIp(input *ReleaseStaticIpInput) (*ReleaseStaticIpOutput, error) { + req, out := c.ReleaseStaticIpRequest(input) return out, req.Send() } -// StopInstanceWithContext is the same as StopInstance with the addition of +// ReleaseStaticIpWithContext is the same as ReleaseStaticIp with the addition of // the ability to pass a context and additional request options. // -// See StopInstance for details on how to use this API operation. +// See ReleaseStaticIp for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) StopInstanceWithContext(ctx aws.Context, input *StopInstanceInput, opts ...request.Option) (*StopInstanceOutput, error) { - req, out := c.StopInstanceRequest(input) +func (c *Lightsail) ReleaseStaticIpWithContext(ctx aws.Context, input *ReleaseStaticIpInput, opts ...request.Option) (*ReleaseStaticIpOutput, error) { + req, out := c.ReleaseStaticIpRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStopRelationalDatabase = "StopRelationalDatabase" +const opResetDistributionCache = "ResetDistributionCache" -// StopRelationalDatabaseRequest generates a "aws/request.Request" representing the -// client's request for the StopRelationalDatabase operation. The "output" return +// ResetDistributionCacheRequest generates a "aws/request.Request" representing the +// client's request for the ResetDistributionCache operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StopRelationalDatabase for more information on using the StopRelationalDatabase +// See ResetDistributionCache for more information on using the ResetDistributionCache // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the StopRelationalDatabaseRequest method. -// req, resp := client.StopRelationalDatabaseRequest(params) +// // Example sending a request using the ResetDistributionCacheRequest method. +// req, resp := client.ResetDistributionCacheRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase -func (c *Lightsail) StopRelationalDatabaseRequest(input *StopRelationalDatabaseInput) (req *request.Request, output *StopRelationalDatabaseOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ResetDistributionCache +func (c *Lightsail) ResetDistributionCacheRequest(input *ResetDistributionCacheInput) (req *request.Request, output *ResetDistributionCacheOutput) { op := &request.Operation{ - Name: opStopRelationalDatabase, + Name: opResetDistributionCache, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StopRelationalDatabaseInput{} + input = &ResetDistributionCacheInput{} } - output = &StopRelationalDatabaseOutput{} + output = &ResetDistributionCacheOutput{} req = c.newRequest(op, input, output) return } -// StopRelationalDatabase API operation for Amazon Lightsail. +// ResetDistributionCache API operation for Amazon Lightsail. // -// Stops a specific database that is currently running in Amazon Lightsail. +// Deletes currently cached content from your Amazon Lightsail content delivery +// network (CDN) distribution. // -// The stop relational database operation supports tag-based access control -// via resource tags applied to the resource identified by relationalDatabaseName. -// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// After resetting the cache, the next time a content request is made, your +// distribution pulls, serves, and caches it from the origin. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation StopRelationalDatabase for usage and error information. +// API operation ResetDistributionCache for usage and error information. // // Returned Error Types: // * ServiceException @@ -11259,94 +11969,97 @@ func (c *Lightsail) StopRelationalDatabaseRequest(input *StopRelationalDatabaseI // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * AccountSetupInProgressException -// Lightsail throws this exception when an account is still in the setup in -// progress state. -// // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase -func (c *Lightsail) StopRelationalDatabase(input *StopRelationalDatabaseInput) (*StopRelationalDatabaseOutput, error) { - req, out := c.StopRelationalDatabaseRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ResetDistributionCache +func (c *Lightsail) ResetDistributionCache(input *ResetDistributionCacheInput) (*ResetDistributionCacheOutput, error) { + req, out := c.ResetDistributionCacheRequest(input) return out, req.Send() } -// StopRelationalDatabaseWithContext is the same as StopRelationalDatabase with the addition of +// ResetDistributionCacheWithContext is the same as ResetDistributionCache with the addition of // the ability to pass a context and additional request options. // -// See StopRelationalDatabase for details on how to use this API operation. +// See ResetDistributionCache for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) StopRelationalDatabaseWithContext(ctx aws.Context, input *StopRelationalDatabaseInput, opts ...request.Option) (*StopRelationalDatabaseOutput, error) { - req, out := c.StopRelationalDatabaseRequest(input) +func (c *Lightsail) ResetDistributionCacheWithContext(ctx aws.Context, input *ResetDistributionCacheInput, opts ...request.Option) (*ResetDistributionCacheOutput, error) { + req, out := c.ResetDistributionCacheRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +const opSendContactMethodVerification = "SendContactMethodVerification" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// SendContactMethodVerificationRequest generates a "aws/request.Request" representing the +// client's request for the SendContactMethodVerification operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TagResource for more information on using the TagResource +// See SendContactMethodVerification for more information on using the SendContactMethodVerification // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the SendContactMethodVerificationRequest method. +// req, resp := client.SendContactMethodVerificationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource -func (c *Lightsail) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification +func (c *Lightsail) SendContactMethodVerificationRequest(input *SendContactMethodVerificationInput) (req *request.Request, output *SendContactMethodVerificationOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opSendContactMethodVerification, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &TagResourceInput{} + input = &SendContactMethodVerificationInput{} } - output = &TagResourceOutput{} + output = &SendContactMethodVerificationOutput{} req = c.newRequest(op, input, output) return } -// TagResource API operation for Amazon Lightsail. +// SendContactMethodVerification API operation for Amazon Lightsail. // -// Adds one or more tags to the specified Amazon Lightsail resource. Each resource -// can have a maximum of 50 tags. Each tag consists of a key and an optional -// value. Tag keys must be unique per resource. For more information about tags, -// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). +// Sends a verification request to an email contact method to ensure it's owned +// by the requester. SMS contact methods don't need to be verified. // -// The tag resource operation supports tag-based access control via request -// tags and resource tags applied to the resource identified by resource name. -// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// A contact method is used to send you notifications about your Amazon Lightsail +// resources. You can add one email address and one mobile phone number contact +// method in each AWS Region. However, SMS text messaging is not supported in +// some AWS Regions, and SMS text messages cannot be sent to some countries/regions. +// For more information, see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications). +// +// A verification request is sent to the contact method when you initially create +// it. Use this action to send another verification request if a previous verification +// request was deleted, or has expired. +// +// Notifications are not sent to an email contact method until after it is verified, +// and confirmed as valid. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation TagResource for usage and error information. +// API operation SendContactMethodVerification for usage and error information. // // Returned Error Types: // * ServiceException @@ -11360,105 +12073,103 @@ func (c *Lightsail) TagResourceRequest(input *TagResourceInput) (req *request.Re // Please set your AWS Region configuration to us-east-1 to create, view, or // edit these resources. // -// * NotFoundException -// Lightsail throws this exception when it cannot find a resource. -// // * OperationFailureException // Lightsail throws this exception when an operation fails to execute. // +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// // * AccessDeniedException // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * AccountSetupInProgressException -// Lightsail throws this exception when an account is still in the setup in -// progress state. +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. // -// * UnauthenticatedException -// Lightsail throws this exception when the user has not been authenticated. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource -func (c *Lightsail) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SendContactMethodVerification +func (c *Lightsail) SendContactMethodVerification(input *SendContactMethodVerificationInput) (*SendContactMethodVerificationOutput, error) { + req, out := c.SendContactMethodVerificationRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// SendContactMethodVerificationWithContext is the same as SendContactMethodVerification with the addition of // the ability to pass a context and additional request options. // -// See TagResource for details on how to use this API operation. +// See SendContactMethodVerification for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *Lightsail) SendContactMethodVerificationWithContext(ctx aws.Context, input *SendContactMethodVerificationInput, opts ...request.Option) (*SendContactMethodVerificationOutput, error) { + req, out := c.SendContactMethodVerificationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTestAlarm = "TestAlarm" +const opStartInstance = "StartInstance" -// TestAlarmRequest generates a "aws/request.Request" representing the -// client's request for the TestAlarm operation. The "output" return +// StartInstanceRequest generates a "aws/request.Request" representing the +// client's request for the StartInstance operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TestAlarm for more information on using the TestAlarm +// See StartInstance for more information on using the StartInstance // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the TestAlarmRequest method. -// req, resp := client.TestAlarmRequest(params) +// // Example sending a request using the StartInstanceRequest method. +// req, resp := client.StartInstanceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm -func (c *Lightsail) TestAlarmRequest(input *TestAlarmInput) (req *request.Request, output *TestAlarmOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance +func (c *Lightsail) StartInstanceRequest(input *StartInstanceInput) (req *request.Request, output *StartInstanceOutput) { op := &request.Operation{ - Name: opTestAlarm, + Name: opStartInstance, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &TestAlarmInput{} + input = &StartInstanceInput{} } - output = &TestAlarmOutput{} + output = &StartInstanceOutput{} req = c.newRequest(op, input, output) return } -// TestAlarm API operation for Amazon Lightsail. +// StartInstance API operation for Amazon Lightsail. // -// Tests an alarm by displaying a banner on the Amazon Lightsail console. If -// a notification trigger is configured for the specified alarm, the test also -// sends a notification to the notification protocol (Email and/or SMS) configured -// for the alarm. +// Starts a specific Amazon Lightsail instance from a stopped state. To restart +// an instance, use the reboot instance operation. // -// An alarm is used to monitor a single metric for one of your resources. When -// a metric condition is met, the alarm can notify you by email, SMS text message, -// and a banner displayed on the Amazon Lightsail console. For more information, -// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms). +// When you start a stopped instance, Lightsail assigns a new public IP address +// to the instance. To use the same IP address after stopping and starting an +// instance, create a static IP address and attach it to the instance. For more +// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip). +// +// The start instance operation supports tag-based access control via resource +// tags applied to the resource identified by instance name. For more information, +// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation TestAlarm for usage and error information. +// API operation StartInstance for usage and error information. // // Returned Error Types: // * ServiceException @@ -11472,93 +12183,102 @@ func (c *Lightsail) TestAlarmRequest(input *TestAlarmInput) (req *request.Reques // Please set your AWS Region configuration to us-east-1 to create, view, or // edit these resources. // +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// // * OperationFailureException // Lightsail throws this exception when an operation fails to execute. // -// * UnauthenticatedException -// Lightsail throws this exception when the user has not been authenticated. -// // * AccessDeniedException // Lightsail throws this exception when the user cannot be authenticated or // uses invalid credentials to access a resource. // -// * NotFoundException -// Lightsail throws this exception when it cannot find a resource. +// * AccountSetupInProgressException +// Lightsail throws this exception when an account is still in the setup in +// progress state. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm -func (c *Lightsail) TestAlarm(input *TestAlarmInput) (*TestAlarmOutput, error) { - req, out := c.TestAlarmRequest(input) +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartInstance +func (c *Lightsail) StartInstance(input *StartInstanceInput) (*StartInstanceOutput, error) { + req, out := c.StartInstanceRequest(input) return out, req.Send() } -// TestAlarmWithContext is the same as TestAlarm with the addition of +// StartInstanceWithContext is the same as StartInstance with the addition of // the ability to pass a context and additional request options. // -// See TestAlarm for details on how to use this API operation. +// See StartInstance for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) TestAlarmWithContext(ctx aws.Context, input *TestAlarmInput, opts ...request.Option) (*TestAlarmOutput, error) { - req, out := c.TestAlarmRequest(input) +func (c *Lightsail) StartInstanceWithContext(ctx aws.Context, input *StartInstanceInput, opts ...request.Option) (*StartInstanceOutput, error) { + req, out := c.StartInstanceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUnpeerVpc = "UnpeerVpc" +const opStartRelationalDatabase = "StartRelationalDatabase" -// UnpeerVpcRequest generates a "aws/request.Request" representing the -// client's request for the UnpeerVpc operation. The "output" return +// StartRelationalDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the StartRelationalDatabase operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UnpeerVpc for more information on using the UnpeerVpc +// See StartRelationalDatabase for more information on using the StartRelationalDatabase // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UnpeerVpcRequest method. -// req, resp := client.UnpeerVpcRequest(params) +// // Example sending a request using the StartRelationalDatabaseRequest method. +// req, resp := client.StartRelationalDatabaseRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc -func (c *Lightsail) UnpeerVpcRequest(input *UnpeerVpcInput) (req *request.Request, output *UnpeerVpcOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase +func (c *Lightsail) StartRelationalDatabaseRequest(input *StartRelationalDatabaseInput) (req *request.Request, output *StartRelationalDatabaseOutput) { op := &request.Operation{ - Name: opUnpeerVpc, + Name: opStartRelationalDatabase, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UnpeerVpcInput{} + input = &StartRelationalDatabaseInput{} } - output = &UnpeerVpcOutput{} + output = &StartRelationalDatabaseOutput{} req = c.newRequest(op, input, output) return } -// UnpeerVpc API operation for Amazon Lightsail. +// StartRelationalDatabase API operation for Amazon Lightsail. // -// Attempts to unpeer the Lightsail VPC from the user's default VPC. +// Starts a specific database from a stopped state in Amazon Lightsail. To restart +// a database, use the reboot relational database operation. +// +// The start relational database operation supports tag-based access control +// via resource tags applied to the resource identified by relationalDatabaseName. +// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation UnpeerVpc for usage and error information. +// API operation StartRelationalDatabase for usage and error information. // // Returned Error Types: // * ServiceException @@ -11589,85 +12309,89 @@ func (c *Lightsail) UnpeerVpcRequest(input *UnpeerVpcInput) (req *request.Reques // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc -func (c *Lightsail) UnpeerVpc(input *UnpeerVpcInput) (*UnpeerVpcOutput, error) { - req, out := c.UnpeerVpcRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StartRelationalDatabase +func (c *Lightsail) StartRelationalDatabase(input *StartRelationalDatabaseInput) (*StartRelationalDatabaseOutput, error) { + req, out := c.StartRelationalDatabaseRequest(input) return out, req.Send() } -// UnpeerVpcWithContext is the same as UnpeerVpc with the addition of +// StartRelationalDatabaseWithContext is the same as StartRelationalDatabase with the addition of // the ability to pass a context and additional request options. // -// See UnpeerVpc for details on how to use this API operation. +// See StartRelationalDatabase for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) UnpeerVpcWithContext(ctx aws.Context, input *UnpeerVpcInput, opts ...request.Option) (*UnpeerVpcOutput, error) { - req, out := c.UnpeerVpcRequest(input) +func (c *Lightsail) StartRelationalDatabaseWithContext(ctx aws.Context, input *StartRelationalDatabaseInput, opts ...request.Option) (*StartRelationalDatabaseOutput, error) { + req, out := c.StartRelationalDatabaseRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opStopInstance = "StopInstance" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// StopInstanceRequest generates a "aws/request.Request" representing the +// client's request for the StopInstance operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UntagResource for more information on using the UntagResource +// See StopInstance for more information on using the StopInstance // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // Example sending a request using the StopInstanceRequest method. +// req, resp := client.StopInstanceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource -func (c *Lightsail) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance +func (c *Lightsail) StopInstanceRequest(input *StopInstanceInput) (req *request.Request, output *StopInstanceOutput) { op := &request.Operation{ - Name: opUntagResource, + Name: opStopInstance, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UntagResourceInput{} + input = &StopInstanceInput{} } - output = &UntagResourceOutput{} + output = &StopInstanceOutput{} req = c.newRequest(op, input, output) return } -// UntagResource API operation for Amazon Lightsail. +// StopInstance API operation for Amazon Lightsail. // -// Deletes the specified set of tag keys and their values from the specified -// Amazon Lightsail resource. +// Stops a specific Amazon Lightsail instance that is currently running. // -// The untag resource operation supports tag-based access control via request -// tags and resource tags applied to the resource identified by resource name. -// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// When you start a stopped instance, Lightsail assigns a new public IP address +// to the instance. To use the same IP address after stopping and starting an +// instance, create a static IP address and attach it to the instance. For more +// information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/lightsail-create-static-ip). +// +// The stop instance operation supports tag-based access control via resource +// tags applied to the resource identified by instance name. For more information, +// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation UntagResource for usage and error information. +// API operation StopInstance for usage and error information. // // Returned Error Types: // * ServiceException @@ -11698,84 +12422,84 @@ func (c *Lightsail) UntagResourceRequest(input *UntagResourceInput) (req *reques // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource -func (c *Lightsail) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopInstance +func (c *Lightsail) StopInstance(input *StopInstanceInput) (*StopInstanceOutput, error) { + req, out := c.StopInstanceRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// StopInstanceWithContext is the same as StopInstance with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See StopInstance for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *Lightsail) StopInstanceWithContext(ctx aws.Context, input *StopInstanceInput, opts ...request.Option) (*StopInstanceOutput, error) { + req, out := c.StopInstanceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDomainEntry = "UpdateDomainEntry" +const opStopRelationalDatabase = "StopRelationalDatabase" -// UpdateDomainEntryRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDomainEntry operation. The "output" return +// StopRelationalDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the StopRelationalDatabase operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateDomainEntry for more information on using the UpdateDomainEntry +// See StopRelationalDatabase for more information on using the StopRelationalDatabase // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateDomainEntryRequest method. -// req, resp := client.UpdateDomainEntryRequest(params) +// // Example sending a request using the StopRelationalDatabaseRequest method. +// req, resp := client.StopRelationalDatabaseRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry -func (c *Lightsail) UpdateDomainEntryRequest(input *UpdateDomainEntryInput) (req *request.Request, output *UpdateDomainEntryOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase +func (c *Lightsail) StopRelationalDatabaseRequest(input *StopRelationalDatabaseInput) (req *request.Request, output *StopRelationalDatabaseOutput) { op := &request.Operation{ - Name: opUpdateDomainEntry, + Name: opStopRelationalDatabase, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateDomainEntryInput{} + input = &StopRelationalDatabaseInput{} } - output = &UpdateDomainEntryOutput{} + output = &StopRelationalDatabaseOutput{} req = c.newRequest(op, input, output) return } -// UpdateDomainEntry API operation for Amazon Lightsail. +// StopRelationalDatabase API operation for Amazon Lightsail. // -// Updates a domain recordset after it is created. +// Stops a specific database that is currently running in Amazon Lightsail. // -// The update domain entry operation supports tag-based access control via resource -// tags applied to the resource identified by domain name. For more information, -// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// The stop relational database operation supports tag-based access control +// via resource tags applied to the resource identified by relationalDatabaseName. +// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation UpdateDomainEntry for usage and error information. +// API operation StopRelationalDatabase for usage and error information. // // Returned Error Types: // * ServiceException @@ -11806,77 +12530,79 @@ func (c *Lightsail) UpdateDomainEntryRequest(input *UpdateDomainEntryInput) (req // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry -func (c *Lightsail) UpdateDomainEntry(input *UpdateDomainEntryInput) (*UpdateDomainEntryOutput, error) { - req, out := c.UpdateDomainEntryRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/StopRelationalDatabase +func (c *Lightsail) StopRelationalDatabase(input *StopRelationalDatabaseInput) (*StopRelationalDatabaseOutput, error) { + req, out := c.StopRelationalDatabaseRequest(input) return out, req.Send() } -// UpdateDomainEntryWithContext is the same as UpdateDomainEntry with the addition of +// StopRelationalDatabaseWithContext is the same as StopRelationalDatabase with the addition of // the ability to pass a context and additional request options. // -// See UpdateDomainEntry for details on how to use this API operation. +// See StopRelationalDatabase for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) UpdateDomainEntryWithContext(ctx aws.Context, input *UpdateDomainEntryInput, opts ...request.Option) (*UpdateDomainEntryOutput, error) { - req, out := c.UpdateDomainEntryRequest(input) +func (c *Lightsail) StopRelationalDatabaseWithContext(ctx aws.Context, input *StopRelationalDatabaseInput, opts ...request.Option) (*StopRelationalDatabaseOutput, error) { + req, out := c.StopRelationalDatabaseRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute" +const opTagResource = "TagResource" -// UpdateLoadBalancerAttributeRequest generates a "aws/request.Request" representing the -// client's request for the UpdateLoadBalancerAttribute operation. The "output" return +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateLoadBalancerAttribute for more information on using the UpdateLoadBalancerAttribute +// See TagResource for more information on using the TagResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateLoadBalancerAttributeRequest method. -// req, resp := client.UpdateLoadBalancerAttributeRequest(params) +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute -func (c *Lightsail) UpdateLoadBalancerAttributeRequest(input *UpdateLoadBalancerAttributeInput) (req *request.Request, output *UpdateLoadBalancerAttributeOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource +func (c *Lightsail) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ - Name: opUpdateLoadBalancerAttribute, + Name: opTagResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateLoadBalancerAttributeInput{} + input = &TagResourceInput{} } - output = &UpdateLoadBalancerAttributeOutput{} + output = &TagResourceOutput{} req = c.newRequest(op, input, output) return } -// UpdateLoadBalancerAttribute API operation for Amazon Lightsail. +// TagResource API operation for Amazon Lightsail. // -// Updates the specified attribute for a load balancer. You can only update -// one attribute at a time. +// Adds one or more tags to the specified Amazon Lightsail resource. Each resource +// can have a maximum of 50 tags. Each tag consists of a key and an optional +// value. Tag keys must be unique per resource. For more information about tags, +// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). // -// The update load balancer attribute operation supports tag-based access control -// via resource tags applied to the resource identified by load balancer name. +// The tag resource operation supports tag-based access control via request +// tags and resource tags applied to the resource identified by resource name. // For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -11884,7 +12610,7 @@ func (c *Lightsail) UpdateLoadBalancerAttributeRequest(input *UpdateLoadBalancer // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation UpdateLoadBalancerAttribute for usage and error information. +// API operation TagResource for usage and error information. // // Returned Error Types: // * ServiceException @@ -11915,87 +12641,188 @@ func (c *Lightsail) UpdateLoadBalancerAttributeRequest(input *UpdateLoadBalancer // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute -func (c *Lightsail) UpdateLoadBalancerAttribute(input *UpdateLoadBalancerAttributeInput) (*UpdateLoadBalancerAttributeOutput, error) { - req, out := c.UpdateLoadBalancerAttributeRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TagResource +func (c *Lightsail) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) return out, req.Send() } -// UpdateLoadBalancerAttributeWithContext is the same as UpdateLoadBalancerAttribute with the addition of +// TagResourceWithContext is the same as TagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateLoadBalancerAttribute for details on how to use this API operation. +// See TagResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) UpdateLoadBalancerAttributeWithContext(ctx aws.Context, input *UpdateLoadBalancerAttributeInput, opts ...request.Option) (*UpdateLoadBalancerAttributeOutput, error) { - req, out := c.UpdateLoadBalancerAttributeRequest(input) +func (c *Lightsail) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateRelationalDatabase = "UpdateRelationalDatabase" +const opTestAlarm = "TestAlarm" -// UpdateRelationalDatabaseRequest generates a "aws/request.Request" representing the -// client's request for the UpdateRelationalDatabase operation. The "output" return +// TestAlarmRequest generates a "aws/request.Request" representing the +// client's request for the TestAlarm operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateRelationalDatabase for more information on using the UpdateRelationalDatabase +// See TestAlarm for more information on using the TestAlarm // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateRelationalDatabaseRequest method. -// req, resp := client.UpdateRelationalDatabaseRequest(params) +// // Example sending a request using the TestAlarmRequest method. +// req, resp := client.TestAlarmRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase -func (c *Lightsail) UpdateRelationalDatabaseRequest(input *UpdateRelationalDatabaseInput) (req *request.Request, output *UpdateRelationalDatabaseOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm +func (c *Lightsail) TestAlarmRequest(input *TestAlarmInput) (req *request.Request, output *TestAlarmOutput) { op := &request.Operation{ - Name: opUpdateRelationalDatabase, + Name: opTestAlarm, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateRelationalDatabaseInput{} + input = &TestAlarmInput{} } - output = &UpdateRelationalDatabaseOutput{} + output = &TestAlarmOutput{} req = c.newRequest(op, input, output) return } -// UpdateRelationalDatabase API operation for Amazon Lightsail. +// TestAlarm API operation for Amazon Lightsail. // -// Allows the update of one or more attributes of a database in Amazon Lightsail. +// Tests an alarm by displaying a banner on the Amazon Lightsail console. If +// a notification trigger is configured for the specified alarm, the test also +// sends a notification to the notification protocol (Email and/or SMS) configured +// for the alarm. // -// Updates are applied immediately, or in cases where the updates could result -// in an outage, are applied during the database's predefined maintenance window. +// An alarm is used to monitor a single metric for one of your resources. When +// a metric condition is met, the alarm can notify you by email, SMS text message, +// and a banner displayed on the Amazon Lightsail console. For more information, +// see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms). // -// The update relational database operation supports tag-based access control -// via resource tags applied to the resource identified by relationalDatabaseName. -// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lightsail's +// API operation TestAlarm for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/TestAlarm +func (c *Lightsail) TestAlarm(input *TestAlarmInput) (*TestAlarmOutput, error) { + req, out := c.TestAlarmRequest(input) + return out, req.Send() +} + +// TestAlarmWithContext is the same as TestAlarm with the addition of +// the ability to pass a context and additional request options. +// +// See TestAlarm for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) TestAlarmWithContext(ctx aws.Context, input *TestAlarmInput, opts ...request.Option) (*TestAlarmOutput, error) { + req, out := c.TestAlarmRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUnpeerVpc = "UnpeerVpc" + +// UnpeerVpcRequest generates a "aws/request.Request" representing the +// client's request for the UnpeerVpc operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UnpeerVpc for more information on using the UnpeerVpc +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UnpeerVpcRequest method. +// req, resp := client.UnpeerVpcRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc +func (c *Lightsail) UnpeerVpcRequest(input *UnpeerVpcInput) (req *request.Request, output *UnpeerVpcOutput) { + op := &request.Operation{ + Name: opUnpeerVpc, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UnpeerVpcInput{} + } + + output = &UnpeerVpcOutput{} + req = c.newRequest(op, input, output) + return +} + +// UnpeerVpc API operation for Amazon Lightsail. +// +// Attempts to unpeer the Lightsail VPC from the user's default 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 Lightsail's -// API operation UpdateRelationalDatabase for usage and error information. +// API operation UnpeerVpc for usage and error information. // // Returned Error Types: // * ServiceException @@ -12026,83 +12853,77 @@ func (c *Lightsail) UpdateRelationalDatabaseRequest(input *UpdateRelationalDatab // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase -func (c *Lightsail) UpdateRelationalDatabase(input *UpdateRelationalDatabaseInput) (*UpdateRelationalDatabaseOutput, error) { - req, out := c.UpdateRelationalDatabaseRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UnpeerVpc +func (c *Lightsail) UnpeerVpc(input *UnpeerVpcInput) (*UnpeerVpcOutput, error) { + req, out := c.UnpeerVpcRequest(input) return out, req.Send() } -// UpdateRelationalDatabaseWithContext is the same as UpdateRelationalDatabase with the addition of +// UnpeerVpcWithContext is the same as UnpeerVpc with the addition of // the ability to pass a context and additional request options. // -// See UpdateRelationalDatabase for details on how to use this API operation. +// See UnpeerVpc for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) UpdateRelationalDatabaseWithContext(ctx aws.Context, input *UpdateRelationalDatabaseInput, opts ...request.Option) (*UpdateRelationalDatabaseOutput, error) { - req, out := c.UpdateRelationalDatabaseRequest(input) +func (c *Lightsail) UnpeerVpcWithContext(ctx aws.Context, input *UnpeerVpcInput, opts ...request.Option) (*UnpeerVpcOutput, error) { + req, out := c.UnpeerVpcRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters" +const opUntagResource = "UntagResource" -// UpdateRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the -// client's request for the UpdateRelationalDatabaseParameters operation. The "output" return +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateRelationalDatabaseParameters for more information on using the UpdateRelationalDatabaseParameters +// See UntagResource for more information on using the UntagResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateRelationalDatabaseParametersRequest method. -// req, resp := client.UpdateRelationalDatabaseParametersRequest(params) +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters -func (c *Lightsail) UpdateRelationalDatabaseParametersRequest(input *UpdateRelationalDatabaseParametersInput) (req *request.Request, output *UpdateRelationalDatabaseParametersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource +func (c *Lightsail) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ - Name: opUpdateRelationalDatabaseParameters, + Name: opUntagResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateRelationalDatabaseParametersInput{} + input = &UntagResourceInput{} } - output = &UpdateRelationalDatabaseParametersOutput{} + output = &UntagResourceOutput{} req = c.newRequest(op, input, output) return } -// UpdateRelationalDatabaseParameters API operation for Amazon Lightsail. -// -// Allows the update of one or more parameters of a database in Amazon Lightsail. +// UntagResource API operation for Amazon Lightsail. // -// Parameter updates don't cause outages; therefore, their application is not -// subject to the preferred maintenance window. However, there are two ways -// in which parameter updates are applied: dynamic or pending-reboot. Parameters -// marked with a dynamic apply type are applied immediately. Parameters marked -// with a pending-reboot apply type are applied only after the database is rebooted -// using the reboot relational database operation. +// Deletes the specified set of tag keys and their values from the specified +// Amazon Lightsail resource. // -// The update relational database parameters operation supports tag-based access -// control via resource tags applied to the resource identified by relationalDatabaseName. +// The untag resource operation supports tag-based access control via request +// tags and resource tags applied to the resource identified by resource name. // For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -12110,7 +12931,7 @@ func (c *Lightsail) UpdateRelationalDatabaseParametersRequest(input *UpdateRelat // the error. // // See the AWS API reference guide for Amazon Lightsail's -// API operation UpdateRelationalDatabaseParameters for usage and error information. +// API operation UntagResource for usage and error information. // // Returned Error Types: // * ServiceException @@ -12141,618 +12962,3100 @@ func (c *Lightsail) UpdateRelationalDatabaseParametersRequest(input *UpdateRelat // * UnauthenticatedException // Lightsail throws this exception when the user has not been authenticated. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters -func (c *Lightsail) UpdateRelationalDatabaseParameters(input *UpdateRelationalDatabaseParametersInput) (*UpdateRelationalDatabaseParametersOutput, error) { - req, out := c.UpdateRelationalDatabaseParametersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UntagResource +func (c *Lightsail) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) return out, req.Send() } -// UpdateRelationalDatabaseParametersWithContext is the same as UpdateRelationalDatabaseParameters with the addition of +// UntagResourceWithContext is the same as UntagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateRelationalDatabaseParameters for details on how to use this API operation. +// See UntagResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Lightsail) UpdateRelationalDatabaseParametersWithContext(ctx aws.Context, input *UpdateRelationalDatabaseParametersInput, opts ...request.Option) (*UpdateRelationalDatabaseParametersOutput, error) { - req, out := c.UpdateRelationalDatabaseParametersRequest(input) +func (c *Lightsail) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Lightsail throws this exception when the user cannot be authenticated or -// uses invalid credentials to access a resource. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Code_ *string `locationName:"code" type:"string"` - - Docs *string `locationName:"docs" type:"string"` - - Message_ *string `locationName:"message" type:"string"` - - Tip *string `locationName:"tip" type:"string"` -} +const opUpdateDistribution = "UpdateDistribution" -// String returns the string representation -func (s AccessDeniedException) String() string { - return awsutil.Prettify(s) -} +// UpdateDistributionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDistribution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDistribution for more information on using the UpdateDistribution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDistributionRequest method. +// req, resp := client.UpdateDistributionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistribution +func (c *Lightsail) UpdateDistributionRequest(input *UpdateDistributionInput) (req *request.Request, output *UpdateDistributionOutput) { + op := &request.Operation{ + Name: opUpdateDistribution, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDistributionInput{} + } + + output = &UpdateDistributionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDistribution API operation for Amazon Lightsail. +// +// Updates an existing Amazon Lightsail content delivery network (CDN) distribution. +// +// Use this action to update the configuration of your existing distribution +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lightsail's +// API operation UpdateDistribution for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistribution +func (c *Lightsail) UpdateDistribution(input *UpdateDistributionInput) (*UpdateDistributionOutput, error) { + req, out := c.UpdateDistributionRequest(input) + return out, req.Send() +} + +// UpdateDistributionWithContext is the same as UpdateDistribution with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDistribution for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) UpdateDistributionWithContext(ctx aws.Context, input *UpdateDistributionInput, opts ...request.Option) (*UpdateDistributionOutput, error) { + req, out := c.UpdateDistributionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDistributionBundle = "UpdateDistributionBundle" + +// UpdateDistributionBundleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDistributionBundle operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDistributionBundle for more information on using the UpdateDistributionBundle +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDistributionBundleRequest method. +// req, resp := client.UpdateDistributionBundleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionBundle +func (c *Lightsail) UpdateDistributionBundleRequest(input *UpdateDistributionBundleInput) (req *request.Request, output *UpdateDistributionBundleOutput) { + op := &request.Operation{ + Name: opUpdateDistributionBundle, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDistributionBundleInput{} + } + + output = &UpdateDistributionBundleOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDistributionBundle API operation for Amazon Lightsail. +// +// Updates the bundle of your Amazon Lightsail content delivery network (CDN) +// distribution. +// +// A distribution bundle specifies the monthly network transfer quota and monthly +// cost of your dsitribution. +// +// Update your distribution's bundle if your distribution is going over its +// monthly network transfer quota and is incurring an overage fee. +// +// You can update your distribution's bundle only one time within your monthly +// AWS billing cycle. To determine if you can update your distribution's bundle, +// use the GetDistributions action. The ableToUpdateBundle parameter in the +// result will indicate whether you can currently update your distribution's +// bundle. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lightsail's +// API operation UpdateDistributionBundle for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionBundle +func (c *Lightsail) UpdateDistributionBundle(input *UpdateDistributionBundleInput) (*UpdateDistributionBundleOutput, error) { + req, out := c.UpdateDistributionBundleRequest(input) + return out, req.Send() +} + +// UpdateDistributionBundleWithContext is the same as UpdateDistributionBundle with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDistributionBundle for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) UpdateDistributionBundleWithContext(ctx aws.Context, input *UpdateDistributionBundleInput, opts ...request.Option) (*UpdateDistributionBundleOutput, error) { + req, out := c.UpdateDistributionBundleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDomainEntry = "UpdateDomainEntry" + +// UpdateDomainEntryRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDomainEntry operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDomainEntry for more information on using the UpdateDomainEntry +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDomainEntryRequest method. +// req, resp := client.UpdateDomainEntryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry +func (c *Lightsail) UpdateDomainEntryRequest(input *UpdateDomainEntryInput) (req *request.Request, output *UpdateDomainEntryOutput) { + op := &request.Operation{ + Name: opUpdateDomainEntry, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateDomainEntryInput{} + } + + output = &UpdateDomainEntryOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDomainEntry API operation for Amazon Lightsail. +// +// Updates a domain recordset after it is created. +// +// The update domain entry operation supports tag-based access control via resource +// tags applied to the resource identified by domain name. For more information, +// see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lightsail's +// API operation UpdateDomainEntry for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * AccountSetupInProgressException +// Lightsail throws this exception when an account is still in the setup in +// progress state. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDomainEntry +func (c *Lightsail) UpdateDomainEntry(input *UpdateDomainEntryInput) (*UpdateDomainEntryOutput, error) { + req, out := c.UpdateDomainEntryRequest(input) + return out, req.Send() +} + +// UpdateDomainEntryWithContext is the same as UpdateDomainEntry with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDomainEntry for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) UpdateDomainEntryWithContext(ctx aws.Context, input *UpdateDomainEntryInput, opts ...request.Option) (*UpdateDomainEntryOutput, error) { + req, out := c.UpdateDomainEntryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLoadBalancerAttribute = "UpdateLoadBalancerAttribute" + +// UpdateLoadBalancerAttributeRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLoadBalancerAttribute operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateLoadBalancerAttribute for more information on using the UpdateLoadBalancerAttribute +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateLoadBalancerAttributeRequest method. +// req, resp := client.UpdateLoadBalancerAttributeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute +func (c *Lightsail) UpdateLoadBalancerAttributeRequest(input *UpdateLoadBalancerAttributeInput) (req *request.Request, output *UpdateLoadBalancerAttributeOutput) { + op := &request.Operation{ + Name: opUpdateLoadBalancerAttribute, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateLoadBalancerAttributeInput{} + } + + output = &UpdateLoadBalancerAttributeOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateLoadBalancerAttribute API operation for Amazon Lightsail. +// +// Updates the specified attribute for a load balancer. You can only update +// one attribute at a time. +// +// The update load balancer attribute operation supports tag-based access control +// via resource tags applied to the resource identified by load balancer name. +// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lightsail's +// API operation UpdateLoadBalancerAttribute for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * AccountSetupInProgressException +// Lightsail throws this exception when an account is still in the setup in +// progress state. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateLoadBalancerAttribute +func (c *Lightsail) UpdateLoadBalancerAttribute(input *UpdateLoadBalancerAttributeInput) (*UpdateLoadBalancerAttributeOutput, error) { + req, out := c.UpdateLoadBalancerAttributeRequest(input) + return out, req.Send() +} + +// UpdateLoadBalancerAttributeWithContext is the same as UpdateLoadBalancerAttribute with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLoadBalancerAttribute for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) UpdateLoadBalancerAttributeWithContext(ctx aws.Context, input *UpdateLoadBalancerAttributeInput, opts ...request.Option) (*UpdateLoadBalancerAttributeOutput, error) { + req, out := c.UpdateLoadBalancerAttributeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRelationalDatabase = "UpdateRelationalDatabase" + +// UpdateRelationalDatabaseRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRelationalDatabase operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateRelationalDatabase for more information on using the UpdateRelationalDatabase +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateRelationalDatabaseRequest method. +// req, resp := client.UpdateRelationalDatabaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase +func (c *Lightsail) UpdateRelationalDatabaseRequest(input *UpdateRelationalDatabaseInput) (req *request.Request, output *UpdateRelationalDatabaseOutput) { + op := &request.Operation{ + Name: opUpdateRelationalDatabase, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateRelationalDatabaseInput{} + } + + output = &UpdateRelationalDatabaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateRelationalDatabase API operation for Amazon Lightsail. +// +// Allows the update of one or more attributes of a database in Amazon Lightsail. +// +// Updates are applied immediately, or in cases where the updates could result +// in an outage, are applied during the database's predefined maintenance window. +// +// The update relational database operation supports tag-based access control +// via resource tags applied to the resource identified by relationalDatabaseName. +// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lightsail's +// API operation UpdateRelationalDatabase for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * AccountSetupInProgressException +// Lightsail throws this exception when an account is still in the setup in +// progress state. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabase +func (c *Lightsail) UpdateRelationalDatabase(input *UpdateRelationalDatabaseInput) (*UpdateRelationalDatabaseOutput, error) { + req, out := c.UpdateRelationalDatabaseRequest(input) + return out, req.Send() +} + +// UpdateRelationalDatabaseWithContext is the same as UpdateRelationalDatabase with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRelationalDatabase for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) UpdateRelationalDatabaseWithContext(ctx aws.Context, input *UpdateRelationalDatabaseInput, opts ...request.Option) (*UpdateRelationalDatabaseOutput, error) { + req, out := c.UpdateRelationalDatabaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRelationalDatabaseParameters = "UpdateRelationalDatabaseParameters" + +// UpdateRelationalDatabaseParametersRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRelationalDatabaseParameters operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateRelationalDatabaseParameters for more information on using the UpdateRelationalDatabaseParameters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateRelationalDatabaseParametersRequest method. +// req, resp := client.UpdateRelationalDatabaseParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters +func (c *Lightsail) UpdateRelationalDatabaseParametersRequest(input *UpdateRelationalDatabaseParametersInput) (req *request.Request, output *UpdateRelationalDatabaseParametersOutput) { + op := &request.Operation{ + Name: opUpdateRelationalDatabaseParameters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateRelationalDatabaseParametersInput{} + } + + output = &UpdateRelationalDatabaseParametersOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateRelationalDatabaseParameters API operation for Amazon Lightsail. +// +// Allows the update of one or more parameters of a database in Amazon Lightsail. +// +// Parameter updates don't cause outages; therefore, their application is not +// subject to the preferred maintenance window. However, there are two ways +// in which parameter updates are applied: dynamic or pending-reboot. Parameters +// marked with a dynamic apply type are applied immediately. Parameters marked +// with a pending-reboot apply type are applied only after the database is rebooted +// using the reboot relational database operation. +// +// The update relational database parameters operation supports tag-based access +// control via resource tags applied to the resource identified by relationalDatabaseName. +// For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-controlling-access-using-tags). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Lightsail's +// API operation UpdateRelationalDatabaseParameters for usage and error information. +// +// Returned Error Types: +// * ServiceException +// A general service exception. +// +// * InvalidInputException +// Lightsail throws this exception when user input does not conform to the validation +// rules of an input field. +// +// Domain-related APIs are only available in the N. Virginia (us-east-1) Region. +// Please set your AWS Region configuration to us-east-1 to create, view, or +// edit these resources. +// +// * NotFoundException +// Lightsail throws this exception when it cannot find a resource. +// +// * OperationFailureException +// Lightsail throws this exception when an operation fails to execute. +// +// * AccessDeniedException +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +// +// * AccountSetupInProgressException +// Lightsail throws this exception when an account is still in the setup in +// progress state. +// +// * UnauthenticatedException +// Lightsail throws this exception when the user has not been authenticated. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateRelationalDatabaseParameters +func (c *Lightsail) UpdateRelationalDatabaseParameters(input *UpdateRelationalDatabaseParametersInput) (*UpdateRelationalDatabaseParametersOutput, error) { + req, out := c.UpdateRelationalDatabaseParametersRequest(input) + return out, req.Send() +} + +// UpdateRelationalDatabaseParametersWithContext is the same as UpdateRelationalDatabaseParameters with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRelationalDatabaseParameters for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Lightsail) UpdateRelationalDatabaseParametersWithContext(ctx aws.Context, input *UpdateRelationalDatabaseParametersInput, opts ...request.Option) (*UpdateRelationalDatabaseParametersOutput, error) { + req, out := c.UpdateRelationalDatabaseParametersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Lightsail throws this exception when the user cannot be authenticated or +// uses invalid credentials to access a resource. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + Docs *string `locationName:"docs" type:"string"` + + Message_ *string `locationName:"message" type:"string"` + + Tip *string `locationName:"tip" type:"string"` +} + +// String returns the string representation +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Lightsail throws this exception when an account is still in the setup in +// progress state. +type AccountSetupInProgressException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + Docs *string `locationName:"docs" type:"string"` + + Message_ *string `locationName:"message" type:"string"` + + Tip *string `locationName:"tip" type:"string"` +} + +// String returns the string representation +func (s AccountSetupInProgressException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountSetupInProgressException) GoString() string { + return s.String() +} + +func newErrorAccountSetupInProgressException(v protocol.ResponseMetadata) error { + return &AccountSetupInProgressException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccountSetupInProgressException) Code() string { + return "AccountSetupInProgressException" +} + +// Message returns the exception's message. +func (s *AccountSetupInProgressException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccountSetupInProgressException) OrigErr() error { + return nil +} + +func (s *AccountSetupInProgressException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccountSetupInProgressException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccountSetupInProgressException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Describes an add-on that is enabled for an Amazon Lightsail resource. +type AddOn struct { + _ struct{} `type:"structure"` + + // The name of the add-on. + Name *string `locationName:"name" type:"string"` + + // The next daily time an automatic snapshot will be created. + // + // The time shown is in HH:00 format, and in Coordinated Universal Time (UTC). + // + // The snapshot is automatically created between the time shown and up to 45 + // minutes after. + NextSnapshotTimeOfDay *string `locationName:"nextSnapshotTimeOfDay" type:"string"` + + // The daily time when an automatic snapshot is created. + // + // The time shown is in HH:00 format, and in Coordinated Universal Time (UTC). + // + // The snapshot is automatically created between the time shown and up to 45 + // minutes after. + SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"` + + // The status of the add-on. + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s AddOn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddOn) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *AddOn) SetName(v string) *AddOn { + s.Name = &v + return s +} + +// SetNextSnapshotTimeOfDay sets the NextSnapshotTimeOfDay field's value. +func (s *AddOn) SetNextSnapshotTimeOfDay(v string) *AddOn { + s.NextSnapshotTimeOfDay = &v + return s +} + +// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value. +func (s *AddOn) SetSnapshotTimeOfDay(v string) *AddOn { + s.SnapshotTimeOfDay = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AddOn) SetStatus(v string) *AddOn { + s.Status = &v + return s +} + +// Describes a request to enable, modify, or disable an add-on for an Amazon +// Lightsail resource. +// +// An additional cost may be associated with enabling add-ons. For more information, +// see the Lightsail pricing page (https://aws.amazon.com/lightsail/pricing/). +type AddOnRequest struct { + _ struct{} `type:"structure"` + + // The add-on type. + // + // AddOnType is a required field + AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"` + + // An object that represents additional parameters when enabling or modifying + // the automatic snapshot add-on. + AutoSnapshotAddOnRequest *AutoSnapshotAddOnRequest `locationName:"autoSnapshotAddOnRequest" type:"structure"` +} + +// String returns the string representation +func (s AddOnRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddOnRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddOnRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddOnRequest"} + if s.AddOnType == nil { + invalidParams.Add(request.NewErrParamRequired("AddOnType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddOnType sets the AddOnType field's value. +func (s *AddOnRequest) SetAddOnType(v string) *AddOnRequest { + s.AddOnType = &v + return s +} + +// SetAutoSnapshotAddOnRequest sets the AutoSnapshotAddOnRequest field's value. +func (s *AddOnRequest) SetAutoSnapshotAddOnRequest(v *AutoSnapshotAddOnRequest) *AddOnRequest { + s.AutoSnapshotAddOnRequest = v + return s +} + +// Describes an alarm. +// +// An alarm is a way to monitor your Amazon Lightsail resource metrics. For +// more information, see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms). +type Alarm struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the alarm. + Arn *string `locationName:"arn" type:"string"` + + // The arithmetic operation used when comparing the specified statistic and + // threshold. + ComparisonOperator *string `locationName:"comparisonOperator" type:"string" enum:"ComparisonOperator"` + + // The contact protocols for the alarm, such as Email, SMS (text messaging), + // or both. + ContactProtocols []*string `locationName:"contactProtocols" type:"list"` + + // The timestamp when the alarm was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // The number of data points that must not within the specified threshold to + // trigger the alarm. + DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"` + + // The number of periods over which data is compared to the specified threshold. + EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer"` + + // An object that lists information about the location of the alarm. + Location *ResourceLocation `locationName:"location" type:"structure"` + + // The name of the metric associated with the alarm. + MetricName *string `locationName:"metricName" type:"string" enum:"MetricName"` + + // An object that lists information about the resource monitored by the alarm. + MonitoredResourceInfo *MonitoredResourceInfo `locationName:"monitoredResourceInfo" type:"structure"` + + // The name of the alarm. + Name *string `locationName:"name" type:"string"` + + // Indicates whether the alarm is enabled. + NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"` + + // The alarm states that trigger a notification. + NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"` + + // The period, in seconds, over which the statistic is applied. + Period *int64 `locationName:"period" min:"60" type:"integer"` + + // The Lightsail resource type (e.g., Alarm). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + + // The current state of the alarm. + // + // An alarm has the following possible states: + // + // * ALARM - The metric is outside of the defined threshold. + // + // * INSUFFICIENT_DATA - The alarm has just started, the metric is not available, + // or not enough data is available for the metric to determine the alarm + // state. + // + // * OK - The metric is within the defined threshold. + State *string `locationName:"state" type:"string" enum:"AlarmState"` + + // The statistic for the metric associated with the alarm. + // + // The following statistics are available: + // + // * Minimum - The lowest value observed during the specified period. Use + // this value to determine low volumes of activity for your application. + // + // * Maximum - The highest value observed during the specified period. Use + // this value to determine high volumes of activity for your application. + // + // * Sum - All values submitted for the matching metric added together. You + // can use this statistic to determine the total volume of a metric. + // + // * Average - The value of Sum / SampleCount during the specified period. + // By comparing this statistic with the Minimum and Maximum values, you can + // determine the full scope of a metric and how close the average use is + // to the Minimum and Maximum values. This comparison helps you to know when + // to increase or decrease your resources. + // + // * SampleCount - The count, or number, of data points used for the statistical + // calculation. + Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"` + + // The support code. Include this code in your email to support when you have + // questions about your Lightsail alarm. This code enables our support team + // to look up your Lightsail information more easily. + SupportCode *string `locationName:"supportCode" type:"string"` + + // The value against which the specified statistic is compared. + Threshold *float64 `locationName:"threshold" type:"double"` + + // Specifies how the alarm handles missing data points. + // + // An alarm can treat missing data in the following ways: + // + // * breaching - Assume the missing data is not within the threshold. Missing + // data counts towards the number of times the metric is not within the threshold. + // + // * notBreaching - Assume the missing data is within the threshold. Missing + // data does not count towards the number of times the metric is not within + // the threshold. + // + // * ignore - Ignore the missing data. Maintains the current alarm state. + // + // * missing - Missing data is treated as missing. + TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"` + + // The unit of the metric associated with the alarm. + Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"` +} + +// String returns the string representation +func (s Alarm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Alarm) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Alarm) SetArn(v string) *Alarm { + s.Arn = &v + return s +} + +// SetComparisonOperator sets the ComparisonOperator field's value. +func (s *Alarm) SetComparisonOperator(v string) *Alarm { + s.ComparisonOperator = &v + return s +} + +// SetContactProtocols sets the ContactProtocols field's value. +func (s *Alarm) SetContactProtocols(v []*string) *Alarm { + s.ContactProtocols = v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *Alarm) SetCreatedAt(v time.Time) *Alarm { + s.CreatedAt = &v + return s +} + +// SetDatapointsToAlarm sets the DatapointsToAlarm field's value. +func (s *Alarm) SetDatapointsToAlarm(v int64) *Alarm { + s.DatapointsToAlarm = &v + return s +} + +// SetEvaluationPeriods sets the EvaluationPeriods field's value. +func (s *Alarm) SetEvaluationPeriods(v int64) *Alarm { + s.EvaluationPeriods = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *Alarm) SetLocation(v *ResourceLocation) *Alarm { + s.Location = v + return s +} + +// SetMetricName sets the MetricName field's value. +func (s *Alarm) SetMetricName(v string) *Alarm { + s.MetricName = &v + return s +} + +// SetMonitoredResourceInfo sets the MonitoredResourceInfo field's value. +func (s *Alarm) SetMonitoredResourceInfo(v *MonitoredResourceInfo) *Alarm { + s.MonitoredResourceInfo = v + return s +} + +// SetName sets the Name field's value. +func (s *Alarm) SetName(v string) *Alarm { + s.Name = &v + return s +} + +// SetNotificationEnabled sets the NotificationEnabled field's value. +func (s *Alarm) SetNotificationEnabled(v bool) *Alarm { + s.NotificationEnabled = &v + return s +} + +// SetNotificationTriggers sets the NotificationTriggers field's value. +func (s *Alarm) SetNotificationTriggers(v []*string) *Alarm { + s.NotificationTriggers = v + return s +} + +// SetPeriod sets the Period field's value. +func (s *Alarm) SetPeriod(v int64) *Alarm { + s.Period = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *Alarm) SetResourceType(v string) *Alarm { + s.ResourceType = &v + return s +} + +// SetState sets the State field's value. +func (s *Alarm) SetState(v string) *Alarm { + s.State = &v + return s +} + +// SetStatistic sets the Statistic field's value. +func (s *Alarm) SetStatistic(v string) *Alarm { + s.Statistic = &v + return s +} + +// SetSupportCode sets the SupportCode field's value. +func (s *Alarm) SetSupportCode(v string) *Alarm { + s.SupportCode = &v + return s +} + +// SetThreshold sets the Threshold field's value. +func (s *Alarm) SetThreshold(v float64) *Alarm { + s.Threshold = &v + return s +} + +// SetTreatMissingData sets the TreatMissingData field's value. +func (s *Alarm) SetTreatMissingData(v string) *Alarm { + s.TreatMissingData = &v + return s +} + +// SetUnit sets the Unit field's value. +func (s *Alarm) SetUnit(v string) *Alarm { + s.Unit = &v + return s +} + +type AllocateStaticIpInput struct { + _ struct{} `type:"structure"` + + // The name of the static IP address. + // + // StaticIpName is a required field + StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` +} + +// String returns the string representation +func (s AllocateStaticIpInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AllocateStaticIpInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AllocateStaticIpInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AllocateStaticIpInput"} + if s.StaticIpName == nil { + invalidParams.Add(request.NewErrParamRequired("StaticIpName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStaticIpName sets the StaticIpName field's value. +func (s *AllocateStaticIpInput) SetStaticIpName(v string) *AllocateStaticIpInput { + s.StaticIpName = &v + return s +} + +type AllocateStaticIpOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} + +// String returns the string representation +func (s AllocateStaticIpOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AllocateStaticIpOutput) GoString() string { + return s.String() +} + +// SetOperations sets the Operations field's value. +func (s *AllocateStaticIpOutput) SetOperations(v []*Operation) *AllocateStaticIpOutput { + s.Operations = v + return s +} + +type AttachCertificateToDistributionInput struct { + _ struct{} `type:"structure"` + + // The name of the certificate to attach to a distribution. + // + // Only certificates with a status of ISSUED can be attached to a distribution. + // + // Use the GetCertificates action to get a list of certificate names that you + // can specify. + // + // This is the name of the certificate resource type and is used only to reference + // the certificate in other API actions. It can be different than the domain + // name of the certificate. For example, your certificate name might be WordPress-Blog-Certificate + // and the domain name of the certificate might be example.com. + // + // CertificateName is a required field + CertificateName *string `locationName:"certificateName" type:"string" required:"true"` + + // The name of the distribution that the certificate will be attached to. + // + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + // + // DistributionName is a required field + DistributionName *string `locationName:"distributionName" type:"string" required:"true"` +} + +// String returns the string representation +func (s AttachCertificateToDistributionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachCertificateToDistributionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttachCertificateToDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttachCertificateToDistributionInput"} + if s.CertificateName == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateName")) + } + if s.DistributionName == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateName sets the CertificateName field's value. +func (s *AttachCertificateToDistributionInput) SetCertificateName(v string) *AttachCertificateToDistributionInput { + s.CertificateName = &v + return s +} + +// SetDistributionName sets the DistributionName field's value. +func (s *AttachCertificateToDistributionInput) SetDistributionName(v string) *AttachCertificateToDistributionInput { + s.DistributionName = &v + return s +} + +type AttachCertificateToDistributionOutput struct { + _ struct{} `type:"structure"` + + // An object that describes the result of the action, such as the status of + // the request, the timestamp of the request, and the resources affected by + // the request. + Operation *Operation `locationName:"operation" type:"structure"` +} + +// String returns the string representation +func (s AttachCertificateToDistributionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachCertificateToDistributionOutput) GoString() string { + return s.String() +} + +// SetOperation sets the Operation field's value. +func (s *AttachCertificateToDistributionOutput) SetOperation(v *Operation) *AttachCertificateToDistributionOutput { + s.Operation = v + return s +} + +type AttachDiskInput struct { + _ struct{} `type:"structure"` + + // The unique Lightsail disk name (e.g., my-disk). + // + // DiskName is a required field + DiskName *string `locationName:"diskName" type:"string" required:"true"` + + // The disk path to expose to the instance (e.g., /dev/xvdf). + // + // DiskPath is a required field + DiskPath *string `locationName:"diskPath" type:"string" required:"true"` + + // The name of the Lightsail instance where you want to utilize the storage + // disk. + // + // InstanceName is a required field + InstanceName *string `locationName:"instanceName" type:"string" required:"true"` +} + +// String returns the string representation +func (s AttachDiskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachDiskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttachDiskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttachDiskInput"} + if s.DiskName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskName")) + } + if s.DiskPath == nil { + invalidParams.Add(request.NewErrParamRequired("DiskPath")) + } + if s.InstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDiskName sets the DiskName field's value. +func (s *AttachDiskInput) SetDiskName(v string) *AttachDiskInput { + s.DiskName = &v + return s +} + +// SetDiskPath sets the DiskPath field's value. +func (s *AttachDiskInput) SetDiskPath(v string) *AttachDiskInput { + s.DiskPath = &v + return s +} + +// SetInstanceName sets the InstanceName field's value. +func (s *AttachDiskInput) SetInstanceName(v string) *AttachDiskInput { + s.InstanceName = &v + return s +} + +type AttachDiskOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} + +// String returns the string representation +func (s AttachDiskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachDiskOutput) GoString() string { + return s.String() +} + +// SetOperations sets the Operations field's value. +func (s *AttachDiskOutput) SetOperations(v []*Operation) *AttachDiskOutput { + s.Operations = v + return s +} + +type AttachInstancesToLoadBalancerInput struct { + _ struct{} `type:"structure"` + + // An array of strings representing the instance name(s) you want to attach + // to your load balancer. + // + // An instance must be running before you can attach it to your load balancer. + // + // There are no additional limits on the number of instances you can attach + // to your load balancer, aside from the limit of Lightsail instances you can + // create in your account (20). + // + // InstanceNames is a required field + InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` + + // The name of the load balancer. + // + // LoadBalancerName is a required field + LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` +} + +// String returns the string representation +func (s AttachInstancesToLoadBalancerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachInstancesToLoadBalancerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttachInstancesToLoadBalancerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttachInstancesToLoadBalancerInput"} + if s.InstanceNames == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceNames")) + } + if s.LoadBalancerName == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceNames sets the InstanceNames field's value. +func (s *AttachInstancesToLoadBalancerInput) SetInstanceNames(v []*string) *AttachInstancesToLoadBalancerInput { + s.InstanceNames = v + return s +} + +// SetLoadBalancerName sets the LoadBalancerName field's value. +func (s *AttachInstancesToLoadBalancerInput) SetLoadBalancerName(v string) *AttachInstancesToLoadBalancerInput { + s.LoadBalancerName = &v + return s +} + +type AttachInstancesToLoadBalancerOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} + +// String returns the string representation +func (s AttachInstancesToLoadBalancerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachInstancesToLoadBalancerOutput) GoString() string { + return s.String() +} + +// SetOperations sets the Operations field's value. +func (s *AttachInstancesToLoadBalancerOutput) SetOperations(v []*Operation) *AttachInstancesToLoadBalancerOutput { + s.Operations = v + return s +} + +type AttachLoadBalancerTlsCertificateInput struct { + _ struct{} `type:"structure"` + + // The name of your SSL/TLS certificate. + // + // CertificateName is a required field + CertificateName *string `locationName:"certificateName" type:"string" required:"true"` + + // The name of the load balancer to which you want to associate the SSL/TLS + // certificate. + // + // LoadBalancerName is a required field + LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` +} + +// String returns the string representation +func (s AttachLoadBalancerTlsCertificateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachLoadBalancerTlsCertificateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttachLoadBalancerTlsCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancerTlsCertificateInput"} + if s.CertificateName == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateName")) + } + if s.LoadBalancerName == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateName sets the CertificateName field's value. +func (s *AttachLoadBalancerTlsCertificateInput) SetCertificateName(v string) *AttachLoadBalancerTlsCertificateInput { + s.CertificateName = &v + return s +} + +// SetLoadBalancerName sets the LoadBalancerName field's value. +func (s *AttachLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *AttachLoadBalancerTlsCertificateInput { + s.LoadBalancerName = &v + return s +} + +type AttachLoadBalancerTlsCertificateOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + // + // These SSL/TLS certificates are only usable by Lightsail load balancers. You + // can't get the certificate and use it for another purpose. + Operations []*Operation `locationName:"operations" type:"list"` +} + +// String returns the string representation +func (s AttachLoadBalancerTlsCertificateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachLoadBalancerTlsCertificateOutput) GoString() string { + return s.String() +} + +// SetOperations sets the Operations field's value. +func (s *AttachLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *AttachLoadBalancerTlsCertificateOutput { + s.Operations = v + return s +} + +type AttachStaticIpInput struct { + _ struct{} `type:"structure"` + + // The instance name to which you want to attach the static IP address. + // + // InstanceName is a required field + InstanceName *string `locationName:"instanceName" type:"string" required:"true"` + + // The name of the static IP. + // + // StaticIpName is a required field + StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` +} + +// String returns the string representation +func (s AttachStaticIpInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachStaticIpInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AttachStaticIpInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AttachStaticIpInput"} + if s.InstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceName")) + } + if s.StaticIpName == nil { + invalidParams.Add(request.NewErrParamRequired("StaticIpName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceName sets the InstanceName field's value. +func (s *AttachStaticIpInput) SetInstanceName(v string) *AttachStaticIpInput { + s.InstanceName = &v + return s +} + +// SetStaticIpName sets the StaticIpName field's value. +func (s *AttachStaticIpInput) SetStaticIpName(v string) *AttachStaticIpInput { + s.StaticIpName = &v + return s +} + +type AttachStaticIpOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} + +// String returns the string representation +func (s AttachStaticIpOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachStaticIpOutput) GoString() string { + return s.String() +} + +// SetOperations sets the Operations field's value. +func (s *AttachStaticIpOutput) SetOperations(v []*Operation) *AttachStaticIpOutput { + s.Operations = v + return s +} + +// Describes a block storage disk that is attached to an instance, and is included +// in an automatic snapshot. +type AttachedDisk struct { + _ struct{} `type:"structure"` + + // The path of the disk (e.g., /dev/xvdf). + Path *string `locationName:"path" type:"string"` + + // The size of the disk in GB. + SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` +} + +// String returns the string representation +func (s AttachedDisk) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AttachedDisk) GoString() string { + return s.String() +} + +// SetPath sets the Path field's value. +func (s *AttachedDisk) SetPath(v string) *AttachedDisk { + s.Path = &v + return s +} + +// SetSizeInGb sets the SizeInGb field's value. +func (s *AttachedDisk) SetSizeInGb(v int64) *AttachedDisk { + s.SizeInGb = &v + return s +} + +// Describes a request to enable or modify the automatic snapshot add-on for +// an Amazon Lightsail instance or disk. +// +// When you modify the automatic snapshot time for a resource, it is typically +// effective immediately except under the following conditions: +// +// * If an automatic snapshot has been created for the current day, and you +// change the snapshot time to a later time of day, then the new snapshot +// time will be effective the following day. This ensures that two snapshots +// are not created for the current day. +// +// * If an automatic snapshot has not yet been created for the current day, +// and you change the snapshot time to an earlier time of day, then the new +// snapshot time will be effective the following day and a snapshot is automatically +// created at the previously set time for the current day. This ensures that +// a snapshot is created for the current day. +// +// * If an automatic snapshot has not yet been created for the current day, +// and you change the snapshot time to a time that is within 30 minutes from +// your current time, then the new snapshot time will be effective the following +// day and a snapshot is automatically created at the previously set time +// for the current day. This ensures that a snapshot is created for the current +// day, because 30 minutes is required between your current time and the +// new snapshot time that you specify. +// +// * If an automatic snapshot is scheduled to be created within 30 minutes +// from your current time and you change the snapshot time, then the new +// snapshot time will be effective the following day and a snapshot is automatically +// created at the previously set time for the current day. This ensures that +// a snapshot is created for the current day, because 30 minutes is required +// between your current time and the new snapshot time that you specify. +type AutoSnapshotAddOnRequest struct { + _ struct{} `type:"structure"` + + // The daily time when an automatic snapshot will be created. + // + // Constraints: + // + // * Must be in HH:00 format, and in an hourly increment. + // + // * Specified in Coordinated Universal Time (UTC). + // + // * The snapshot will be automatically created between the time specified + // and up to 45 minutes after. + SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"` +} + +// String returns the string representation +func (s AutoSnapshotAddOnRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutoSnapshotAddOnRequest) GoString() string { + return s.String() +} + +// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value. +func (s *AutoSnapshotAddOnRequest) SetSnapshotTimeOfDay(v string) *AutoSnapshotAddOnRequest { + s.SnapshotTimeOfDay = &v + return s +} + +// Describes an automatic snapshot. +type AutoSnapshotDetails struct { + _ struct{} `type:"structure"` + + // The timestamp when the automatic snapshot was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // The date of the automatic snapshot in YYYY-MM-DD format. + Date *string `locationName:"date" type:"string"` + + // An array of objects that describe the block storage disks attached to the + // instance when the automatic snapshot was created. + FromAttachedDisks []*AttachedDisk `locationName:"fromAttachedDisks" type:"list"` + + // The status of the automatic snapshot. + Status *string `locationName:"status" type:"string" enum:"AutoSnapshotStatus"` +} + +// String returns the string representation +func (s AutoSnapshotDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AutoSnapshotDetails) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *AutoSnapshotDetails) SetCreatedAt(v time.Time) *AutoSnapshotDetails { + s.CreatedAt = &v + return s +} + +// SetDate sets the Date field's value. +func (s *AutoSnapshotDetails) SetDate(v string) *AutoSnapshotDetails { + s.Date = &v + return s +} + +// SetFromAttachedDisks sets the FromAttachedDisks field's value. +func (s *AutoSnapshotDetails) SetFromAttachedDisks(v []*AttachedDisk) *AutoSnapshotDetails { + s.FromAttachedDisks = v + return s +} + +// SetStatus sets the Status field's value. +func (s *AutoSnapshotDetails) SetStatus(v string) *AutoSnapshotDetails { + s.Status = &v + return s +} + +// Describes an Availability Zone. +type AvailabilityZone struct { + _ struct{} `type:"structure"` + + // The state of the Availability Zone. + State *string `locationName:"state" type:"string"` + + // The name of the Availability Zone. The format is us-east-2a (case-sensitive). + 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() +} + +// 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 blueprint (a virtual private server image). +type Blueprint struct { + _ struct{} `type:"structure"` + + // The ID for the virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0). + BlueprintId *string `locationName:"blueprintId" type:"string"` + + // The description of the blueprint. + Description *string `locationName:"description" type:"string"` + + // The group name of the blueprint (e.g., amazon-linux). + Group *string `locationName:"group" type:"string"` + + // A Boolean value indicating whether the blueprint is active. Inactive blueprints + // are listed to support customers with existing instances but are not necessarily + // available for launch of new instances. Blueprints are marked inactive when + // they become outdated due to operating system updates or new application releases. + IsActive *bool `locationName:"isActive" type:"boolean"` + + // The end-user license agreement URL for the image or blueprint. + LicenseUrl *string `locationName:"licenseUrl" type:"string"` + + // The minimum bundle power required to run this blueprint. For example, you + // need a bundle with a power value of 500 or more to create an instance that + // uses a blueprint with a minimum power value of 500. 0 indicates that the + // blueprint runs on all instance sizes. + MinPower *int64 `locationName:"minPower" type:"integer"` + + // The friendly name of the blueprint (e.g., Amazon Linux). + Name *string `locationName:"name" type:"string"` + + // The operating system platform (either Linux/Unix-based or Windows Server-based) + // of the blueprint. + Platform *string `locationName:"platform" type:"string" enum:"InstancePlatform"` + + // The product URL to learn more about the image or blueprint. + ProductUrl *string `locationName:"productUrl" type:"string"` + + // The type of the blueprint (e.g., os or app). + Type *string `locationName:"type" type:"string" enum:"BlueprintType"` + + // The version number of the operating system, application, or stack (e.g., + // 2016.03.0). + Version *string `locationName:"version" type:"string"` + + // The version code. + VersionCode *string `locationName:"versionCode" type:"string"` +} + +// String returns the string representation +func (s Blueprint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Blueprint) GoString() string { + return s.String() +} + +// SetBlueprintId sets the BlueprintId field's value. +func (s *Blueprint) SetBlueprintId(v string) *Blueprint { + s.BlueprintId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Blueprint) SetDescription(v string) *Blueprint { + s.Description = &v + return s +} + +// SetGroup sets the Group field's value. +func (s *Blueprint) SetGroup(v string) *Blueprint { + s.Group = &v + return s +} + +// SetIsActive sets the IsActive field's value. +func (s *Blueprint) SetIsActive(v bool) *Blueprint { + s.IsActive = &v + return s +} + +// SetLicenseUrl sets the LicenseUrl field's value. +func (s *Blueprint) SetLicenseUrl(v string) *Blueprint { + s.LicenseUrl = &v + return s +} + +// SetMinPower sets the MinPower field's value. +func (s *Blueprint) SetMinPower(v int64) *Blueprint { + s.MinPower = &v + return s +} + +// SetName sets the Name field's value. +func (s *Blueprint) SetName(v string) *Blueprint { + s.Name = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *Blueprint) SetPlatform(v string) *Blueprint { + s.Platform = &v + return s +} + +// SetProductUrl sets the ProductUrl field's value. +func (s *Blueprint) SetProductUrl(v string) *Blueprint { + s.ProductUrl = &v + return s +} + +// SetType sets the Type field's value. +func (s *Blueprint) SetType(v string) *Blueprint { + s.Type = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *Blueprint) SetVersion(v string) *Blueprint { + s.Version = &v + return s +} + +// SetVersionCode sets the VersionCode field's value. +func (s *Blueprint) SetVersionCode(v string) *Blueprint { + s.VersionCode = &v + return s +} + +// Describes a bundle, which is a set of specs describing your virtual private +// server (or instance). +type Bundle struct { + _ struct{} `type:"structure"` + + // The bundle ID (e.g., micro_1_0). + BundleId *string `locationName:"bundleId" type:"string"` + + // The number of vCPUs included in the bundle (e.g., 2). + CpuCount *int64 `locationName:"cpuCount" type:"integer"` + + // The size of the SSD (e.g., 30). + DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"` + + // The Amazon EC2 instance type (e.g., t2.micro). + InstanceType *string `locationName:"instanceType" type:"string"` + + // A Boolean value indicating whether the bundle is active. + IsActive *bool `locationName:"isActive" type:"boolean"` + + // A friendly name for the bundle (e.g., Micro). + Name *string `locationName:"name" type:"string"` + + // A numeric value that represents the power of the bundle (e.g., 500). You + // can use the bundle's power value in conjunction with a blueprint's minimum + // power value to determine whether the blueprint will run on the bundle. For + // example, you need a bundle with a power value of 500 or more to create an + // instance that uses a blueprint with a minimum power value of 500. + Power *int64 `locationName:"power" type:"integer"` + + // The price in US dollars (e.g., 5.0) of the bundle. + Price *float64 `locationName:"price" type:"float"` + + // The amount of RAM in GB (e.g., 2.0). + RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"` + + // The operating system platform (Linux/Unix-based or Windows Server-based) + // that the bundle supports. You can only launch a WINDOWS bundle on a blueprint + // that supports the WINDOWS platform. LINUX_UNIX blueprints require a LINUX_UNIX + // bundle. + SupportedPlatforms []*string `locationName:"supportedPlatforms" type:"list"` + + // The data transfer rate per month in GB (e.g., 2000). + TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"` +} + +// String returns the string representation +func (s Bundle) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Bundle) GoString() string { + return s.String() +} + +// SetBundleId sets the BundleId field's value. +func (s *Bundle) SetBundleId(v string) *Bundle { + s.BundleId = &v + return s +} + +// SetCpuCount sets the CpuCount field's value. +func (s *Bundle) SetCpuCount(v int64) *Bundle { + s.CpuCount = &v + return s +} + +// SetDiskSizeInGb sets the DiskSizeInGb field's value. +func (s *Bundle) SetDiskSizeInGb(v int64) *Bundle { + s.DiskSizeInGb = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *Bundle) SetInstanceType(v string) *Bundle { + s.InstanceType = &v + return s +} + +// SetIsActive sets the IsActive field's value. +func (s *Bundle) SetIsActive(v bool) *Bundle { + s.IsActive = &v + return s +} + +// SetName sets the Name field's value. +func (s *Bundle) SetName(v string) *Bundle { + s.Name = &v + return s +} + +// SetPower sets the Power field's value. +func (s *Bundle) SetPower(v int64) *Bundle { + s.Power = &v + return s +} + +// SetPrice sets the Price field's value. +func (s *Bundle) SetPrice(v float64) *Bundle { + s.Price = &v + return s +} + +// SetRamSizeInGb sets the RamSizeInGb field's value. +func (s *Bundle) SetRamSizeInGb(v float64) *Bundle { + s.RamSizeInGb = &v + return s +} + +// SetSupportedPlatforms sets the SupportedPlatforms field's value. +func (s *Bundle) SetSupportedPlatforms(v []*string) *Bundle { + s.SupportedPlatforms = v + return s +} + +// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value. +func (s *Bundle) SetTransferPerMonthInGb(v int64) *Bundle { + s.TransferPerMonthInGb = &v + return s +} + +// Describes the default cache behavior of an Amazon Lightsail content delivery +// network (CDN) distribution. +type CacheBehavior struct { + _ struct{} `type:"structure"` + + // The cache behavior of the distribution. + // + // The following cache behaviors can be specified: + // + // * cache - This option is best for static sites. When specified, your distribution + // caches and serves your entire website as static content. This behavior + // is ideal for websites with static content that doesn't change depending + // on who views it, or for websites that don't use cookies, headers, or query + // strings to personalize content. + // + // * dont-cache - This option is best for sites that serve a mix of static + // and dynamic content. When specified, your distribution caches and serve + // only the content that is specified in the distribution's CacheBehaviorPerPath + // parameter. This behavior is ideal for websites or web applications that + // use cookies, headers, and query strings to personalize content for individual + // users. + Behavior *string `locationName:"behavior" type:"string" enum:"BehaviorEnum"` +} + +// String returns the string representation +func (s CacheBehavior) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CacheBehavior) GoString() string { + return s.String() +} + +// SetBehavior sets the Behavior field's value. +func (s *CacheBehavior) SetBehavior(v string) *CacheBehavior { + s.Behavior = &v + return s +} + +// Describes the per-path cache behavior of an Amazon Lightsail content delivery +// network (CDN) distribution. +// +// A per-path cache behavior is used to override, or add an exception to, the +// default cache behavior of a distribution. For example, if the cacheBehavior +// is set to cache, then a per-path cache behavior can be used to specify a +// directory, file, or file type that your distribution will cache. Alternately, +// if the distribution's cacheBehavior is dont-cache, then a per-path cache +// behavior can be used to specify a directory, file, or file type that your +// distribution will not cache. +// +// if the cacheBehavior's behavior is set to 'cache', then +type CacheBehaviorPerPath struct { + _ struct{} `type:"structure"` + + // The cache behavior for the specified path. + // + // You can specify one of the following per-path cache behaviors: + // + // * cache - This behavior caches the specified path. + // + // * dont-cache - This behavior doesn't cache the specified path. + Behavior *string `locationName:"behavior" type:"string" enum:"BehaviorEnum"` + + // The path to a directory or file to cached, or not cache. Use an asterisk + // symbol to specify wildcard directories (path/to/assets/*), and file types + // (*.html, *jpg, *js). Directories and file paths are case-sensitive. + // + // Examples: + // + // * Specify the following to cache all files in the document root of an + // Apache web server running on a Lightsail instance. var/www/html/ + // + // * Specify the following file to cache only the index page in the document + // root of an Apache web server. var/www/html/index.html + // + // * Specify the following to cache only the .html files in the document + // root of an Apache web server. var/www/html/*.html + // + // * Specify the following to cache only the .jpg, .png, and .gif files in + // the images sub-directory of the document root of an Apache web server. + // var/www/html/images/*.jpg var/www/html/images/*.png var/www/html/images/*.gif + // Specify the following to cache all files in the images sub-directory of + // the document root of an Apache web server. var/www/html/images/ + Path *string `locationName:"path" type:"string"` +} + +// String returns the string representation +func (s CacheBehaviorPerPath) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CacheBehaviorPerPath) GoString() string { + return s.String() +} + +// SetBehavior sets the Behavior field's value. +func (s *CacheBehaviorPerPath) SetBehavior(v string) *CacheBehaviorPerPath { + s.Behavior = &v + return s +} + +// SetPath sets the Path field's value. +func (s *CacheBehaviorPerPath) SetPath(v string) *CacheBehaviorPerPath { + s.Path = &v + return s +} + +// Describes the cache settings of an Amazon Lightsail content delivery network +// (CDN) distribution. +// +// These settings apply only to your distribution's cacheBehaviors (including +// the defaultCacheBehavior) that have a behavior of cache. +type CacheSettings struct { + _ struct{} `type:"structure"` + + // The HTTP methods that are processed and forwarded to the distribution's origin. + // + // You can specify the following options: + // + // * GET,HEAD - The distribution forwards the GET and HEAD methods. + // + // * GET,HEAD,OPTIONS - The distribution forwards the GET, HEAD, and OPTIONS + // methods. + // + // * GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE - The distribution forwards the + // GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE methods. + // + // If you specify the third option, you might need to restrict access to your + // distribution's origin so users can't perform operations that you don't want + // them to. For example, you might not want users to have permission to delete + // objects from your origin. + AllowedHTTPMethods *string `locationName:"allowedHTTPMethods" type:"string"` + + // The HTTP method responses that are cached by your distribution. + // + // You can specify the following options: + // + // * GET,HEAD - The distribution caches responses to the GET and HEAD methods. + // + // * GET,HEAD,OPTIONS - The distribution caches responses to the GET, HEAD, + // and OPTIONS methods. + CachedHTTPMethods *string `locationName:"cachedHTTPMethods" type:"string"` + + // The default amount of time that objects stay in the distribution's cache + // before the distribution forwards another request to the origin to determine + // whether the content has been updated. + // + // The value specified applies only when the origin does not add HTTP headers + // such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. + DefaultTTL *int64 `locationName:"defaultTTL" type:"long"` + + // An object that describes the cookies that are forwarded to the origin. Your + // content is cached based on the cookies that are forwarded. + ForwardedCookies *CookieObject `locationName:"forwardedCookies" type:"structure"` + + // An object that describes the headers that are forwarded to the origin. Your + // content is cached based on the headers that are forwarded. + ForwardedHeaders *HeaderObject `locationName:"forwardedHeaders" type:"structure"` + + // An object that describes the query strings that are forwarded to the origin. + // Your content is cached based on the query strings that are forwarded. + ForwardedQueryStrings *QueryStringObject `locationName:"forwardedQueryStrings" type:"structure"` + + // The maximum amount of time that objects stay in the distribution's cache + // before the distribution forwards another request to the origin to determine + // whether the object has been updated. + // + // The value specified applies only when the origin adds HTTP headers such as + // Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. + MaximumTTL *int64 `locationName:"maximumTTL" type:"long"` + + // The minimum amount of time that objects stay in the distribution's cache + // before the distribution forwards another request to the origin to determine + // whether the object has been updated. + // + // A value of 0 must be specified for minimumTTL if the distribution is configured + // to forward all headers to the origin. + MinimumTTL *int64 `locationName:"minimumTTL" type:"long"` +} + +// String returns the string representation +func (s CacheSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CacheSettings) GoString() string { + return s.String() +} + +// SetAllowedHTTPMethods sets the AllowedHTTPMethods field's value. +func (s *CacheSettings) SetAllowedHTTPMethods(v string) *CacheSettings { + s.AllowedHTTPMethods = &v + return s +} + +// SetCachedHTTPMethods sets the CachedHTTPMethods field's value. +func (s *CacheSettings) SetCachedHTTPMethods(v string) *CacheSettings { + s.CachedHTTPMethods = &v + return s +} + +// SetDefaultTTL sets the DefaultTTL field's value. +func (s *CacheSettings) SetDefaultTTL(v int64) *CacheSettings { + s.DefaultTTL = &v + return s +} + +// SetForwardedCookies sets the ForwardedCookies field's value. +func (s *CacheSettings) SetForwardedCookies(v *CookieObject) *CacheSettings { + s.ForwardedCookies = v + return s +} + +// SetForwardedHeaders sets the ForwardedHeaders field's value. +func (s *CacheSettings) SetForwardedHeaders(v *HeaderObject) *CacheSettings { + s.ForwardedHeaders = v + return s +} + +// SetForwardedQueryStrings sets the ForwardedQueryStrings field's value. +func (s *CacheSettings) SetForwardedQueryStrings(v *QueryStringObject) *CacheSettings { + s.ForwardedQueryStrings = v + return s +} + +// SetMaximumTTL sets the MaximumTTL field's value. +func (s *CacheSettings) SetMaximumTTL(v int64) *CacheSettings { + s.MaximumTTL = &v + return s +} + +// SetMinimumTTL sets the MinimumTTL field's value. +func (s *CacheSettings) SetMinimumTTL(v int64) *CacheSettings { + s.MinimumTTL = &v + return s +} + +// Describes the full details of an Amazon Lightsail SSL/TLS certificate. +// +// To get a summary of a certificate, use the GetCertificates action and ommit +// includeCertificateDetails from your request. The response will include only +// the certificate Amazon Resource Name (ARN), certificate name, domain name, +// and tags. +type Certificate struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the certificate. + Arn *string `locationName:"arn" type:"string"` + + // The timestamp when the certificate was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // The domain name of the certificate. + DomainName *string `locationName:"domainName" type:"string"` + + // An array of objects that describe the domain validation records of the certificate. + DomainValidationRecords []*DomainValidationRecord `locationName:"domainValidationRecords" type:"list"` + + // The renewal eligibility of the certificate. + EligibleToRenew *string `locationName:"eligibleToRenew" type:"string"` + + // The number of Lightsail resources that the certificate is attached to. + InUseResourceCount *int64 `locationName:"inUseResourceCount" type:"integer"` + + // The timestamp when the certificate was issued. + IssuedAt *time.Time `locationName:"issuedAt" type:"timestamp"` + + // The certificate authority that issued the certificate. + IssuerCA *string `locationName:"issuerCA" type:"string"` + + // The algorithm used to generate the key pair (the public and private key) + // of the certificate. + KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"` + + // The name of the certificate (e.g., my-certificate). + Name *string `locationName:"name" type:"string"` + + // The timestamp when the certificate expires. + NotAfter *time.Time `locationName:"notAfter" type:"timestamp"` + + // The timestamp when the certificate is first valid. + NotBefore *time.Time `locationName:"notBefore" type:"timestamp"` + + // An object that describes the status of the certificate renewal managed by + // Lightsail. + RenewalSummary *RenewalSummary `locationName:"renewalSummary" type:"structure"` + + // The validation failure reason, if any, of the certificate. + // + // The following failure reasons are possible: + // + // * NO_AVAILABLE_CONTACTS - This failure applies to email validation, which + // is not available for Lightsail certificates. + // + // * ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information + // to process this certificate request. This can happen as a fraud-protection + // measure, such as when the domain ranks within the Alexa top 1000 websites. + // To provide the required information, use the AWS Support Center (https://console.aws.amazon.com/support/home) + // to contact AWS Support. You cannot request a certificate for Amazon-owned + // domain names such as those ending in amazonaws.com, cloudfront.net, or + // elasticbeanstalk.com. + // + // * DOMAIN_NOT_ALLOWED - One or more of the domain names in the certificate + // request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url). + // To correct the problem, search for your domain name on the VirusTotal + // (https://www.virustotal.com/gui/home/url) website. If your domain is reported + // as suspicious, see Google Help for Hacked Websites (https://www.google.com/webmasters/hacked/?hl=en) + // to learn what you can do. If you believe that the result is a false positive, + // notify the organization that is reporting the domain. VirusTotal is an + // aggregate of several antivirus and URL scanners and cannot remove your + // domain from a block list itself. After you correct the problem and the + // VirusTotal registry has been updated, request a new certificate. If you + // see this error and your domain is not included in the VirusTotal list, + // visit the AWS Support Center (https://console.aws.amazon.com/support/home) + // and create a case. + // + // * INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate + // request is not valid. Typically, this is because a domain name in the + // request is not a valid top-level domain. Try to request a certificate + // again, correcting any spelling errors or typos that were in the failed + // request, and ensure that all domain names in the request are for valid + // top-level domains. For example, you cannot request a certificate for example.invalidpublicdomain + // because invalidpublicdomain is not a valid top-level domain. + // + // * OTHER - Typically, this failure occurs when there is a typographical + // error in one or more of the domain names in the certificate request. Try + // to request a certificate again, correcting any spelling errors or typos + // that were in the failed request. + RequestFailureReason *string `locationName:"requestFailureReason" type:"string"` + + // The reason the certificate was revoked. This value is present only when the + // certificate status is REVOKED. + RevocationReason *string `locationName:"revocationReason" type:"string"` + + // The timestamp when the certificate was revoked. This value is present only + // when the certificate status is REVOKED. + RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"` + + // The serial number of the certificate. + SerialNumber *string `locationName:"serialNumber" type:"string"` + + // The validation status of the certificate. + Status *string `locationName:"status" type:"string" enum:"CertificateStatus"` + + // An array of strings that specify the alternate domains (e.g., example2.com) + // and subdomains (e.g., blog.example.com) of the certificate. + SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"` + + // The support code. Include this code in your email to support when you have + // questions about your Lightsail certificate. This code enables our support + // team to look up your Lightsail information more easily. + SupportCode *string `locationName:"supportCode" type:"string"` + + // The tag keys and optional values for the resource. For more information about + // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation +func (s Certificate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Certificate) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Certificate) SetArn(v string) *Certificate { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *Certificate) SetCreatedAt(v time.Time) *Certificate { + s.CreatedAt = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *Certificate) SetDomainName(v string) *Certificate { + s.DomainName = &v + return s +} + +// SetDomainValidationRecords sets the DomainValidationRecords field's value. +func (s *Certificate) SetDomainValidationRecords(v []*DomainValidationRecord) *Certificate { + s.DomainValidationRecords = v + return s +} + +// SetEligibleToRenew sets the EligibleToRenew field's value. +func (s *Certificate) SetEligibleToRenew(v string) *Certificate { + s.EligibleToRenew = &v + return s +} + +// SetInUseResourceCount sets the InUseResourceCount field's value. +func (s *Certificate) SetInUseResourceCount(v int64) *Certificate { + s.InUseResourceCount = &v + return s +} + +// SetIssuedAt sets the IssuedAt field's value. +func (s *Certificate) SetIssuedAt(v time.Time) *Certificate { + s.IssuedAt = &v + return s +} + +// SetIssuerCA sets the IssuerCA field's value. +func (s *Certificate) SetIssuerCA(v string) *Certificate { + s.IssuerCA = &v + return s +} + +// SetKeyAlgorithm sets the KeyAlgorithm field's value. +func (s *Certificate) SetKeyAlgorithm(v string) *Certificate { + s.KeyAlgorithm = &v + return s +} + +// SetName sets the Name field's value. +func (s *Certificate) SetName(v string) *Certificate { + s.Name = &v + return s +} -// GoString returns the string representation -func (s AccessDeniedException) GoString() string { - return s.String() +// SetNotAfter sets the NotAfter field's value. +func (s *Certificate) SetNotAfter(v time.Time) *Certificate { + s.NotAfter = &v + return s } -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, - } +// SetNotBefore sets the NotBefore field's value. +func (s *Certificate) SetNotBefore(v time.Time) *Certificate { + s.NotBefore = &v + return s } -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" +// SetRenewalSummary sets the RenewalSummary field's value. +func (s *Certificate) SetRenewalSummary(v *RenewalSummary) *Certificate { + s.RenewalSummary = v + return s } -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetRequestFailureReason sets the RequestFailureReason field's value. +func (s *Certificate) SetRequestFailureReason(v string) *Certificate { + s.RequestFailureReason = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { - return nil +// SetRevocationReason sets the RevocationReason field's value. +func (s *Certificate) SetRevocationReason(v string) *Certificate { + s.RevocationReason = &v + return s } -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetRevokedAt sets the RevokedAt field's value. +func (s *Certificate) SetRevokedAt(v time.Time) *Certificate { + s.RevokedAt = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetSerialNumber sets the SerialNumber field's value. +func (s *Certificate) SetSerialNumber(v string) *Certificate { + s.SerialNumber = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID +// SetStatus sets the Status field's value. +func (s *Certificate) SetStatus(v string) *Certificate { + s.Status = &v + return s } -// Lightsail throws this exception when an account is still in the setup in -// progress state. -type AccountSetupInProgressException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value. +func (s *Certificate) SetSubjectAlternativeNames(v []*string) *Certificate { + s.SubjectAlternativeNames = v + return s +} - Code_ *string `locationName:"code" type:"string"` +// SetSupportCode sets the SupportCode field's value. +func (s *Certificate) SetSupportCode(v string) *Certificate { + s.SupportCode = &v + return s +} - Docs *string `locationName:"docs" type:"string"` +// SetTags sets the Tags field's value. +func (s *Certificate) SetTags(v []*Tag) *Certificate { + s.Tags = v + return s +} - Message_ *string `locationName:"message" type:"string"` +// Describes an Amazon Lightsail SSL/TLS certificate. +type CertificateSummary struct { + _ struct{} `type:"structure"` - Tip *string `locationName:"tip" type:"string"` + // The Amazon Resource Name (ARN) of the certificate. + CertificateArn *string `locationName:"certificateArn" type:"string"` + + // An object that describes a certificate in detail. + CertificateDetail *Certificate `locationName:"certificateDetail" type:"structure"` + + // The name of the certificate. + CertificateName *string `locationName:"certificateName" type:"string"` + + // The domain name of the certificate. + DomainName *string `locationName:"domainName" type:"string"` + + // The tag keys and optional values for the resource. For more information about + // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s AccountSetupInProgressException) String() string { +func (s CertificateSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AccountSetupInProgressException) GoString() string { +func (s CertificateSummary) GoString() string { return s.String() } -func newErrorAccountSetupInProgressException(v protocol.ResponseMetadata) error { - return &AccountSetupInProgressException{ - RespMetadata: v, - } +// SetCertificateArn sets the CertificateArn field's value. +func (s *CertificateSummary) SetCertificateArn(v string) *CertificateSummary { + s.CertificateArn = &v + return s } -// Code returns the exception type name. -func (s *AccountSetupInProgressException) Code() string { - return "AccountSetupInProgressException" +// SetCertificateDetail sets the CertificateDetail field's value. +func (s *CertificateSummary) SetCertificateDetail(v *Certificate) *CertificateSummary { + s.CertificateDetail = v + return s } -// Message returns the exception's message. -func (s *AccountSetupInProgressException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetCertificateName sets the CertificateName field's value. +func (s *CertificateSummary) SetCertificateName(v string) *CertificateSummary { + s.CertificateName = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccountSetupInProgressException) OrigErr() error { +// SetDomainName sets the DomainName field's value. +func (s *CertificateSummary) SetDomainName(v string) *CertificateSummary { + s.DomainName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CertificateSummary) SetTags(v []*Tag) *CertificateSummary { + s.Tags = v + return s +} + +type CloseInstancePublicPortsInput struct { + _ struct{} `type:"structure"` + + // The name of the instance for which to close ports. + // + // InstanceName is a required field + InstanceName *string `locationName:"instanceName" type:"string" required:"true"` + + // An object to describe the ports to close for the specified instance. + // + // PortInfo is a required field + PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"` +} + +// String returns the string representation +func (s CloseInstancePublicPortsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloseInstancePublicPortsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CloseInstancePublicPortsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloseInstancePublicPortsInput"} + if s.InstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceName")) + } + if s.PortInfo == nil { + invalidParams.Add(request.NewErrParamRequired("PortInfo")) + } + if s.PortInfo != nil { + if err := s.PortInfo.Validate(); err != nil { + invalidParams.AddNested("PortInfo", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *AccountSetupInProgressException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetInstanceName sets the InstanceName field's value. +func (s *CloseInstancePublicPortsInput) SetInstanceName(v string) *CloseInstancePublicPortsInput { + s.InstanceName = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *AccountSetupInProgressException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetPortInfo sets the PortInfo field's value. +func (s *CloseInstancePublicPortsInput) SetPortInfo(v *PortInfo) *CloseInstancePublicPortsInput { + s.PortInfo = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *AccountSetupInProgressException) RequestID() string { - return s.RespMetadata.RequestID +type CloseInstancePublicPortsOutput struct { + _ struct{} `type:"structure"` + + // An object that describes the result of the action, such as the status of + // the request, the timestamp of the request, and the resources affected by + // the request. + Operation *Operation `locationName:"operation" type:"structure"` } -// Describes an add-on that is enabled for an Amazon Lightsail resource. -type AddOn struct { +// String returns the string representation +func (s CloseInstancePublicPortsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloseInstancePublicPortsOutput) GoString() string { + return s.String() +} + +// SetOperation sets the Operation field's value. +func (s *CloseInstancePublicPortsOutput) SetOperation(v *Operation) *CloseInstancePublicPortsOutput { + s.Operation = v + return s +} + +// Describes a CloudFormation stack record created as a result of the create +// cloud formation stack operation. +// +// A CloudFormation stack record provides information about the AWS CloudFormation +// stack used to create a new Amazon Elastic Compute Cloud instance from an +// exported Lightsail instance snapshot. +type CloudFormationStackRecord struct { _ struct{} `type:"structure"` - // The name of the add-on. + // The Amazon Resource Name (ARN) of the CloudFormation stack record. + Arn *string `locationName:"arn" type:"string"` + + // The date when the CloudFormation stack record was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // A list of objects describing the destination service, which is AWS CloudFormation, + // and the Amazon Resource Name (ARN) of the AWS CloudFormation stack. + DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"` + + // A list of objects describing the Availability Zone and AWS Region of the + // CloudFormation stack record. + Location *ResourceLocation `locationName:"location" type:"structure"` + + // The name of the CloudFormation stack record. It starts with CloudFormationStackRecord + // followed by a GUID. Name *string `locationName:"name" type:"string"` - // The next daily time an automatic snapshot will be created. - // - // The time shown is in HH:00 format, and in Coordinated Universal Time (UTC). - // - // The snapshot is automatically created between the time shown and up to 45 - // minutes after. - NextSnapshotTimeOfDay *string `locationName:"nextSnapshotTimeOfDay" type:"string"` + // The Lightsail resource type (e.g., CloudFormationStackRecord). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` - // The daily time when an automatic snapshot is created. - // - // The time shown is in HH:00 format, and in Coordinated Universal Time (UTC). - // - // The snapshot is automatically created between the time shown and up to 45 - // minutes after. - SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"` + // A list of objects describing the source of the CloudFormation stack record. + SourceInfo []*CloudFormationStackRecordSourceInfo `locationName:"sourceInfo" type:"list"` - // The status of the add-on. - Status *string `locationName:"status" type:"string"` + // The current state of the CloudFormation stack record. + State *string `locationName:"state" type:"string" enum:"RecordState"` } // String returns the string representation -func (s AddOn) String() string { +func (s CloudFormationStackRecord) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AddOn) GoString() string { +func (s CloudFormationStackRecord) GoString() string { return s.String() } +// SetArn sets the Arn field's value. +func (s *CloudFormationStackRecord) SetArn(v string) *CloudFormationStackRecord { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *CloudFormationStackRecord) SetCreatedAt(v time.Time) *CloudFormationStackRecord { + s.CreatedAt = &v + return s +} + +// SetDestinationInfo sets the DestinationInfo field's value. +func (s *CloudFormationStackRecord) SetDestinationInfo(v *DestinationInfo) *CloudFormationStackRecord { + s.DestinationInfo = v + return s +} + +// SetLocation sets the Location field's value. +func (s *CloudFormationStackRecord) SetLocation(v *ResourceLocation) *CloudFormationStackRecord { + s.Location = v + return s +} + // SetName sets the Name field's value. -func (s *AddOn) SetName(v string) *AddOn { +func (s *CloudFormationStackRecord) SetName(v string) *CloudFormationStackRecord { s.Name = &v return s } -// SetNextSnapshotTimeOfDay sets the NextSnapshotTimeOfDay field's value. -func (s *AddOn) SetNextSnapshotTimeOfDay(v string) *AddOn { - s.NextSnapshotTimeOfDay = &v +// SetResourceType sets the ResourceType field's value. +func (s *CloudFormationStackRecord) SetResourceType(v string) *CloudFormationStackRecord { + s.ResourceType = &v return s } -// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value. -func (s *AddOn) SetSnapshotTimeOfDay(v string) *AddOn { - s.SnapshotTimeOfDay = &v +// SetSourceInfo sets the SourceInfo field's value. +func (s *CloudFormationStackRecord) SetSourceInfo(v []*CloudFormationStackRecordSourceInfo) *CloudFormationStackRecord { + s.SourceInfo = v return s } -// SetStatus sets the Status field's value. -func (s *AddOn) SetStatus(v string) *AddOn { - s.Status = &v +// SetState sets the State field's value. +func (s *CloudFormationStackRecord) SetState(v string) *CloudFormationStackRecord { + s.State = &v return s } -// Describes a request to enable, modify, or disable an add-on for an Amazon -// Lightsail resource. -// -// An additional cost may be associated with enabling add-ons. For more information, -// see the Lightsail pricing page (https://aws.amazon.com/lightsail/pricing/). -type AddOnRequest struct { +// Describes the source of a CloudFormation stack record (i.e., the export snapshot +// record). +type CloudFormationStackRecordSourceInfo struct { _ struct{} `type:"structure"` - // The add-on type. - // - // AddOnType is a required field - AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"` + // The Amazon Resource Name (ARN) of the export snapshot record. + Arn *string `locationName:"arn" type:"string"` - // An object that represents additional parameters when enabling or modifying - // the automatic snapshot add-on. - AutoSnapshotAddOnRequest *AutoSnapshotAddOnRequest `locationName:"autoSnapshotAddOnRequest" type:"structure"` + // The name of the record. + Name *string `locationName:"name" type:"string"` + + // The Lightsail resource type (e.g., ExportSnapshotRecord). + ResourceType *string `locationName:"resourceType" type:"string" enum:"CloudFormationStackRecordSourceType"` } // String returns the string representation -func (s AddOnRequest) String() string { +func (s CloudFormationStackRecordSourceInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AddOnRequest) GoString() string { +func (s CloudFormationStackRecordSourceInfo) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AddOnRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AddOnRequest"} - if s.AddOnType == nil { - invalidParams.Add(request.NewErrParamRequired("AddOnType")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *CloudFormationStackRecordSourceInfo) SetArn(v string) *CloudFormationStackRecordSourceInfo { + s.Arn = &v + return s } -// SetAddOnType sets the AddOnType field's value. -func (s *AddOnRequest) SetAddOnType(v string) *AddOnRequest { - s.AddOnType = &v +// SetName sets the Name field's value. +func (s *CloudFormationStackRecordSourceInfo) SetName(v string) *CloudFormationStackRecordSourceInfo { + s.Name = &v return s } -// SetAutoSnapshotAddOnRequest sets the AutoSnapshotAddOnRequest field's value. -func (s *AddOnRequest) SetAutoSnapshotAddOnRequest(v *AutoSnapshotAddOnRequest) *AddOnRequest { - s.AutoSnapshotAddOnRequest = v +// SetResourceType sets the ResourceType field's value. +func (s *CloudFormationStackRecordSourceInfo) SetResourceType(v string) *CloudFormationStackRecordSourceInfo { + s.ResourceType = &v return s } -// Describes an alarm. +// Describes a contact method. // -// An alarm is a way to monitor your Amazon Lightsail resource metrics. For -// more information, see Alarms in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-alarms). -type Alarm struct { +// A contact method is a way to send you notifications. For more information, +// see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications). +type ContactMethod struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the alarm. + // The Amazon Resource Name (ARN) of the contact method. Arn *string `locationName:"arn" type:"string"` - // The arithmetic operation used when comparing the specified statistic and - // threshold. - ComparisonOperator *string `locationName:"comparisonOperator" type:"string" enum:"ComparisonOperator"` - - // The contact protocols for the alarm, such as Email, SMS (text messaging), - // or both. - ContactProtocols []*string `locationName:"contactProtocols" type:"list"` + // The destination of the contact method, such as an email address or a mobile + // phone number. + ContactEndpoint *string `locationName:"contactEndpoint" type:"string"` - // The timestamp when the alarm was created. + // The timestamp when the contact method was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - // The number of data points that must not within the specified threshold to - // trigger the alarm. - DatapointsToAlarm *int64 `locationName:"datapointsToAlarm" type:"integer"` - - // The number of periods over which data is compared to the specified threshold. - EvaluationPeriods *int64 `locationName:"evaluationPeriods" type:"integer"` - - // An object that lists information about the location of the alarm. + // Describes the resource location. Location *ResourceLocation `locationName:"location" type:"structure"` - // The name of the metric associated with the alarm. - MetricName *string `locationName:"metricName" type:"string" enum:"MetricName"` - - // An object that lists information about the resource monitored by the alarm. - MonitoredResourceInfo *MonitoredResourceInfo `locationName:"monitoredResourceInfo" type:"structure"` - - // The name of the alarm. + // The name of the contact method. Name *string `locationName:"name" type:"string"` - // Indicates whether the alarm is enabled. - NotificationEnabled *bool `locationName:"notificationEnabled" type:"boolean"` - - // The alarm states that trigger a notification. - NotificationTriggers []*string `locationName:"notificationTriggers" type:"list"` - - // The period, in seconds, over which the statistic is applied. - Period *int64 `locationName:"period" min:"60" type:"integer"` + // The protocol of the contact method, such as email or SMS (text messaging). + Protocol *string `locationName:"protocol" type:"string" enum:"ContactProtocol"` - // The Lightsail resource type (e.g., Alarm). + // The Lightsail resource type (e.g., ContactMethod). ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` - // The current state of the alarm. - // - // An alarm has the following possible states: - // - // * ALARM — The metric is outside of the defined threshold. - // - // * INSUFFICIENT_DATA — The alarm has just started, the metric is not - // available, or not enough data is available for the metric to determine - // the alarm state. - // - // * OK — The metric is within the defined threshold. - State *string `locationName:"state" type:"string" enum:"AlarmState"` - - // The statistic for the metric associated with the alarm. - // - // The following statistics are available: - // - // * Minimum — The lowest value observed during the specified period. Use - // this value to determine low volumes of activity for your application. + // The current status of the contact method. // - // * Maximum — The highest value observed during the specified period. - // Use this value to determine high volumes of activity for your application. + // A contact method has the following possible status: // - // * Sum — All values submitted for the matching metric added together. - // You can use this statistic to determine the total volume of a metric. + // * PendingVerification - The contact method has not yet been verified, + // and the verification has not yet expired. // - // * Average — The value of Sum / SampleCount during the specified period. - // By comparing this statistic with the Minimum and Maximum values, you can - // determine the full scope of a metric and how close the average use is - // to the Minimum and Maximum values. This comparison helps you to know when - // to increase or decrease your resources. + // * Valid - The contact method has been verified. // - // * SampleCount — The count, or number, of data points used for the statistical - // calculation. - Statistic *string `locationName:"statistic" type:"string" enum:"MetricStatistic"` + // * InValid - An attempt was made to verify the contact method, but the + // verification has expired. + Status *string `locationName:"status" type:"string" enum:"ContactMethodStatus"` // The support code. Include this code in your email to support when you have - // questions about your Lightsail alarm. This code enables our support team - // to look up your Lightsail information more easily. + // questions about your Lightsail contact method. This code enables our support + // team to look up your Lightsail information more easily. SupportCode *string `locationName:"supportCode" type:"string"` - - // The value against which the specified statistic is compared. - Threshold *float64 `locationName:"threshold" type:"double"` - - // Specifies how the alarm handles missing data points. - // - // An alarm can treat missing data in the following ways: - // - // * breaching — Assume the missing data is not within the threshold. Missing - // data counts towards the number of times the metric is not within the threshold. - // - // * notBreaching — Assume the missing data is within the threshold. Missing - // data does not count towards the number of times the metric is not within - // the threshold. - // - // * ignore — Ignore the missing data. Maintains the current alarm state. - // - // * missing — Missing data is treated as missing. - TreatMissingData *string `locationName:"treatMissingData" type:"string" enum:"TreatMissingData"` - - // The unit of the metric associated with the alarm. - Unit *string `locationName:"unit" type:"string" enum:"MetricUnit"` } // String returns the string representation -func (s Alarm) String() string { +func (s ContactMethod) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Alarm) GoString() string { +func (s ContactMethod) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *Alarm) SetArn(v string) *Alarm { +func (s *ContactMethod) SetArn(v string) *ContactMethod { s.Arn = &v return s } -// SetComparisonOperator sets the ComparisonOperator field's value. -func (s *Alarm) SetComparisonOperator(v string) *Alarm { - s.ComparisonOperator = &v - return s -} - -// SetContactProtocols sets the ContactProtocols field's value. -func (s *Alarm) SetContactProtocols(v []*string) *Alarm { - s.ContactProtocols = v - return s -} - -// SetCreatedAt sets the CreatedAt field's value. -func (s *Alarm) SetCreatedAt(v time.Time) *Alarm { - s.CreatedAt = &v - return s -} - -// SetDatapointsToAlarm sets the DatapointsToAlarm field's value. -func (s *Alarm) SetDatapointsToAlarm(v int64) *Alarm { - s.DatapointsToAlarm = &v - return s -} - -// SetEvaluationPeriods sets the EvaluationPeriods field's value. -func (s *Alarm) SetEvaluationPeriods(v int64) *Alarm { - s.EvaluationPeriods = &v - return s -} - -// SetLocation sets the Location field's value. -func (s *Alarm) SetLocation(v *ResourceLocation) *Alarm { - s.Location = v - return s -} - -// SetMetricName sets the MetricName field's value. -func (s *Alarm) SetMetricName(v string) *Alarm { - s.MetricName = &v - return s -} - -// SetMonitoredResourceInfo sets the MonitoredResourceInfo field's value. -func (s *Alarm) SetMonitoredResourceInfo(v *MonitoredResourceInfo) *Alarm { - s.MonitoredResourceInfo = v - return s -} - -// SetName sets the Name field's value. -func (s *Alarm) SetName(v string) *Alarm { - s.Name = &v - return s -} - -// SetNotificationEnabled sets the NotificationEnabled field's value. -func (s *Alarm) SetNotificationEnabled(v bool) *Alarm { - s.NotificationEnabled = &v - return s -} - -// SetNotificationTriggers sets the NotificationTriggers field's value. -func (s *Alarm) SetNotificationTriggers(v []*string) *Alarm { - s.NotificationTriggers = v - return s -} - -// SetPeriod sets the Period field's value. -func (s *Alarm) SetPeriod(v int64) *Alarm { - s.Period = &v +// SetContactEndpoint sets the ContactEndpoint field's value. +func (s *ContactMethod) SetContactEndpoint(v string) *ContactMethod { + s.ContactEndpoint = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *Alarm) SetResourceType(v string) *Alarm { - s.ResourceType = &v +// SetCreatedAt sets the CreatedAt field's value. +func (s *ContactMethod) SetCreatedAt(v time.Time) *ContactMethod { + s.CreatedAt = &v return s } -// SetState sets the State field's value. -func (s *Alarm) SetState(v string) *Alarm { - s.State = &v +// SetLocation sets the Location field's value. +func (s *ContactMethod) SetLocation(v *ResourceLocation) *ContactMethod { + s.Location = v return s } -// SetStatistic sets the Statistic field's value. -func (s *Alarm) SetStatistic(v string) *Alarm { - s.Statistic = &v +// SetName sets the Name field's value. +func (s *ContactMethod) SetName(v string) *ContactMethod { + s.Name = &v return s } -// SetSupportCode sets the SupportCode field's value. -func (s *Alarm) SetSupportCode(v string) *Alarm { - s.SupportCode = &v +// SetProtocol sets the Protocol field's value. +func (s *ContactMethod) SetProtocol(v string) *ContactMethod { + s.Protocol = &v return s } -// SetThreshold sets the Threshold field's value. -func (s *Alarm) SetThreshold(v float64) *Alarm { - s.Threshold = &v +// SetResourceType sets the ResourceType field's value. +func (s *ContactMethod) SetResourceType(v string) *ContactMethod { + s.ResourceType = &v return s } -// SetTreatMissingData sets the TreatMissingData field's value. -func (s *Alarm) SetTreatMissingData(v string) *Alarm { - s.TreatMissingData = &v +// SetStatus sets the Status field's value. +func (s *ContactMethod) SetStatus(v string) *ContactMethod { + s.Status = &v return s } -// SetUnit sets the Unit field's value. -func (s *Alarm) SetUnit(v string) *Alarm { - s.Unit = &v +// SetSupportCode sets the SupportCode field's value. +func (s *ContactMethod) SetSupportCode(v string) *ContactMethod { + s.SupportCode = &v return s } -type AllocateStaticIpInput struct { +// Describes whether an Amazon Lightsail content delivery network (CDN) distribution +// forwards cookies to the origin and, if so, which ones. +// +// For the cookies that you specify, your distribution caches separate versions +// of the specified content based on the cookie values in viewer requests. +type CookieObject struct { _ struct{} `type:"structure"` - // The name of the static IP address. - // - // StaticIpName is a required field - StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` + // The specific cookies to forward to your distribution's origin. + CookiesAllowList []*string `locationName:"cookiesAllowList" type:"list"` + + // Specifies which cookies to forward to the distribution's origin for a cache + // behavior: all, none, or allow-list to forward only the cookies specified + // in the cookiesAllowList parameter. + Option *string `locationName:"option" type:"string" enum:"ForwardValues"` } // String returns the string representation -func (s AllocateStaticIpInput) String() string { +func (s CookieObject) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AllocateStaticIpInput) GoString() string { +func (s CookieObject) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AllocateStaticIpInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AllocateStaticIpInput"} - if s.StaticIpName == nil { - invalidParams.Add(request.NewErrParamRequired("StaticIpName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCookiesAllowList sets the CookiesAllowList field's value. +func (s *CookieObject) SetCookiesAllowList(v []*string) *CookieObject { + s.CookiesAllowList = v + return s } -// SetStaticIpName sets the StaticIpName field's value. -func (s *AllocateStaticIpInput) SetStaticIpName(v string) *AllocateStaticIpInput { - s.StaticIpName = &v +// SetOption sets the Option field's value. +func (s *CookieObject) SetOption(v string) *CookieObject { + s.Option = &v return s } -type AllocateStaticIpOutput struct { +type CopySnapshotInput struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` -} - -// String returns the string representation -func (s AllocateStaticIpOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AllocateStaticIpOutput) GoString() string { - return s.String() -} + // The date of the source automatic snapshot to copy. Use the get auto snapshots + // operation to identify the dates of the available automatic snapshots. + // + // Constraints: + // + // * Must be specified in YYYY-MM-DD format. + // + // * This parameter cannot be defined together with the use latest restorable + // auto snapshot parameter. The restore date and use latest restorable auto + // snapshot parameters are mutually exclusive. + // + // * Define this parameter only when copying an automatic snapshot as a manual + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots). + RestoreDate *string `locationName:"restoreDate" type:"string"` -// SetOperations sets the Operations field's value. -func (s *AllocateStaticIpOutput) SetOperations(v []*Operation) *AllocateStaticIpOutput { - s.Operations = v - return s -} + // The AWS Region where the source manual or automatic snapshot is located. + // + // SourceRegion is a required field + SourceRegion *string `locationName:"sourceRegion" type:"string" required:"true" enum:"RegionName"` -type AttachDiskInput struct { - _ struct{} `type:"structure"` + // The name of the source instance or disk from which the source automatic snapshot + // was created. + // + // Constraint: + // + // * Define this parameter only when copying an automatic snapshot as a manual + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots). + SourceResourceName *string `locationName:"sourceResourceName" type:"string"` - // The unique Lightsail disk name (e.g., my-disk). + // The name of the source manual snapshot to copy. // - // DiskName is a required field - DiskName *string `locationName:"diskName" type:"string" required:"true"` + // Constraint: + // + // * Define this parameter only when copying a manual snapshot as another + // manual snapshot. + SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string"` - // The disk path to expose to the instance (e.g., /dev/xvdf). + // The name of the new manual snapshot to be created as a copy. // - // DiskPath is a required field - DiskPath *string `locationName:"diskPath" type:"string" required:"true"` + // TargetSnapshotName is a required field + TargetSnapshotName *string `locationName:"targetSnapshotName" type:"string" required:"true"` - // The name of the Lightsail instance where you want to utilize the storage - // disk. + // A Boolean value to indicate whether to use the latest available automatic + // snapshot of the specified source instance or disk. // - // InstanceName is a required field - InstanceName *string `locationName:"instanceName" type:"string" required:"true"` + // Constraints: + // + // * This parameter cannot be defined together with the restore date parameter. + // The use latest restorable auto snapshot and restore date parameters are + // mutually exclusive. + // + // * Define this parameter only when copying an automatic snapshot as a manual + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots). + UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"` } // String returns the string representation -func (s AttachDiskInput) String() string { +func (s CopySnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttachDiskInput) GoString() string { +func (s CopySnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AttachDiskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AttachDiskInput"} - if s.DiskName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskName")) - } - if s.DiskPath == nil { - invalidParams.Add(request.NewErrParamRequired("DiskPath")) +func (s *CopySnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"} + if s.SourceRegion == nil { + invalidParams.Add(request.NewErrParamRequired("SourceRegion")) } - if s.InstanceName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceName")) + if s.TargetSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName")) } if invalidParams.Len() > 0 { @@ -12761,166 +16064,113 @@ func (s *AttachDiskInput) Validate() error { return nil } -// SetDiskName sets the DiskName field's value. -func (s *AttachDiskInput) SetDiskName(v string) *AttachDiskInput { - s.DiskName = &v +// SetRestoreDate sets the RestoreDate field's value. +func (s *CopySnapshotInput) SetRestoreDate(v string) *CopySnapshotInput { + s.RestoreDate = &v return s } -// SetDiskPath sets the DiskPath field's value. -func (s *AttachDiskInput) SetDiskPath(v string) *AttachDiskInput { - s.DiskPath = &v +// SetSourceRegion sets the SourceRegion field's value. +func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput { + s.SourceRegion = &v return s } -// SetInstanceName sets the InstanceName field's value. -func (s *AttachDiskInput) SetInstanceName(v string) *AttachDiskInput { - s.InstanceName = &v +// SetSourceResourceName sets the SourceResourceName field's value. +func (s *CopySnapshotInput) SetSourceResourceName(v string) *CopySnapshotInput { + s.SourceResourceName = &v return s } -type AttachDiskOutput struct { - _ struct{} `type:"structure"` - - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` -} - -// String returns the string representation -func (s AttachDiskOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AttachDiskOutput) GoString() string { - return s.String() -} - -// SetOperations sets the Operations field's value. -func (s *AttachDiskOutput) SetOperations(v []*Operation) *AttachDiskOutput { - s.Operations = v +// SetSourceSnapshotName sets the SourceSnapshotName field's value. +func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput { + s.SourceSnapshotName = &v return s } -type AttachInstancesToLoadBalancerInput struct { - _ struct{} `type:"structure"` - - // An array of strings representing the instance name(s) you want to attach - // to your load balancer. - // - // An instance must be running before you can attach it to your load balancer. - // - // There are no additional limits on the number of instances you can attach - // to your load balancer, aside from the limit of Lightsail instances you can - // create in your account (20). - // - // InstanceNames is a required field - InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` - - // The name of the load balancer. - // - // LoadBalancerName is a required field - LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` -} - -// String returns the string representation -func (s AttachInstancesToLoadBalancerInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AttachInstancesToLoadBalancerInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *AttachInstancesToLoadBalancerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AttachInstancesToLoadBalancerInput"} - if s.InstanceNames == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceNames")) - } - if s.LoadBalancerName == nil { - invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetInstanceNames sets the InstanceNames field's value. -func (s *AttachInstancesToLoadBalancerInput) SetInstanceNames(v []*string) *AttachInstancesToLoadBalancerInput { - s.InstanceNames = v +// SetTargetSnapshotName sets the TargetSnapshotName field's value. +func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput { + s.TargetSnapshotName = &v return s } -// SetLoadBalancerName sets the LoadBalancerName field's value. -func (s *AttachInstancesToLoadBalancerInput) SetLoadBalancerName(v string) *AttachInstancesToLoadBalancerInput { - s.LoadBalancerName = &v +// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value. +func (s *CopySnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CopySnapshotInput { + s.UseLatestRestorableAutoSnapshot = &v return s } -type AttachInstancesToLoadBalancerOutput struct { +type CopySnapshotOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s AttachInstancesToLoadBalancerOutput) String() string { +func (s CopySnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttachInstancesToLoadBalancerOutput) GoString() string { +func (s CopySnapshotOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *AttachInstancesToLoadBalancerOutput) SetOperations(v []*Operation) *AttachInstancesToLoadBalancerOutput { +func (s *CopySnapshotOutput) SetOperations(v []*Operation) *CopySnapshotOutput { s.Operations = v return s } -type AttachLoadBalancerTlsCertificateInput struct { +type CreateCertificateInput struct { _ struct{} `type:"structure"` - // The name of your SSL/TLS certificate. + // The name for the certificate. // // CertificateName is a required field CertificateName *string `locationName:"certificateName" type:"string" required:"true"` - // The name of the load balancer to which you want to associate the SSL/TLS - // certificate. + // The domain name (e.g., example.com) for the certificate. // - // LoadBalancerName is a required field - LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` + // DomainName is a required field + DomainName *string `locationName:"domainName" type:"string" required:"true"` + + // An array of strings that specify the alternate domains (e.g., example2.com) + // and subdomains (e.g., blog.example.com) for the certificate. + // + // You can specify a maximum of nine alternate domains (in addition to the primary + // domain name). + // + // Wildcard domain entries (e.g., *.example.com) are not supported. + SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"` + + // The tag keys and optional values to add to the certificate during create. + // + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s AttachLoadBalancerTlsCertificateInput) String() string { +func (s CreateCertificateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttachLoadBalancerTlsCertificateInput) GoString() string { +func (s CreateCertificateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AttachLoadBalancerTlsCertificateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AttachLoadBalancerTlsCertificateInput"} +func (s *CreateCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCertificateInput"} if s.CertificateName == nil { invalidParams.Add(request.NewErrParamRequired("CertificateName")) } - if s.LoadBalancerName == nil { - invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) } if invalidParams.Len() > 0 { @@ -12930,77 +16180,100 @@ func (s *AttachLoadBalancerTlsCertificateInput) Validate() error { } // SetCertificateName sets the CertificateName field's value. -func (s *AttachLoadBalancerTlsCertificateInput) SetCertificateName(v string) *AttachLoadBalancerTlsCertificateInput { +func (s *CreateCertificateInput) SetCertificateName(v string) *CreateCertificateInput { s.CertificateName = &v return s } -// SetLoadBalancerName sets the LoadBalancerName field's value. -func (s *AttachLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *AttachLoadBalancerTlsCertificateInput { - s.LoadBalancerName = &v +// SetDomainName sets the DomainName field's value. +func (s *CreateCertificateInput) SetDomainName(v string) *CreateCertificateInput { + s.DomainName = &v return s } -type AttachLoadBalancerTlsCertificateOutput struct { +// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value. +func (s *CreateCertificateInput) SetSubjectAlternativeNames(v []*string) *CreateCertificateInput { + s.SubjectAlternativeNames = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateCertificateInput) SetTags(v []*Tag) *CreateCertificateInput { + s.Tags = v + return s +} + +type CreateCertificateOutput struct { _ struct{} `type:"structure"` + // An object that describes the certificate created. + Certificate *CertificateSummary `locationName:"certificate" type:"structure"` + // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. - // - // These SSL/TLS certificates are only usable by Lightsail load balancers. You - // can't get the certificate and use it for another purpose. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s AttachLoadBalancerTlsCertificateOutput) String() string { +func (s CreateCertificateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttachLoadBalancerTlsCertificateOutput) GoString() string { +func (s CreateCertificateOutput) GoString() string { return s.String() } +// SetCertificate sets the Certificate field's value. +func (s *CreateCertificateOutput) SetCertificate(v *CertificateSummary) *CreateCertificateOutput { + s.Certificate = v + return s +} + // SetOperations sets the Operations field's value. -func (s *AttachLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *AttachLoadBalancerTlsCertificateOutput { +func (s *CreateCertificateOutput) SetOperations(v []*Operation) *CreateCertificateOutput { s.Operations = v return s } -type AttachStaticIpInput struct { +type CreateCloudFormationStackInput struct { _ struct{} `type:"structure"` - // The instance name to which you want to attach the static IP address. - // - // InstanceName is a required field - InstanceName *string `locationName:"instanceName" type:"string" required:"true"` - - // The name of the static IP. + // An array of parameters that will be used to create the new Amazon EC2 instance. + // You can only pass one instance entry at a time in this array. You will get + // an invalid parameter error if you pass more than one instance entry in this + // array. // - // StaticIpName is a required field - StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` + // Instances is a required field + Instances []*InstanceEntry `locationName:"instances" type:"list" required:"true"` } // String returns the string representation -func (s AttachStaticIpInput) String() string { +func (s CreateCloudFormationStackInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttachStaticIpInput) GoString() string { +func (s CreateCloudFormationStackInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AttachStaticIpInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AttachStaticIpInput"} - if s.InstanceName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceName")) +func (s *CreateCloudFormationStackInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationStackInput"} + if s.Instances == nil { + invalidParams.Add(request.NewErrParamRequired("Instances")) } - if s.StaticIpName == nil { - invalidParams.Add(request.NewErrParamRequired("StaticIpName")) + if s.Instances != nil { + for i, v := range s.Instances { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Instances", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -13009,510 +16282,517 @@ func (s *AttachStaticIpInput) Validate() error { return nil } -// SetInstanceName sets the InstanceName field's value. -func (s *AttachStaticIpInput) SetInstanceName(v string) *AttachStaticIpInput { - s.InstanceName = &v - return s -} - -// SetStaticIpName sets the StaticIpName field's value. -func (s *AttachStaticIpInput) SetStaticIpName(v string) *AttachStaticIpInput { - s.StaticIpName = &v +// SetInstances sets the Instances field's value. +func (s *CreateCloudFormationStackInput) SetInstances(v []*InstanceEntry) *CreateCloudFormationStackInput { + s.Instances = v return s } -type AttachStaticIpOutput struct { +type CreateCloudFormationStackOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s AttachStaticIpOutput) String() string { +func (s CreateCloudFormationStackOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AttachStaticIpOutput) GoString() string { +func (s CreateCloudFormationStackOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *AttachStaticIpOutput) SetOperations(v []*Operation) *AttachStaticIpOutput { +func (s *CreateCloudFormationStackOutput) SetOperations(v []*Operation) *CreateCloudFormationStackOutput { s.Operations = v return s } -// Describes a block storage disk that is attached to an instance, and is included -// in an automatic snapshot. -type AttachedDisk struct { +type CreateContactMethodInput struct { _ struct{} `type:"structure"` - // The path of the disk (e.g., /dev/xvdf). - Path *string `locationName:"path" type:"string"` - - // The size of the disk in GB. - SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` -} - -// String returns the string representation -func (s AttachedDisk) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AttachedDisk) GoString() string { - return s.String() -} - -// SetPath sets the Path field's value. -func (s *AttachedDisk) SetPath(v string) *AttachedDisk { - s.Path = &v - return s -} - -// SetSizeInGb sets the SizeInGb field's value. -func (s *AttachedDisk) SetSizeInGb(v int64) *AttachedDisk { - s.SizeInGb = &v - return s -} - -// Describes a request to enable or modify the automatic snapshot add-on for -// an Amazon Lightsail instance or disk. -// -// When you modify the automatic snapshot time for a resource, it is typically -// effective immediately except under the following conditions: -// -// * If an automatic snapshot has been created for the current day, and you -// change the snapshot time to a later time of day, then the new snapshot -// time will be effective the following day. This ensures that two snapshots -// are not created for the current day. -// -// * If an automatic snapshot has not yet been created for the current day, -// and you change the snapshot time to an earlier time of day, then the new -// snapshot time will be effective the following day and a snapshot is automatically -// created at the previously set time for the current day. This ensures that -// a snapshot is created for the current day. -// -// * If an automatic snapshot has not yet been created for the current day, -// and you change the snapshot time to a time that is within 30 minutes from -// your current time, then the new snapshot time will be effective the following -// day and a snapshot is automatically created at the previously set time -// for the current day. This ensures that a snapshot is created for the current -// day, because 30 minutes is required between your current time and the -// new snapshot time that you specify. -// -// * If an automatic snapshot is scheduled to be created within 30 minutes -// from your current time and you change the snapshot time, then the new -// snapshot time will be effective the following day and a snapshot is automatically -// created at the previously set time for the current day. This ensures that -// a snapshot is created for the current day, because 30 minutes is required -// between your current time and the new snapshot time that you specify. -type AutoSnapshotAddOnRequest struct { - _ struct{} `type:"structure"` + // The destination of the contact method, such as an email address or a mobile + // phone number. + // + // Use the E.164 format when specifying a mobile phone number. E.164 is a standard + // for the phone number structure used for international telecommunication. + // Phone numbers that follow this format can have a maximum of 15 digits, and + // they are prefixed with the plus character (+) and the country code. For example, + // a U.S. phone number in E.164 format would be specified as +1XXX5550100. For + // more information, see E.164 (https://en.wikipedia.org/wiki/E.164) on Wikipedia. + // + // ContactEndpoint is a required field + ContactEndpoint *string `locationName:"contactEndpoint" min:"1" type:"string" required:"true"` - // The daily time when an automatic snapshot will be created. + // The protocol of the contact method, such as Email or SMS (text messaging). // - // Constraints: + // The SMS protocol is supported only in the following AWS Regions. // - // * Must be in HH:00 format, and in an hourly increment. + // * US East (N. Virginia) (us-east-1) // - // * Specified in Coordinated Universal Time (UTC). + // * US West (Oregon) (us-west-2) // - // * The snapshot will be automatically created between the time specified - // and up to 45 minutes after. - SnapshotTimeOfDay *string `locationName:"snapshotTimeOfDay" type:"string"` -} - -// String returns the string representation -func (s AutoSnapshotAddOnRequest) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s AutoSnapshotAddOnRequest) GoString() string { - return s.String() -} - -// SetSnapshotTimeOfDay sets the SnapshotTimeOfDay field's value. -func (s *AutoSnapshotAddOnRequest) SetSnapshotTimeOfDay(v string) *AutoSnapshotAddOnRequest { - s.SnapshotTimeOfDay = &v - return s -} - -// Describes an automatic snapshot. -type AutoSnapshotDetails struct { - _ struct{} `type:"structure"` - - // The timestamp when the automatic snapshot was created. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - - // The date of the automatic snapshot in YYYY-MM-DD format. - Date *string `locationName:"date" type:"string"` - - // An array of objects that describe the block storage disks attached to the - // instance when the automatic snapshot was created. - FromAttachedDisks []*AttachedDisk `locationName:"fromAttachedDisks" type:"list"` - - // The status of the automatic snapshot. - Status *string `locationName:"status" type:"string" enum:"AutoSnapshotStatus"` + // * Europe (Ireland) (eu-west-1) + // + // * Asia Pacific (Tokyo) (ap-northeast-1) + // + // * Asia Pacific (Singapore) (ap-southeast-1) + // + // * Asia Pacific (Sydney) (ap-southeast-2) + // + // For a list of countries/regions where SMS text messages can be sent, and + // the latest AWS Regions where SMS text messaging is supported, see Supported + // Regions and Countries (https://docs.aws.amazon.com/sns/latest/dg/sns-supported-regions-countries.html) + // in the Amazon SNS Developer Guide. + // + // For more information about notifications in Amazon Lightsail, see Notifications + // in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications). + // + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"` } // String returns the string representation -func (s AutoSnapshotDetails) String() string { +func (s CreateContactMethodInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AutoSnapshotDetails) GoString() string { +func (s CreateContactMethodInput) GoString() string { return s.String() } -// SetCreatedAt sets the CreatedAt field's value. -func (s *AutoSnapshotDetails) SetCreatedAt(v time.Time) *AutoSnapshotDetails { - s.CreatedAt = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateContactMethodInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateContactMethodInput"} + if s.ContactEndpoint == nil { + invalidParams.Add(request.NewErrParamRequired("ContactEndpoint")) + } + if s.ContactEndpoint != nil && len(*s.ContactEndpoint) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactEndpoint", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } -// SetDate sets the Date field's value. -func (s *AutoSnapshotDetails) SetDate(v string) *AutoSnapshotDetails { - s.Date = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetFromAttachedDisks sets the FromAttachedDisks field's value. -func (s *AutoSnapshotDetails) SetFromAttachedDisks(v []*AttachedDisk) *AutoSnapshotDetails { - s.FromAttachedDisks = v +// SetContactEndpoint sets the ContactEndpoint field's value. +func (s *CreateContactMethodInput) SetContactEndpoint(v string) *CreateContactMethodInput { + s.ContactEndpoint = &v return s } -// SetStatus sets the Status field's value. -func (s *AutoSnapshotDetails) SetStatus(v string) *AutoSnapshotDetails { - s.Status = &v +// SetProtocol sets the Protocol field's value. +func (s *CreateContactMethodInput) SetProtocol(v string) *CreateContactMethodInput { + s.Protocol = &v return s } -// Describes an Availability Zone. -type AvailabilityZone struct { +type CreateContactMethodOutput struct { _ struct{} `type:"structure"` - // The state of the Availability Zone. - State *string `locationName:"state" type:"string"` - - // The name of the Availability Zone. The format is us-east-2a (case-sensitive). - ZoneName *string `locationName:"zoneName" type:"string"` + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s AvailabilityZone) String() string { +func (s CreateContactMethodOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AvailabilityZone) GoString() string { +func (s CreateContactMethodOutput) GoString() string { return s.String() } -// 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 +// SetOperations sets the Operations field's value. +func (s *CreateContactMethodOutput) SetOperations(v []*Operation) *CreateContactMethodOutput { + s.Operations = v return s } -// Describes a blueprint (a virtual private server image). -type Blueprint struct { +type CreateDiskFromSnapshotInput struct { _ struct{} `type:"structure"` - // The ID for the virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0). - BlueprintId *string `locationName:"blueprintId" type:"string"` - - // The description of the blueprint. - Description *string `locationName:"description" type:"string"` - - // The group name of the blueprint (e.g., amazon-linux). - Group *string `locationName:"group" type:"string"` - - // A Boolean value indicating whether the blueprint is active. Inactive blueprints - // are listed to support customers with existing instances but are not necessarily - // available for launch of new instances. Blueprints are marked inactive when - // they become outdated due to operating system updates or new application releases. - IsActive *bool `locationName:"isActive" type:"boolean"` + // An array of objects that represent the add-ons to enable for the new disk. + AddOns []*AddOnRequest `locationName:"addOns" type:"list"` - // The end-user license agreement URL for the image or blueprint. - LicenseUrl *string `locationName:"licenseUrl" type:"string"` + // The Availability Zone where you want to create the disk (e.g., us-east-2a). + // Choose the same Availability Zone as the Lightsail instance where you want + // to create the disk. + // + // Use the GetRegions operation to list the Availability Zones where Lightsail + // is currently available. + // + // AvailabilityZone is a required field + AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` - // The minimum bundle power required to run this blueprint. For example, you - // need a bundle with a power value of 500 or more to create an instance that - // uses a blueprint with a minimum power value of 500. 0 indicates that the - // blueprint runs on all instance sizes. - MinPower *int64 `locationName:"minPower" type:"integer"` + // The unique Lightsail disk name (e.g., my-disk). + // + // DiskName is a required field + DiskName *string `locationName:"diskName" type:"string" required:"true"` - // The friendly name of the blueprint (e.g., Amazon Linux). - Name *string `locationName:"name" type:"string"` + // The name of the disk snapshot (e.g., my-snapshot) from which to create the + // new storage disk. + // + // Constraint: + // + // * This parameter cannot be defined together with the source disk name + // parameter. The disk snapshot name and source disk name parameters are + // mutually exclusive. + DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string"` - // The operating system platform (either Linux/Unix-based or Windows Server-based) - // of the blueprint. - Platform *string `locationName:"platform" type:"string" enum:"InstancePlatform"` + // The date of the automatic snapshot to use for the new disk. Use the get auto + // snapshots operation to identify the dates of the available automatic snapshots. + // + // Constraints: + // + // * Must be specified in YYYY-MM-DD format. + // + // * This parameter cannot be defined together with the use latest restorable + // auto snapshot parameter. The restore date and use latest restorable auto + // snapshot parameters are mutually exclusive. + // + // * Define this parameter only when creating a new disk from an automatic + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). + RestoreDate *string `locationName:"restoreDate" type:"string"` - // The product URL to learn more about the image or blueprint. - ProductUrl *string `locationName:"productUrl" type:"string"` + // The size of the disk in GB (e.g., 32). + // + // SizeInGb is a required field + SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"` - // The type of the blueprint (e.g., os or app). - Type *string `locationName:"type" type:"string" enum:"BlueprintType"` + // The name of the source disk from which the source automatic snapshot was + // created. + // + // Constraints: + // + // * This parameter cannot be defined together with the disk snapshot name + // parameter. The source disk name and disk snapshot name parameters are + // mutually exclusive. + // + // * Define this parameter only when creating a new disk from an automatic + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). + SourceDiskName *string `locationName:"sourceDiskName" type:"string"` - // The version number of the operating system, application, or stack (e.g., - // 2016.03.0). - Version *string `locationName:"version" type:"string"` + // The tag keys and optional values to add to the resource during create. + // + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` - // The version code. - VersionCode *string `locationName:"versionCode" type:"string"` + // A Boolean value to indicate whether to use the latest available automatic + // snapshot. + // + // Constraints: + // + // * This parameter cannot be defined together with the restore date parameter. + // The use latest restorable auto snapshot and restore date parameters are + // mutually exclusive. + // + // * Define this parameter only when creating a new disk from an automatic + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). + UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"` } // String returns the string representation -func (s Blueprint) String() string { +func (s CreateDiskFromSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Blueprint) GoString() string { +func (s CreateDiskFromSnapshotInput) GoString() string { return s.String() } -// SetBlueprintId sets the BlueprintId field's value. -func (s *Blueprint) SetBlueprintId(v string) *Blueprint { - s.BlueprintId = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *Blueprint) SetDescription(v string) *Blueprint { - s.Description = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDiskFromSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDiskFromSnapshotInput"} + if s.AvailabilityZone == nil { + invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) + } + if s.DiskName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskName")) + } + if s.SizeInGb == nil { + invalidParams.Add(request.NewErrParamRequired("SizeInGb")) + } + if s.AddOns != nil { + for i, v := range s.AddOns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams)) + } + } + } -// SetGroup sets the Group field's value. -func (s *Blueprint) SetGroup(v string) *Blueprint { - s.Group = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetIsActive sets the IsActive field's value. -func (s *Blueprint) SetIsActive(v bool) *Blueprint { - s.IsActive = &v +// SetAddOns sets the AddOns field's value. +func (s *CreateDiskFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateDiskFromSnapshotInput { + s.AddOns = v return s } -// SetLicenseUrl sets the LicenseUrl field's value. -func (s *Blueprint) SetLicenseUrl(v string) *Blueprint { - s.LicenseUrl = &v +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateDiskFromSnapshotInput) SetAvailabilityZone(v string) *CreateDiskFromSnapshotInput { + s.AvailabilityZone = &v return s } -// SetMinPower sets the MinPower field's value. -func (s *Blueprint) SetMinPower(v int64) *Blueprint { - s.MinPower = &v +// SetDiskName sets the DiskName field's value. +func (s *CreateDiskFromSnapshotInput) SetDiskName(v string) *CreateDiskFromSnapshotInput { + s.DiskName = &v return s } -// SetName sets the Name field's value. -func (s *Blueprint) SetName(v string) *Blueprint { - s.Name = &v +// SetDiskSnapshotName sets the DiskSnapshotName field's value. +func (s *CreateDiskFromSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskFromSnapshotInput { + s.DiskSnapshotName = &v return s } -// SetPlatform sets the Platform field's value. -func (s *Blueprint) SetPlatform(v string) *Blueprint { - s.Platform = &v +// SetRestoreDate sets the RestoreDate field's value. +func (s *CreateDiskFromSnapshotInput) SetRestoreDate(v string) *CreateDiskFromSnapshotInput { + s.RestoreDate = &v return s } -// SetProductUrl sets the ProductUrl field's value. -func (s *Blueprint) SetProductUrl(v string) *Blueprint { - s.ProductUrl = &v +// SetSizeInGb sets the SizeInGb field's value. +func (s *CreateDiskFromSnapshotInput) SetSizeInGb(v int64) *CreateDiskFromSnapshotInput { + s.SizeInGb = &v return s } -// SetType sets the Type field's value. -func (s *Blueprint) SetType(v string) *Blueprint { - s.Type = &v +// SetSourceDiskName sets the SourceDiskName field's value. +func (s *CreateDiskFromSnapshotInput) SetSourceDiskName(v string) *CreateDiskFromSnapshotInput { + s.SourceDiskName = &v return s } -// SetVersion sets the Version field's value. -func (s *Blueprint) SetVersion(v string) *Blueprint { - s.Version = &v +// SetTags sets the Tags field's value. +func (s *CreateDiskFromSnapshotInput) SetTags(v []*Tag) *CreateDiskFromSnapshotInput { + s.Tags = v return s } -// SetVersionCode sets the VersionCode field's value. -func (s *Blueprint) SetVersionCode(v string) *Blueprint { - s.VersionCode = &v +// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value. +func (s *CreateDiskFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateDiskFromSnapshotInput { + s.UseLatestRestorableAutoSnapshot = &v return s } -// Describes a bundle, which is a set of specs describing your virtual private -// server (or instance). -type Bundle struct { +type CreateDiskFromSnapshotOutput struct { _ struct{} `type:"structure"` - // The bundle ID (e.g., micro_1_0). - BundleId *string `locationName:"bundleId" type:"string"` - - // The number of vCPUs included in the bundle (e.g., 2). - CpuCount *int64 `locationName:"cpuCount" type:"integer"` + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} - // The size of the SSD (e.g., 30). - DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"` +// String returns the string representation +func (s CreateDiskFromSnapshotOutput) String() string { + return awsutil.Prettify(s) +} - // The Amazon EC2 instance type (e.g., t2.micro). - InstanceType *string `locationName:"instanceType" type:"string"` +// GoString returns the string representation +func (s CreateDiskFromSnapshotOutput) GoString() string { + return s.String() +} - // A Boolean value indicating whether the bundle is active. - IsActive *bool `locationName:"isActive" type:"boolean"` +// SetOperations sets the Operations field's value. +func (s *CreateDiskFromSnapshotOutput) SetOperations(v []*Operation) *CreateDiskFromSnapshotOutput { + s.Operations = v + return s +} - // A friendly name for the bundle (e.g., Micro). - Name *string `locationName:"name" type:"string"` +type CreateDiskInput struct { + _ struct{} `type:"structure"` - // A numeric value that represents the power of the bundle (e.g., 500). You - // can use the bundle's power value in conjunction with a blueprint's minimum - // power value to determine whether the blueprint will run on the bundle. For - // example, you need a bundle with a power value of 500 or more to create an - // instance that uses a blueprint with a minimum power value of 500. - Power *int64 `locationName:"power" type:"integer"` + // An array of objects that represent the add-ons to enable for the new disk. + AddOns []*AddOnRequest `locationName:"addOns" type:"list"` - // The price in US dollars (e.g., 5.0). - Price *float64 `locationName:"price" type:"float"` + // The Availability Zone where you want to create the disk (e.g., us-east-2a). + // Use the same Availability Zone as the Lightsail instance to which you want + // to attach the disk. + // + // Use the get regions operation to list the Availability Zones where Lightsail + // is currently available. + // + // AvailabilityZone is a required field + AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` - // The amount of RAM in GB (e.g., 2.0). - RamSizeInGb *float64 `locationName:"ramSizeInGb" type:"float"` + // The unique Lightsail disk name (e.g., my-disk). + // + // DiskName is a required field + DiskName *string `locationName:"diskName" type:"string" required:"true"` - // The operating system platform (Linux/Unix-based or Windows Server-based) - // that the bundle supports. You can only launch a WINDOWS bundle on a blueprint - // that supports the WINDOWS platform. LINUX_UNIX blueprints require a LINUX_UNIX - // bundle. - SupportedPlatforms []*string `locationName:"supportedPlatforms" type:"list"` + // The size of the disk in GB (e.g., 32). + // + // SizeInGb is a required field + SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"` - // The data transfer rate per month in GB (e.g., 2000). - TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"` + // The tag keys and optional values to add to the resource during create. + // + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s Bundle) String() string { +func (s CreateDiskInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Bundle) GoString() string { +func (s CreateDiskInput) GoString() string { return s.String() } -// SetBundleId sets the BundleId field's value. -func (s *Bundle) SetBundleId(v string) *Bundle { - s.BundleId = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDiskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDiskInput"} + if s.AvailabilityZone == nil { + invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) + } + if s.DiskName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskName")) + } + if s.SizeInGb == nil { + invalidParams.Add(request.NewErrParamRequired("SizeInGb")) + } + if s.AddOns != nil { + for i, v := range s.AddOns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams)) + } + } + } -// SetCpuCount sets the CpuCount field's value. -func (s *Bundle) SetCpuCount(v int64) *Bundle { - s.CpuCount = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDiskSizeInGb sets the DiskSizeInGb field's value. -func (s *Bundle) SetDiskSizeInGb(v int64) *Bundle { - s.DiskSizeInGb = &v +// SetAddOns sets the AddOns field's value. +func (s *CreateDiskInput) SetAddOns(v []*AddOnRequest) *CreateDiskInput { + s.AddOns = v return s } -// SetInstanceType sets the InstanceType field's value. -func (s *Bundle) SetInstanceType(v string) *Bundle { - s.InstanceType = &v +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateDiskInput) SetAvailabilityZone(v string) *CreateDiskInput { + s.AvailabilityZone = &v return s } -// SetIsActive sets the IsActive field's value. -func (s *Bundle) SetIsActive(v bool) *Bundle { - s.IsActive = &v +// SetDiskName sets the DiskName field's value. +func (s *CreateDiskInput) SetDiskName(v string) *CreateDiskInput { + s.DiskName = &v return s } -// SetName sets the Name field's value. -func (s *Bundle) SetName(v string) *Bundle { - s.Name = &v +// SetSizeInGb sets the SizeInGb field's value. +func (s *CreateDiskInput) SetSizeInGb(v int64) *CreateDiskInput { + s.SizeInGb = &v return s } -// SetPower sets the Power field's value. -func (s *Bundle) SetPower(v int64) *Bundle { - s.Power = &v +// SetTags sets the Tags field's value. +func (s *CreateDiskInput) SetTags(v []*Tag) *CreateDiskInput { + s.Tags = v return s } -// SetPrice sets the Price field's value. -func (s *Bundle) SetPrice(v float64) *Bundle { - s.Price = &v - return s +type CreateDiskOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` } -// SetRamSizeInGb sets the RamSizeInGb field's value. -func (s *Bundle) SetRamSizeInGb(v float64) *Bundle { - s.RamSizeInGb = &v - return s +// String returns the string representation +func (s CreateDiskOutput) String() string { + return awsutil.Prettify(s) } -// SetSupportedPlatforms sets the SupportedPlatforms field's value. -func (s *Bundle) SetSupportedPlatforms(v []*string) *Bundle { - s.SupportedPlatforms = v - return s +// GoString returns the string representation +func (s CreateDiskOutput) GoString() string { + return s.String() } -// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value. -func (s *Bundle) SetTransferPerMonthInGb(v int64) *Bundle { - s.TransferPerMonthInGb = &v +// SetOperations sets the Operations field's value. +func (s *CreateDiskOutput) SetOperations(v []*Operation) *CreateDiskOutput { + s.Operations = v return s } -type CloseInstancePublicPortsInput struct { +type CreateDiskSnapshotInput struct { _ struct{} `type:"structure"` - // The name of the instance on which you're attempting to close the public ports. + // The unique name of the source disk (e.g., Disk-Virginia-1). // - // InstanceName is a required field - InstanceName *string `locationName:"instanceName" type:"string" required:"true"` + // This parameter cannot be defined together with the instance name parameter. + // The disk name and instance name parameters are mutually exclusive. + DiskName *string `locationName:"diskName" type:"string"` + + // The name of the destination disk snapshot (e.g., my-disk-snapshot) based + // on the source disk. + // + // DiskSnapshotName is a required field + DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"` - // Information about the public port you are trying to close. + // The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1). + // When this is defined, a snapshot of the instance's system volume is created. // - // PortInfo is a required field - PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"` + // This parameter cannot be defined together with the disk name parameter. The + // instance name and disk name parameters are mutually exclusive. + InstanceName *string `locationName:"instanceName" type:"string"` + + // The tag keys and optional values to add to the resource during create. + // + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s CloseInstancePublicPortsInput) String() string { +func (s CreateDiskSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CloseInstancePublicPortsInput) GoString() string { +func (s CreateDiskSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CloseInstancePublicPortsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CloseInstancePublicPortsInput"} - if s.InstanceName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceName")) - } - if s.PortInfo == nil { - invalidParams.Add(request.NewErrParamRequired("PortInfo")) +func (s *CreateDiskSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDiskSnapshotInput"} + if s.DiskSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName")) } if invalidParams.Len() > 0 { @@ -13521,370 +16801,402 @@ func (s *CloseInstancePublicPortsInput) Validate() error { return nil } +// SetDiskName sets the DiskName field's value. +func (s *CreateDiskSnapshotInput) SetDiskName(v string) *CreateDiskSnapshotInput { + s.DiskName = &v + return s +} + +// SetDiskSnapshotName sets the DiskSnapshotName field's value. +func (s *CreateDiskSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskSnapshotInput { + s.DiskSnapshotName = &v + return s +} + // SetInstanceName sets the InstanceName field's value. -func (s *CloseInstancePublicPortsInput) SetInstanceName(v string) *CloseInstancePublicPortsInput { +func (s *CreateDiskSnapshotInput) SetInstanceName(v string) *CreateDiskSnapshotInput { s.InstanceName = &v return s } - -// SetPortInfo sets the PortInfo field's value. -func (s *CloseInstancePublicPortsInput) SetPortInfo(v *PortInfo) *CloseInstancePublicPortsInput { - s.PortInfo = v + +// SetTags sets the Tags field's value. +func (s *CreateDiskSnapshotInput) SetTags(v []*Tag) *CreateDiskSnapshotInput { + s.Tags = v return s } -type CloseInstancePublicPortsOutput struct { +type CreateDiskSnapshotOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. - Operation *Operation `locationName:"operation" type:"structure"` + Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s CloseInstancePublicPortsOutput) String() string { +func (s CreateDiskSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CloseInstancePublicPortsOutput) GoString() string { +func (s CreateDiskSnapshotOutput) GoString() string { return s.String() } -// SetOperation sets the Operation field's value. -func (s *CloseInstancePublicPortsOutput) SetOperation(v *Operation) *CloseInstancePublicPortsOutput { - s.Operation = v +// SetOperations sets the Operations field's value. +func (s *CreateDiskSnapshotOutput) SetOperations(v []*Operation) *CreateDiskSnapshotOutput { + s.Operations = v return s } -// Describes a CloudFormation stack record created as a result of the create -// cloud formation stack operation. -// -// A CloudFormation stack record provides information about the AWS CloudFormation -// stack used to create a new Amazon Elastic Compute Cloud instance from an -// exported Lightsail instance snapshot. -type CloudFormationStackRecord struct { +type CreateDistributionInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the CloudFormation stack record. - Arn *string `locationName:"arn" type:"string"` - - // The date when the CloudFormation stack record was created. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + // The bundle ID to use for the distribution. + // + // A distribution bundle describes the specifications of your distribution, + // such as the monthly cost and monthly network transfer quota. + // + // Use the GetDistributionBundles action to get a list of distribution bundle + // IDs that you can specify. + // + // BundleId is a required field + BundleId *string `locationName:"bundleId" type:"string" required:"true"` - // A list of objects describing the destination service, which is AWS CloudFormation, - // and the Amazon Resource Name (ARN) of the AWS CloudFormation stack. - DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"` + // An object that describes the cache behavior settings for the distribution. + CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"` - // A list of objects describing the Availability Zone and AWS Region of the - // CloudFormation stack record. - Location *ResourceLocation `locationName:"location" type:"structure"` + // An array of objects that describe the per-path cache behavior for the distribution. + CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"` - // The name of the CloudFormation stack record. It starts with CloudFormationStackRecord - // followed by a GUID. - Name *string `locationName:"name" type:"string"` + // An object that describes the default cache behavior for the distribution. + // + // DefaultCacheBehavior is a required field + DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure" required:"true"` - // The Lightsail resource type (e.g., CloudFormationStackRecord). - ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + // The name for the distribution. + // + // DistributionName is a required field + DistributionName *string `locationName:"distributionName" type:"string" required:"true"` - // A list of objects describing the source of the CloudFormation stack record. - SourceInfo []*CloudFormationStackRecordSourceInfo `locationName:"sourceInfo" type:"list"` + // An object that describes the origin resource for the distribution, such as + // a Lightsail instance or load balancer. + // + // The distribution pulls, caches, and serves content from the origin. + // + // Origin is a required field + Origin *InputOrigin `locationName:"origin" type:"structure" required:"true"` - // The current state of the CloudFormation stack record. - State *string `locationName:"state" type:"string" enum:"RecordState"` + // The tag keys and optional values to add to the distribution during create. + // + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s CloudFormationStackRecord) String() string { +func (s CreateDistributionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CloudFormationStackRecord) GoString() string { +func (s CreateDistributionInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *CloudFormationStackRecord) SetArn(v string) *CloudFormationStackRecord { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDistributionInput"} + if s.BundleId == nil { + invalidParams.Add(request.NewErrParamRequired("BundleId")) + } + if s.DefaultCacheBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("DefaultCacheBehavior")) + } + if s.DistributionName == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionName")) + } + if s.Origin == nil { + invalidParams.Add(request.NewErrParamRequired("Origin")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCreatedAt sets the CreatedAt field's value. -func (s *CloudFormationStackRecord) SetCreatedAt(v time.Time) *CloudFormationStackRecord { - s.CreatedAt = &v +// SetBundleId sets the BundleId field's value. +func (s *CreateDistributionInput) SetBundleId(v string) *CreateDistributionInput { + s.BundleId = &v return s } -// SetDestinationInfo sets the DestinationInfo field's value. -func (s *CloudFormationStackRecord) SetDestinationInfo(v *DestinationInfo) *CloudFormationStackRecord { - s.DestinationInfo = v +// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value. +func (s *CreateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *CreateDistributionInput { + s.CacheBehaviorSettings = v return s } -// SetLocation sets the Location field's value. -func (s *CloudFormationStackRecord) SetLocation(v *ResourceLocation) *CloudFormationStackRecord { - s.Location = v +// SetCacheBehaviors sets the CacheBehaviors field's value. +func (s *CreateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *CreateDistributionInput { + s.CacheBehaviors = v return s } -// SetName sets the Name field's value. -func (s *CloudFormationStackRecord) SetName(v string) *CloudFormationStackRecord { - s.Name = &v +// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. +func (s *CreateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *CreateDistributionInput { + s.DefaultCacheBehavior = v return s } -// SetResourceType sets the ResourceType field's value. -func (s *CloudFormationStackRecord) SetResourceType(v string) *CloudFormationStackRecord { - s.ResourceType = &v +// SetDistributionName sets the DistributionName field's value. +func (s *CreateDistributionInput) SetDistributionName(v string) *CreateDistributionInput { + s.DistributionName = &v return s } -// SetSourceInfo sets the SourceInfo field's value. -func (s *CloudFormationStackRecord) SetSourceInfo(v []*CloudFormationStackRecordSourceInfo) *CloudFormationStackRecord { - s.SourceInfo = v +// SetOrigin sets the Origin field's value. +func (s *CreateDistributionInput) SetOrigin(v *InputOrigin) *CreateDistributionInput { + s.Origin = v return s } -// SetState sets the State field's value. -func (s *CloudFormationStackRecord) SetState(v string) *CloudFormationStackRecord { - s.State = &v +// SetTags sets the Tags field's value. +func (s *CreateDistributionInput) SetTags(v []*Tag) *CreateDistributionInput { + s.Tags = v return s } -// Describes the source of a CloudFormation stack record (i.e., the export snapshot -// record). -type CloudFormationStackRecordSourceInfo struct { +type CreateDistributionOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the export snapshot record. - Arn *string `locationName:"arn" type:"string"` - - // The name of the record. - Name *string `locationName:"name" type:"string"` + // An object that describes the distribution created. + Distribution *LightsailDistribution `locationName:"distribution" type:"structure"` - // The Lightsail resource type (e.g., ExportSnapshotRecord). - ResourceType *string `locationName:"resourceType" type:"string" enum:"CloudFormationStackRecordSourceType"` + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operation *Operation `locationName:"operation" type:"structure"` } // String returns the string representation -func (s CloudFormationStackRecordSourceInfo) String() string { +func (s CreateDistributionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CloudFormationStackRecordSourceInfo) GoString() string { +func (s CreateDistributionOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *CloudFormationStackRecordSourceInfo) SetArn(v string) *CloudFormationStackRecordSourceInfo { - s.Arn = &v - return s -} - -// SetName sets the Name field's value. -func (s *CloudFormationStackRecordSourceInfo) SetName(v string) *CloudFormationStackRecordSourceInfo { - s.Name = &v +// SetDistribution sets the Distribution field's value. +func (s *CreateDistributionOutput) SetDistribution(v *LightsailDistribution) *CreateDistributionOutput { + s.Distribution = v return s } -// SetResourceType sets the ResourceType field's value. -func (s *CloudFormationStackRecordSourceInfo) SetResourceType(v string) *CloudFormationStackRecordSourceInfo { - s.ResourceType = &v +// SetOperation sets the Operation field's value. +func (s *CreateDistributionOutput) SetOperation(v *Operation) *CreateDistributionOutput { + s.Operation = v return s } -// Describes a contact method. -// -// A contact method is a way to send you notifications. For more information, -// see Notifications in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications). -type ContactMethod struct { +type CreateDomainEntryInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the contact method. - Arn *string `locationName:"arn" type:"string"` + // An array of key-value pairs containing information about the domain entry + // request. + // + // DomainEntry is a required field + DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"` - // The destination of the contact method, such as an email address or a mobile - // phone number. - ContactEndpoint *string `locationName:"contactEndpoint" type:"string"` + // The domain name (e.g., example.com) for which you want to create the domain + // entry. + // + // DomainName is a required field + DomainName *string `locationName:"domainName" type:"string" required:"true"` +} - // The timestamp when the contact method was created. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` +// String returns the string representation +func (s CreateDomainEntryInput) String() string { + return awsutil.Prettify(s) +} - // Describes the resource location. - Location *ResourceLocation `locationName:"location" type:"structure"` +// GoString returns the string representation +func (s CreateDomainEntryInput) GoString() string { + return s.String() +} - // The name of the contact method. - Name *string `locationName:"name" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDomainEntryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDomainEntryInput"} + if s.DomainEntry == nil { + invalidParams.Add(request.NewErrParamRequired("DomainEntry")) + } + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } - // The protocol of the contact method, such as email or SMS (text messaging). - Protocol *string `locationName:"protocol" type:"string" enum:"ContactProtocol"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The Lightsail resource type (e.g., ContactMethod). - ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` +// SetDomainEntry sets the DomainEntry field's value. +func (s *CreateDomainEntryInput) SetDomainEntry(v *DomainEntry) *CreateDomainEntryInput { + s.DomainEntry = v + return s +} - // The current status of the contact method. - // - // A contact method has the following possible status: - // - // * PendingVerification — The contact method has not yet been verified, - // and the verification has not yet expired. - // - // * Valid — The contact method has been verified. - // - // * InValid — An attempt was made to verify the contact method, but the - // verification has expired. - Status *string `locationName:"status" type:"string" enum:"ContactMethodStatus"` +// SetDomainName sets the DomainName field's value. +func (s *CreateDomainEntryInput) SetDomainName(v string) *CreateDomainEntryInput { + s.DomainName = &v + return s +} - // The support code. Include this code in your email to support when you have - // questions about your Lightsail contact method. This code enables our support - // team to look up your Lightsail information more easily. - SupportCode *string `locationName:"supportCode" type:"string"` +type CreateDomainEntryOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operation *Operation `locationName:"operation" type:"structure"` } // String returns the string representation -func (s ContactMethod) String() string { +func (s CreateDomainEntryOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ContactMethod) GoString() string { +func (s CreateDomainEntryOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ContactMethod) SetArn(v string) *ContactMethod { - s.Arn = &v +// SetOperation sets the Operation field's value. +func (s *CreateDomainEntryOutput) SetOperation(v *Operation) *CreateDomainEntryOutput { + s.Operation = v return s } -// SetContactEndpoint sets the ContactEndpoint field's value. -func (s *ContactMethod) SetContactEndpoint(v string) *ContactMethod { - s.ContactEndpoint = &v - return s +type CreateDomainInput struct { + _ struct{} `type:"structure"` + + // The domain name to manage (e.g., example.com). + // + // You cannot register a new domain name using Lightsail. You must register + // a domain name using Amazon Route 53 or another domain name registrar. If + // you have already registered your domain, you can enter its name in this parameter + // to manage the DNS records for that domain. + // + // DomainName is a required field + DomainName *string `locationName:"domainName" type:"string" required:"true"` + + // The tag keys and optional values to add to the resource during create. + // + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation +func (s CreateDomainInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDomainInput) GoString() string { + return s.String() } -// SetCreatedAt sets the CreatedAt field's value. -func (s *ContactMethod) SetCreatedAt(v time.Time) *ContactMethod { - s.CreatedAt = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLocation sets the Location field's value. -func (s *ContactMethod) SetLocation(v *ResourceLocation) *ContactMethod { - s.Location = v +// SetDomainName sets the DomainName field's value. +func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput { + s.DomainName = &v return s } -// SetName sets the Name field's value. -func (s *ContactMethod) SetName(v string) *ContactMethod { - s.Name = &v +// SetTags sets the Tags field's value. +func (s *CreateDomainInput) SetTags(v []*Tag) *CreateDomainInput { + s.Tags = v return s } -// SetProtocol sets the Protocol field's value. -func (s *ContactMethod) SetProtocol(v string) *ContactMethod { - s.Protocol = &v - return s +type CreateDomainOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operation *Operation `locationName:"operation" type:"structure"` } -// SetResourceType sets the ResourceType field's value. -func (s *ContactMethod) SetResourceType(v string) *ContactMethod { - s.ResourceType = &v - return s +// String returns the string representation +func (s CreateDomainOutput) String() string { + return awsutil.Prettify(s) } -// SetStatus sets the Status field's value. -func (s *ContactMethod) SetStatus(v string) *ContactMethod { - s.Status = &v - return s +// GoString returns the string representation +func (s CreateDomainOutput) GoString() string { + return s.String() } -// SetSupportCode sets the SupportCode field's value. -func (s *ContactMethod) SetSupportCode(v string) *ContactMethod { - s.SupportCode = &v +// SetOperation sets the Operation field's value. +func (s *CreateDomainOutput) SetOperation(v *Operation) *CreateDomainOutput { + s.Operation = v return s } -type CopySnapshotInput struct { +type CreateInstanceSnapshotInput struct { _ struct{} `type:"structure"` - // The date of the source automatic snapshot to copy. Use the get auto snapshots - // operation to identify the dates of the available automatic snapshots. - // - // Constraints: - // - // * Must be specified in YYYY-MM-DD format. - // - // * This parameter cannot be defined together with the use latest restorable - // auto snapshot parameter. The restore date and use latest restorable auto - // snapshot parameters are mutually exclusive. - // - // * Define this parameter only when copying an automatic snapshot as a manual - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots). - RestoreDate *string `locationName:"restoreDate" type:"string"` - - // The AWS Region where the source manual or automatic snapshot is located. - // - // SourceRegion is a required field - SourceRegion *string `locationName:"sourceRegion" type:"string" required:"true" enum:"RegionName"` - - // The name of the source instance or disk from which the source automatic snapshot - // was created. - // - // Constraint: - // - // * Define this parameter only when copying an automatic snapshot as a manual - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots). - SourceResourceName *string `locationName:"sourceResourceName" type:"string"` - - // The name of the source manual snapshot to copy. - // - // Constraint: + // The Lightsail instance on which to base your snapshot. // - // * Define this parameter only when copying a manual snapshot as another - // manual snapshot. - SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string"` + // InstanceName is a required field + InstanceName *string `locationName:"instanceName" type:"string" required:"true"` - // The name of the new manual snapshot to be created as a copy. + // The name for your new snapshot. // - // TargetSnapshotName is a required field - TargetSnapshotName *string `locationName:"targetSnapshotName" type:"string" required:"true"` + // InstanceSnapshotName is a required field + InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"` - // A Boolean value to indicate whether to use the latest available automatic - // snapshot of the specified source instance or disk. - // - // Constraints: - // - // * This parameter cannot be defined together with the restore date parameter. - // The use latest restorable auto snapshot and restore date parameters are - // mutually exclusive. + // The tag keys and optional values to add to the resource during create. // - // * Define this parameter only when copying an automatic snapshot as a manual - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-keeping-automatic-snapshots). - UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"` + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s CopySnapshotInput) String() string { +func (s CreateInstanceSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CopySnapshotInput) GoString() string { +func (s CreateInstanceSnapshotInput) 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")) +func (s *CreateInstanceSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateInstanceSnapshotInput"} + if s.InstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceName")) } - if s.TargetSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName")) + if s.InstanceSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName")) } if invalidParams.Len() > 0 { @@ -13893,102 +17205,178 @@ func (s *CopySnapshotInput) Validate() error { return nil } -// SetRestoreDate sets the RestoreDate field's value. -func (s *CopySnapshotInput) SetRestoreDate(v string) *CopySnapshotInput { - s.RestoreDate = &v - return s -} - -// SetSourceRegion sets the SourceRegion field's value. -func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput { - s.SourceRegion = &v - return s -} - -// SetSourceResourceName sets the SourceResourceName field's value. -func (s *CopySnapshotInput) SetSourceResourceName(v string) *CopySnapshotInput { - s.SourceResourceName = &v - return s -} - -// SetSourceSnapshotName sets the SourceSnapshotName field's value. -func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput { - s.SourceSnapshotName = &v +// SetInstanceName sets the InstanceName field's value. +func (s *CreateInstanceSnapshotInput) SetInstanceName(v string) *CreateInstanceSnapshotInput { + s.InstanceName = &v return s } -// SetTargetSnapshotName sets the TargetSnapshotName field's value. -func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput { - s.TargetSnapshotName = &v +// SetInstanceSnapshotName sets the InstanceSnapshotName field's value. +func (s *CreateInstanceSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstanceSnapshotInput { + s.InstanceSnapshotName = &v return s } -// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value. -func (s *CopySnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CopySnapshotInput { - s.UseLatestRestorableAutoSnapshot = &v +// SetTags sets the Tags field's value. +func (s *CreateInstanceSnapshotInput) SetTags(v []*Tag) *CreateInstanceSnapshotInput { + s.Tags = v return s } -type CopySnapshotOutput struct { +type CreateInstanceSnapshotOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s CopySnapshotOutput) String() string { +func (s CreateInstanceSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CopySnapshotOutput) GoString() string { +func (s CreateInstanceSnapshotOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CopySnapshotOutput) SetOperations(v []*Operation) *CopySnapshotOutput { +func (s *CreateInstanceSnapshotOutput) SetOperations(v []*Operation) *CreateInstanceSnapshotOutput { s.Operations = v return s } -type CreateCloudFormationStackInput struct { +type CreateInstancesFromSnapshotInput struct { _ struct{} `type:"structure"` - // An array of parameters that will be used to create the new Amazon EC2 instance. - // You can only pass one instance entry at a time in this array. You will get - // an invalid parameter error if you pass more than one instance entry in this - // array. + // An array of objects representing the add-ons to enable for the new instance. + AddOns []*AddOnRequest `locationName:"addOns" type:"list"` + + // An object containing information about one or more disk mappings. + AttachedDiskMapping map[string][]*DiskMap `locationName:"attachedDiskMapping" type:"map"` + + // The Availability Zone where you want to create your instances. Use the following + // formatting: us-east-2a (case sensitive). You can get a list of Availability + // Zones by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html) + // operation. Be sure to add the include Availability Zones parameter to your + // request. + // + // AvailabilityZone is a required field + AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` + + // The bundle of specification information for your virtual private server (or + // instance), including the pricing plan (e.g., micro_1_0). + // + // BundleId is a required field + BundleId *string `locationName:"bundleId" type:"string" required:"true"` + + // The names for your new instances. + // + // InstanceNames is a required field + InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` + + // The name of the instance snapshot on which you are basing your new instances. + // Use the get instance snapshots operation to return information about your + // existing snapshots. + // + // Constraint: + // + // * This parameter cannot be defined together with the source instance name + // parameter. The instance snapshot name and source instance name parameters + // are mutually exclusive. + InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string"` + + // The name for your key pair. + KeyPairName *string `locationName:"keyPairName" type:"string"` + + // The date of the automatic snapshot to use for the new instance. Use the get + // auto snapshots operation to identify the dates of the available automatic + // snapshots. + // + // Constraints: + // + // * Must be specified in YYYY-MM-DD format. + // + // * This parameter cannot be defined together with the use latest restorable + // auto snapshot parameter. The restore date and use latest restorable auto + // snapshot parameters are mutually exclusive. + // + // * Define this parameter only when creating a new instance from an automatic + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). + RestoreDate *string `locationName:"restoreDate" type:"string"` + + // The name of the source instance from which the source automatic snapshot + // was created. + // + // Constraints: + // + // * This parameter cannot be defined together with the instance snapshot + // name parameter. The source instance name and instance snapshot name parameters + // are mutually exclusive. + // + // * Define this parameter only when creating a new instance from an automatic + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). + SourceInstanceName *string `locationName:"sourceInstanceName" type:"string"` + + // The tag keys and optional values to add to the resource during create. + // + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` + + // A Boolean value to indicate whether to use the latest available automatic + // snapshot. + // + // Constraints: + // + // * This parameter cannot be defined together with the restore date parameter. + // The use latest restorable auto snapshot and restore date parameters are + // mutually exclusive. + // + // * Define this parameter only when creating a new instance from an automatic + // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). + UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"` + + // You can create a launch script that configures a server with additional user + // data. For example, apt-get -y update. // - // Instances is a required field - Instances []*InstanceEntry `locationName:"instances" type:"list" required:"true"` + // Depending on the machine image you choose, the command to get software on + // your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu + // use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide + // (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image). + UserData *string `locationName:"userData" type:"string"` } // String returns the string representation -func (s CreateCloudFormationStackInput) String() string { +func (s CreateInstancesFromSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateCloudFormationStackInput) GoString() string { +func (s CreateInstancesFromSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateCloudFormationStackInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationStackInput"} - if s.Instances == nil { - invalidParams.Add(request.NewErrParamRequired("Instances")) +func (s *CreateInstancesFromSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateInstancesFromSnapshotInput"} + if s.AvailabilityZone == nil { + invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) } - if s.Instances != nil { - for i, v := range s.Instances { + if s.BundleId == nil { + invalidParams.Add(request.NewErrParamRequired("BundleId")) + } + if s.InstanceNames == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceNames")) + } + if s.AddOns != nil { + for i, v := range s.AddOns { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Instances", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams)) } } } @@ -13999,251 +17387,192 @@ func (s *CreateCloudFormationStackInput) Validate() error { return nil } -// SetInstances sets the Instances field's value. -func (s *CreateCloudFormationStackInput) SetInstances(v []*InstanceEntry) *CreateCloudFormationStackInput { - s.Instances = v +// SetAddOns sets the AddOns field's value. +func (s *CreateInstancesFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateInstancesFromSnapshotInput { + s.AddOns = v return s } -type CreateCloudFormationStackOutput struct { - _ struct{} `type:"structure"` - - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` +// SetAttachedDiskMapping sets the AttachedDiskMapping field's value. +func (s *CreateInstancesFromSnapshotInput) SetAttachedDiskMapping(v map[string][]*DiskMap) *CreateInstancesFromSnapshotInput { + s.AttachedDiskMapping = v + return s } -// String returns the string representation -func (s CreateCloudFormationStackOutput) String() string { - return awsutil.Prettify(s) +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateInstancesFromSnapshotInput) SetAvailabilityZone(v string) *CreateInstancesFromSnapshotInput { + s.AvailabilityZone = &v + return s } -// GoString returns the string representation -func (s CreateCloudFormationStackOutput) GoString() string { - return s.String() +// SetBundleId sets the BundleId field's value. +func (s *CreateInstancesFromSnapshotInput) SetBundleId(v string) *CreateInstancesFromSnapshotInput { + s.BundleId = &v + return s } -// SetOperations sets the Operations field's value. -func (s *CreateCloudFormationStackOutput) SetOperations(v []*Operation) *CreateCloudFormationStackOutput { - s.Operations = v +// SetInstanceNames sets the InstanceNames field's value. +func (s *CreateInstancesFromSnapshotInput) SetInstanceNames(v []*string) *CreateInstancesFromSnapshotInput { + s.InstanceNames = v return s } -type CreateContactMethodInput struct { - _ struct{} `type:"structure"` - - // The destination of the contact method, such as an email address or a mobile - // phone number. - // - // Use the E.164 format when specifying a mobile phone number. E.164 is a standard - // for the phone number structure used for international telecommunication. - // Phone numbers that follow this format can have a maximum of 15 digits, and - // they are prefixed with the plus character (+) and the country code. For example, - // a U.S. phone number in E.164 format would be specified as +1XXX5550100. For - // more information, see E.164 (https://en.wikipedia.org/wiki/E.164) in Wikipedia. - // - // ContactEndpoint is a required field - ContactEndpoint *string `locationName:"contactEndpoint" min:"1" type:"string" required:"true"` - - // The protocol of the contact method, such as Email or SMS (text messaging). - // - // The SMS protocol is supported only in the following AWS Regions. - // - // * US East (N. Virginia) (us-east-1) - // - // * US West (Oregon) (us-west-2) - // - // * Europe (Ireland) (eu-west-1) - // - // * Asia Pacific (Tokyo) (ap-northeast-1) - // - // * Asia Pacific (Singapore) (ap-southeast-1) - // - // * Asia Pacific (Sydney) (ap-southeast-2) - // - // For a list of countries/regions where SMS text messages can be sent, and - // the latest AWS Regions where SMS text messaging is supported, see Supported - // Regions and Countries (https://docs.aws.amazon.com/sns/latest/dg/sns-supported-regions-countries.html) - // in the Amazon SNS Developer Guide. - // - // For more information about notifications in Amazon Lightsail, see Notifications - // in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-notifications). - // - // Protocol is a required field - Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"` +// SetInstanceSnapshotName sets the InstanceSnapshotName field's value. +func (s *CreateInstancesFromSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstancesFromSnapshotInput { + s.InstanceSnapshotName = &v + return s } -// String returns the string representation -func (s CreateContactMethodInput) String() string { - return awsutil.Prettify(s) +// SetKeyPairName sets the KeyPairName field's value. +func (s *CreateInstancesFromSnapshotInput) SetKeyPairName(v string) *CreateInstancesFromSnapshotInput { + s.KeyPairName = &v + return s } -// GoString returns the string representation -func (s CreateContactMethodInput) GoString() string { - return s.String() +// SetRestoreDate sets the RestoreDate field's value. +func (s *CreateInstancesFromSnapshotInput) SetRestoreDate(v string) *CreateInstancesFromSnapshotInput { + s.RestoreDate = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateContactMethodInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateContactMethodInput"} - if s.ContactEndpoint == nil { - invalidParams.Add(request.NewErrParamRequired("ContactEndpoint")) - } - if s.ContactEndpoint != nil && len(*s.ContactEndpoint) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ContactEndpoint", 1)) - } - if s.Protocol == nil { - invalidParams.Add(request.NewErrParamRequired("Protocol")) - } +// SetSourceInstanceName sets the SourceInstanceName field's value. +func (s *CreateInstancesFromSnapshotInput) SetSourceInstanceName(v string) *CreateInstancesFromSnapshotInput { + s.SourceInstanceName = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetTags sets the Tags field's value. +func (s *CreateInstancesFromSnapshotInput) SetTags(v []*Tag) *CreateInstancesFromSnapshotInput { + s.Tags = v + return s } -// SetContactEndpoint sets the ContactEndpoint field's value. -func (s *CreateContactMethodInput) SetContactEndpoint(v string) *CreateContactMethodInput { - s.ContactEndpoint = &v +// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value. +func (s *CreateInstancesFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateInstancesFromSnapshotInput { + s.UseLatestRestorableAutoSnapshot = &v return s } -// SetProtocol sets the Protocol field's value. -func (s *CreateContactMethodInput) SetProtocol(v string) *CreateContactMethodInput { - s.Protocol = &v +// SetUserData sets the UserData field's value. +func (s *CreateInstancesFromSnapshotInput) SetUserData(v string) *CreateInstancesFromSnapshotInput { + s.UserData = &v return s } -type CreateContactMethodOutput struct { +type CreateInstancesFromSnapshotOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s CreateContactMethodOutput) String() string { +func (s CreateInstancesFromSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateContactMethodOutput) GoString() string { +func (s CreateInstancesFromSnapshotOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateContactMethodOutput) SetOperations(v []*Operation) *CreateContactMethodOutput { +func (s *CreateInstancesFromSnapshotOutput) SetOperations(v []*Operation) *CreateInstancesFromSnapshotOutput { s.Operations = v return s } -type CreateDiskFromSnapshotInput struct { +type CreateInstancesInput struct { _ struct{} `type:"structure"` - // An array of objects that represent the add-ons to enable for the new disk. + // An array of objects representing the add-ons to enable for the new instance. AddOns []*AddOnRequest `locationName:"addOns" type:"list"` - // The Availability Zone where you want to create the disk (e.g., us-east-2a). - // Choose the same Availability Zone as the Lightsail instance where you want - // to create the disk. - // - // Use the GetRegions operation to list the Availability Zones where Lightsail - // is currently available. + // The Availability Zone in which to create your instance. Use the following + // format: us-east-2a (case sensitive). You can get a list of Availability Zones + // by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html) + // operation. Be sure to add the include Availability Zones parameter to your + // request. // // AvailabilityZone is a required field AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` - // The unique Lightsail disk name (e.g., my-disk). - // - // DiskName is a required field - DiskName *string `locationName:"diskName" type:"string" required:"true"` - - // The name of the disk snapshot (e.g., my-snapshot) from which to create the - // new storage disk. - // - // Constraint: - // - // * This parameter cannot be defined together with the source disk name - // parameter. The disk snapshot name and source disk name parameters are - // mutually exclusive. - DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string"` - - // The date of the automatic snapshot to use for the new disk. Use the get auto - // snapshots operation to identify the dates of the available automatic snapshots. - // - // Constraints: - // - // * Must be specified in YYYY-MM-DD format. + // The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0). + // Use the get blueprints operation to return a list of available images (or + // blueprints). // - // * This parameter cannot be defined together with the use latest restorable - // auto snapshot parameter. The restore date and use latest restorable auto - // snapshot parameters are mutually exclusive. + // Use active blueprints when creating new instances. Inactive blueprints are + // listed to support customers with existing instances and are not necessarily + // available to create new instances. Blueprints are marked inactive when they + // become outdated due to operating system updates or new application releases. // - // * Define this parameter only when creating a new disk from an automatic - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). - RestoreDate *string `locationName:"restoreDate" type:"string"` + // BlueprintId is a required field + BlueprintId *string `locationName:"blueprintId" type:"string" required:"true"` - // The size of the disk in GB (e.g., 32). + // The bundle of specification information for your virtual private server (or + // instance), including the pricing plan (e.g., micro_1_0). // - // SizeInGb is a required field - SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"` + // BundleId is a required field + BundleId *string `locationName:"bundleId" type:"string" required:"true"` - // The name of the source disk from which the source automatic snapshot was - // created. + // (Deprecated) The name for your custom image. // - // Constraints: + // In releases prior to June 12, 2017, this parameter was ignored by the API. + // It is now deprecated. // - // * This parameter cannot be defined together with the disk snapshot name - // parameter. The source disk name and disk snapshot name parameters are - // mutually exclusive. + // Deprecated: CustomImageName has been deprecated + CustomImageName *string `locationName:"customImageName" deprecated:"true" type:"string"` + + // The names to use for your new Lightsail instances. Separate multiple values + // using quotation marks and commas, for example: ["MyFirstInstance","MySecondInstance"] // - // * Define this parameter only when creating a new disk from an automatic - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). - SourceDiskName *string `locationName:"sourceDiskName" type:"string"` + // InstanceNames is a required field + InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` + + // The name of your key pair. + KeyPairName *string `locationName:"keyPairName" type:"string"` // The tag keys and optional values to add to the resource during create. // - // To tag a resource after it has been created, see the tag resource operation. + // Use the TagResource action to tag a resource after it's created. Tags []*Tag `locationName:"tags" type:"list"` - // A Boolean value to indicate whether to use the latest available automatic - // snapshot. - // - // Constraints: - // - // * This parameter cannot be defined together with the restore date parameter. - // The use latest restorable auto snapshot and restore date parameters are - // mutually exclusive. + // A launch script you can create that configures a server with additional user + // data. For example, you might want to run apt-get -y update. // - // * Define this parameter only when creating a new disk from an automatic - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). - UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"` + // Depending on the machine image you choose, the command to get software on + // your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu + // use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide + // (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image). + UserData *string `locationName:"userData" type:"string"` } // String returns the string representation -func (s CreateDiskFromSnapshotInput) String() string { +func (s CreateInstancesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDiskFromSnapshotInput) GoString() string { +func (s CreateInstancesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDiskFromSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDiskFromSnapshotInput"} +func (s *CreateInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateInstancesInput"} if s.AvailabilityZone == nil { invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) } - if s.DiskName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskName")) + if s.BlueprintId == nil { + invalidParams.Add(request.NewErrParamRequired("BlueprintId")) } - if s.SizeInGb == nil { - invalidParams.Add(request.NewErrParamRequired("SizeInGb")) + if s.BundleId == nil { + invalidParams.Add(request.NewErrParamRequired("BundleId")) + } + if s.InstanceNames == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceNames")) } if s.AddOns != nil { for i, v := range s.AddOns { @@ -14263,147 +17592,113 @@ func (s *CreateDiskFromSnapshotInput) Validate() error { } // SetAddOns sets the AddOns field's value. -func (s *CreateDiskFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateDiskFromSnapshotInput { +func (s *CreateInstancesInput) SetAddOns(v []*AddOnRequest) *CreateInstancesInput { s.AddOns = v return s } // SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *CreateDiskFromSnapshotInput) SetAvailabilityZone(v string) *CreateDiskFromSnapshotInput { +func (s *CreateInstancesInput) SetAvailabilityZone(v string) *CreateInstancesInput { s.AvailabilityZone = &v return s } -// SetDiskName sets the DiskName field's value. -func (s *CreateDiskFromSnapshotInput) SetDiskName(v string) *CreateDiskFromSnapshotInput { - s.DiskName = &v +// SetBlueprintId sets the BlueprintId field's value. +func (s *CreateInstancesInput) SetBlueprintId(v string) *CreateInstancesInput { + s.BlueprintId = &v return s } -// SetDiskSnapshotName sets the DiskSnapshotName field's value. -func (s *CreateDiskFromSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskFromSnapshotInput { - s.DiskSnapshotName = &v +// SetBundleId sets the BundleId field's value. +func (s *CreateInstancesInput) SetBundleId(v string) *CreateInstancesInput { + s.BundleId = &v return s } -// SetRestoreDate sets the RestoreDate field's value. -func (s *CreateDiskFromSnapshotInput) SetRestoreDate(v string) *CreateDiskFromSnapshotInput { - s.RestoreDate = &v +// SetCustomImageName sets the CustomImageName field's value. +func (s *CreateInstancesInput) SetCustomImageName(v string) *CreateInstancesInput { + s.CustomImageName = &v return s } -// SetSizeInGb sets the SizeInGb field's value. -func (s *CreateDiskFromSnapshotInput) SetSizeInGb(v int64) *CreateDiskFromSnapshotInput { - s.SizeInGb = &v +// SetInstanceNames sets the InstanceNames field's value. +func (s *CreateInstancesInput) SetInstanceNames(v []*string) *CreateInstancesInput { + s.InstanceNames = v return s } -// SetSourceDiskName sets the SourceDiskName field's value. -func (s *CreateDiskFromSnapshotInput) SetSourceDiskName(v string) *CreateDiskFromSnapshotInput { - s.SourceDiskName = &v +// SetKeyPairName sets the KeyPairName field's value. +func (s *CreateInstancesInput) SetKeyPairName(v string) *CreateInstancesInput { + s.KeyPairName = &v return s } // SetTags sets the Tags field's value. -func (s *CreateDiskFromSnapshotInput) SetTags(v []*Tag) *CreateDiskFromSnapshotInput { +func (s *CreateInstancesInput) SetTags(v []*Tag) *CreateInstancesInput { s.Tags = v return s } -// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value. -func (s *CreateDiskFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateDiskFromSnapshotInput { - s.UseLatestRestorableAutoSnapshot = &v +// SetUserData sets the UserData field's value. +func (s *CreateInstancesInput) SetUserData(v string) *CreateInstancesInput { + s.UserData = &v return s } -type CreateDiskFromSnapshotOutput struct { +type CreateInstancesOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s CreateDiskFromSnapshotOutput) String() string { +func (s CreateInstancesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDiskFromSnapshotOutput) GoString() string { +func (s CreateInstancesOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateDiskFromSnapshotOutput) SetOperations(v []*Operation) *CreateDiskFromSnapshotOutput { +func (s *CreateInstancesOutput) SetOperations(v []*Operation) *CreateInstancesOutput { s.Operations = v return s } -type CreateDiskInput struct { +type CreateKeyPairInput struct { _ struct{} `type:"structure"` - // An array of objects that represent the add-ons to enable for the new disk. - AddOns []*AddOnRequest `locationName:"addOns" type:"list"` - - // The Availability Zone where you want to create the disk (e.g., us-east-2a). - // Use the same Availability Zone as the Lightsail instance to which you want - // to attach the disk. - // - // Use the get regions operation to list the Availability Zones where Lightsail - // is currently available. - // - // AvailabilityZone is a required field - AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` - - // The unique Lightsail disk name (e.g., my-disk). - // - // DiskName is a required field - DiskName *string `locationName:"diskName" type:"string" required:"true"` - - // The size of the disk in GB (e.g., 32). + // The name for your new key pair. // - // SizeInGb is a required field - SizeInGb *int64 `locationName:"sizeInGb" type:"integer" required:"true"` + // KeyPairName is a required field + KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"` // The tag keys and optional values to add to the resource during create. // - // To tag a resource after it has been created, see the tag resource operation. + // Use the TagResource action to tag a resource after it's created. Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s CreateDiskInput) String() string { +func (s CreateKeyPairInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDiskInput) GoString() string { +func (s CreateKeyPairInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDiskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDiskInput"} - if s.AvailabilityZone == nil { - invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) - } - if s.DiskName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskName")) - } - if s.SizeInGb == nil { - invalidParams.Add(request.NewErrParamRequired("SizeInGb")) - } - if s.AddOns != nil { - for i, v := range s.AddOns { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams)) - } - } +func (s *CreateKeyPairInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"} + if s.KeyPairName == nil { + invalidParams.Add(request.NewErrParamRequired("KeyPairName")) } if invalidParams.Len() > 0 { @@ -14412,104 +17707,136 @@ func (s *CreateDiskInput) Validate() error { return nil } -// SetAddOns sets the AddOns field's value. -func (s *CreateDiskInput) SetAddOns(v []*AddOnRequest) *CreateDiskInput { - s.AddOns = v - return s -} - -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *CreateDiskInput) SetAvailabilityZone(v string) *CreateDiskInput { - s.AvailabilityZone = &v - return s -} - -// SetDiskName sets the DiskName field's value. -func (s *CreateDiskInput) SetDiskName(v string) *CreateDiskInput { - s.DiskName = &v - return s -} - -// SetSizeInGb sets the SizeInGb field's value. -func (s *CreateDiskInput) SetSizeInGb(v int64) *CreateDiskInput { - s.SizeInGb = &v +// SetKeyPairName sets the KeyPairName field's value. +func (s *CreateKeyPairInput) SetKeyPairName(v string) *CreateKeyPairInput { + s.KeyPairName = &v return s } // SetTags sets the Tags field's value. -func (s *CreateDiskInput) SetTags(v []*Tag) *CreateDiskInput { +func (s *CreateKeyPairInput) SetTags(v []*Tag) *CreateKeyPairInput { s.Tags = v return s } -type CreateDiskOutput struct { +type CreateKeyPairOutput struct { _ struct{} `type:"structure"` + // An array of key-value pairs containing information about the new key pair + // you just created. + KeyPair *KeyPair `locationName:"keyPair" type:"structure"` + // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + Operation *Operation `locationName:"operation" type:"structure"` + + // A base64-encoded RSA private key. + PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"` + + // A base64-encoded public key of the ssh-rsa type. + PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"` } // String returns the string representation -func (s CreateDiskOutput) String() string { +func (s CreateKeyPairOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDiskOutput) GoString() string { +func (s CreateKeyPairOutput) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *CreateDiskOutput) SetOperations(v []*Operation) *CreateDiskOutput { - s.Operations = v +// SetKeyPair sets the KeyPair field's value. +func (s *CreateKeyPairOutput) SetKeyPair(v *KeyPair) *CreateKeyPairOutput { + s.KeyPair = v return s } -type CreateDiskSnapshotInput struct { +// SetOperation sets the Operation field's value. +func (s *CreateKeyPairOutput) SetOperation(v *Operation) *CreateKeyPairOutput { + s.Operation = v + return s +} + +// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value. +func (s *CreateKeyPairOutput) SetPrivateKeyBase64(v string) *CreateKeyPairOutput { + s.PrivateKeyBase64 = &v + return s +} + +// SetPublicKeyBase64 sets the PublicKeyBase64 field's value. +func (s *CreateKeyPairOutput) SetPublicKeyBase64(v string) *CreateKeyPairOutput { + s.PublicKeyBase64 = &v + return s +} + +type CreateLoadBalancerInput struct { _ struct{} `type:"structure"` - // The unique name of the source disk (e.g., Disk-Virginia-1). + // The optional alternative domains and subdomains to use with your SSL/TLS + // certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com). + CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"` + + // The domain name with which your certificate is associated (e.g., example.com). // - // This parameter cannot be defined together with the instance name parameter. - // The disk name and instance name parameters are mutually exclusive. - DiskName *string `locationName:"diskName" type:"string"` + // If you specify certificateDomainName, then certificateName is required (and + // vice-versa). + CertificateDomainName *string `locationName:"certificateDomainName" type:"string"` - // The name of the destination disk snapshot (e.g., my-disk-snapshot) based - // on the source disk. + // The name of the SSL/TLS certificate. // - // DiskSnapshotName is a required field - DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"` + // If you specify certificateName, then certificateDomainName is required (and + // vice-versa). + CertificateName *string `locationName:"certificateName" type:"string"` - // The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1). - // When this is defined, a snapshot of the instance's system volume is created. + // The path you provided to perform the load balancer health check. If you didn't + // specify a health check path, Lightsail uses the root path of your website + // (e.g., "/"). // - // This parameter cannot be defined together with the disk name parameter. The - // instance name and disk name parameters are mutually exclusive. - InstanceName *string `locationName:"instanceName" type:"string"` + // You may want to specify a custom health check path other than the root of + // your application if your home page loads slowly or has a lot of media or + // scripting on it. + HealthCheckPath *string `locationName:"healthCheckPath" type:"string"` + + // The instance port where you're creating your load balancer. + // + // InstancePort is a required field + InstancePort *int64 `locationName:"instancePort" type:"integer" required:"true"` + + // The name of your load balancer. + // + // LoadBalancerName is a required field + LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` // The tag keys and optional values to add to the resource during create. // - // To tag a resource after it has been created, see the tag resource operation. + // Use the TagResource action to tag a resource after it's created. Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s CreateDiskSnapshotInput) String() string { +func (s CreateLoadBalancerInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDiskSnapshotInput) GoString() string { +func (s CreateLoadBalancerInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDiskSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDiskSnapshotInput"} - if s.DiskSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName")) +func (s *CreateLoadBalancerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"} + if s.InstancePort == nil { + invalidParams.Add(request.NewErrParamRequired("InstancePort")) + } + if s.InstancePort != nil && *s.InstancePort < -1 { + invalidParams.Add(request.NewErrParamMinValue("InstancePort", -1)) + } + if s.LoadBalancerName == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) } if invalidParams.Len() > 0 { @@ -14518,89 +17845,129 @@ func (s *CreateDiskSnapshotInput) Validate() error { return nil } -// SetDiskName sets the DiskName field's value. -func (s *CreateDiskSnapshotInput) SetDiskName(v string) *CreateDiskSnapshotInput { - s.DiskName = &v +// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value. +func (s *CreateLoadBalancerInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerInput { + s.CertificateAlternativeNames = v return s } -// SetDiskSnapshotName sets the DiskSnapshotName field's value. -func (s *CreateDiskSnapshotInput) SetDiskSnapshotName(v string) *CreateDiskSnapshotInput { - s.DiskSnapshotName = &v +// SetCertificateDomainName sets the CertificateDomainName field's value. +func (s *CreateLoadBalancerInput) SetCertificateDomainName(v string) *CreateLoadBalancerInput { + s.CertificateDomainName = &v return s } -// SetInstanceName sets the InstanceName field's value. -func (s *CreateDiskSnapshotInput) SetInstanceName(v string) *CreateDiskSnapshotInput { - s.InstanceName = &v +// SetCertificateName sets the CertificateName field's value. +func (s *CreateLoadBalancerInput) SetCertificateName(v string) *CreateLoadBalancerInput { + s.CertificateName = &v + return s +} + +// SetHealthCheckPath sets the HealthCheckPath field's value. +func (s *CreateLoadBalancerInput) SetHealthCheckPath(v string) *CreateLoadBalancerInput { + s.HealthCheckPath = &v + return s +} + +// SetInstancePort sets the InstancePort field's value. +func (s *CreateLoadBalancerInput) SetInstancePort(v int64) *CreateLoadBalancerInput { + s.InstancePort = &v + return s +} + +// SetLoadBalancerName sets the LoadBalancerName field's value. +func (s *CreateLoadBalancerInput) SetLoadBalancerName(v string) *CreateLoadBalancerInput { + s.LoadBalancerName = &v return s } // SetTags sets the Tags field's value. -func (s *CreateDiskSnapshotInput) SetTags(v []*Tag) *CreateDiskSnapshotInput { +func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput { s.Tags = v return s } -type CreateDiskSnapshotOutput struct { +type CreateLoadBalancerOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s CreateDiskSnapshotOutput) String() string { +func (s CreateLoadBalancerOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDiskSnapshotOutput) GoString() string { +func (s CreateLoadBalancerOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateDiskSnapshotOutput) SetOperations(v []*Operation) *CreateDiskSnapshotOutput { +func (s *CreateLoadBalancerOutput) SetOperations(v []*Operation) *CreateLoadBalancerOutput { s.Operations = v return s } -type CreateDomainEntryInput struct { +type CreateLoadBalancerTlsCertificateInput struct { _ struct{} `type:"structure"` - // An array of key-value pairs containing information about the domain entry - // request. + // An array of strings listing alternative domains and subdomains for your SSL/TLS + // certificate. Lightsail will de-dupe the names for you. You can have a maximum + // of 9 alternative names (in addition to the 1 primary domain). We do not support + // wildcards (e.g., *.example.com). + CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"` + + // The domain name (e.g., example.com) for your SSL/TLS certificate. // - // DomainEntry is a required field - DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"` + // CertificateDomainName is a required field + CertificateDomainName *string `locationName:"certificateDomainName" type:"string" required:"true"` - // The domain name (e.g., example.com) for which you want to create the domain - // entry. + // The SSL/TLS certificate name. // - // DomainName is a required field - DomainName *string `locationName:"domainName" type:"string" required:"true"` + // You can have up to 10 certificates in your account at one time. Each Lightsail + // load balancer can have up to 2 certificates associated with it at one time. + // There is also an overall limit to the number of certificates that can be + // issue in a 365-day period. For more information, see Limits (http://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html). + // + // CertificateName is a required field + CertificateName *string `locationName:"certificateName" type:"string" required:"true"` + + // The load balancer name where you want to create the SSL/TLS certificate. + // + // LoadBalancerName is a required field + LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` + + // The tag keys and optional values to add to the resource during create. + // + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s CreateDomainEntryInput) String() string { +func (s CreateLoadBalancerTlsCertificateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDomainEntryInput) GoString() string { +func (s CreateLoadBalancerTlsCertificateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDomainEntryInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDomainEntryInput"} - if s.DomainEntry == nil { - invalidParams.Add(request.NewErrParamRequired("DomainEntry")) +func (s *CreateLoadBalancerTlsCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerTlsCertificateInput"} + if s.CertificateDomainName == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateDomainName")) } - if s.DomainName == nil { - invalidParams.Add(request.NewErrParamRequired("DomainName")) + if s.CertificateName == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateName")) + } + if s.LoadBalancerName == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) } if invalidParams.Len() > 0 { @@ -14609,159 +17976,149 @@ func (s *CreateDomainEntryInput) Validate() error { return nil } -// SetDomainEntry sets the DomainEntry field's value. -func (s *CreateDomainEntryInput) SetDomainEntry(v *DomainEntry) *CreateDomainEntryInput { - s.DomainEntry = v +// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value. +func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerTlsCertificateInput { + s.CertificateAlternativeNames = v return s } -// SetDomainName sets the DomainName field's value. -func (s *CreateDomainEntryInput) SetDomainName(v string) *CreateDomainEntryInput { - s.DomainName = &v +// SetCertificateDomainName sets the CertificateDomainName field's value. +func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateDomainName(v string) *CreateLoadBalancerTlsCertificateInput { + s.CertificateDomainName = &v return s } -type CreateDomainEntryOutput struct { - _ struct{} `type:"structure"` - - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected - // by the request. - Operation *Operation `locationName:"operation" type:"structure"` -} - -// String returns the string representation -func (s CreateDomainEntryOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateDomainEntryOutput) GoString() string { - return s.String() -} - -// SetOperation sets the Operation field's value. -func (s *CreateDomainEntryOutput) SetOperation(v *Operation) *CreateDomainEntryOutput { - s.Operation = v +// SetCertificateName sets the CertificateName field's value. +func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateName(v string) *CreateLoadBalancerTlsCertificateInput { + s.CertificateName = &v return s } -type CreateDomainInput struct { - _ struct{} `type:"structure"` - - // The domain name to manage (e.g., example.com). - // - // You cannot register a new domain name using Lightsail. You must register - // a domain name using Amazon Route 53 or another domain name registrar. If - // you have already registered your domain, you can enter its name in this parameter - // to manage the DNS records for that domain. - // - // DomainName is a required field - DomainName *string `locationName:"domainName" type:"string" required:"true"` - - // The tag keys and optional values to add to the resource during create. - // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` -} - -// String returns the string representation -func (s CreateDomainInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateDomainInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDomainInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDomainInput"} - if s.DomainName == nil { - invalidParams.Add(request.NewErrParamRequired("DomainName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDomainName sets the DomainName field's value. -func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput { - s.DomainName = &v +// SetLoadBalancerName sets the LoadBalancerName field's value. +func (s *CreateLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *CreateLoadBalancerTlsCertificateInput { + s.LoadBalancerName = &v return s } // SetTags sets the Tags field's value. -func (s *CreateDomainInput) SetTags(v []*Tag) *CreateDomainInput { +func (s *CreateLoadBalancerTlsCertificateInput) SetTags(v []*Tag) *CreateLoadBalancerTlsCertificateInput { s.Tags = v return s } -type CreateDomainOutput struct { +type CreateLoadBalancerTlsCertificateOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. - Operation *Operation `locationName:"operation" type:"structure"` + Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s CreateDomainOutput) String() string { +func (s CreateLoadBalancerTlsCertificateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDomainOutput) GoString() string { +func (s CreateLoadBalancerTlsCertificateOutput) GoString() string { return s.String() } -// SetOperation sets the Operation field's value. -func (s *CreateDomainOutput) SetOperation(v *Operation) *CreateDomainOutput { - s.Operation = v +// SetOperations sets the Operations field's value. +func (s *CreateLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *CreateLoadBalancerTlsCertificateOutput { + s.Operations = v return s } -type CreateInstanceSnapshotInput struct { +type CreateRelationalDatabaseFromSnapshotInput struct { _ struct{} `type:"structure"` - // The Lightsail instance on which to base your snapshot. + // The Availability Zone in which to create your new database. Use the us-east-2a + // case-sensitive format. // - // InstanceName is a required field - InstanceName *string `locationName:"instanceName" type:"string" required:"true"` + // You can get a list of Availability Zones by using the get regions operation. + // Be sure to add the include relational database Availability Zones parameter + // to your request. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` + + // Specifies the accessibility options for your new database. A value of true + // specifies a database that is available to resources outside of your Lightsail + // account. A value of false specifies a database that is available only to + // your Lightsail resources in the same region as your database. + PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"` + + // The bundle ID for your new database. A bundle describes the performance specifications + // for your database. + // + // You can get a list of database bundle IDs by using the get relational database + // bundles operation. + // + // When creating a new database from a snapshot, you cannot choose a bundle + // that is smaller than the bundle of the source database. + RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"` + + // The name to use for your new database. + // + // Constraints: + // + // * Must contain from 2 to 255 alphanumeric characters, or hyphens. + // + // * The first and last character must be a letter or number. + // + // RelationalDatabaseName is a required field + RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` + + // The name of the database snapshot from which to create your new database. + RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"` - // The name for your new snapshot. + // The date and time to restore your database from. // - // InstanceSnapshotName is a required field - InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"` + // Constraints: + // + // * Must be before the latest restorable time for the database. + // + // * Cannot be specified if the use latest restorable time parameter is true. + // + // * Specified in Coordinated Universal Time (UTC). + // + // * Specified in the Unix time format. For example, if you wish to use a + // restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000 + // as the restore time. + RestoreTime *time.Time `locationName:"restoreTime" type:"timestamp"` + + // The name of the source database. + SourceRelationalDatabaseName *string `locationName:"sourceRelationalDatabaseName" type:"string"` // The tag keys and optional values to add to the resource during create. // - // To tag a resource after it has been created, see the tag resource operation. + // Use the TagResource action to tag a resource after it's created. Tags []*Tag `locationName:"tags" type:"list"` + + // Specifies whether your database is restored from the latest backup time. + // A value of true restores from the latest backup time. + // + // Default: false + // + // Constraints: Cannot be specified if the restore time parameter is provided. + UseLatestRestorableTime *bool `locationName:"useLatestRestorableTime" type:"boolean"` } // String returns the string representation -func (s CreateInstanceSnapshotInput) String() string { +func (s CreateRelationalDatabaseFromSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInstanceSnapshotInput) GoString() string { +func (s CreateRelationalDatabaseFromSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateInstanceSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateInstanceSnapshotInput"} - if s.InstanceName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceName")) - } - if s.InstanceSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName")) +func (s *CreateRelationalDatabaseFromSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseFromSnapshotInput"} + if s.RelationalDatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) } if invalidParams.Len() > 0 { @@ -14770,180 +18127,238 @@ func (s *CreateInstanceSnapshotInput) Validate() error { return nil } -// SetInstanceName sets the InstanceName field's value. -func (s *CreateInstanceSnapshotInput) SetInstanceName(v string) *CreateInstanceSnapshotInput { - s.InstanceName = &v +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseFromSnapshotInput { + s.AvailabilityZone = &v return s } -// SetInstanceSnapshotName sets the InstanceSnapshotName field's value. -func (s *CreateInstanceSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstanceSnapshotInput { - s.InstanceSnapshotName = &v +// SetPubliclyAccessible sets the PubliclyAccessible field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseFromSnapshotInput { + s.PubliclyAccessible = &v + return s +} + +// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseFromSnapshotInput { + s.RelationalDatabaseBundleId = &v + return s +} + +// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput { + s.RelationalDatabaseName = &v + return s +} + +// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseFromSnapshotInput { + s.RelationalDatabaseSnapshotName = &v + return s +} + +// SetRestoreTime sets the RestoreTime field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetRestoreTime(v time.Time) *CreateRelationalDatabaseFromSnapshotInput { + s.RestoreTime = &v + return s +} + +// SetSourceRelationalDatabaseName sets the SourceRelationalDatabaseName field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetSourceRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput { + s.SourceRelationalDatabaseName = &v return s } // SetTags sets the Tags field's value. -func (s *CreateInstanceSnapshotInput) SetTags(v []*Tag) *CreateInstanceSnapshotInput { +func (s *CreateRelationalDatabaseFromSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseFromSnapshotInput { s.Tags = v return s } -type CreateInstanceSnapshotOutput struct { +// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value. +func (s *CreateRelationalDatabaseFromSnapshotInput) SetUseLatestRestorableTime(v bool) *CreateRelationalDatabaseFromSnapshotInput { + s.UseLatestRestorableTime = &v + return s +} + +type CreateRelationalDatabaseFromSnapshotOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s CreateInstanceSnapshotOutput) String() string { +func (s CreateRelationalDatabaseFromSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInstanceSnapshotOutput) GoString() string { +func (s CreateRelationalDatabaseFromSnapshotOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateInstanceSnapshotOutput) SetOperations(v []*Operation) *CreateInstanceSnapshotOutput { +func (s *CreateRelationalDatabaseFromSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseFromSnapshotOutput { s.Operations = v return s } -type CreateInstancesFromSnapshotInput struct { +type CreateRelationalDatabaseInput struct { _ struct{} `type:"structure"` - // An array of objects representing the add-ons to enable for the new instance. - AddOns []*AddOnRequest `locationName:"addOns" type:"list"` - - // An object containing information about one or more disk mappings. - AttachedDiskMapping map[string][]*DiskMap `locationName:"attachedDiskMapping" type:"map"` - - // The Availability Zone where you want to create your instances. Use the following - // formatting: us-east-2a (case sensitive). You can get a list of Availability - // Zones by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html) - // operation. Be sure to add the include Availability Zones parameter to your - // request. + // The Availability Zone in which to create your new database. Use the us-east-2a + // case-sensitive format. // - // AvailabilityZone is a required field - AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` + // You can get a list of Availability Zones by using the get regions operation. + // Be sure to add the include relational database Availability Zones parameter + // to your request. + AvailabilityZone *string `locationName:"availabilityZone" type:"string"` - // The bundle of specification information for your virtual private server (or - // instance), including the pricing plan (e.g., micro_1_0). + // The name of the master database created when the Lightsail database resource + // is created. // - // BundleId is a required field - BundleId *string `locationName:"bundleId" type:"string" required:"true"` + // Constraints: + // + // * Must contain from 1 to 64 alphanumeric characters. + // + // * Cannot be a word reserved by the specified database engine + // + // MasterDatabaseName is a required field + MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string" required:"true"` - // The names for your new instances. + // The password for the master user of your new database. The password can include + // any printable ASCII character except "/", """, or "@". // - // InstanceNames is a required field - InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` + // Constraints: Must contain 8 to 41 characters. + MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"` - // The name of the instance snapshot on which you are basing your new instances. - // Use the get instance snapshots operation to return information about your - // existing snapshots. + // The master user name for your new database. // - // Constraint: + // Constraints: // - // * This parameter cannot be defined together with the source instance name - // parameter. The instance snapshot name and source instance name parameters - // are mutually exclusive. - InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string"` - - // The name for your key pair. - KeyPairName *string `locationName:"keyPairName" type:"string"` + // * Master user name is required. + // + // * Must contain from 1 to 16 alphanumeric characters. + // + // * The first character must be a letter. + // + // * Cannot be a reserved word for the database engine you choose. For more + // information about reserved words in MySQL 5.6 or 5.7, see the Keywords + // and Reserved Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html) + // or MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html) respectively. + // + // MasterUsername is a required field + MasterUsername *string `locationName:"masterUsername" type:"string" required:"true"` - // The date of the automatic snapshot to use for the new instance. Use the get - // auto snapshots operation to identify the dates of the available automatic - // snapshots. + // The daily time range during which automated backups are created for your + // new database if automated backups are enabled. + // + // The default is a 30-minute window selected at random from an 8-hour block + // of time for each AWS Region. For more information about the preferred backup + // window time blocks for each region, see the Working With Backups (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow) + // guide in the Amazon Relational Database Service (Amazon RDS) documentation. // // Constraints: // - // * Must be specified in YYYY-MM-DD format. + // * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30 // - // * This parameter cannot be defined together with the use latest restorable - // auto snapshot parameter. The restore date and use latest restorable auto - // snapshot parameters are mutually exclusive. + // * Specified in Coordinated Universal Time (UTC). // - // * Define this parameter only when creating a new instance from an automatic - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). - RestoreDate *string `locationName:"restoreDate" type:"string"` + // * Must not conflict with the preferred maintenance window. + // + // * Must be at least 30 minutes. + PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"` - // The name of the source instance from which the source automatic snapshot - // was created. + // The weekly time range during which system maintenance can occur on your new + // database. + // + // The default is a 30-minute window selected at random from an 8-hour block + // of time for each AWS Region, occurring on a random day of the week. // // Constraints: // - // * This parameter cannot be defined together with the instance snapshot - // name parameter. The source instance name and instance snapshot name parameters - // are mutually exclusive. + // * Must be in the ddd:hh24:mi-ddd:hh24:mi format. // - // * Define this parameter only when creating a new instance from an automatic - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). - SourceInstanceName *string `locationName:"sourceInstanceName" type:"string"` + // * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. + // + // * Must be at least 30 minutes. + // + // * Specified in Coordinated Universal Time (UTC). + // + // * Example: Tue:17:00-Tue:17:30 + PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"` - // The tag keys and optional values to add to the resource during create. + // Specifies the accessibility options for your new database. A value of true + // specifies a database that is available to resources outside of your Lightsail + // account. A value of false specifies a database that is available only to + // your Lightsail resources in the same region as your database. + PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"` + + // The blueprint ID for your new database. A blueprint describes the major engine + // version of a database. // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` + // You can get a list of database blueprints IDs by using the get relational + // database blueprints operation. + // + // RelationalDatabaseBlueprintId is a required field + RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string" required:"true"` - // A Boolean value to indicate whether to use the latest available automatic - // snapshot. + // The bundle ID for your new database. A bundle describes the performance specifications + // for your database. + // + // You can get a list of database bundle IDs by using the get relational database + // bundles operation. + // + // RelationalDatabaseBundleId is a required field + RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string" required:"true"` + + // The name to use for your new database. // // Constraints: // - // * This parameter cannot be defined together with the restore date parameter. - // The use latest restorable auto snapshot and restore date parameters are - // mutually exclusive. + // * Must contain from 2 to 255 alphanumeric characters, or hyphens. // - // * Define this parameter only when creating a new instance from an automatic - // snapshot. For more information, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-configuring-automatic-snapshots). - UseLatestRestorableAutoSnapshot *bool `locationName:"useLatestRestorableAutoSnapshot" type:"boolean"` - - // You can create a launch script that configures a server with additional user - // data. For example, apt-get -y update. + // * The first and last character must be a letter or number. + // + // RelationalDatabaseName is a required field + RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` + + // The tag keys and optional values to add to the resource during create. // - // Depending on the machine image you choose, the command to get software on - // your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu - // use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide - // (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image). - UserData *string `locationName:"userData" type:"string"` + // Use the TagResource action to tag a resource after it's created. + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s CreateInstancesFromSnapshotInput) String() string { +func (s CreateRelationalDatabaseInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInstancesFromSnapshotInput) GoString() string { +func (s CreateRelationalDatabaseInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateInstancesFromSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateInstancesFromSnapshotInput"} - if s.AvailabilityZone == nil { - invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) +func (s *CreateRelationalDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseInput"} + if s.MasterDatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("MasterDatabaseName")) } - if s.BundleId == nil { - invalidParams.Add(request.NewErrParamRequired("BundleId")) + if s.MasterUsername == nil { + invalidParams.Add(request.NewErrParamRequired("MasterUsername")) } - if s.InstanceNames == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceNames")) + if s.RelationalDatabaseBlueprintId == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBlueprintId")) } - if s.AddOns != nil { - for i, v := range s.AddOns { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams)) - } - } + if s.RelationalDatabaseBundleId == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBundleId")) + } + if s.RelationalDatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) } if invalidParams.Len() > 0 { @@ -14952,202 +18367,140 @@ func (s *CreateInstancesFromSnapshotInput) Validate() error { return nil } -// SetAddOns sets the AddOns field's value. -func (s *CreateInstancesFromSnapshotInput) SetAddOns(v []*AddOnRequest) *CreateInstancesFromSnapshotInput { - s.AddOns = v - return s -} - -// SetAttachedDiskMapping sets the AttachedDiskMapping field's value. -func (s *CreateInstancesFromSnapshotInput) SetAttachedDiskMapping(v map[string][]*DiskMap) *CreateInstancesFromSnapshotInput { - s.AttachedDiskMapping = v +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *CreateRelationalDatabaseInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseInput { + s.AvailabilityZone = &v return s } -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *CreateInstancesFromSnapshotInput) SetAvailabilityZone(v string) *CreateInstancesFromSnapshotInput { - s.AvailabilityZone = &v +// SetMasterDatabaseName sets the MasterDatabaseName field's value. +func (s *CreateRelationalDatabaseInput) SetMasterDatabaseName(v string) *CreateRelationalDatabaseInput { + s.MasterDatabaseName = &v return s } -// SetBundleId sets the BundleId field's value. -func (s *CreateInstancesFromSnapshotInput) SetBundleId(v string) *CreateInstancesFromSnapshotInput { - s.BundleId = &v +// SetMasterUserPassword sets the MasterUserPassword field's value. +func (s *CreateRelationalDatabaseInput) SetMasterUserPassword(v string) *CreateRelationalDatabaseInput { + s.MasterUserPassword = &v return s } -// SetInstanceNames sets the InstanceNames field's value. -func (s *CreateInstancesFromSnapshotInput) SetInstanceNames(v []*string) *CreateInstancesFromSnapshotInput { - s.InstanceNames = v +// SetMasterUsername sets the MasterUsername field's value. +func (s *CreateRelationalDatabaseInput) SetMasterUsername(v string) *CreateRelationalDatabaseInput { + s.MasterUsername = &v return s } -// SetInstanceSnapshotName sets the InstanceSnapshotName field's value. -func (s *CreateInstancesFromSnapshotInput) SetInstanceSnapshotName(v string) *CreateInstancesFromSnapshotInput { - s.InstanceSnapshotName = &v +// SetPreferredBackupWindow sets the PreferredBackupWindow field's value. +func (s *CreateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *CreateRelationalDatabaseInput { + s.PreferredBackupWindow = &v return s } -// SetKeyPairName sets the KeyPairName field's value. -func (s *CreateInstancesFromSnapshotInput) SetKeyPairName(v string) *CreateInstancesFromSnapshotInput { - s.KeyPairName = &v +// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. +func (s *CreateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *CreateRelationalDatabaseInput { + s.PreferredMaintenanceWindow = &v return s } -// SetRestoreDate sets the RestoreDate field's value. -func (s *CreateInstancesFromSnapshotInput) SetRestoreDate(v string) *CreateInstancesFromSnapshotInput { - s.RestoreDate = &v +// SetPubliclyAccessible sets the PubliclyAccessible field's value. +func (s *CreateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseInput { + s.PubliclyAccessible = &v return s } -// SetSourceInstanceName sets the SourceInstanceName field's value. -func (s *CreateInstancesFromSnapshotInput) SetSourceInstanceName(v string) *CreateInstancesFromSnapshotInput { - s.SourceInstanceName = &v +// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value. +func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBlueprintId(v string) *CreateRelationalDatabaseInput { + s.RelationalDatabaseBlueprintId = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateInstancesFromSnapshotInput) SetTags(v []*Tag) *CreateInstancesFromSnapshotInput { - s.Tags = v +// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value. +func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseInput { + s.RelationalDatabaseBundleId = &v return s } -// SetUseLatestRestorableAutoSnapshot sets the UseLatestRestorableAutoSnapshot field's value. -func (s *CreateInstancesFromSnapshotInput) SetUseLatestRestorableAutoSnapshot(v bool) *CreateInstancesFromSnapshotInput { - s.UseLatestRestorableAutoSnapshot = &v +// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. +func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseInput { + s.RelationalDatabaseName = &v return s } -// SetUserData sets the UserData field's value. -func (s *CreateInstancesFromSnapshotInput) SetUserData(v string) *CreateInstancesFromSnapshotInput { - s.UserData = &v +// SetTags sets the Tags field's value. +func (s *CreateRelationalDatabaseInput) SetTags(v []*Tag) *CreateRelationalDatabaseInput { + s.Tags = v return s } -type CreateInstancesFromSnapshotOutput struct { +type CreateRelationalDatabaseOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s CreateInstancesFromSnapshotOutput) String() string { +func (s CreateRelationalDatabaseOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInstancesFromSnapshotOutput) GoString() string { +func (s CreateRelationalDatabaseOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateInstancesFromSnapshotOutput) SetOperations(v []*Operation) *CreateInstancesFromSnapshotOutput { +func (s *CreateRelationalDatabaseOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseOutput { s.Operations = v return s } -type CreateInstancesInput struct { +type CreateRelationalDatabaseSnapshotInput struct { _ struct{} `type:"structure"` - // An array of objects representing the add-ons to enable for the new instance. - AddOns []*AddOnRequest `locationName:"addOns" type:"list"` - - // The Availability Zone in which to create your instance. Use the following - // format: us-east-2a (case sensitive). You can get a list of Availability Zones - // by using the get regions (http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html) - // operation. Be sure to add the include Availability Zones parameter to your - // request. - // - // AvailabilityZone is a required field - AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` - - // The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0). - // Use the get blueprints operation to return a list of available images (or - // blueprints). - // - // Use active blueprints when creating new instances. Inactive blueprints are - // listed to support customers with existing instances and are not necessarily - // available to create new instances. Blueprints are marked inactive when they - // become outdated due to operating system updates or new application releases. + // The name of the database on which to base your new snapshot. // - // BlueprintId is a required field - BlueprintId *string `locationName:"blueprintId" type:"string" required:"true"` + // RelationalDatabaseName is a required field + RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` - // The bundle of specification information for your virtual private server (or - // instance), including the pricing plan (e.g., micro_1_0). + // The name for your new database snapshot. // - // BundleId is a required field - BundleId *string `locationName:"bundleId" type:"string" required:"true"` - - // (Deprecated) The name for your custom image. + // Constraints: // - // In releases prior to June 12, 2017, this parameter was ignored by the API. - // It is now deprecated. + // * Must contain from 2 to 255 alphanumeric characters, or hyphens. // - // Deprecated: CustomImageName has been deprecated - CustomImageName *string `locationName:"customImageName" deprecated:"true" type:"string"` - - // The names to use for your new Lightsail instances. Separate multiple values - // using quotation marks and commas, for example: ["MyFirstInstance","MySecondInstance"] + // * The first and last character must be a letter or number. // - // InstanceNames is a required field - InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` - - // The name of your key pair. - KeyPairName *string `locationName:"keyPairName" type:"string"` + // RelationalDatabaseSnapshotName is a required field + RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"` // The tag keys and optional values to add to the resource during create. // - // To tag a resource after it has been created, see the tag resource operation. + // Use the TagResource action to tag a resource after it's created. Tags []*Tag `locationName:"tags" type:"list"` - - // A launch script you can create that configures a server with additional user - // data. For example, you might want to run apt-get -y update. - // - // Depending on the machine image you choose, the command to get software on - // your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu - // use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide - // (https://lightsail.aws.amazon.com/ls/docs/getting-started/article/compare-options-choose-lightsail-instance-image). - UserData *string `locationName:"userData" type:"string"` } // String returns the string representation -func (s CreateInstancesInput) String() string { +func (s CreateRelationalDatabaseSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInstancesInput) GoString() string { +func (s CreateRelationalDatabaseSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateInstancesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateInstancesInput"} - if s.AvailabilityZone == nil { - invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) - } - if s.BlueprintId == nil { - invalidParams.Add(request.NewErrParamRequired("BlueprintId")) - } - if s.BundleId == nil { - invalidParams.Add(request.NewErrParamRequired("BundleId")) - } - if s.InstanceNames == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceNames")) +func (s *CreateRelationalDatabaseSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseSnapshotInput"} + if s.RelationalDatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) } - if s.AddOns != nil { - for i, v := range s.AddOns { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddOns", i), err.(request.ErrInvalidParams)) - } - } + if s.RelationalDatabaseSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName")) } if invalidParams.Len() > 0 { @@ -15156,114 +18509,147 @@ func (s *CreateInstancesInput) Validate() error { return nil } -// SetAddOns sets the AddOns field's value. -func (s *CreateInstancesInput) SetAddOns(v []*AddOnRequest) *CreateInstancesInput { - s.AddOns = v +// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. +func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseSnapshotInput { + s.RelationalDatabaseName = &v return s } -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *CreateInstancesInput) SetAvailabilityZone(v string) *CreateInstancesInput { - s.AvailabilityZone = &v +// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value. +func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseSnapshotInput { + s.RelationalDatabaseSnapshotName = &v return s } -// SetBlueprintId sets the BlueprintId field's value. -func (s *CreateInstancesInput) SetBlueprintId(v string) *CreateInstancesInput { - s.BlueprintId = &v +// SetTags sets the Tags field's value. +func (s *CreateRelationalDatabaseSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseSnapshotInput { + s.Tags = v + return s +} + +type CreateRelationalDatabaseSnapshotOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} + +// String returns the string representation +func (s CreateRelationalDatabaseSnapshotOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateRelationalDatabaseSnapshotOutput) GoString() string { + return s.String() +} + +// SetOperations sets the Operations field's value. +func (s *CreateRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseSnapshotOutput { + s.Operations = v return s } -// SetBundleId sets the BundleId field's value. -func (s *CreateInstancesInput) SetBundleId(v string) *CreateInstancesInput { - s.BundleId = &v - return s -} +type DeleteAlarmInput struct { + _ struct{} `type:"structure"` -// SetCustomImageName sets the CustomImageName field's value. -func (s *CreateInstancesInput) SetCustomImageName(v string) *CreateInstancesInput { - s.CustomImageName = &v - return s + // The name of the alarm to delete. + // + // AlarmName is a required field + AlarmName *string `locationName:"alarmName" type:"string" required:"true"` } -// SetInstanceNames sets the InstanceNames field's value. -func (s *CreateInstancesInput) SetInstanceNames(v []*string) *CreateInstancesInput { - s.InstanceNames = v - return s +// String returns the string representation +func (s DeleteAlarmInput) String() string { + return awsutil.Prettify(s) } -// SetKeyPairName sets the KeyPairName field's value. -func (s *CreateInstancesInput) SetKeyPairName(v string) *CreateInstancesInput { - s.KeyPairName = &v - return s +// GoString returns the string representation +func (s DeleteAlarmInput) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *CreateInstancesInput) SetTags(v []*Tag) *CreateInstancesInput { - s.Tags = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAlarmInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmInput"} + if s.AlarmName == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetUserData sets the UserData field's value. -func (s *CreateInstancesInput) SetUserData(v string) *CreateInstancesInput { - s.UserData = &v +// SetAlarmName sets the AlarmName field's value. +func (s *DeleteAlarmInput) SetAlarmName(v string) *DeleteAlarmInput { + s.AlarmName = &v return s } -type CreateInstancesOutput struct { +type DeleteAlarmOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s CreateInstancesOutput) String() string { +func (s DeleteAlarmOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateInstancesOutput) GoString() string { +func (s DeleteAlarmOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateInstancesOutput) SetOperations(v []*Operation) *CreateInstancesOutput { +func (s *DeleteAlarmOutput) SetOperations(v []*Operation) *DeleteAlarmOutput { s.Operations = v return s } -type CreateKeyPairInput struct { +type DeleteAutoSnapshotInput struct { _ struct{} `type:"structure"` - // The name for your new key pair. + // The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the + // get auto snapshots operation to get the available automatic snapshots for + // a resource. // - // KeyPairName is a required field - KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"` + // Date is a required field + Date *string `locationName:"date" type:"string" required:"true"` - // The tag keys and optional values to add to the resource during create. + // The name of the source instance or disk from which to delete the automatic + // snapshot. // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` + // ResourceName is a required field + ResourceName *string `locationName:"resourceName" type:"string" required:"true"` } // String returns the string representation -func (s CreateKeyPairInput) String() string { +func (s DeleteAutoSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateKeyPairInput) GoString() string { +func (s DeleteAutoSnapshotInput) 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.KeyPairName == nil { - invalidParams.Add(request.NewErrParamRequired("KeyPairName")) +func (s *DeleteAutoSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAutoSnapshotInput"} + if s.Date == nil { + invalidParams.Add(request.NewErrParamRequired("Date")) + } + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) } if invalidParams.Len() > 0 { @@ -15272,133 +18658,70 @@ func (s *CreateKeyPairInput) Validate() error { return nil } -// SetKeyPairName sets the KeyPairName field's value. -func (s *CreateKeyPairInput) SetKeyPairName(v string) *CreateKeyPairInput { - s.KeyPairName = &v +// SetDate sets the Date field's value. +func (s *DeleteAutoSnapshotInput) SetDate(v string) *DeleteAutoSnapshotInput { + s.Date = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateKeyPairInput) SetTags(v []*Tag) *CreateKeyPairInput { - s.Tags = v +// SetResourceName sets the ResourceName field's value. +func (s *DeleteAutoSnapshotInput) SetResourceName(v string) *DeleteAutoSnapshotInput { + s.ResourceName = &v return s } -type CreateKeyPairOutput struct { +type DeleteAutoSnapshotOutput struct { _ struct{} `type:"structure"` - // An array of key-value pairs containing information about the new key pair - // you just created. - KeyPair *KeyPair `locationName:"keyPair" type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. - Operation *Operation `locationName:"operation" type:"structure"` - - // A base64-encoded RSA private key. - PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"` - - // A base64-encoded public key of the ssh-rsa type. - PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"` + Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s CreateKeyPairOutput) String() string { +func (s DeleteAutoSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateKeyPairOutput) GoString() string { +func (s DeleteAutoSnapshotOutput) GoString() string { return s.String() } -// SetKeyPair sets the KeyPair field's value. -func (s *CreateKeyPairOutput) SetKeyPair(v *KeyPair) *CreateKeyPairOutput { - s.KeyPair = v - return s -} - -// SetOperation sets the Operation field's value. -func (s *CreateKeyPairOutput) SetOperation(v *Operation) *CreateKeyPairOutput { - s.Operation = v - return s -} - -// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value. -func (s *CreateKeyPairOutput) SetPrivateKeyBase64(v string) *CreateKeyPairOutput { - s.PrivateKeyBase64 = &v - return s -} - -// SetPublicKeyBase64 sets the PublicKeyBase64 field's value. -func (s *CreateKeyPairOutput) SetPublicKeyBase64(v string) *CreateKeyPairOutput { - s.PublicKeyBase64 = &v +// SetOperations sets the Operations field's value. +func (s *DeleteAutoSnapshotOutput) SetOperations(v []*Operation) *DeleteAutoSnapshotOutput { + s.Operations = v return s } -type CreateLoadBalancerInput struct { +type DeleteCertificateInput struct { _ struct{} `type:"structure"` - // The optional alternative domains and subdomains to use with your SSL/TLS - // certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com). - CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"` - - // The domain name with which your certificate is associated (e.g., example.com). - // - // If you specify certificateDomainName, then certificateName is required (and - // vice-versa). - CertificateDomainName *string `locationName:"certificateDomainName" type:"string"` - - // The name of the SSL/TLS certificate. - // - // If you specify certificateName, then certificateDomainName is required (and - // vice-versa). - CertificateName *string `locationName:"certificateName" type:"string"` - - // The path you provided to perform the load balancer health check. If you didn't - // specify a health check path, Lightsail uses the root path of your website - // (e.g., "/"). - // - // You may want to specify a custom health check path other than the root of - // your application if your home page loads slowly or has a lot of media or - // scripting on it. - HealthCheckPath *string `locationName:"healthCheckPath" type:"string"` - - // The instance port where you're creating your load balancer. - // - // InstancePort is a required field - InstancePort *int64 `locationName:"instancePort" type:"integer" required:"true"` - - // The name of your load balancer. + // The name of the certificate to delete. // - // LoadBalancerName is a required field - LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` - - // The tag keys and optional values to add to the resource during create. + // Use the GetCertificates action to get a list of certificate names that you + // can specify. // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` + // CertificateName is a required field + CertificateName *string `locationName:"certificateName" type:"string" required:"true"` } // String returns the string representation -func (s CreateLoadBalancerInput) String() string { +func (s DeleteCertificateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateLoadBalancerInput) GoString() string { +func (s DeleteCertificateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLoadBalancerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerInput"} - if s.InstancePort == nil { - invalidParams.Add(request.NewErrParamRequired("InstancePort")) - } - if s.LoadBalancerName == nil { - invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) +func (s *DeleteCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCertificateInput"} + if s.CertificateName == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateName")) } if invalidParams.Len() > 0 { @@ -15407,129 +18730,131 @@ func (s *CreateLoadBalancerInput) Validate() error { return nil } -// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value. -func (s *CreateLoadBalancerInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerInput { - s.CertificateAlternativeNames = v +// SetCertificateName sets the CertificateName field's value. +func (s *DeleteCertificateInput) SetCertificateName(v string) *DeleteCertificateInput { + s.CertificateName = &v return s } -// SetCertificateDomainName sets the CertificateDomainName field's value. -func (s *CreateLoadBalancerInput) SetCertificateDomainName(v string) *CreateLoadBalancerInput { - s.CertificateDomainName = &v - return s +type DeleteCertificateOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` } -// SetCertificateName sets the CertificateName field's value. -func (s *CreateLoadBalancerInput) SetCertificateName(v string) *CreateLoadBalancerInput { - s.CertificateName = &v - return s +// String returns the string representation +func (s DeleteCertificateOutput) String() string { + return awsutil.Prettify(s) } -// SetHealthCheckPath sets the HealthCheckPath field's value. -func (s *CreateLoadBalancerInput) SetHealthCheckPath(v string) *CreateLoadBalancerInput { - s.HealthCheckPath = &v - return s +// GoString returns the string representation +func (s DeleteCertificateOutput) GoString() string { + return s.String() } -// SetInstancePort sets the InstancePort field's value. -func (s *CreateLoadBalancerInput) SetInstancePort(v int64) *CreateLoadBalancerInput { - s.InstancePort = &v +// SetOperations sets the Operations field's value. +func (s *DeleteCertificateOutput) SetOperations(v []*Operation) *DeleteCertificateOutput { + s.Operations = v return s } -// SetLoadBalancerName sets the LoadBalancerName field's value. -func (s *CreateLoadBalancerInput) SetLoadBalancerName(v string) *CreateLoadBalancerInput { - s.LoadBalancerName = &v - return s +type DeleteContactMethodInput struct { + _ struct{} `type:"structure"` + + // The protocol that will be deleted, such as Email or SMS (text messaging). + // + // To delete an Email and an SMS contact method if you added both, you must + // run separate DeleteContactMethod actions to delete each protocol. + // + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"` +} + +// String returns the string representation +func (s DeleteContactMethodInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteContactMethodInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteContactMethodInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteContactMethodInput"} + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTags sets the Tags field's value. -func (s *CreateLoadBalancerInput) SetTags(v []*Tag) *CreateLoadBalancerInput { - s.Tags = v +// SetProtocol sets the Protocol field's value. +func (s *DeleteContactMethodInput) SetProtocol(v string) *DeleteContactMethodInput { + s.Protocol = &v return s } -type CreateLoadBalancerOutput struct { +type DeleteContactMethodOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s CreateLoadBalancerOutput) String() string { +func (s DeleteContactMethodOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateLoadBalancerOutput) GoString() string { +func (s DeleteContactMethodOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateLoadBalancerOutput) SetOperations(v []*Operation) *CreateLoadBalancerOutput { +func (s *DeleteContactMethodOutput) SetOperations(v []*Operation) *DeleteContactMethodOutput { s.Operations = v return s } -type CreateLoadBalancerTlsCertificateInput struct { +type DeleteDiskInput struct { _ struct{} `type:"structure"` - // An array of strings listing alternative domains and subdomains for your SSL/TLS - // certificate. Lightsail will de-dupe the names for you. You can have a maximum - // of 9 alternative names (in addition to the 1 primary domain). We do not support - // wildcards (e.g., *.example.com). - CertificateAlternativeNames []*string `locationName:"certificateAlternativeNames" type:"list"` - - // The domain name (e.g., example.com) for your SSL/TLS certificate. - // - // CertificateDomainName is a required field - CertificateDomainName *string `locationName:"certificateDomainName" type:"string" required:"true"` - - // The SSL/TLS certificate name. - // - // You can have up to 10 certificates in your account at one time. Each Lightsail - // load balancer can have up to 2 certificates associated with it at one time. - // There is also an overall limit to the number of certificates that can be - // issue in a 365-day period. For more information, see Limits (http://docs.aws.amazon.com/acm/latest/userguide/acm-limits.html). - // - // CertificateName is a required field - CertificateName *string `locationName:"certificateName" type:"string" required:"true"` - - // The load balancer name where you want to create the SSL/TLS certificate. + // The unique name of the disk you want to delete (e.g., my-disk). // - // LoadBalancerName is a required field - LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` + // DiskName is a required field + DiskName *string `locationName:"diskName" type:"string" required:"true"` - // The tag keys and optional values to add to the resource during create. - // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` + // A Boolean value to indicate whether to delete the enabled add-ons for the + // disk. + ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"` } // String returns the string representation -func (s CreateLoadBalancerTlsCertificateInput) String() string { +func (s DeleteDiskInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateLoadBalancerTlsCertificateInput) GoString() string { +func (s DeleteDiskInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLoadBalancerTlsCertificateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLoadBalancerTlsCertificateInput"} - if s.CertificateDomainName == nil { - invalidParams.Add(request.NewErrParamRequired("CertificateDomainName")) - } - if s.CertificateName == nil { - invalidParams.Add(request.NewErrParamRequired("CertificateName")) - } - if s.LoadBalancerName == nil { - invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) +func (s *DeleteDiskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDiskInput"} + if s.DiskName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskName")) } if invalidParams.Len() > 0 { @@ -15538,149 +18863,67 @@ func (s *CreateLoadBalancerTlsCertificateInput) Validate() error { return nil } -// SetCertificateAlternativeNames sets the CertificateAlternativeNames field's value. -func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateAlternativeNames(v []*string) *CreateLoadBalancerTlsCertificateInput { - s.CertificateAlternativeNames = v - return s -} - -// SetCertificateDomainName sets the CertificateDomainName field's value. -func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateDomainName(v string) *CreateLoadBalancerTlsCertificateInput { - s.CertificateDomainName = &v - return s -} - -// SetCertificateName sets the CertificateName field's value. -func (s *CreateLoadBalancerTlsCertificateInput) SetCertificateName(v string) *CreateLoadBalancerTlsCertificateInput { - s.CertificateName = &v - return s -} - -// SetLoadBalancerName sets the LoadBalancerName field's value. -func (s *CreateLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *CreateLoadBalancerTlsCertificateInput { - s.LoadBalancerName = &v +// SetDiskName sets the DiskName field's value. +func (s *DeleteDiskInput) SetDiskName(v string) *DeleteDiskInput { + s.DiskName = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateLoadBalancerTlsCertificateInput) SetTags(v []*Tag) *CreateLoadBalancerTlsCertificateInput { - s.Tags = v +// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value. +func (s *DeleteDiskInput) SetForceDeleteAddOns(v bool) *DeleteDiskInput { + s.ForceDeleteAddOns = &v return s } -type CreateLoadBalancerTlsCertificateOutput struct { +type DeleteDiskOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s CreateLoadBalancerTlsCertificateOutput) String() string { +func (s DeleteDiskOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateLoadBalancerTlsCertificateOutput) GoString() string { +func (s DeleteDiskOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *CreateLoadBalancerTlsCertificateOutput { +func (s *DeleteDiskOutput) SetOperations(v []*Operation) *DeleteDiskOutput { s.Operations = v return s } -type CreateRelationalDatabaseFromSnapshotInput struct { +type DeleteDiskSnapshotInput struct { _ struct{} `type:"structure"` - // The Availability Zone in which to create your new database. Use the us-east-2a - // case-sensitive format. - // - // You can get a list of Availability Zones by using the get regions operation. - // Be sure to add the include relational database Availability Zones parameter - // to your request. - AvailabilityZone *string `locationName:"availabilityZone" type:"string"` - - // Specifies the accessibility options for your new database. A value of true - // specifies a database that is available to resources outside of your Lightsail - // account. A value of false specifies a database that is available only to - // your Lightsail resources in the same region as your database. - PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"` - - // The bundle ID for your new database. A bundle describes the performance specifications - // for your database. - // - // You can get a list of database bundle IDs by using the get relational database - // bundles operation. - // - // When creating a new database from a snapshot, you cannot choose a bundle - // that is smaller than the bundle of the source database. - RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string"` - - // The name to use for your new database. - // - // Constraints: - // - // * Must contain from 2 to 255 alphanumeric characters, or hyphens. - // - // * The first and last character must be a letter or number. - // - // RelationalDatabaseName is a required field - RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` - - // The name of the database snapshot from which to create your new database. - RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string"` - - // The date and time to restore your database from. - // - // Constraints: - // - // * Must be before the latest restorable time for the database. - // - // * Cannot be specified if the use latest restorable time parameter is true. - // - // * Specified in Coordinated Universal Time (UTC). - // - // * Specified in the Unix time format. For example, if you wish to use a - // restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000 - // as the restore time. - RestoreTime *time.Time `locationName:"restoreTime" type:"timestamp"` - - // The name of the source database. - SourceRelationalDatabaseName *string `locationName:"sourceRelationalDatabaseName" type:"string"` - - // The tag keys and optional values to add to the resource during create. - // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` - - // Specifies whether your database is restored from the latest backup time. - // A value of true restores from the latest backup time. - // - // Default: false + // The name of the disk snapshot you want to delete (e.g., my-disk-snapshot). // - // Constraints: Cannot be specified if the restore time parameter is provided. - UseLatestRestorableTime *bool `locationName:"useLatestRestorableTime" type:"boolean"` + // DiskSnapshotName is a required field + DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"` } // String returns the string representation -func (s CreateRelationalDatabaseFromSnapshotInput) String() string { +func (s DeleteDiskSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateRelationalDatabaseFromSnapshotInput) GoString() string { +func (s DeleteDiskSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateRelationalDatabaseFromSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseFromSnapshotInput"} - if s.RelationalDatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) +func (s *DeleteDiskSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDiskSnapshotInput"} + if s.DiskSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName")) } if invalidParams.Len() > 0 { @@ -15689,238 +18932,120 @@ func (s *CreateRelationalDatabaseFromSnapshotInput) Validate() error { return nil } -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseFromSnapshotInput { - s.AvailabilityZone = &v - return s -} - -// SetPubliclyAccessible sets the PubliclyAccessible field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseFromSnapshotInput { - s.PubliclyAccessible = &v - return s -} - -// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseFromSnapshotInput { - s.RelationalDatabaseBundleId = &v - return s -} - -// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput { - s.RelationalDatabaseName = &v +// SetDiskSnapshotName sets the DiskSnapshotName field's value. +func (s *DeleteDiskSnapshotInput) SetDiskSnapshotName(v string) *DeleteDiskSnapshotInput { + s.DiskSnapshotName = &v return s } -// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseFromSnapshotInput { - s.RelationalDatabaseSnapshotName = &v - return s -} +type DeleteDiskSnapshotOutput struct { + _ struct{} `type:"structure"` -// SetRestoreTime sets the RestoreTime field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetRestoreTime(v time.Time) *CreateRelationalDatabaseFromSnapshotInput { - s.RestoreTime = &v - return s + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` } -// SetSourceRelationalDatabaseName sets the SourceRelationalDatabaseName field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetSourceRelationalDatabaseName(v string) *CreateRelationalDatabaseFromSnapshotInput { - s.SourceRelationalDatabaseName = &v - return s +// String returns the string representation +func (s DeleteDiskSnapshotOutput) String() string { + return awsutil.Prettify(s) } -// SetTags sets the Tags field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseFromSnapshotInput { - s.Tags = v - return s +// GoString returns the string representation +func (s DeleteDiskSnapshotOutput) GoString() string { + return s.String() } -// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value. -func (s *CreateRelationalDatabaseFromSnapshotInput) SetUseLatestRestorableTime(v bool) *CreateRelationalDatabaseFromSnapshotInput { - s.UseLatestRestorableTime = &v +// SetOperations sets the Operations field's value. +func (s *DeleteDiskSnapshotOutput) SetOperations(v []*Operation) *DeleteDiskSnapshotOutput { + s.Operations = v return s } -type CreateRelationalDatabaseFromSnapshotOutput struct { +type DeleteDistributionInput struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + // The name of the distribution to delete. + // + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + DistributionName *string `locationName:"distributionName" type:"string"` } // String returns the string representation -func (s CreateRelationalDatabaseFromSnapshotOutput) String() string { +func (s DeleteDistributionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateRelationalDatabaseFromSnapshotOutput) GoString() string { +func (s DeleteDistributionInput) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *CreateRelationalDatabaseFromSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseFromSnapshotOutput { - s.Operations = v +// SetDistributionName sets the DistributionName field's value. +func (s *DeleteDistributionInput) SetDistributionName(v string) *DeleteDistributionInput { + s.DistributionName = &v return s } -type CreateRelationalDatabaseInput struct { +type DeleteDistributionOutput struct { _ struct{} `type:"structure"` - // The Availability Zone in which to create your new database. Use the us-east-2a - // case-sensitive format. - // - // You can get a list of Availability Zones by using the get regions operation. - // Be sure to add the include relational database Availability Zones parameter - // to your request. - AvailabilityZone *string `locationName:"availabilityZone" type:"string"` - - // The name of the master database created when the Lightsail database resource - // is created. - // - // Constraints: - // - // * Must contain from 1 to 64 alphanumeric characters. - // - // * Cannot be a word reserved by the specified database engine - // - // MasterDatabaseName is a required field - MasterDatabaseName *string `locationName:"masterDatabaseName" type:"string" required:"true"` - - // The password for the master user of your new database. The password can include - // any printable ASCII character except "/", """, or "@". - // - // Constraints: Must contain 8 to 41 characters. - MasterUserPassword *string `locationName:"masterUserPassword" type:"string" sensitive:"true"` - - // The master user name for your new database. - // - // Constraints: - // - // * Master user name is required. - // - // * Must contain from 1 to 16 alphanumeric characters. - // - // * The first character must be a letter. - // - // * Cannot be a reserved word for the database engine you choose. For more - // information about reserved words in MySQL 5.6 or 5.7, see the Keywords - // and Reserved Words articles for MySQL 5.6 (https://dev.mysql.com/doc/refman/5.6/en/keywords.html) - // or MySQL 5.7 (https://dev.mysql.com/doc/refman/5.7/en/keywords.html) respectively. - // - // MasterUsername is a required field - MasterUsername *string `locationName:"masterUsername" type:"string" required:"true"` - - // The daily time range during which automated backups are created for your - // new database if automated backups are enabled. - // - // The default is a 30-minute window selected at random from an 8-hour block - // of time for each AWS Region. For more information about the preferred backup - // window time blocks for each region, see the Working With Backups (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow) - // guide in the Amazon Relational Database Service (Amazon RDS) documentation. - // - // Constraints: - // - // * Must be in the hh24:mi-hh24:mi format. Example: 16:00-16:30 - // - // * Specified in Coordinated Universal Time (UTC). - // - // * Must not conflict with the preferred maintenance window. - // - // * Must be at least 30 minutes. - PreferredBackupWindow *string `locationName:"preferredBackupWindow" type:"string"` + // An object that describes the result of the action, such as the status of + // the request, the timestamp of the request, and the resources affected by + // the request. + Operation *Operation `locationName:"operation" type:"structure"` +} - // The weekly time range during which system maintenance can occur on your new - // database. - // - // The default is a 30-minute window selected at random from an 8-hour block - // of time for each AWS Region, occurring on a random day of the week. - // - // Constraints: - // - // * Must be in the ddd:hh24:mi-ddd:hh24:mi format. - // - // * Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun. - // - // * Must be at least 30 minutes. - // - // * Specified in Coordinated Universal Time (UTC). - // - // * Example: Tue:17:00-Tue:17:30 - PreferredMaintenanceWindow *string `locationName:"preferredMaintenanceWindow" type:"string"` +// String returns the string representation +func (s DeleteDistributionOutput) String() string { + return awsutil.Prettify(s) +} - // Specifies the accessibility options for your new database. A value of true - // specifies a database that is available to resources outside of your Lightsail - // account. A value of false specifies a database that is available only to - // your Lightsail resources in the same region as your database. - PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"` +// GoString returns the string representation +func (s DeleteDistributionOutput) GoString() string { + return s.String() +} - // The blueprint ID for your new database. A blueprint describes the major engine - // version of a database. - // - // You can get a list of database blueprints IDs by using the get relational - // database blueprints operation. - // - // RelationalDatabaseBlueprintId is a required field - RelationalDatabaseBlueprintId *string `locationName:"relationalDatabaseBlueprintId" type:"string" required:"true"` +// SetOperation sets the Operation field's value. +func (s *DeleteDistributionOutput) SetOperation(v *Operation) *DeleteDistributionOutput { + s.Operation = v + return s +} - // The bundle ID for your new database. A bundle describes the performance specifications - // for your database. - // - // You can get a list of database bundle IDs by using the get relational database - // bundles operation. - // - // RelationalDatabaseBundleId is a required field - RelationalDatabaseBundleId *string `locationName:"relationalDatabaseBundleId" type:"string" required:"true"` +type DeleteDomainEntryInput struct { + _ struct{} `type:"structure"` - // The name to use for your new database. - // - // Constraints: - // - // * Must contain from 2 to 255 alphanumeric characters, or hyphens. - // - // * The first and last character must be a letter or number. + // An array of key-value pairs containing information about your domain entries. // - // RelationalDatabaseName is a required field - RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` + // DomainEntry is a required field + DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"` - // The tag keys and optional values to add to the resource during create. + // The name of the domain entry to delete. // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` + // DomainName is a required field + DomainName *string `locationName:"domainName" type:"string" required:"true"` } // String returns the string representation -func (s CreateRelationalDatabaseInput) String() string { +func (s DeleteDomainEntryInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateRelationalDatabaseInput) GoString() string { +func (s DeleteDomainEntryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateRelationalDatabaseInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseInput"} - if s.MasterDatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("MasterDatabaseName")) - } - if s.MasterUsername == nil { - invalidParams.Add(request.NewErrParamRequired("MasterUsername")) - } - if s.RelationalDatabaseBlueprintId == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBlueprintId")) - } - if s.RelationalDatabaseBundleId == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseBundleId")) +func (s *DeleteDomainEntryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDomainEntryInput"} + if s.DomainEntry == nil { + invalidParams.Add(request.NewErrParamRequired("DomainEntry")) } - if s.RelationalDatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) } if invalidParams.Len() > 0 { @@ -15929,140 +19054,134 @@ func (s *CreateRelationalDatabaseInput) Validate() error { return nil } -// SetAvailabilityZone sets the AvailabilityZone field's value. -func (s *CreateRelationalDatabaseInput) SetAvailabilityZone(v string) *CreateRelationalDatabaseInput { - s.AvailabilityZone = &v +// SetDomainEntry sets the DomainEntry field's value. +func (s *DeleteDomainEntryInput) SetDomainEntry(v *DomainEntry) *DeleteDomainEntryInput { + s.DomainEntry = v return s } -// SetMasterDatabaseName sets the MasterDatabaseName field's value. -func (s *CreateRelationalDatabaseInput) SetMasterDatabaseName(v string) *CreateRelationalDatabaseInput { - s.MasterDatabaseName = &v +// SetDomainName sets the DomainName field's value. +func (s *DeleteDomainEntryInput) SetDomainName(v string) *DeleteDomainEntryInput { + s.DomainName = &v return s } -// SetMasterUserPassword sets the MasterUserPassword field's value. -func (s *CreateRelationalDatabaseInput) SetMasterUserPassword(v string) *CreateRelationalDatabaseInput { - s.MasterUserPassword = &v - return s +type DeleteDomainEntryOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operation *Operation `locationName:"operation" type:"structure"` } -// SetMasterUsername sets the MasterUsername field's value. -func (s *CreateRelationalDatabaseInput) SetMasterUsername(v string) *CreateRelationalDatabaseInput { - s.MasterUsername = &v - return s +// String returns the string representation +func (s DeleteDomainEntryOutput) String() string { + return awsutil.Prettify(s) } -// SetPreferredBackupWindow sets the PreferredBackupWindow field's value. -func (s *CreateRelationalDatabaseInput) SetPreferredBackupWindow(v string) *CreateRelationalDatabaseInput { - s.PreferredBackupWindow = &v - return s +// GoString returns the string representation +func (s DeleteDomainEntryOutput) GoString() string { + return s.String() } -// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. -func (s *CreateRelationalDatabaseInput) SetPreferredMaintenanceWindow(v string) *CreateRelationalDatabaseInput { - s.PreferredMaintenanceWindow = &v +// SetOperation sets the Operation field's value. +func (s *DeleteDomainEntryOutput) SetOperation(v *Operation) *DeleteDomainEntryOutput { + s.Operation = v return s } -// SetPubliclyAccessible sets the PubliclyAccessible field's value. -func (s *CreateRelationalDatabaseInput) SetPubliclyAccessible(v bool) *CreateRelationalDatabaseInput { - s.PubliclyAccessible = &v - return s +type DeleteDomainInput struct { + _ struct{} `type:"structure"` + + // The specific domain name to delete. + // + // DomainName is a required field + DomainName *string `locationName:"domainName" type:"string" required:"true"` } -// SetRelationalDatabaseBlueprintId sets the RelationalDatabaseBlueprintId field's value. -func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBlueprintId(v string) *CreateRelationalDatabaseInput { - s.RelationalDatabaseBlueprintId = &v - return s +// String returns the string representation +func (s DeleteDomainInput) String() string { + return awsutil.Prettify(s) } -// SetRelationalDatabaseBundleId sets the RelationalDatabaseBundleId field's value. -func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseBundleId(v string) *CreateRelationalDatabaseInput { - s.RelationalDatabaseBundleId = &v - return s +// GoString returns the string representation +func (s DeleteDomainInput) GoString() string { + return s.String() } -// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. -func (s *CreateRelationalDatabaseInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseInput { - s.RelationalDatabaseName = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDomainInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTags sets the Tags field's value. -func (s *CreateRelationalDatabaseInput) SetTags(v []*Tag) *CreateRelationalDatabaseInput { - s.Tags = v +// SetDomainName sets the DomainName field's value. +func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput { + s.DomainName = &v return s } -type CreateRelationalDatabaseOutput struct { +type DeleteDomainOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + Operation *Operation `locationName:"operation" type:"structure"` } // String returns the string representation -func (s CreateRelationalDatabaseOutput) String() string { +func (s DeleteDomainOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateRelationalDatabaseOutput) GoString() string { +func (s DeleteDomainOutput) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *CreateRelationalDatabaseOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseOutput { - s.Operations = v +// SetOperation sets the Operation field's value. +func (s *DeleteDomainOutput) SetOperation(v *Operation) *DeleteDomainOutput { + s.Operation = v return s } -type CreateRelationalDatabaseSnapshotInput struct { +type DeleteInstanceInput struct { _ struct{} `type:"structure"` - // The name of the database on which to base your new snapshot. - // - // RelationalDatabaseName is a required field - RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` - - // The name for your new database snapshot. - // - // Constraints: - // - // * Must contain from 2 to 255 alphanumeric characters, or hyphens. - // - // * The first and last character must be a letter or number. - // - // RelationalDatabaseSnapshotName is a required field - RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"` + // A Boolean value to indicate whether to delete the enabled add-ons for the + // disk. + ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"` - // The tag keys and optional values to add to the resource during create. + // The name of the instance to delete. // - // To tag a resource after it has been created, see the tag resource operation. - Tags []*Tag `locationName:"tags" type:"list"` + // InstanceName is a required field + InstanceName *string `locationName:"instanceName" type:"string" required:"true"` } // String returns the string representation -func (s CreateRelationalDatabaseSnapshotInput) String() string { +func (s DeleteInstanceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateRelationalDatabaseSnapshotInput) GoString() string { +func (s DeleteInstanceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateRelationalDatabaseSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateRelationalDatabaseSnapshotInput"} - if s.RelationalDatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) - } - if s.RelationalDatabaseSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName")) +func (s *DeleteInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"} + if s.InstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceName")) } if invalidParams.Len() > 0 { @@ -16071,73 +19190,67 @@ func (s *CreateRelationalDatabaseSnapshotInput) Validate() error { return nil } -// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. -func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseName(v string) *CreateRelationalDatabaseSnapshotInput { - s.RelationalDatabaseName = &v - return s -} - -// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value. -func (s *CreateRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *CreateRelationalDatabaseSnapshotInput { - s.RelationalDatabaseSnapshotName = &v +// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value. +func (s *DeleteInstanceInput) SetForceDeleteAddOns(v bool) *DeleteInstanceInput { + s.ForceDeleteAddOns = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateRelationalDatabaseSnapshotInput) SetTags(v []*Tag) *CreateRelationalDatabaseSnapshotInput { - s.Tags = v +// SetInstanceName sets the InstanceName field's value. +func (s *DeleteInstanceInput) SetInstanceName(v string) *DeleteInstanceInput { + s.InstanceName = &v return s } -type CreateRelationalDatabaseSnapshotOutput struct { +type DeleteInstanceOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s CreateRelationalDatabaseSnapshotOutput) String() string { +func (s DeleteInstanceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateRelationalDatabaseSnapshotOutput) GoString() string { +func (s DeleteInstanceOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *CreateRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *CreateRelationalDatabaseSnapshotOutput { +func (s *DeleteInstanceOutput) SetOperations(v []*Operation) *DeleteInstanceOutput { s.Operations = v return s } -type DeleteAlarmInput struct { +type DeleteInstanceSnapshotInput struct { _ struct{} `type:"structure"` - // The name of the alarm to delete. + // The name of the snapshot to delete. // - // AlarmName is a required field - AlarmName *string `locationName:"alarmName" type:"string" required:"true"` + // InstanceSnapshotName is a required field + InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteAlarmInput) String() string { +func (s DeleteInstanceSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAlarmInput) GoString() string { +func (s DeleteInstanceSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAlarmInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmInput"} - if s.AlarmName == nil { - invalidParams.Add(request.NewErrParamRequired("AlarmName")) +func (s *DeleteInstanceSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceSnapshotInput"} + if s.InstanceSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName")) } if invalidParams.Len() > 0 { @@ -16146,72 +19259,61 @@ func (s *DeleteAlarmInput) Validate() error { return nil } -// SetAlarmName sets the AlarmName field's value. -func (s *DeleteAlarmInput) SetAlarmName(v string) *DeleteAlarmInput { - s.AlarmName = &v +// SetInstanceSnapshotName sets the InstanceSnapshotName field's value. +func (s *DeleteInstanceSnapshotInput) SetInstanceSnapshotName(v string) *DeleteInstanceSnapshotInput { + s.InstanceSnapshotName = &v return s } -type DeleteAlarmOutput struct { +type DeleteInstanceSnapshotOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s DeleteAlarmOutput) String() string { +func (s DeleteInstanceSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAlarmOutput) GoString() string { +func (s DeleteInstanceSnapshotOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *DeleteAlarmOutput) SetOperations(v []*Operation) *DeleteAlarmOutput { +func (s *DeleteInstanceSnapshotOutput) SetOperations(v []*Operation) *DeleteInstanceSnapshotOutput { s.Operations = v return s } -type DeleteAutoSnapshotInput struct { +type DeleteKeyPairInput struct { _ struct{} `type:"structure"` - // The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the - // get auto snapshots operation to get the available automatic snapshots for - // a resource. - // - // Date is a required field - Date *string `locationName:"date" type:"string" required:"true"` - - // The name of the source instance or disk from which to delete the automatic - // snapshot. + // The name of the key pair to delete. // - // ResourceName is a required field - ResourceName *string `locationName:"resourceName" type:"string" required:"true"` + // KeyPairName is a required field + KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteAutoSnapshotInput) String() string { +func (s DeleteKeyPairInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAutoSnapshotInput) GoString() string { +func (s DeleteKeyPairInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAutoSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAutoSnapshotInput"} - if s.Date == nil { - invalidParams.Add(request.NewErrParamRequired("Date")) - } - if s.ResourceName == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceName")) +func (s *DeleteKeyPairInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"} + if s.KeyPairName == nil { + invalidParams.Add(request.NewErrParamRequired("KeyPairName")) } if invalidParams.Len() > 0 { @@ -16220,70 +19322,61 @@ func (s *DeleteAutoSnapshotInput) Validate() error { return nil } -// SetDate sets the Date field's value. -func (s *DeleteAutoSnapshotInput) SetDate(v string) *DeleteAutoSnapshotInput { - s.Date = &v - return s -} - -// SetResourceName sets the ResourceName field's value. -func (s *DeleteAutoSnapshotInput) SetResourceName(v string) *DeleteAutoSnapshotInput { - s.ResourceName = &v +// SetKeyPairName sets the KeyPairName field's value. +func (s *DeleteKeyPairInput) SetKeyPairName(v string) *DeleteKeyPairInput { + s.KeyPairName = &v return s } -type DeleteAutoSnapshotOutput struct { +type DeleteKeyPairOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + Operation *Operation `locationName:"operation" type:"structure"` } // String returns the string representation -func (s DeleteAutoSnapshotOutput) String() string { +func (s DeleteKeyPairOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAutoSnapshotOutput) GoString() string { +func (s DeleteKeyPairOutput) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *DeleteAutoSnapshotOutput) SetOperations(v []*Operation) *DeleteAutoSnapshotOutput { - s.Operations = v +// SetOperation sets the Operation field's value. +func (s *DeleteKeyPairOutput) SetOperation(v *Operation) *DeleteKeyPairOutput { + s.Operation = v return s } -type DeleteContactMethodInput struct { +type DeleteKnownHostKeysInput struct { _ struct{} `type:"structure"` - // The protocol that will be deleted, such as Email or SMS (text messaging). - // - // To delete an Email and an SMS contact method if you added both, you must - // run separate DeleteContactMethod actions to delete each protocol. + // The name of the instance for which you want to reset the host key or certificate. // - // Protocol is a required field - Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"ContactProtocol"` + // InstanceName is a required field + InstanceName *string `locationName:"instanceName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteContactMethodInput) String() string { +func (s DeleteKnownHostKeysInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteContactMethodInput) GoString() string { +func (s DeleteKnownHostKeysInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteContactMethodInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteContactMethodInput"} - if s.Protocol == nil { - invalidParams.Add(request.NewErrParamRequired("Protocol")) +func (s *DeleteKnownHostKeysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteKnownHostKeysInput"} + if s.InstanceName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceName")) } if invalidParams.Len() > 0 { @@ -16292,65 +19385,61 @@ func (s *DeleteContactMethodInput) Validate() error { return nil } -// SetProtocol sets the Protocol field's value. -func (s *DeleteContactMethodInput) SetProtocol(v string) *DeleteContactMethodInput { - s.Protocol = &v +// SetInstanceName sets the InstanceName field's value. +func (s *DeleteKnownHostKeysInput) SetInstanceName(v string) *DeleteKnownHostKeysInput { + s.InstanceName = &v return s } -type DeleteContactMethodOutput struct { +type DeleteKnownHostKeysOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s DeleteContactMethodOutput) String() string { +func (s DeleteKnownHostKeysOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteContactMethodOutput) GoString() string { +func (s DeleteKnownHostKeysOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *DeleteContactMethodOutput) SetOperations(v []*Operation) *DeleteContactMethodOutput { +func (s *DeleteKnownHostKeysOutput) SetOperations(v []*Operation) *DeleteKnownHostKeysOutput { s.Operations = v return s } -type DeleteDiskInput struct { +type DeleteLoadBalancerInput struct { _ struct{} `type:"structure"` - // The unique name of the disk you want to delete (e.g., my-disk). + // The name of the load balancer you want to delete. // - // DiskName is a required field - DiskName *string `locationName:"diskName" type:"string" required:"true"` - - // A Boolean value to indicate whether to delete the enabled add-ons for the - // disk. - ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"` + // LoadBalancerName is a required field + LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteDiskInput) String() string { +func (s DeleteLoadBalancerInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDiskInput) GoString() string { +func (s DeleteLoadBalancerInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDiskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDiskInput"} - if s.DiskName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskName")) +func (s *DeleteLoadBalancerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"} + if s.LoadBalancerName == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) } if invalidParams.Len() > 0 { @@ -16359,67 +19448,76 @@ func (s *DeleteDiskInput) Validate() error { return nil } -// SetDiskName sets the DiskName field's value. -func (s *DeleteDiskInput) SetDiskName(v string) *DeleteDiskInput { - s.DiskName = &v - return s -} - -// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value. -func (s *DeleteDiskInput) SetForceDeleteAddOns(v bool) *DeleteDiskInput { - s.ForceDeleteAddOns = &v +// SetLoadBalancerName sets the LoadBalancerName field's value. +func (s *DeleteLoadBalancerInput) SetLoadBalancerName(v string) *DeleteLoadBalancerInput { + s.LoadBalancerName = &v return s } -type DeleteDiskOutput struct { +type DeleteLoadBalancerOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s DeleteDiskOutput) String() string { +func (s DeleteLoadBalancerOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDiskOutput) GoString() string { +func (s DeleteLoadBalancerOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *DeleteDiskOutput) SetOperations(v []*Operation) *DeleteDiskOutput { +func (s *DeleteLoadBalancerOutput) SetOperations(v []*Operation) *DeleteLoadBalancerOutput { s.Operations = v return s } -type DeleteDiskSnapshotInput struct { +type DeleteLoadBalancerTlsCertificateInput struct { _ struct{} `type:"structure"` - // The name of the disk snapshot you want to delete (e.g., my-disk-snapshot). + // The SSL/TLS certificate name. + // + // CertificateName is a required field + CertificateName *string `locationName:"certificateName" type:"string" required:"true"` + + // When true, forces the deletion of an SSL/TLS certificate. + // + // There can be two certificates associated with a Lightsail load balancer: + // the primary and the backup. The force parameter is required when the primary + // SSL/TLS certificate is in use by an instance attached to the load balancer. + Force *bool `locationName:"force" type:"boolean"` + + // The load balancer name. // - // DiskSnapshotName is a required field - DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"` + // LoadBalancerName is a required field + LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteDiskSnapshotInput) String() string { +func (s DeleteLoadBalancerTlsCertificateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDiskSnapshotInput) GoString() string { +func (s DeleteLoadBalancerTlsCertificateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDiskSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDiskSnapshotInput"} - if s.DiskSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName")) +func (s *DeleteLoadBalancerTlsCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerTlsCertificateInput"} + if s.CertificateName == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateName")) + } + if s.LoadBalancerName == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) } if invalidParams.Len() > 0 { @@ -16428,69 +19526,96 @@ func (s *DeleteDiskSnapshotInput) Validate() error { return nil } -// SetDiskSnapshotName sets the DiskSnapshotName field's value. -func (s *DeleteDiskSnapshotInput) SetDiskSnapshotName(v string) *DeleteDiskSnapshotInput { - s.DiskSnapshotName = &v +// SetCertificateName sets the CertificateName field's value. +func (s *DeleteLoadBalancerTlsCertificateInput) SetCertificateName(v string) *DeleteLoadBalancerTlsCertificateInput { + s.CertificateName = &v return s } -type DeleteDiskSnapshotOutput struct { +// SetForce sets the Force field's value. +func (s *DeleteLoadBalancerTlsCertificateInput) SetForce(v bool) *DeleteLoadBalancerTlsCertificateInput { + s.Force = &v + return s +} + +// SetLoadBalancerName sets the LoadBalancerName field's value. +func (s *DeleteLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *DeleteLoadBalancerTlsCertificateInput { + s.LoadBalancerName = &v + return s +} + +type DeleteLoadBalancerTlsCertificateOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s DeleteDiskSnapshotOutput) String() string { +func (s DeleteLoadBalancerTlsCertificateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDiskSnapshotOutput) GoString() string { +func (s DeleteLoadBalancerTlsCertificateOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *DeleteDiskSnapshotOutput) SetOperations(v []*Operation) *DeleteDiskSnapshotOutput { +func (s *DeleteLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *DeleteLoadBalancerTlsCertificateOutput { s.Operations = v return s } -type DeleteDomainEntryInput struct { +type DeleteRelationalDatabaseInput struct { _ struct{} `type:"structure"` - // An array of key-value pairs containing information about your domain entries. + // The name of the database snapshot created if skip final snapshot is false, + // which is the default value for that parameter. // - // DomainEntry is a required field - DomainEntry *DomainEntry `locationName:"domainEntry" type:"structure" required:"true"` + // Specifying this parameter and also specifying the skip final snapshot parameter + // to true results in an error. + // + // Constraints: + // + // * Must contain from 2 to 255 alphanumeric characters, or hyphens. + // + // * The first and last character must be a letter or number. + FinalRelationalDatabaseSnapshotName *string `locationName:"finalRelationalDatabaseSnapshotName" type:"string"` - // The name of the domain entry to delete. + // The name of the database that you are deleting. // - // DomainName is a required field - DomainName *string `locationName:"domainName" type:"string" required:"true"` + // RelationalDatabaseName is a required field + RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` + + // Determines whether a final database snapshot is created before your database + // is deleted. If true is specified, no database snapshot is created. If false + // is specified, a database snapshot is created before your database is deleted. + // + // You must specify the final relational database snapshot name parameter if + // the skip final snapshot parameter is false. + // + // Default: false + SkipFinalSnapshot *bool `locationName:"skipFinalSnapshot" type:"boolean"` } // String returns the string representation -func (s DeleteDomainEntryInput) String() string { +func (s DeleteRelationalDatabaseInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDomainEntryInput) GoString() string { +func (s DeleteRelationalDatabaseInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDomainEntryInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDomainEntryInput"} - if s.DomainEntry == nil { - invalidParams.Add(request.NewErrParamRequired("DomainEntry")) - } - if s.DomainName == nil { - invalidParams.Add(request.NewErrParamRequired("DomainName")) +func (s *DeleteRelationalDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseInput"} + if s.RelationalDatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) } if invalidParams.Len() > 0 { @@ -16499,67 +19624,73 @@ func (s *DeleteDomainEntryInput) Validate() error { return nil } -// SetDomainEntry sets the DomainEntry field's value. -func (s *DeleteDomainEntryInput) SetDomainEntry(v *DomainEntry) *DeleteDomainEntryInput { - s.DomainEntry = v +// SetFinalRelationalDatabaseSnapshotName sets the FinalRelationalDatabaseSnapshotName field's value. +func (s *DeleteRelationalDatabaseInput) SetFinalRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseInput { + s.FinalRelationalDatabaseSnapshotName = &v return s } -// SetDomainName sets the DomainName field's value. -func (s *DeleteDomainEntryInput) SetDomainName(v string) *DeleteDomainEntryInput { - s.DomainName = &v +// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. +func (s *DeleteRelationalDatabaseInput) SetRelationalDatabaseName(v string) *DeleteRelationalDatabaseInput { + s.RelationalDatabaseName = &v return s } -type DeleteDomainEntryOutput struct { +// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value. +func (s *DeleteRelationalDatabaseInput) SetSkipFinalSnapshot(v bool) *DeleteRelationalDatabaseInput { + s.SkipFinalSnapshot = &v + return s +} + +type DeleteRelationalDatabaseOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. - Operation *Operation `locationName:"operation" type:"structure"` + Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s DeleteDomainEntryOutput) String() string { +func (s DeleteRelationalDatabaseOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDomainEntryOutput) GoString() string { +func (s DeleteRelationalDatabaseOutput) GoString() string { return s.String() } -// SetOperation sets the Operation field's value. -func (s *DeleteDomainEntryOutput) SetOperation(v *Operation) *DeleteDomainEntryOutput { - s.Operation = v +// SetOperations sets the Operations field's value. +func (s *DeleteRelationalDatabaseOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseOutput { + s.Operations = v return s } -type DeleteDomainInput struct { +type DeleteRelationalDatabaseSnapshotInput struct { _ struct{} `type:"structure"` - // The specific domain name to delete. + // The name of the database snapshot that you are deleting. // - // DomainName is a required field - DomainName *string `locationName:"domainName" type:"string" required:"true"` + // RelationalDatabaseSnapshotName is a required field + RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteDomainInput) String() string { +func (s DeleteRelationalDatabaseSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDomainInput) GoString() string { +func (s DeleteRelationalDatabaseSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDomainInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDomainInput"} - if s.DomainName == nil { - invalidParams.Add(request.NewErrParamRequired("DomainName")) +func (s *DeleteRelationalDatabaseSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseSnapshotInput"} + if s.RelationalDatabaseSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName")) } if invalidParams.Len() > 0 { @@ -16568,65 +19699,97 @@ func (s *DeleteDomainInput) Validate() error { return nil } -// SetDomainName sets the DomainName field's value. -func (s *DeleteDomainInput) SetDomainName(v string) *DeleteDomainInput { - s.DomainName = &v +// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value. +func (s *DeleteRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseSnapshotInput { + s.RelationalDatabaseSnapshotName = &v return s } -type DeleteDomainOutput struct { +type DeleteRelationalDatabaseSnapshotOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. - Operation *Operation `locationName:"operation" type:"structure"` + Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s DeleteDomainOutput) String() string { +func (s DeleteRelationalDatabaseSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDomainOutput) GoString() string { +func (s DeleteRelationalDatabaseSnapshotOutput) GoString() string { return s.String() } -// SetOperation sets the Operation field's value. -func (s *DeleteDomainOutput) SetOperation(v *Operation) *DeleteDomainOutput { - s.Operation = v +// SetOperations sets the Operations field's value. +func (s *DeleteRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseSnapshotOutput { + s.Operations = v return s } -type DeleteInstanceInput struct { +// Describes the destination of a record. +type DestinationInfo struct { _ struct{} `type:"structure"` - // A Boolean value to indicate whether to delete the enabled add-ons for the - // disk. - ForceDeleteAddOns *bool `locationName:"forceDeleteAddOns" type:"boolean"` + // The ID of the resource created at the destination. + Id *string `locationName:"id" type:"string"` - // The name of the instance to delete. + // The destination service of the record. + Service *string `locationName:"service" type:"string"` +} + +// String returns the string representation +func (s DestinationInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DestinationInfo) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *DestinationInfo) SetId(v string) *DestinationInfo { + s.Id = &v + return s +} + +// SetService sets the Service field's value. +func (s *DestinationInfo) SetService(v string) *DestinationInfo { + s.Service = &v + return s +} + +type DetachCertificateFromDistributionInput struct { + _ struct{} `type:"structure"` + + // The name of the distribution from which to detach the certificate. // - // InstanceName is a required field - InstanceName *string `locationName:"instanceName" type:"string" required:"true"` + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + // + // DistributionName is a required field + DistributionName *string `locationName:"distributionName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteInstanceInput) String() string { +func (s DetachCertificateFromDistributionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteInstanceInput) GoString() string { +func (s DetachCertificateFromDistributionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteInstanceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"} - if s.InstanceName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceName")) +func (s *DetachCertificateFromDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetachCertificateFromDistributionInput"} + if s.DistributionName == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionName")) } if invalidParams.Len() > 0 { @@ -16635,67 +19798,62 @@ func (s *DeleteInstanceInput) Validate() error { return nil } -// SetForceDeleteAddOns sets the ForceDeleteAddOns field's value. -func (s *DeleteInstanceInput) SetForceDeleteAddOns(v bool) *DeleteInstanceInput { - s.ForceDeleteAddOns = &v - return s -} - -// SetInstanceName sets the InstanceName field's value. -func (s *DeleteInstanceInput) SetInstanceName(v string) *DeleteInstanceInput { - s.InstanceName = &v +// SetDistributionName sets the DistributionName field's value. +func (s *DetachCertificateFromDistributionInput) SetDistributionName(v string) *DetachCertificateFromDistributionInput { + s.DistributionName = &v return s } -type DeleteInstanceOutput struct { +type DetachCertificateFromDistributionOutput struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + // An object that describes the result of the action, such as the status of + // the request, the timestamp of the request, and the resources affected by + // the request. + Operation *Operation `locationName:"operation" type:"structure"` } // String returns the string representation -func (s DeleteInstanceOutput) String() string { +func (s DetachCertificateFromDistributionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteInstanceOutput) GoString() string { +func (s DetachCertificateFromDistributionOutput) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *DeleteInstanceOutput) SetOperations(v []*Operation) *DeleteInstanceOutput { - s.Operations = v +// SetOperation sets the Operation field's value. +func (s *DetachCertificateFromDistributionOutput) SetOperation(v *Operation) *DetachCertificateFromDistributionOutput { + s.Operation = v return s } -type DeleteInstanceSnapshotInput struct { +type DetachDiskInput struct { _ struct{} `type:"structure"` - // The name of the snapshot to delete. + // The unique name of the disk you want to detach from your instance (e.g., + // my-disk). // - // InstanceSnapshotName is a required field - InstanceSnapshotName *string `locationName:"instanceSnapshotName" type:"string" required:"true"` + // DiskName is a required field + DiskName *string `locationName:"diskName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteInstanceSnapshotInput) String() string { +func (s DetachDiskInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteInstanceSnapshotInput) GoString() string { +func (s DetachDiskInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteInstanceSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceSnapshotInput"} - if s.InstanceSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceSnapshotName")) +// Validate inspects the fields of the type to determine if they are valid. +func (s *DetachDiskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetachDiskInput"} + if s.DiskName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskName")) } if invalidParams.Len() > 0 { @@ -16704,61 +19862,70 @@ func (s *DeleteInstanceSnapshotInput) Validate() error { return nil } -// SetInstanceSnapshotName sets the InstanceSnapshotName field's value. -func (s *DeleteInstanceSnapshotInput) SetInstanceSnapshotName(v string) *DeleteInstanceSnapshotInput { - s.InstanceSnapshotName = &v +// SetDiskName sets the DiskName field's value. +func (s *DetachDiskInput) SetDiskName(v string) *DetachDiskInput { + s.DiskName = &v return s } -type DeleteInstanceSnapshotOutput struct { +type DetachDiskOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s DeleteInstanceSnapshotOutput) String() string { +func (s DetachDiskOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteInstanceSnapshotOutput) GoString() string { +func (s DetachDiskOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *DeleteInstanceSnapshotOutput) SetOperations(v []*Operation) *DeleteInstanceSnapshotOutput { +func (s *DetachDiskOutput) SetOperations(v []*Operation) *DetachDiskOutput { s.Operations = v return s } -type DeleteKeyPairInput struct { +type DetachInstancesFromLoadBalancerInput struct { _ struct{} `type:"structure"` - // The name of the key pair to delete. + // An array of strings containing the names of the instances you want to detach + // from the load balancer. // - // KeyPairName is a required field - KeyPairName *string `locationName:"keyPairName" type:"string" required:"true"` + // InstanceNames is a required field + InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` + + // The name of the Lightsail load balancer. + // + // LoadBalancerName is a required field + LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteKeyPairInput) String() string { +func (s DetachInstancesFromLoadBalancerInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteKeyPairInput) GoString() string { +func (s DetachInstancesFromLoadBalancerInput) 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.KeyPairName == nil { - invalidParams.Add(request.NewErrParamRequired("KeyPairName")) +func (s *DetachInstancesFromLoadBalancerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetachInstancesFromLoadBalancerInput"} + if s.InstanceNames == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceNames")) + } + if s.LoadBalancerName == nil { + invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) } if invalidParams.Len() > 0 { @@ -16767,61 +19934,67 @@ func (s *DeleteKeyPairInput) Validate() error { return nil } -// SetKeyPairName sets the KeyPairName field's value. -func (s *DeleteKeyPairInput) SetKeyPairName(v string) *DeleteKeyPairInput { - s.KeyPairName = &v +// SetInstanceNames sets the InstanceNames field's value. +func (s *DetachInstancesFromLoadBalancerInput) SetInstanceNames(v []*string) *DetachInstancesFromLoadBalancerInput { + s.InstanceNames = v return s } -type DeleteKeyPairOutput struct { +// SetLoadBalancerName sets the LoadBalancerName field's value. +func (s *DetachInstancesFromLoadBalancerInput) SetLoadBalancerName(v string) *DetachInstancesFromLoadBalancerInput { + s.LoadBalancerName = &v + return s +} + +type DetachInstancesFromLoadBalancerOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. - Operation *Operation `locationName:"operation" type:"structure"` + Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s DeleteKeyPairOutput) String() string { +func (s DetachInstancesFromLoadBalancerOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteKeyPairOutput) GoString() string { +func (s DetachInstancesFromLoadBalancerOutput) GoString() string { return s.String() } -// SetOperation sets the Operation field's value. -func (s *DeleteKeyPairOutput) SetOperation(v *Operation) *DeleteKeyPairOutput { - s.Operation = v +// SetOperations sets the Operations field's value. +func (s *DetachInstancesFromLoadBalancerOutput) SetOperations(v []*Operation) *DetachInstancesFromLoadBalancerOutput { + s.Operations = v return s } -type DeleteKnownHostKeysInput struct { +type DetachStaticIpInput struct { _ struct{} `type:"structure"` - // The name of the instance for which you want to reset the host key or certificate. + // The name of the static IP to detach from the instance. // - // InstanceName is a required field - InstanceName *string `locationName:"instanceName" type:"string" required:"true"` + // StaticIpName is a required field + StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteKnownHostKeysInput) String() string { +func (s DetachStaticIpInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteKnownHostKeysInput) GoString() string { +func (s DetachStaticIpInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteKnownHostKeysInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteKnownHostKeysInput"} - if s.InstanceName == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceName")) +func (s *DetachStaticIpInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetachStaticIpInput"} + if s.StaticIpName == nil { + invalidParams.Add(request.NewErrParamRequired("StaticIpName")) } if invalidParams.Len() > 0 { @@ -16830,61 +20003,69 @@ func (s *DeleteKnownHostKeysInput) Validate() error { return nil } -// SetInstanceName sets the InstanceName field's value. -func (s *DeleteKnownHostKeysInput) SetInstanceName(v string) *DeleteKnownHostKeysInput { - s.InstanceName = &v +// SetStaticIpName sets the StaticIpName field's value. +func (s *DetachStaticIpInput) SetStaticIpName(v string) *DetachStaticIpInput { + s.StaticIpName = &v return s } -type DeleteKnownHostKeysOutput struct { +type DetachStaticIpOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s DeleteKnownHostKeysOutput) String() string { +func (s DetachStaticIpOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteKnownHostKeysOutput) GoString() string { +func (s DetachStaticIpOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *DeleteKnownHostKeysOutput) SetOperations(v []*Operation) *DeleteKnownHostKeysOutput { +func (s *DetachStaticIpOutput) SetOperations(v []*Operation) *DetachStaticIpOutput { s.Operations = v return s } -type DeleteLoadBalancerInput struct { +type DisableAddOnInput struct { _ struct{} `type:"structure"` - // The name of the load balancer you want to delete. + // The add-on type to disable. // - // LoadBalancerName is a required field - LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` + // AddOnType is a required field + AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"` + + // The name of the source resource for which to disable the add-on. + // + // ResourceName is a required field + ResourceName *string `locationName:"resourceName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteLoadBalancerInput) String() string { +func (s DisableAddOnInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteLoadBalancerInput) GoString() string { +func (s DisableAddOnInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteLoadBalancerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerInput"} - if s.LoadBalancerName == nil { - invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) +func (s *DisableAddOnInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisableAddOnInput"} + if s.AddOnType == nil { + invalidParams.Add(request.NewErrParamRequired("AddOnType")) + } + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) } if invalidParams.Len() > 0 { @@ -16893,1325 +20074,1319 @@ func (s *DeleteLoadBalancerInput) Validate() error { return nil } -// SetLoadBalancerName sets the LoadBalancerName field's value. -func (s *DeleteLoadBalancerInput) SetLoadBalancerName(v string) *DeleteLoadBalancerInput { - s.LoadBalancerName = &v +// SetAddOnType sets the AddOnType field's value. +func (s *DisableAddOnInput) SetAddOnType(v string) *DisableAddOnInput { + s.AddOnType = &v return s } -type DeleteLoadBalancerOutput struct { +// SetResourceName sets the ResourceName field's value. +func (s *DisableAddOnInput) SetResourceName(v string) *DisableAddOnInput { + s.ResourceName = &v + return s +} + +type DisableAddOnOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } // String returns the string representation -func (s DeleteLoadBalancerOutput) String() string { +func (s DisableAddOnOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteLoadBalancerOutput) GoString() string { +func (s DisableAddOnOutput) GoString() string { return s.String() } // SetOperations sets the Operations field's value. -func (s *DeleteLoadBalancerOutput) SetOperations(v []*Operation) *DeleteLoadBalancerOutput { +func (s *DisableAddOnOutput) SetOperations(v []*Operation) *DisableAddOnOutput { s.Operations = v return s } -type DeleteLoadBalancerTlsCertificateInput struct { +// Describes a system disk or a block storage disk. +type Disk struct { _ struct{} `type:"structure"` - // The SSL/TLS certificate name. + // An array of objects representing the add-ons enabled on the disk. + AddOns []*AddOn `locationName:"addOns" type:"list"` + + // The Amazon Resource Name (ARN) of the disk. + Arn *string `locationName:"arn" type:"string"` + + // The resources to which the disk is attached. + AttachedTo *string `locationName:"attachedTo" type:"string"` + + // (Deprecated) The attachment state of the disk. // - // CertificateName is a required field - CertificateName *string `locationName:"certificateName" type:"string" required:"true"` + // In releases prior to November 14, 2017, this parameter returned attached + // for system disks in the API response. It is now deprecated, but still included + // in the response. Use isAttached instead. + // + // Deprecated: AttachmentState has been deprecated + AttachmentState *string `locationName:"attachmentState" deprecated:"true" type:"string"` - // When true, forces the deletion of an SSL/TLS certificate. + // The date when the disk was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // (Deprecated) The number of GB in use by the disk. // - // There can be two certificates associated with a Lightsail load balancer: - // the primary and the backup. The force parameter is required when the primary - // SSL/TLS certificate is in use by an instance attached to the load balancer. - Force *bool `locationName:"force" type:"boolean"` + // In releases prior to November 14, 2017, this parameter was not included in + // the API response. It is now deprecated. + // + // Deprecated: GbInUse has been deprecated + GbInUse *int64 `locationName:"gbInUse" deprecated:"true" type:"integer"` + + // The input/output operations per second (IOPS) of the disk. + Iops *int64 `locationName:"iops" type:"integer"` + + // A Boolean value indicating whether the disk is attached. + IsAttached *bool `locationName:"isAttached" type:"boolean"` + + // A Boolean value indicating whether this disk is a system disk (has an operating + // system loaded on it). + IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"` + + // The AWS Region and Availability Zone where the disk is located. + Location *ResourceLocation `locationName:"location" type:"structure"` + + // The unique name of the disk. + Name *string `locationName:"name" type:"string"` + + // The disk path. + Path *string `locationName:"path" type:"string"` + + // The Lightsail resource type (e.g., Disk). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + + // The size of the disk in GB. + SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` + + // Describes the status of the disk. + State *string `locationName:"state" type:"string" enum:"DiskState"` + + // The support code. Include this code in your email to support when you have + // questions about an instance or another resource in Lightsail. This code enables + // our support team to look up your Lightsail information more easily. + SupportCode *string `locationName:"supportCode" type:"string"` + + // The tag keys and optional values for the resource. For more information about + // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation +func (s Disk) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Disk) GoString() string { + return s.String() +} + +// SetAddOns sets the AddOns field's value. +func (s *Disk) SetAddOns(v []*AddOn) *Disk { + s.AddOns = v + return s +} + +// SetArn sets the Arn field's value. +func (s *Disk) SetArn(v string) *Disk { + s.Arn = &v + return s +} + +// SetAttachedTo sets the AttachedTo field's value. +func (s *Disk) SetAttachedTo(v string) *Disk { + s.AttachedTo = &v + return s +} - // The load balancer name. - // - // LoadBalancerName is a required field - LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` +// SetAttachmentState sets the AttachmentState field's value. +func (s *Disk) SetAttachmentState(v string) *Disk { + s.AttachmentState = &v + return s } -// String returns the string representation -func (s DeleteLoadBalancerTlsCertificateInput) String() string { - return awsutil.Prettify(s) +// SetCreatedAt sets the CreatedAt field's value. +func (s *Disk) SetCreatedAt(v time.Time) *Disk { + s.CreatedAt = &v + return s } -// GoString returns the string representation -func (s DeleteLoadBalancerTlsCertificateInput) GoString() string { - return s.String() +// SetGbInUse sets the GbInUse field's value. +func (s *Disk) SetGbInUse(v int64) *Disk { + s.GbInUse = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteLoadBalancerTlsCertificateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteLoadBalancerTlsCertificateInput"} - if s.CertificateName == nil { - invalidParams.Add(request.NewErrParamRequired("CertificateName")) - } - if s.LoadBalancerName == nil { - invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) - } +// SetIops sets the Iops field's value. +func (s *Disk) SetIops(v int64) *Disk { + s.Iops = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetIsAttached sets the IsAttached field's value. +func (s *Disk) SetIsAttached(v bool) *Disk { + s.IsAttached = &v + return s } -// SetCertificateName sets the CertificateName field's value. -func (s *DeleteLoadBalancerTlsCertificateInput) SetCertificateName(v string) *DeleteLoadBalancerTlsCertificateInput { - s.CertificateName = &v +// SetIsSystemDisk sets the IsSystemDisk field's value. +func (s *Disk) SetIsSystemDisk(v bool) *Disk { + s.IsSystemDisk = &v return s } -// SetForce sets the Force field's value. -func (s *DeleteLoadBalancerTlsCertificateInput) SetForce(v bool) *DeleteLoadBalancerTlsCertificateInput { - s.Force = &v +// SetLocation sets the Location field's value. +func (s *Disk) SetLocation(v *ResourceLocation) *Disk { + s.Location = v return s } -// SetLoadBalancerName sets the LoadBalancerName field's value. -func (s *DeleteLoadBalancerTlsCertificateInput) SetLoadBalancerName(v string) *DeleteLoadBalancerTlsCertificateInput { - s.LoadBalancerName = &v +// SetName sets the Name field's value. +func (s *Disk) SetName(v string) *Disk { + s.Name = &v return s } -type DeleteLoadBalancerTlsCertificateOutput struct { - _ struct{} `type:"structure"` +// SetPath sets the Path field's value. +func (s *Disk) SetPath(v string) *Disk { + s.Path = &v + return s +} - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` +// SetResourceType sets the ResourceType field's value. +func (s *Disk) SetResourceType(v string) *Disk { + s.ResourceType = &v + return s } -// String returns the string representation -func (s DeleteLoadBalancerTlsCertificateOutput) String() string { - return awsutil.Prettify(s) +// SetSizeInGb sets the SizeInGb field's value. +func (s *Disk) SetSizeInGb(v int64) *Disk { + s.SizeInGb = &v + return s } -// GoString returns the string representation -func (s DeleteLoadBalancerTlsCertificateOutput) GoString() string { - return s.String() +// SetState sets the State field's value. +func (s *Disk) SetState(v string) *Disk { + s.State = &v + return s } -// SetOperations sets the Operations field's value. -func (s *DeleteLoadBalancerTlsCertificateOutput) SetOperations(v []*Operation) *DeleteLoadBalancerTlsCertificateOutput { - s.Operations = v +// SetSupportCode sets the SupportCode field's value. +func (s *Disk) SetSupportCode(v string) *Disk { + s.SupportCode = &v return s } -type DeleteRelationalDatabaseInput struct { +// SetTags sets the Tags field's value. +func (s *Disk) SetTags(v []*Tag) *Disk { + s.Tags = v + return s +} + +// Describes a disk. +type DiskInfo struct { _ struct{} `type:"structure"` - // The name of the database snapshot created if skip final snapshot is false, - // which is the default value for that parameter. - // - // Specifying this parameter and also specifying the skip final snapshot parameter - // to true results in an error. - // - // Constraints: - // - // * Must contain from 2 to 255 alphanumeric characters, or hyphens. - // - // * The first and last character must be a letter or number. - FinalRelationalDatabaseSnapshotName *string `locationName:"finalRelationalDatabaseSnapshotName" type:"string"` + // A Boolean value indicating whether this disk is a system disk (has an operating + // system loaded on it). + IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"` - // The name of the database that you are deleting. - // - // RelationalDatabaseName is a required field - RelationalDatabaseName *string `locationName:"relationalDatabaseName" type:"string" required:"true"` + // The disk name. + Name *string `locationName:"name" type:"string"` - // Determines whether a final database snapshot is created before your database - // is deleted. If true is specified, no database snapshot is created. If false - // is specified, a database snapshot is created before your database is deleted. - // - // You must specify the final relational database snapshot name parameter if - // the skip final snapshot parameter is false. - // - // Default: false - SkipFinalSnapshot *bool `locationName:"skipFinalSnapshot" type:"boolean"` + // The disk path. + Path *string `locationName:"path" type:"string"` + + // The size of the disk in GB (e.g., 32). + SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` } // String returns the string representation -func (s DeleteRelationalDatabaseInput) String() string { +func (s DiskInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteRelationalDatabaseInput) GoString() string { +func (s DiskInfo) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteRelationalDatabaseInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseInput"} - if s.RelationalDatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetIsSystemDisk sets the IsSystemDisk field's value. +func (s *DiskInfo) SetIsSystemDisk(v bool) *DiskInfo { + s.IsSystemDisk = &v + return s } -// SetFinalRelationalDatabaseSnapshotName sets the FinalRelationalDatabaseSnapshotName field's value. -func (s *DeleteRelationalDatabaseInput) SetFinalRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseInput { - s.FinalRelationalDatabaseSnapshotName = &v +// SetName sets the Name field's value. +func (s *DiskInfo) SetName(v string) *DiskInfo { + s.Name = &v return s } -// SetRelationalDatabaseName sets the RelationalDatabaseName field's value. -func (s *DeleteRelationalDatabaseInput) SetRelationalDatabaseName(v string) *DeleteRelationalDatabaseInput { - s.RelationalDatabaseName = &v +// SetPath sets the Path field's value. +func (s *DiskInfo) SetPath(v string) *DiskInfo { + s.Path = &v return s } -// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value. -func (s *DeleteRelationalDatabaseInput) SetSkipFinalSnapshot(v bool) *DeleteRelationalDatabaseInput { - s.SkipFinalSnapshot = &v +// SetSizeInGb sets the SizeInGb field's value. +func (s *DiskInfo) SetSizeInGb(v int64) *DiskInfo { + s.SizeInGb = &v return s } -type DeleteRelationalDatabaseOutput struct { +// Describes a block storage disk mapping. +type DiskMap struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + // The new disk name (e.g., my-new-disk). + NewDiskName *string `locationName:"newDiskName" type:"string"` + + // The original disk path exposed to the instance (for example, /dev/sdh). + OriginalDiskPath *string `locationName:"originalDiskPath" type:"string"` } // String returns the string representation -func (s DeleteRelationalDatabaseOutput) String() string { +func (s DiskMap) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteRelationalDatabaseOutput) GoString() string { +func (s DiskMap) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *DeleteRelationalDatabaseOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseOutput { - s.Operations = v +// SetNewDiskName sets the NewDiskName field's value. +func (s *DiskMap) SetNewDiskName(v string) *DiskMap { + s.NewDiskName = &v return s } -type DeleteRelationalDatabaseSnapshotInput struct { +// SetOriginalDiskPath sets the OriginalDiskPath field's value. +func (s *DiskMap) SetOriginalDiskPath(v string) *DiskMap { + s.OriginalDiskPath = &v + return s +} + +// Describes a block storage disk snapshot. +type DiskSnapshot struct { _ struct{} `type:"structure"` - // The name of the database snapshot that you are deleting. - // - // RelationalDatabaseSnapshotName is a required field - RelationalDatabaseSnapshotName *string `locationName:"relationalDatabaseSnapshotName" type:"string" required:"true"` -} + // The Amazon Resource Name (ARN) of the disk snapshot. + Arn *string `locationName:"arn" type:"string"` -// String returns the string representation -func (s DeleteRelationalDatabaseSnapshotInput) String() string { - return awsutil.Prettify(s) -} + // The date when the disk snapshot was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` -// GoString returns the string representation -func (s DeleteRelationalDatabaseSnapshotInput) GoString() string { - return s.String() -} + // The Amazon Resource Name (ARN) of the source disk from which the disk snapshot + // was created. + FromDiskArn *string `locationName:"fromDiskArn" type:"string"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteRelationalDatabaseSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteRelationalDatabaseSnapshotInput"} - if s.RelationalDatabaseSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("RelationalDatabaseSnapshotName")) - } + // The unique name of the source disk from which the disk snapshot was created. + FromDiskName *string `locationName:"fromDiskName" type:"string"` + + // The Amazon Resource Name (ARN) of the source instance from which the disk + // (system volume) snapshot was created. + FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"` + + // The unique name of the source instance from which the disk (system volume) + // snapshot was created. + FromInstanceName *string `locationName:"fromInstanceName" type:"string"` + + // A Boolean value indicating whether the snapshot was created from an automatic + // snapshot. + IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"` + + // The AWS Region and Availability Zone where the disk snapshot was created. + Location *ResourceLocation `locationName:"location" type:"structure"` + + // The name of the disk snapshot (e.g., my-disk-snapshot). + Name *string `locationName:"name" type:"string"` + + // The progress of the disk snapshot operation. + Progress *string `locationName:"progress" type:"string"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // The Lightsail resource type (e.g., DiskSnapshot). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` -// SetRelationalDatabaseSnapshotName sets the RelationalDatabaseSnapshotName field's value. -func (s *DeleteRelationalDatabaseSnapshotInput) SetRelationalDatabaseSnapshotName(v string) *DeleteRelationalDatabaseSnapshotInput { - s.RelationalDatabaseSnapshotName = &v - return s -} + // The size of the disk in GB. + SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` -type DeleteRelationalDatabaseSnapshotOutput struct { - _ struct{} `type:"structure"` + // The status of the disk snapshot operation. + State *string `locationName:"state" type:"string" enum:"DiskSnapshotState"` - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + // The support code. Include this code in your email to support when you have + // questions about an instance or another resource in Lightsail. This code enables + // our support team to look up your Lightsail information more easily. + SupportCode *string `locationName:"supportCode" type:"string"` + + // The tag keys and optional values for the resource. For more information about + // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s DeleteRelationalDatabaseSnapshotOutput) String() string { +func (s DiskSnapshot) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteRelationalDatabaseSnapshotOutput) GoString() string { +func (s DiskSnapshot) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *DeleteRelationalDatabaseSnapshotOutput) SetOperations(v []*Operation) *DeleteRelationalDatabaseSnapshotOutput { - s.Operations = v +// SetArn sets the Arn field's value. +func (s *DiskSnapshot) SetArn(v string) *DiskSnapshot { + s.Arn = &v return s } -// Describes the destination of a record. -type DestinationInfo struct { - _ struct{} `type:"structure"` - - // The ID of the resource created at the destination. - Id *string `locationName:"id" type:"string"` - - // The destination service of the record. - Service *string `locationName:"service" type:"string"` +// SetCreatedAt sets the CreatedAt field's value. +func (s *DiskSnapshot) SetCreatedAt(v time.Time) *DiskSnapshot { + s.CreatedAt = &v + return s } -// String returns the string representation -func (s DestinationInfo) String() string { - return awsutil.Prettify(s) +// SetFromDiskArn sets the FromDiskArn field's value. +func (s *DiskSnapshot) SetFromDiskArn(v string) *DiskSnapshot { + s.FromDiskArn = &v + return s } -// GoString returns the string representation -func (s DestinationInfo) GoString() string { - return s.String() +// SetFromDiskName sets the FromDiskName field's value. +func (s *DiskSnapshot) SetFromDiskName(v string) *DiskSnapshot { + s.FromDiskName = &v + return s } -// SetId sets the Id field's value. -func (s *DestinationInfo) SetId(v string) *DestinationInfo { - s.Id = &v +// SetFromInstanceArn sets the FromInstanceArn field's value. +func (s *DiskSnapshot) SetFromInstanceArn(v string) *DiskSnapshot { + s.FromInstanceArn = &v return s } -// SetService sets the Service field's value. -func (s *DestinationInfo) SetService(v string) *DestinationInfo { - s.Service = &v +// SetFromInstanceName sets the FromInstanceName field's value. +func (s *DiskSnapshot) SetFromInstanceName(v string) *DiskSnapshot { + s.FromInstanceName = &v return s } -type DetachDiskInput struct { - _ struct{} `type:"structure"` - - // The unique name of the disk you want to detach from your instance (e.g., - // my-disk). - // - // DiskName is a required field - DiskName *string `locationName:"diskName" type:"string" required:"true"` +// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value. +func (s *DiskSnapshot) SetIsFromAutoSnapshot(v bool) *DiskSnapshot { + s.IsFromAutoSnapshot = &v + return s } -// String returns the string representation -func (s DetachDiskInput) String() string { - return awsutil.Prettify(s) +// SetLocation sets the Location field's value. +func (s *DiskSnapshot) SetLocation(v *ResourceLocation) *DiskSnapshot { + s.Location = v + return s } -// GoString returns the string representation -func (s DetachDiskInput) GoString() string { - return s.String() +// SetName sets the Name field's value. +func (s *DiskSnapshot) SetName(v string) *DiskSnapshot { + s.Name = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DetachDiskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DetachDiskInput"} - if s.DiskName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetProgress sets the Progress field's value. +func (s *DiskSnapshot) SetProgress(v string) *DiskSnapshot { + s.Progress = &v + return s } -// SetDiskName sets the DiskName field's value. -func (s *DetachDiskInput) SetDiskName(v string) *DetachDiskInput { - s.DiskName = &v +// SetResourceType sets the ResourceType field's value. +func (s *DiskSnapshot) SetResourceType(v string) *DiskSnapshot { + s.ResourceType = &v return s } -type DetachDiskOutput struct { - _ struct{} `type:"structure"` - - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` +// SetSizeInGb sets the SizeInGb field's value. +func (s *DiskSnapshot) SetSizeInGb(v int64) *DiskSnapshot { + s.SizeInGb = &v + return s } -// String returns the string representation -func (s DetachDiskOutput) String() string { - return awsutil.Prettify(s) +// SetState sets the State field's value. +func (s *DiskSnapshot) SetState(v string) *DiskSnapshot { + s.State = &v + return s } -// GoString returns the string representation -func (s DetachDiskOutput) GoString() string { - return s.String() +// SetSupportCode sets the SupportCode field's value. +func (s *DiskSnapshot) SetSupportCode(v string) *DiskSnapshot { + s.SupportCode = &v + return s } -// SetOperations sets the Operations field's value. -func (s *DetachDiskOutput) SetOperations(v []*Operation) *DetachDiskOutput { - s.Operations = v +// SetTags sets the Tags field's value. +func (s *DiskSnapshot) SetTags(v []*Tag) *DiskSnapshot { + s.Tags = v return s } -type DetachInstancesFromLoadBalancerInput struct { +// Describes a disk snapshot. +type DiskSnapshotInfo struct { _ struct{} `type:"structure"` - // An array of strings containing the names of the instances you want to detach - // from the load balancer. - // - // InstanceNames is a required field - InstanceNames []*string `locationName:"instanceNames" type:"list" required:"true"` - - // The name of the Lightsail load balancer. - // - // LoadBalancerName is a required field - LoadBalancerName *string `locationName:"loadBalancerName" type:"string" required:"true"` + // The size of the disk in GB (e.g., 32). + SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` } // String returns the string representation -func (s DetachInstancesFromLoadBalancerInput) String() string { +func (s DiskSnapshotInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DetachInstancesFromLoadBalancerInput) GoString() string { +func (s DiskSnapshotInfo) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DetachInstancesFromLoadBalancerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DetachInstancesFromLoadBalancerInput"} - if s.InstanceNames == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceNames")) - } - if s.LoadBalancerName == nil { - invalidParams.Add(request.NewErrParamRequired("LoadBalancerName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetInstanceNames sets the InstanceNames field's value. -func (s *DetachInstancesFromLoadBalancerInput) SetInstanceNames(v []*string) *DetachInstancesFromLoadBalancerInput { - s.InstanceNames = v - return s -} - -// SetLoadBalancerName sets the LoadBalancerName field's value. -func (s *DetachInstancesFromLoadBalancerInput) SetLoadBalancerName(v string) *DetachInstancesFromLoadBalancerInput { - s.LoadBalancerName = &v +// SetSizeInGb sets the SizeInGb field's value. +func (s *DiskSnapshotInfo) SetSizeInGb(v int64) *DiskSnapshotInfo { + s.SizeInGb = &v return s } -type DetachInstancesFromLoadBalancerOutput struct { +// Describes the specifications of a distribution bundle. +type DistributionBundle struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + // The ID of the bundle. + BundleId *string `locationName:"bundleId" type:"string"` + + // Indicates whether the bundle is active, and can be specified for a new distribution. + IsActive *bool `locationName:"isActive" type:"boolean"` + + // The name of the distribution bundle. + Name *string `locationName:"name" type:"string"` + + // The monthly price, in US dollars, of the bundle. + Price *float64 `locationName:"price" type:"float"` + + // The monthly network transfer quota of the bundle. + TransferPerMonthInGb *int64 `locationName:"transferPerMonthInGb" type:"integer"` } // String returns the string representation -func (s DetachInstancesFromLoadBalancerOutput) String() string { +func (s DistributionBundle) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DetachInstancesFromLoadBalancerOutput) GoString() string { +func (s DistributionBundle) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *DetachInstancesFromLoadBalancerOutput) SetOperations(v []*Operation) *DetachInstancesFromLoadBalancerOutput { - s.Operations = v +// SetBundleId sets the BundleId field's value. +func (s *DistributionBundle) SetBundleId(v string) *DistributionBundle { + s.BundleId = &v return s } -type DetachStaticIpInput struct { - _ struct{} `type:"structure"` - - // The name of the static IP to detach from the instance. - // - // StaticIpName is a required field - StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` -} - -// String returns the string representation -func (s DetachStaticIpInput) String() string { - return awsutil.Prettify(s) +// SetIsActive sets the IsActive field's value. +func (s *DistributionBundle) SetIsActive(v bool) *DistributionBundle { + s.IsActive = &v + return s } -// GoString returns the string representation -func (s DetachStaticIpInput) GoString() string { - return s.String() +// SetName sets the Name field's value. +func (s *DistributionBundle) SetName(v string) *DistributionBundle { + s.Name = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DetachStaticIpInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DetachStaticIpInput"} - if s.StaticIpName == nil { - invalidParams.Add(request.NewErrParamRequired("StaticIpName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetPrice sets the Price field's value. +func (s *DistributionBundle) SetPrice(v float64) *DistributionBundle { + s.Price = &v + return s } -// SetStaticIpName sets the StaticIpName field's value. -func (s *DetachStaticIpInput) SetStaticIpName(v string) *DetachStaticIpInput { - s.StaticIpName = &v +// SetTransferPerMonthInGb sets the TransferPerMonthInGb field's value. +func (s *DistributionBundle) SetTransferPerMonthInGb(v int64) *DistributionBundle { + s.TransferPerMonthInGb = &v return s } -type DetachStaticIpOutput struct { +// Describes a domain where you are storing recordsets in Lightsail. +type Domain struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` -} + // The Amazon Resource Name (ARN) of the domain recordset (e.g., arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE). + Arn *string `locationName:"arn" type:"string"` -// String returns the string representation -func (s DetachStaticIpOutput) String() string { - return awsutil.Prettify(s) -} + // The date when the domain recordset was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` -// GoString returns the string representation -func (s DetachStaticIpOutput) GoString() string { - return s.String() -} + // An array of key-value pairs containing information about the domain entries. + DomainEntries []*DomainEntry `locationName:"domainEntries" type:"list"` -// SetOperations sets the Operations field's value. -func (s *DetachStaticIpOutput) SetOperations(v []*Operation) *DetachStaticIpOutput { - s.Operations = v - return s -} + // The AWS Region and Availability Zones where the domain recordset was created. + Location *ResourceLocation `locationName:"location" type:"structure"` -type DisableAddOnInput struct { - _ struct{} `type:"structure"` + // The name of the domain. + Name *string `locationName:"name" type:"string"` - // The add-on type to disable. - // - // AddOnType is a required field - AddOnType *string `locationName:"addOnType" type:"string" required:"true" enum:"AddOnType"` + // The resource type. + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` - // The name of the source resource for which to disable the add-on. - // - // ResourceName is a required field - ResourceName *string `locationName:"resourceName" type:"string" required:"true"` + // The support code. Include this code in your email to support when you have + // questions about an instance or another resource in Lightsail. This code enables + // our support team to look up your Lightsail information more easily. + SupportCode *string `locationName:"supportCode" type:"string"` + + // The tag keys and optional values for the resource. For more information about + // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). + Tags []*Tag `locationName:"tags" type:"list"` } // String returns the string representation -func (s DisableAddOnInput) String() string { +func (s Domain) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DisableAddOnInput) GoString() string { +func (s Domain) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DisableAddOnInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DisableAddOnInput"} - if s.AddOnType == nil { - invalidParams.Add(request.NewErrParamRequired("AddOnType")) - } - if s.ResourceName == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *Domain) SetArn(v string) *Domain { + s.Arn = &v + return s } -// SetAddOnType sets the AddOnType field's value. -func (s *DisableAddOnInput) SetAddOnType(v string) *DisableAddOnInput { - s.AddOnType = &v +// SetCreatedAt sets the CreatedAt field's value. +func (s *Domain) SetCreatedAt(v time.Time) *Domain { + s.CreatedAt = &v return s } -// SetResourceName sets the ResourceName field's value. -func (s *DisableAddOnInput) SetResourceName(v string) *DisableAddOnInput { - s.ResourceName = &v +// SetDomainEntries sets the DomainEntries field's value. +func (s *Domain) SetDomainEntries(v []*DomainEntry) *Domain { + s.DomainEntries = v return s } -type DisableAddOnOutput struct { - _ struct{} `type:"structure"` +// SetLocation sets the Location field's value. +func (s *Domain) SetLocation(v *ResourceLocation) *Domain { + s.Location = v + return s +} - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` +// SetName sets the Name field's value. +func (s *Domain) SetName(v string) *Domain { + s.Name = &v + return s } -// String returns the string representation -func (s DisableAddOnOutput) String() string { - return awsutil.Prettify(s) +// SetResourceType sets the ResourceType field's value. +func (s *Domain) SetResourceType(v string) *Domain { + s.ResourceType = &v + return s } -// GoString returns the string representation -func (s DisableAddOnOutput) GoString() string { - return s.String() +// SetSupportCode sets the SupportCode field's value. +func (s *Domain) SetSupportCode(v string) *Domain { + s.SupportCode = &v + return s } -// SetOperations sets the Operations field's value. -func (s *DisableAddOnOutput) SetOperations(v []*Operation) *DisableAddOnOutput { - s.Operations = v +// SetTags sets the Tags field's value. +func (s *Domain) SetTags(v []*Tag) *Domain { + s.Tags = v return s } -// Describes a system disk or a block storage disk. -type Disk struct { +// Describes a domain recordset entry. +type DomainEntry struct { _ struct{} `type:"structure"` - // An array of objects representing the add-ons enabled on the disk. - AddOns []*AddOn `locationName:"addOns" type:"list"` + // The ID of the domain recordset entry. + Id *string `locationName:"id" type:"string"` - // The Amazon Resource Name (ARN) of the disk. - Arn *string `locationName:"arn" type:"string"` + // When true, specifies whether the domain entry is an alias used by the Lightsail + // load balancer. You can include an alias (A type) record in your request, + // which points to a load balancer DNS name and routes traffic to your load + // balancer + IsAlias *bool `locationName:"isAlias" type:"boolean"` - // The resources to which the disk is attached. - AttachedTo *string `locationName:"attachedTo" type:"string"` + // The name of the domain. + Name *string `locationName:"name" type:"string"` - // (Deprecated) The attachment state of the disk. + // (Deprecated) The options for the domain entry. // - // In releases prior to November 14, 2017, this parameter returned attached - // for system disks in the API response. It is now deprecated, but still included - // in the response. Use isAttached instead. + // In releases prior to November 29, 2017, this parameter was not included in + // the API response. It is now deprecated. // - // Deprecated: AttachmentState has been deprecated - AttachmentState *string `locationName:"attachmentState" deprecated:"true" type:"string"` + // Deprecated: Options has been deprecated + Options map[string]*string `locationName:"options" deprecated:"true" type:"map"` - // The date when the disk was created. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + // The target AWS name server (e.g., ns-111.awsdns-22.com.). + // + // For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com. + // Be sure to also set isAlias to true when setting up an A record for a load + // balancer. + Target *string `locationName:"target" type:"string"` - // (Deprecated) The number of GB in use by the disk. + // The type of domain entry, such as address (A), canonical name (CNAME), mail + // exchanger (MX), name server (NS), start of authority (SOA), service locator + // (SRV), or text (TXT). // - // In releases prior to November 14, 2017, this parameter was not included in - // the API response. It is now deprecated. + // The following domain entry types can be used: // - // Deprecated: GbInUse has been deprecated - GbInUse *int64 `locationName:"gbInUse" deprecated:"true" type:"integer"` - - // The input/output operations per second (IOPS) of the disk. - Iops *int64 `locationName:"iops" type:"integer"` - - // A Boolean value indicating whether the disk is attached. - IsAttached *bool `locationName:"isAttached" type:"boolean"` - - // A Boolean value indicating whether this disk is a system disk (has an operating - // system loaded on it). - IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"` - - // The AWS Region and Availability Zone where the disk is located. - Location *ResourceLocation `locationName:"location" type:"structure"` - - // The unique name of the disk. - Name *string `locationName:"name" type:"string"` - - // The disk path. - Path *string `locationName:"path" type:"string"` - - // The Lightsail resource type (e.g., Disk). - ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` - - // The size of the disk in GB. - SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` - - // Describes the status of the disk. - State *string `locationName:"state" type:"string" enum:"DiskState"` - - // The support code. Include this code in your email to support when you have - // questions about an instance or another resource in Lightsail. This code enables - // our support team to look up your Lightsail information more easily. - SupportCode *string `locationName:"supportCode" type:"string"` - - // The tag keys and optional values for the resource. For more information about - // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). - Tags []*Tag `locationName:"tags" type:"list"` + // * A + // + // * CNAME + // + // * MX + // + // * NS + // + // * SOA + // + // * SRV + // + // * TXT + Type *string `locationName:"type" type:"string"` } // String returns the string representation -func (s Disk) String() string { +func (s DomainEntry) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Disk) GoString() string { +func (s DomainEntry) GoString() string { return s.String() } -// SetAddOns sets the AddOns field's value. -func (s *Disk) SetAddOns(v []*AddOn) *Disk { - s.AddOns = v +// SetId sets the Id field's value. +func (s *DomainEntry) SetId(v string) *DomainEntry { + s.Id = &v return s } -// SetArn sets the Arn field's value. -func (s *Disk) SetArn(v string) *Disk { - s.Arn = &v +// SetIsAlias sets the IsAlias field's value. +func (s *DomainEntry) SetIsAlias(v bool) *DomainEntry { + s.IsAlias = &v return s } -// SetAttachedTo sets the AttachedTo field's value. -func (s *Disk) SetAttachedTo(v string) *Disk { - s.AttachedTo = &v +// SetName sets the Name field's value. +func (s *DomainEntry) SetName(v string) *DomainEntry { + s.Name = &v + return s +} + +// SetOptions sets the Options field's value. +func (s *DomainEntry) SetOptions(v map[string]*string) *DomainEntry { + s.Options = v + return s +} + +// SetTarget sets the Target field's value. +func (s *DomainEntry) SetTarget(v string) *DomainEntry { + s.Target = &v return s } -// SetAttachmentState sets the AttachmentState field's value. -func (s *Disk) SetAttachmentState(v string) *Disk { - s.AttachmentState = &v +// SetType sets the Type field's value. +func (s *DomainEntry) SetType(v string) *DomainEntry { + s.Type = &v return s } -// SetCreatedAt sets the CreatedAt field's value. -func (s *Disk) SetCreatedAt(v time.Time) *Disk { - s.CreatedAt = &v - return s +// Describes the domain validation records of an Amazon Lightsail SSL/TLS certificate. +type DomainValidationRecord struct { + _ struct{} `type:"structure"` + + // The domain name of the certificate validation record. For example, example.com + // or www.example.com. + DomainName *string `locationName:"domainName" type:"string"` + + // An object that describes the DNS records to add to your domain's DNS to validate + // it for the certificate. + ResourceRecord *ResourceRecord `locationName:"resourceRecord" type:"structure"` } -// SetGbInUse sets the GbInUse field's value. -func (s *Disk) SetGbInUse(v int64) *Disk { - s.GbInUse = &v - return s +// String returns the string representation +func (s DomainValidationRecord) String() string { + return awsutil.Prettify(s) } -// SetIops sets the Iops field's value. -func (s *Disk) SetIops(v int64) *Disk { - s.Iops = &v - return s +// GoString returns the string representation +func (s DomainValidationRecord) GoString() string { + return s.String() } -// SetIsAttached sets the IsAttached field's value. -func (s *Disk) SetIsAttached(v bool) *Disk { - s.IsAttached = &v +// SetDomainName sets the DomainName field's value. +func (s *DomainValidationRecord) SetDomainName(v string) *DomainValidationRecord { + s.DomainName = &v return s } -// SetIsSystemDisk sets the IsSystemDisk field's value. -func (s *Disk) SetIsSystemDisk(v bool) *Disk { - s.IsSystemDisk = &v +// SetResourceRecord sets the ResourceRecord field's value. +func (s *DomainValidationRecord) SetResourceRecord(v *ResourceRecord) *DomainValidationRecord { + s.ResourceRecord = v return s } -// SetLocation sets the Location field's value. -func (s *Disk) SetLocation(v *ResourceLocation) *Disk { - s.Location = v - return s +type DownloadDefaultKeyPairInput struct { + _ struct{} `type:"structure"` } -// SetName sets the Name field's value. -func (s *Disk) SetName(v string) *Disk { - s.Name = &v - return s +// String returns the string representation +func (s DownloadDefaultKeyPairInput) String() string { + return awsutil.Prettify(s) } -// SetPath sets the Path field's value. -func (s *Disk) SetPath(v string) *Disk { - s.Path = &v - return s +// GoString returns the string representation +func (s DownloadDefaultKeyPairInput) GoString() string { + return s.String() } -// SetResourceType sets the ResourceType field's value. -func (s *Disk) SetResourceType(v string) *Disk { - s.ResourceType = &v - return s +type DownloadDefaultKeyPairOutput struct { + _ struct{} `type:"structure"` + + // A base64-encoded RSA private key. + PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"` + + // A base64-encoded public key of the ssh-rsa type. + PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"` } -// SetSizeInGb sets the SizeInGb field's value. -func (s *Disk) SetSizeInGb(v int64) *Disk { - s.SizeInGb = &v - return s +// String returns the string representation +func (s DownloadDefaultKeyPairOutput) String() string { + return awsutil.Prettify(s) } -// SetState sets the State field's value. -func (s *Disk) SetState(v string) *Disk { - s.State = &v - return s +// GoString returns the string representation +func (s DownloadDefaultKeyPairOutput) GoString() string { + return s.String() } -// SetSupportCode sets the SupportCode field's value. -func (s *Disk) SetSupportCode(v string) *Disk { - s.SupportCode = &v +// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value. +func (s *DownloadDefaultKeyPairOutput) SetPrivateKeyBase64(v string) *DownloadDefaultKeyPairOutput { + s.PrivateKeyBase64 = &v return s } -// SetTags sets the Tags field's value. -func (s *Disk) SetTags(v []*Tag) *Disk { - s.Tags = v +// SetPublicKeyBase64 sets the PublicKeyBase64 field's value. +func (s *DownloadDefaultKeyPairOutput) SetPublicKeyBase64(v string) *DownloadDefaultKeyPairOutput { + s.PublicKeyBase64 = &v return s } -// Describes a disk. -type DiskInfo struct { +type EnableAddOnInput struct { _ struct{} `type:"structure"` - // A Boolean value indicating whether this disk is a system disk (has an operating - // system loaded on it). - IsSystemDisk *bool `locationName:"isSystemDisk" type:"boolean"` - - // The disk name. - Name *string `locationName:"name" type:"string"` - - // The disk path. - Path *string `locationName:"path" type:"string"` + // An array of strings representing the add-on to enable or modify. + // + // AddOnRequest is a required field + AddOnRequest *AddOnRequest `locationName:"addOnRequest" type:"structure" required:"true"` - // The size of the disk in GB (e.g., 32). - SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` + // The name of the source resource for which to enable or modify the add-on. + // + // ResourceName is a required field + ResourceName *string `locationName:"resourceName" type:"string" required:"true"` } // String returns the string representation -func (s DiskInfo) String() string { +func (s EnableAddOnInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DiskInfo) GoString() string { +func (s EnableAddOnInput) GoString() string { return s.String() } -// SetIsSystemDisk sets the IsSystemDisk field's value. -func (s *DiskInfo) SetIsSystemDisk(v bool) *DiskInfo { - s.IsSystemDisk = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableAddOnInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableAddOnInput"} + if s.AddOnRequest == nil { + invalidParams.Add(request.NewErrParamRequired("AddOnRequest")) + } + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + if s.AddOnRequest != nil { + if err := s.AddOnRequest.Validate(); err != nil { + invalidParams.AddNested("AddOnRequest", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetName sets the Name field's value. -func (s *DiskInfo) SetName(v string) *DiskInfo { - s.Name = &v +// SetAddOnRequest sets the AddOnRequest field's value. +func (s *EnableAddOnInput) SetAddOnRequest(v *AddOnRequest) *EnableAddOnInput { + s.AddOnRequest = v return s } -// SetPath sets the Path field's value. -func (s *DiskInfo) SetPath(v string) *DiskInfo { - s.Path = &v +// SetResourceName sets the ResourceName field's value. +func (s *EnableAddOnInput) SetResourceName(v string) *EnableAddOnInput { + s.ResourceName = &v return s } -// SetSizeInGb sets the SizeInGb field's value. -func (s *DiskInfo) SetSizeInGb(v int64) *DiskInfo { - s.SizeInGb = &v +type EnableAddOnOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} + +// String returns the string representation +func (s EnableAddOnOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableAddOnOutput) GoString() string { + return s.String() +} + +// SetOperations sets the Operations field's value. +func (s *EnableAddOnOutput) SetOperations(v []*Operation) *EnableAddOnOutput { + s.Operations = v return s } -// Describes a block storage disk mapping. -type DiskMap struct { +type ExportSnapshotInput struct { _ struct{} `type:"structure"` - // The new disk name (e.g., my-new-disk). - NewDiskName *string `locationName:"newDiskName" type:"string"` - - // The original disk path exposed to the instance (for example, /dev/sdh). - OriginalDiskPath *string `locationName:"originalDiskPath" type:"string"` + // The name of the instance or disk snapshot to be exported to Amazon EC2. + // + // SourceSnapshotName is a required field + SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string" required:"true"` } // String returns the string representation -func (s DiskMap) String() string { +func (s ExportSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DiskMap) GoString() string { +func (s ExportSnapshotInput) GoString() string { return s.String() } -// SetNewDiskName sets the NewDiskName field's value. -func (s *DiskMap) SetNewDiskName(v string) *DiskMap { - s.NewDiskName = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExportSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExportSnapshotInput"} + if s.SourceSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetOriginalDiskPath sets the OriginalDiskPath field's value. -func (s *DiskMap) SetOriginalDiskPath(v string) *DiskMap { - s.OriginalDiskPath = &v +// SetSourceSnapshotName sets the SourceSnapshotName field's value. +func (s *ExportSnapshotInput) SetSourceSnapshotName(v string) *ExportSnapshotInput { + s.SourceSnapshotName = &v return s } -// Describes a block storage disk snapshot. -type DiskSnapshot struct { +type ExportSnapshotOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the disk snapshot. - Arn *string `locationName:"arn" type:"string"` + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} - // The date when the disk snapshot was created. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` +// String returns the string representation +func (s ExportSnapshotOutput) String() string { + return awsutil.Prettify(s) +} - // The Amazon Resource Name (ARN) of the source disk from which the disk snapshot - // was created. - FromDiskArn *string `locationName:"fromDiskArn" type:"string"` +// GoString returns the string representation +func (s ExportSnapshotOutput) GoString() string { + return s.String() +} - // The unique name of the source disk from which the disk snapshot was created. - FromDiskName *string `locationName:"fromDiskName" type:"string"` +// SetOperations sets the Operations field's value. +func (s *ExportSnapshotOutput) SetOperations(v []*Operation) *ExportSnapshotOutput { + s.Operations = v + return s +} - // The Amazon Resource Name (ARN) of the source instance from which the disk - // (system volume) snapshot was created. - FromInstanceArn *string `locationName:"fromInstanceArn" type:"string"` +// Describes an export snapshot record. +type ExportSnapshotRecord struct { + _ struct{} `type:"structure"` - // The unique name of the source instance from which the disk (system volume) - // snapshot was created. - FromInstanceName *string `locationName:"fromInstanceName" type:"string"` + // The Amazon Resource Name (ARN) of the export snapshot record. + Arn *string `locationName:"arn" type:"string"` - // A Boolean value indicating whether the snapshot was created from an automatic - // snapshot. - IsFromAutoSnapshot *bool `locationName:"isFromAutoSnapshot" type:"boolean"` + // The date when the export snapshot record was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - // The AWS Region and Availability Zone where the disk snapshot was created. + // A list of objects describing the destination of the export snapshot record. + DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"` + + // The AWS Region and Availability Zone where the export snapshot record is + // located. Location *ResourceLocation `locationName:"location" type:"structure"` - // The name of the disk snapshot (e.g., my-disk-snapshot). + // The export snapshot record name. Name *string `locationName:"name" type:"string"` - // The progress of the disk snapshot operation. - Progress *string `locationName:"progress" type:"string"` - - // The Lightsail resource type (e.g., DiskSnapshot). + // The Lightsail resource type (e.g., ExportSnapshotRecord). ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` - // The size of the disk in GB. - SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` - - // The status of the disk snapshot operation. - State *string `locationName:"state" type:"string" enum:"DiskSnapshotState"` - - // The support code. Include this code in your email to support when you have - // questions about an instance or another resource in Lightsail. This code enables - // our support team to look up your Lightsail information more easily. - SupportCode *string `locationName:"supportCode" type:"string"` + // A list of objects describing the source of the export snapshot record. + SourceInfo *ExportSnapshotRecordSourceInfo `locationName:"sourceInfo" type:"structure"` - // The tag keys and optional values for the resource. For more information about - // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). - Tags []*Tag `locationName:"tags" type:"list"` + // The state of the export snapshot record. + State *string `locationName:"state" type:"string" enum:"RecordState"` } // String returns the string representation -func (s DiskSnapshot) String() string { +func (s ExportSnapshotRecord) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DiskSnapshot) GoString() string { +func (s ExportSnapshotRecord) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *DiskSnapshot) SetArn(v string) *DiskSnapshot { +func (s *ExportSnapshotRecord) SetArn(v string) *ExportSnapshotRecord { s.Arn = &v return s } // SetCreatedAt sets the CreatedAt field's value. -func (s *DiskSnapshot) SetCreatedAt(v time.Time) *DiskSnapshot { +func (s *ExportSnapshotRecord) SetCreatedAt(v time.Time) *ExportSnapshotRecord { s.CreatedAt = &v return s } -// SetFromDiskArn sets the FromDiskArn field's value. -func (s *DiskSnapshot) SetFromDiskArn(v string) *DiskSnapshot { - s.FromDiskArn = &v - return s -} - -// SetFromDiskName sets the FromDiskName field's value. -func (s *DiskSnapshot) SetFromDiskName(v string) *DiskSnapshot { - s.FromDiskName = &v - return s -} - -// SetFromInstanceArn sets the FromInstanceArn field's value. -func (s *DiskSnapshot) SetFromInstanceArn(v string) *DiskSnapshot { - s.FromInstanceArn = &v - return s -} - -// SetFromInstanceName sets the FromInstanceName field's value. -func (s *DiskSnapshot) SetFromInstanceName(v string) *DiskSnapshot { - s.FromInstanceName = &v - return s -} - -// SetIsFromAutoSnapshot sets the IsFromAutoSnapshot field's value. -func (s *DiskSnapshot) SetIsFromAutoSnapshot(v bool) *DiskSnapshot { - s.IsFromAutoSnapshot = &v +// SetDestinationInfo sets the DestinationInfo field's value. +func (s *ExportSnapshotRecord) SetDestinationInfo(v *DestinationInfo) *ExportSnapshotRecord { + s.DestinationInfo = v return s } // SetLocation sets the Location field's value. -func (s *DiskSnapshot) SetLocation(v *ResourceLocation) *DiskSnapshot { +func (s *ExportSnapshotRecord) SetLocation(v *ResourceLocation) *ExportSnapshotRecord { s.Location = v return s } // SetName sets the Name field's value. -func (s *DiskSnapshot) SetName(v string) *DiskSnapshot { +func (s *ExportSnapshotRecord) SetName(v string) *ExportSnapshotRecord { s.Name = &v return s } -// SetProgress sets the Progress field's value. -func (s *DiskSnapshot) SetProgress(v string) *DiskSnapshot { - s.Progress = &v - return s -} - // SetResourceType sets the ResourceType field's value. -func (s *DiskSnapshot) SetResourceType(v string) *DiskSnapshot { +func (s *ExportSnapshotRecord) SetResourceType(v string) *ExportSnapshotRecord { s.ResourceType = &v return s } -// SetSizeInGb sets the SizeInGb field's value. -func (s *DiskSnapshot) SetSizeInGb(v int64) *DiskSnapshot { - s.SizeInGb = &v +// SetSourceInfo sets the SourceInfo field's value. +func (s *ExportSnapshotRecord) SetSourceInfo(v *ExportSnapshotRecordSourceInfo) *ExportSnapshotRecord { + s.SourceInfo = v return s } // SetState sets the State field's value. -func (s *DiskSnapshot) SetState(v string) *DiskSnapshot { +func (s *ExportSnapshotRecord) SetState(v string) *ExportSnapshotRecord { s.State = &v return s } -// SetSupportCode sets the SupportCode field's value. -func (s *DiskSnapshot) SetSupportCode(v string) *DiskSnapshot { - s.SupportCode = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *DiskSnapshot) SetTags(v []*Tag) *DiskSnapshot { - s.Tags = v - return s -} - -// Describes a disk snapshot. -type DiskSnapshotInfo struct { - _ struct{} `type:"structure"` - - // The size of the disk in GB (e.g., 32). - SizeInGb *int64 `locationName:"sizeInGb" type:"integer"` -} - -// String returns the string representation -func (s DiskSnapshotInfo) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DiskSnapshotInfo) GoString() string { - return s.String() -} - -// SetSizeInGb sets the SizeInGb field's value. -func (s *DiskSnapshotInfo) SetSizeInGb(v int64) *DiskSnapshotInfo { - s.SizeInGb = &v - return s -} - -// Describes a domain where you are storing recordsets in Lightsail. -type Domain struct { +// Describes the source of an export snapshot record. +type ExportSnapshotRecordSourceInfo struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the domain recordset (e.g., arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE). + // The Amazon Resource Name (ARN) of the source instance or disk snapshot. Arn *string `locationName:"arn" type:"string"` - // The date when the domain recordset was created. + // The date when the source instance or disk snapshot was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - // An array of key-value pairs containing information about the domain entries. - DomainEntries []*DomainEntry `locationName:"domainEntries" type:"list"` + // A list of objects describing a disk snapshot. + DiskSnapshotInfo *DiskSnapshotInfo `locationName:"diskSnapshotInfo" type:"structure"` - // The AWS Region and Availability Zones where the domain recordset was created. - Location *ResourceLocation `locationName:"location" type:"structure"` + // The Amazon Resource Name (ARN) of the snapshot's source instance or disk. + FromResourceArn *string `locationName:"fromResourceArn" type:"string"` - // The name of the domain. - Name *string `locationName:"name" type:"string"` + // The name of the snapshot's source instance or disk. + FromResourceName *string `locationName:"fromResourceName" type:"string"` - // The resource type. - ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + // A list of objects describing an instance snapshot. + InstanceSnapshotInfo *InstanceSnapshotInfo `locationName:"instanceSnapshotInfo" type:"structure"` - // The support code. Include this code in your email to support when you have - // questions about an instance or another resource in Lightsail. This code enables - // our support team to look up your Lightsail information more easily. - SupportCode *string `locationName:"supportCode" type:"string"` + // The name of the source instance or disk snapshot. + Name *string `locationName:"name" type:"string"` - // The tag keys and optional values for the resource. For more information about - // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). - Tags []*Tag `locationName:"tags" type:"list"` + // The Lightsail resource type (e.g., InstanceSnapshot or DiskSnapshot). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ExportSnapshotRecordSourceType"` } // String returns the string representation -func (s Domain) String() string { +func (s ExportSnapshotRecordSourceInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Domain) GoString() string { +func (s ExportSnapshotRecordSourceInfo) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *Domain) SetArn(v string) *Domain { +func (s *ExportSnapshotRecordSourceInfo) SetArn(v string) *ExportSnapshotRecordSourceInfo { s.Arn = &v return s } // SetCreatedAt sets the CreatedAt field's value. -func (s *Domain) SetCreatedAt(v time.Time) *Domain { +func (s *ExportSnapshotRecordSourceInfo) SetCreatedAt(v time.Time) *ExportSnapshotRecordSourceInfo { s.CreatedAt = &v return s } -// SetDomainEntries sets the DomainEntries field's value. -func (s *Domain) SetDomainEntries(v []*DomainEntry) *Domain { - s.DomainEntries = v +// SetDiskSnapshotInfo sets the DiskSnapshotInfo field's value. +func (s *ExportSnapshotRecordSourceInfo) SetDiskSnapshotInfo(v *DiskSnapshotInfo) *ExportSnapshotRecordSourceInfo { + s.DiskSnapshotInfo = v return s } -// SetLocation sets the Location field's value. -func (s *Domain) SetLocation(v *ResourceLocation) *Domain { - s.Location = v +// SetFromResourceArn sets the FromResourceArn field's value. +func (s *ExportSnapshotRecordSourceInfo) SetFromResourceArn(v string) *ExportSnapshotRecordSourceInfo { + s.FromResourceArn = &v return s } -// SetName sets the Name field's value. -func (s *Domain) SetName(v string) *Domain { - s.Name = &v +// SetFromResourceName sets the FromResourceName field's value. +func (s *ExportSnapshotRecordSourceInfo) SetFromResourceName(v string) *ExportSnapshotRecordSourceInfo { + s.FromResourceName = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *Domain) SetResourceType(v string) *Domain { - s.ResourceType = &v +// SetInstanceSnapshotInfo sets the InstanceSnapshotInfo field's value. +func (s *ExportSnapshotRecordSourceInfo) SetInstanceSnapshotInfo(v *InstanceSnapshotInfo) *ExportSnapshotRecordSourceInfo { + s.InstanceSnapshotInfo = v return s } -// SetSupportCode sets the SupportCode field's value. -func (s *Domain) SetSupportCode(v string) *Domain { - s.SupportCode = &v +// SetName sets the Name field's value. +func (s *ExportSnapshotRecordSourceInfo) SetName(v string) *ExportSnapshotRecordSourceInfo { + s.Name = &v return s } -// SetTags sets the Tags field's value. -func (s *Domain) SetTags(v []*Tag) *Domain { - s.Tags = v +// SetResourceType sets the ResourceType field's value. +func (s *ExportSnapshotRecordSourceInfo) SetResourceType(v string) *ExportSnapshotRecordSourceInfo { + s.ResourceType = &v return s } -// Describes a domain recordset entry. -type DomainEntry struct { +type GetActiveNamesInput struct { _ struct{} `type:"structure"` - // The ID of the domain recordset entry. - Id *string `locationName:"id" type:"string"` - - // When true, specifies whether the domain entry is an alias used by the Lightsail - // load balancer. You can include an alias (A type) record in your request, - // which points to a load balancer DNS name and routes traffic to your load - // balancer - IsAlias *bool `locationName:"isAlias" type:"boolean"` - - // The name of the domain. - Name *string `locationName:"name" type:"string"` - - // (Deprecated) The options for the domain entry. - // - // In releases prior to November 29, 2017, this parameter was not included in - // the API response. It is now deprecated. - // - // Deprecated: Options has been deprecated - Options map[string]*string `locationName:"options" deprecated:"true" type:"map"` - - // The target AWS name server (e.g., ns-111.awsdns-22.com.). - // - // For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com. - // Be sure to also set isAlias to true when setting up an A record for a load - // balancer. - Target *string `locationName:"target" type:"string"` - - // The type of domain entry, such as address (A), canonical name (CNAME), mail - // exchanger (MX), name server (NS), start of authority (SOA), service locator - // (SRV), or text (TXT). - // - // The following domain entry types can be used: - // - // * A - // - // * CNAME - // - // * MX - // - // * NS - // - // * SOA - // - // * SRV + // The token to advance to the next page of results from your request. // - // * TXT - Type *string `locationName:"type" type:"string"` + // To get a page token, perform an initial GetActiveNames request. If your results + // are paginated, the response will return a next page token that you can specify + // as the page token in a subsequent request. + PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s DomainEntry) String() string { +func (s GetActiveNamesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DomainEntry) GoString() string { +func (s GetActiveNamesInput) GoString() string { return s.String() } -// SetId sets the Id field's value. -func (s *DomainEntry) SetId(v string) *DomainEntry { - s.Id = &v +// SetPageToken sets the PageToken field's value. +func (s *GetActiveNamesInput) SetPageToken(v string) *GetActiveNamesInput { + s.PageToken = &v return s } -// SetIsAlias sets the IsAlias field's value. -func (s *DomainEntry) SetIsAlias(v bool) *DomainEntry { - s.IsAlias = &v - return s +type GetActiveNamesOutput struct { + _ struct{} `type:"structure"` + + // The list of active names returned by the get active names request. + ActiveNames []*string `locationName:"activeNames" type:"list"` + + // The token to advance to the next page of resutls from your request. + // + // A next page token is not returned if there are no more results to display. + // + // To get the next page of results, perform another GetActiveNames request and + // specify the next page token using the pageToken parameter. + NextPageToken *string `locationName:"nextPageToken" type:"string"` } -// SetName sets the Name field's value. -func (s *DomainEntry) SetName(v string) *DomainEntry { - s.Name = &v - return s +// String returns the string representation +func (s GetActiveNamesOutput) String() string { + return awsutil.Prettify(s) } -// SetOptions sets the Options field's value. -func (s *DomainEntry) SetOptions(v map[string]*string) *DomainEntry { - s.Options = v - return s +// GoString returns the string representation +func (s GetActiveNamesOutput) GoString() string { + return s.String() } -// SetTarget sets the Target field's value. -func (s *DomainEntry) SetTarget(v string) *DomainEntry { - s.Target = &v +// SetActiveNames sets the ActiveNames field's value. +func (s *GetActiveNamesOutput) SetActiveNames(v []*string) *GetActiveNamesOutput { + s.ActiveNames = v return s } -// SetType sets the Type field's value. -func (s *DomainEntry) SetType(v string) *DomainEntry { - s.Type = &v +// SetNextPageToken sets the NextPageToken field's value. +func (s *GetActiveNamesOutput) SetNextPageToken(v string) *GetActiveNamesOutput { + s.NextPageToken = &v return s } -type DownloadDefaultKeyPairInput struct { +type GetAlarmsInput struct { _ struct{} `type:"structure"` + + // The name of the alarm. + // + // Specify an alarm name to return information about a specific alarm. + AlarmName *string `locationName:"alarmName" type:"string"` + + // The name of the Lightsail resource being monitored by the alarm. + // + // Specify a monitored resource name to return information about all alarms + // for a specific resource. + MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string"` + + // The token to advance to the next page of results from your request. + // + // To get a page token, perform an initial GetAlarms request. If your results + // are paginated, the response will return a next page token that you can specify + // as the page token in a subsequent request. + PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s DownloadDefaultKeyPairInput) String() string { +func (s GetAlarmsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DownloadDefaultKeyPairInput) GoString() string { +func (s GetAlarmsInput) GoString() string { return s.String() } -type DownloadDefaultKeyPairOutput struct { +// SetAlarmName sets the AlarmName field's value. +func (s *GetAlarmsInput) SetAlarmName(v string) *GetAlarmsInput { + s.AlarmName = &v + return s +} + +// SetMonitoredResourceName sets the MonitoredResourceName field's value. +func (s *GetAlarmsInput) SetMonitoredResourceName(v string) *GetAlarmsInput { + s.MonitoredResourceName = &v + return s +} + +// SetPageToken sets the PageToken field's value. +func (s *GetAlarmsInput) SetPageToken(v string) *GetAlarmsInput { + s.PageToken = &v + return s +} + +type GetAlarmsOutput struct { _ struct{} `type:"structure"` - // A base64-encoded RSA private key. - PrivateKeyBase64 *string `locationName:"privateKeyBase64" type:"string"` + // An array of objects that describe the alarms. + Alarms []*Alarm `locationName:"alarms" type:"list"` - // A base64-encoded public key of the ssh-rsa type. - PublicKeyBase64 *string `locationName:"publicKeyBase64" type:"string"` + // The token to advance to the next page of resutls from your request. + // + // A next page token is not returned if there are no more results to display. + // + // To get the next page of results, perform another GetAlarms request and specify + // the next page token using the pageToken parameter. + NextPageToken *string `locationName:"nextPageToken" type:"string"` } // String returns the string representation -func (s DownloadDefaultKeyPairOutput) String() string { +func (s GetAlarmsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DownloadDefaultKeyPairOutput) GoString() string { +func (s GetAlarmsOutput) GoString() string { return s.String() } -// SetPrivateKeyBase64 sets the PrivateKeyBase64 field's value. -func (s *DownloadDefaultKeyPairOutput) SetPrivateKeyBase64(v string) *DownloadDefaultKeyPairOutput { - s.PrivateKeyBase64 = &v +// SetAlarms sets the Alarms field's value. +func (s *GetAlarmsOutput) SetAlarms(v []*Alarm) *GetAlarmsOutput { + s.Alarms = v return s } -// SetPublicKeyBase64 sets the PublicKeyBase64 field's value. -func (s *DownloadDefaultKeyPairOutput) SetPublicKeyBase64(v string) *DownloadDefaultKeyPairOutput { - s.PublicKeyBase64 = &v +// SetNextPageToken sets the NextPageToken field's value. +func (s *GetAlarmsOutput) SetNextPageToken(v string) *GetAlarmsOutput { + s.NextPageToken = &v return s } -type EnableAddOnInput struct { +type GetAutoSnapshotsInput struct { _ struct{} `type:"structure"` - // An array of strings representing the add-on to enable or modify. - // - // AddOnRequest is a required field - AddOnRequest *AddOnRequest `locationName:"addOnRequest" type:"structure" required:"true"` - - // The name of the source resource for which to enable or modify the add-on. + // The name of the source instance or disk from which to get automatic snapshot + // information. // // ResourceName is a required field ResourceName *string `locationName:"resourceName" type:"string" required:"true"` } // String returns the string representation -func (s EnableAddOnInput) String() string { +func (s GetAutoSnapshotsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EnableAddOnInput) GoString() string { +func (s GetAutoSnapshotsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EnableAddOnInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EnableAddOnInput"} - if s.AddOnRequest == nil { - invalidParams.Add(request.NewErrParamRequired("AddOnRequest")) - } +func (s *GetAutoSnapshotsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAutoSnapshotsInput"} if s.ResourceName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceName")) } - if s.AddOnRequest != nil { - if err := s.AddOnRequest.Validate(); err != nil { - invalidParams.AddNested("AddOnRequest", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -18219,457 +21394,416 @@ func (s *EnableAddOnInput) Validate() error { return nil } -// SetAddOnRequest sets the AddOnRequest field's value. -func (s *EnableAddOnInput) SetAddOnRequest(v *AddOnRequest) *EnableAddOnInput { - s.AddOnRequest = v - return s -} - // SetResourceName sets the ResourceName field's value. -func (s *EnableAddOnInput) SetResourceName(v string) *EnableAddOnInput { +func (s *GetAutoSnapshotsInput) SetResourceName(v string) *GetAutoSnapshotsInput { s.ResourceName = &v return s } -type EnableAddOnOutput struct { +type GetAutoSnapshotsOutput struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + // An array of objects that describe the automatic snapshots that are available + // for the specified source instance or disk. + AutoSnapshots []*AutoSnapshotDetails `locationName:"autoSnapshots" type:"list"` + + // The name of the source instance or disk for the automatic snapshots. + ResourceName *string `locationName:"resourceName" type:"string"` + + // The resource type (e.g., Instance or Disk). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` } // String returns the string representation -func (s EnableAddOnOutput) String() string { +func (s GetAutoSnapshotsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EnableAddOnOutput) GoString() string { +func (s GetAutoSnapshotsOutput) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *EnableAddOnOutput) SetOperations(v []*Operation) *EnableAddOnOutput { - s.Operations = v +// SetAutoSnapshots sets the AutoSnapshots field's value. +func (s *GetAutoSnapshotsOutput) SetAutoSnapshots(v []*AutoSnapshotDetails) *GetAutoSnapshotsOutput { + s.AutoSnapshots = v return s } -type ExportSnapshotInput struct { +// SetResourceName sets the ResourceName field's value. +func (s *GetAutoSnapshotsOutput) SetResourceName(v string) *GetAutoSnapshotsOutput { + s.ResourceName = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *GetAutoSnapshotsOutput) SetResourceType(v string) *GetAutoSnapshotsOutput { + s.ResourceType = &v + return s +} + +type GetBlueprintsInput struct { _ struct{} `type:"structure"` - // The name of the instance or disk snapshot to be exported to Amazon EC2. + // A Boolean value indicating whether to include inactive results in your request. + IncludeInactive *bool `locationName:"includeInactive" type:"boolean"` + + // The token to advance to the next page of results from your request. // - // SourceSnapshotName is a required field - SourceSnapshotName *string `locationName:"sourceSnapshotName" type:"string" required:"true"` + // To get a page token, perform an initial GetBlueprints request. If your results + // are paginated, the response will return a next page token that you can specify + // as the page token in a subsequent request. + PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s ExportSnapshotInput) String() string { +func (s GetBlueprintsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportSnapshotInput) GoString() string { +func (s GetBlueprintsInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ExportSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ExportSnapshotInput"} - if s.SourceSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetIncludeInactive sets the IncludeInactive field's value. +func (s *GetBlueprintsInput) SetIncludeInactive(v bool) *GetBlueprintsInput { + s.IncludeInactive = &v + return s } -// SetSourceSnapshotName sets the SourceSnapshotName field's value. -func (s *ExportSnapshotInput) SetSourceSnapshotName(v string) *ExportSnapshotInput { - s.SourceSnapshotName = &v +// SetPageToken sets the PageToken field's value. +func (s *GetBlueprintsInput) SetPageToken(v string) *GetBlueprintsInput { + s.PageToken = &v return s } -type ExportSnapshotOutput struct { +type GetBlueprintsOutput struct { _ struct{} `type:"structure"` - // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected - // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + // An array of key-value pairs that contains information about the available + // blueprints. + Blueprints []*Blueprint `locationName:"blueprints" type:"list"` + + // The token to advance to the next page of resutls from your request. + // + // A next page token is not returned if there are no more results to display. + // + // To get the next page of results, perform another GetBlueprints request and + // specify the next page token using the pageToken parameter. + NextPageToken *string `locationName:"nextPageToken" type:"string"` } // String returns the string representation -func (s ExportSnapshotOutput) String() string { +func (s GetBlueprintsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportSnapshotOutput) GoString() string { +func (s GetBlueprintsOutput) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *ExportSnapshotOutput) SetOperations(v []*Operation) *ExportSnapshotOutput { - s.Operations = v +// SetBlueprints sets the Blueprints field's value. +func (s *GetBlueprintsOutput) SetBlueprints(v []*Blueprint) *GetBlueprintsOutput { + s.Blueprints = v return s } -// Describes an export snapshot record. -type ExportSnapshotRecord struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the export snapshot record. - Arn *string `locationName:"arn" type:"string"` - - // The date when the export snapshot record was created. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - - // A list of objects describing the destination of the export snapshot record. - DestinationInfo *DestinationInfo `locationName:"destinationInfo" type:"structure"` - - // The AWS Region and Availability Zone where the export snapshot record is - // located. - Location *ResourceLocation `locationName:"location" type:"structure"` - - // The export snapshot record name. - Name *string `locationName:"name" type:"string"` +// SetNextPageToken sets the NextPageToken field's value. +func (s *GetBlueprintsOutput) SetNextPageToken(v string) *GetBlueprintsOutput { + s.NextPageToken = &v + return s +} - // The Lightsail resource type (e.g., ExportSnapshotRecord). - ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` +type GetBundlesInput struct { + _ struct{} `type:"structure"` - // A list of objects describing the source of the export snapshot record. - SourceInfo *ExportSnapshotRecordSourceInfo `locationName:"sourceInfo" type:"structure"` + // A Boolean value that indicates whether to include inactive bundle results + // in your request. + IncludeInactive *bool `locationName:"includeInactive" type:"boolean"` - // The state of the export snapshot record. - State *string `locationName:"state" type:"string" enum:"RecordState"` + // The token to advance to the next page of results from your request. + // + // To get a page token, perform an initial GetBundles request. If your results + // are paginated, the response will return a next page token that you can specify + // as the page token in a subsequent request. + PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s ExportSnapshotRecord) String() string { +func (s GetBundlesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportSnapshotRecord) GoString() string { +func (s GetBundlesInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ExportSnapshotRecord) SetArn(v string) *ExportSnapshotRecord { - s.Arn = &v +// SetIncludeInactive sets the IncludeInactive field's value. +func (s *GetBundlesInput) SetIncludeInactive(v bool) *GetBundlesInput { + s.IncludeInactive = &v return s } -// SetCreatedAt sets the CreatedAt field's value. -func (s *ExportSnapshotRecord) SetCreatedAt(v time.Time) *ExportSnapshotRecord { - s.CreatedAt = &v +// SetPageToken sets the PageToken field's value. +func (s *GetBundlesInput) SetPageToken(v string) *GetBundlesInput { + s.PageToken = &v return s } -// SetDestinationInfo sets the DestinationInfo field's value. -func (s *ExportSnapshotRecord) SetDestinationInfo(v *DestinationInfo) *ExportSnapshotRecord { - s.DestinationInfo = v - return s -} +type GetBundlesOutput struct { + _ struct{} `type:"structure"` -// SetLocation sets the Location field's value. -func (s *ExportSnapshotRecord) SetLocation(v *ResourceLocation) *ExportSnapshotRecord { - s.Location = v - return s + // An array of key-value pairs that contains information about the available + // bundles. + Bundles []*Bundle `locationName:"bundles" type:"list"` + + // The token to advance to the next page of resutls from your request. + // + // A next page token is not returned if there are no more results to display. + // + // To get the next page of results, perform another GetBundles request and specify + // the next page token using the pageToken parameter. + NextPageToken *string `locationName:"nextPageToken" type:"string"` } -// SetName sets the Name field's value. -func (s *ExportSnapshotRecord) SetName(v string) *ExportSnapshotRecord { - s.Name = &v - return s +// String returns the string representation +func (s GetBundlesOutput) String() string { + return awsutil.Prettify(s) } -// SetResourceType sets the ResourceType field's value. -func (s *ExportSnapshotRecord) SetResourceType(v string) *ExportSnapshotRecord { - s.ResourceType = &v - return s +// GoString returns the string representation +func (s GetBundlesOutput) GoString() string { + return s.String() } -// SetSourceInfo sets the SourceInfo field's value. -func (s *ExportSnapshotRecord) SetSourceInfo(v *ExportSnapshotRecordSourceInfo) *ExportSnapshotRecord { - s.SourceInfo = v +// SetBundles sets the Bundles field's value. +func (s *GetBundlesOutput) SetBundles(v []*Bundle) *GetBundlesOutput { + s.Bundles = v return s } -// SetState sets the State field's value. -func (s *ExportSnapshotRecord) SetState(v string) *ExportSnapshotRecord { - s.State = &v +// SetNextPageToken sets the NextPageToken field's value. +func (s *GetBundlesOutput) SetNextPageToken(v string) *GetBundlesOutput { + s.NextPageToken = &v return s } -// Describes the source of an export snapshot record. -type ExportSnapshotRecordSourceInfo struct { +type GetCertificatesInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the source instance or disk snapshot. - Arn *string `locationName:"arn" type:"string"` - - // The date when the source instance or disk snapshot was created. - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - - // A list of objects describing a disk snapshot. - DiskSnapshotInfo *DiskSnapshotInfo `locationName:"diskSnapshotInfo" type:"structure"` - - // The Amazon Resource Name (ARN) of the snapshot's source instance or disk. - FromResourceArn *string `locationName:"fromResourceArn" type:"string"` - - // The name of the snapshot's source instance or disk. - FromResourceName *string `locationName:"fromResourceName" type:"string"` - - // A list of objects describing an instance snapshot. - InstanceSnapshotInfo *InstanceSnapshotInfo `locationName:"instanceSnapshotInfo" type:"structure"` + // The name for the certificate for which to return information. + // + // When omitted, the response includes all of your certificates in the AWS region + // where the request is made. + CertificateName *string `locationName:"certificateName" type:"string"` - // The name of the source instance or disk snapshot. - Name *string `locationName:"name" type:"string"` + // The status of the certificates for which to return information. + // + // For example, specify ISSUED to return only certificates with an ISSUED status. + // + // When omitted, the response includes all of your certificates in the AWS region + // where the request is made, regardless of their current status. + CertificateStatuses []*string `locationName:"certificateStatuses" type:"list"` - // The Lightsail resource type (e.g., InstanceSnapshot or DiskSnapshot). - ResourceType *string `locationName:"resourceType" type:"string" enum:"ExportSnapshotRecordSourceType"` + // Indicates whether to include detailed information about the certificates + // in the response. + // + // When omitted, the response includes only the certificate names, Amazon Resource + // Names (ARNs), domain names, and tags. + IncludeCertificateDetails *bool `locationName:"includeCertificateDetails" type:"boolean"` } // String returns the string representation -func (s ExportSnapshotRecordSourceInfo) String() string { +func (s GetCertificatesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportSnapshotRecordSourceInfo) GoString() string { +func (s GetCertificatesInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ExportSnapshotRecordSourceInfo) SetArn(v string) *ExportSnapshotRecordSourceInfo { - s.Arn = &v +// SetCertificateName sets the CertificateName field's value. +func (s *GetCertificatesInput) SetCertificateName(v string) *GetCertificatesInput { + s.CertificateName = &v return s } -// SetCreatedAt sets the CreatedAt field's value. -func (s *ExportSnapshotRecordSourceInfo) SetCreatedAt(v time.Time) *ExportSnapshotRecordSourceInfo { - s.CreatedAt = &v +// SetCertificateStatuses sets the CertificateStatuses field's value. +func (s *GetCertificatesInput) SetCertificateStatuses(v []*string) *GetCertificatesInput { + s.CertificateStatuses = v return s } -// SetDiskSnapshotInfo sets the DiskSnapshotInfo field's value. -func (s *ExportSnapshotRecordSourceInfo) SetDiskSnapshotInfo(v *DiskSnapshotInfo) *ExportSnapshotRecordSourceInfo { - s.DiskSnapshotInfo = v +// SetIncludeCertificateDetails sets the IncludeCertificateDetails field's value. +func (s *GetCertificatesInput) SetIncludeCertificateDetails(v bool) *GetCertificatesInput { + s.IncludeCertificateDetails = &v return s } -// SetFromResourceArn sets the FromResourceArn field's value. -func (s *ExportSnapshotRecordSourceInfo) SetFromResourceArn(v string) *ExportSnapshotRecordSourceInfo { - s.FromResourceArn = &v - return s -} +type GetCertificatesOutput struct { + _ struct{} `type:"structure"` -// SetFromResourceName sets the FromResourceName field's value. -func (s *ExportSnapshotRecordSourceInfo) SetFromResourceName(v string) *ExportSnapshotRecordSourceInfo { - s.FromResourceName = &v - return s + // An object that describes certificates. + Certificates []*CertificateSummary `locationName:"certificates" type:"list"` } -// SetInstanceSnapshotInfo sets the InstanceSnapshotInfo field's value. -func (s *ExportSnapshotRecordSourceInfo) SetInstanceSnapshotInfo(v *InstanceSnapshotInfo) *ExportSnapshotRecordSourceInfo { - s.InstanceSnapshotInfo = v - return s +// String returns the string representation +func (s GetCertificatesOutput) String() string { + return awsutil.Prettify(s) } -// SetName sets the Name field's value. -func (s *ExportSnapshotRecordSourceInfo) SetName(v string) *ExportSnapshotRecordSourceInfo { - s.Name = &v - return s +// GoString returns the string representation +func (s GetCertificatesOutput) GoString() string { + return s.String() } -// SetResourceType sets the ResourceType field's value. -func (s *ExportSnapshotRecordSourceInfo) SetResourceType(v string) *ExportSnapshotRecordSourceInfo { - s.ResourceType = &v +// SetCertificates sets the Certificates field's value. +func (s *GetCertificatesOutput) SetCertificates(v []*CertificateSummary) *GetCertificatesOutput { + s.Certificates = v return s } -type GetActiveNamesInput struct { +type GetCloudFormationStackRecordsInput struct { _ struct{} `type:"structure"` // The token to advance to the next page of results from your request. // - // To get a page token, perform an initial GetActiveNames request. If your results - // are paginated, the response will return a next page token that you can specify - // as the page token in a subsequent request. + // To get a page token, perform an initial GetClouFormationStackRecords request. + // If your results are paginated, the response will return a next page token + // that you can specify as the page token in a subsequent request. PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s GetActiveNamesInput) String() string { +func (s GetCloudFormationStackRecordsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetActiveNamesInput) GoString() string { +func (s GetCloudFormationStackRecordsInput) GoString() string { return s.String() } // SetPageToken sets the PageToken field's value. -func (s *GetActiveNamesInput) SetPageToken(v string) *GetActiveNamesInput { +func (s *GetCloudFormationStackRecordsInput) SetPageToken(v string) *GetCloudFormationStackRecordsInput { s.PageToken = &v return s } -type GetActiveNamesOutput struct { +type GetCloudFormationStackRecordsOutput struct { _ struct{} `type:"structure"` - // The list of active names returned by the get active names request. - ActiveNames []*string `locationName:"activeNames" type:"list"` + // A list of objects describing the CloudFormation stack records. + CloudFormationStackRecords []*CloudFormationStackRecord `locationName:"cloudFormationStackRecords" type:"list"` // The token to advance to the next page of resutls from your request. // // A next page token is not returned if there are no more results to display. // - // To get the next page of results, perform another GetActiveNames request and - // specify the next page token using the pageToken parameter. + // To get the next page of results, perform another GetCloudFormationStackRecords + // request and specify the next page token using the pageToken parameter. NextPageToken *string `locationName:"nextPageToken" type:"string"` } // String returns the string representation -func (s GetActiveNamesOutput) String() string { +func (s GetCloudFormationStackRecordsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetActiveNamesOutput) GoString() string { +func (s GetCloudFormationStackRecordsOutput) GoString() string { return s.String() } -// SetActiveNames sets the ActiveNames field's value. -func (s *GetActiveNamesOutput) SetActiveNames(v []*string) *GetActiveNamesOutput { - s.ActiveNames = v +// SetCloudFormationStackRecords sets the CloudFormationStackRecords field's value. +func (s *GetCloudFormationStackRecordsOutput) SetCloudFormationStackRecords(v []*CloudFormationStackRecord) *GetCloudFormationStackRecordsOutput { + s.CloudFormationStackRecords = v return s } // SetNextPageToken sets the NextPageToken field's value. -func (s *GetActiveNamesOutput) SetNextPageToken(v string) *GetActiveNamesOutput { +func (s *GetCloudFormationStackRecordsOutput) SetNextPageToken(v string) *GetCloudFormationStackRecordsOutput { s.NextPageToken = &v return s } -type GetAlarmsInput struct { +type GetContactMethodsInput struct { _ struct{} `type:"structure"` - // The name of the alarm. - // - // Specify an alarm name to return information about a specific alarm. - AlarmName *string `locationName:"alarmName" type:"string"` - - // The name of the Lightsail resource being monitored by the alarm. - // - // Specify a monitored resource name to return information about all alarms - // for a specific resource. - MonitoredResourceName *string `locationName:"monitoredResourceName" type:"string"` - - // The token to advance to the next page of results from your request. + // The protocols used to send notifications, such as Email, or SMS (text messaging). // - // To get a page token, perform an initial GetAlarms request. If your results - // are paginated, the response will return a next page token that you can specify - // as the page token in a subsequent request. - PageToken *string `locationName:"pageToken" type:"string"` + // Specify a protocol in your request to return information about a specific + // contact method protocol. + Protocols []*string `locationName:"protocols" type:"list"` } // String returns the string representation -func (s GetAlarmsInput) String() string { +func (s GetContactMethodsInput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s GetAlarmsInput) GoString() string { - return s.String() -} - -// SetAlarmName sets the AlarmName field's value. -func (s *GetAlarmsInput) SetAlarmName(v string) *GetAlarmsInput { - s.AlarmName = &v - return s -} - -// SetMonitoredResourceName sets the MonitoredResourceName field's value. -func (s *GetAlarmsInput) SetMonitoredResourceName(v string) *GetAlarmsInput { - s.MonitoredResourceName = &v - return s +// GoString returns the string representation +func (s GetContactMethodsInput) GoString() string { + return s.String() } -// SetPageToken sets the PageToken field's value. -func (s *GetAlarmsInput) SetPageToken(v string) *GetAlarmsInput { - s.PageToken = &v +// SetProtocols sets the Protocols field's value. +func (s *GetContactMethodsInput) SetProtocols(v []*string) *GetContactMethodsInput { + s.Protocols = v return s } -type GetAlarmsOutput struct { +type GetContactMethodsOutput struct { _ struct{} `type:"structure"` - // An array of objects that describe the alarms. - Alarms []*Alarm `locationName:"alarms" type:"list"` - - // The token to advance to the next page of resutls from your request. - // - // A next page token is not returned if there are no more results to display. - // - // To get the next page of results, perform another GetAlarms request and specify - // the next page token using the pageToken parameter. - NextPageToken *string `locationName:"nextPageToken" type:"string"` + // An array of objects that describe the contact methods. + ContactMethods []*ContactMethod `locationName:"contactMethods" type:"list"` } // String returns the string representation -func (s GetAlarmsOutput) String() string { +func (s GetContactMethodsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAlarmsOutput) GoString() string { +func (s GetContactMethodsOutput) GoString() string { return s.String() } -// SetAlarms sets the Alarms field's value. -func (s *GetAlarmsOutput) SetAlarms(v []*Alarm) *GetAlarmsOutput { - s.Alarms = v - return s -} - -// SetNextPageToken sets the NextPageToken field's value. -func (s *GetAlarmsOutput) SetNextPageToken(v string) *GetAlarmsOutput { - s.NextPageToken = &v +// SetContactMethods sets the ContactMethods field's value. +func (s *GetContactMethodsOutput) SetContactMethods(v []*ContactMethod) *GetContactMethodsOutput { + s.ContactMethods = v return s } -type GetAutoSnapshotsInput struct { +type GetDiskInput struct { _ struct{} `type:"structure"` - // The name of the source instance or disk from which to get automatic snapshot - // information. + // The name of the disk (e.g., my-disk). // - // ResourceName is a required field - ResourceName *string `locationName:"resourceName" type:"string" required:"true"` + // DiskName is a required field + DiskName *string `locationName:"diskName" type:"string" required:"true"` } // String returns the string representation -func (s GetAutoSnapshotsInput) String() string { +func (s GetDiskInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAutoSnapshotsInput) GoString() string { +func (s GetDiskInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetAutoSnapshotsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetAutoSnapshotsInput"} - if s.ResourceName == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceName")) +func (s *GetDiskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDiskInput"} + if s.DiskName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskName")) } if invalidParams.Len() > 0 { @@ -18678,401 +21812,479 @@ func (s *GetAutoSnapshotsInput) Validate() error { return nil } -// SetResourceName sets the ResourceName field's value. -func (s *GetAutoSnapshotsInput) SetResourceName(v string) *GetAutoSnapshotsInput { - s.ResourceName = &v +// SetDiskName sets the DiskName field's value. +func (s *GetDiskInput) SetDiskName(v string) *GetDiskInput { + s.DiskName = &v return s } -type GetAutoSnapshotsOutput struct { +type GetDiskOutput struct { _ struct{} `type:"structure"` - // An array of objects that describe the automatic snapshots that are available - // for the specified source instance or disk. - AutoSnapshots []*AutoSnapshotDetails `locationName:"autoSnapshots" type:"list"` - - // The name of the source instance or disk for the automatic snapshots. - ResourceName *string `locationName:"resourceName" type:"string"` - - // The resource type (e.g., Instance or Disk). - ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + // An object containing information about the disk. + Disk *Disk `locationName:"disk" type:"structure"` } // String returns the string representation -func (s GetAutoSnapshotsOutput) String() string { +func (s GetDiskOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetAutoSnapshotsOutput) GoString() string { +func (s GetDiskOutput) GoString() string { return s.String() } -// SetAutoSnapshots sets the AutoSnapshots field's value. -func (s *GetAutoSnapshotsOutput) SetAutoSnapshots(v []*AutoSnapshotDetails) *GetAutoSnapshotsOutput { - s.AutoSnapshots = v - return s -} - -// SetResourceName sets the ResourceName field's value. -func (s *GetAutoSnapshotsOutput) SetResourceName(v string) *GetAutoSnapshotsOutput { - s.ResourceName = &v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *GetAutoSnapshotsOutput) SetResourceType(v string) *GetAutoSnapshotsOutput { - s.ResourceType = &v +// SetDisk sets the Disk field's value. +func (s *GetDiskOutput) SetDisk(v *Disk) *GetDiskOutput { + s.Disk = v return s } -type GetBlueprintsInput struct { +type GetDiskSnapshotInput struct { _ struct{} `type:"structure"` - // A Boolean value indicating whether to include inactive results in your request. - IncludeInactive *bool `locationName:"includeInactive" type:"boolean"` - - // The token to advance to the next page of results from your request. + // The name of the disk snapshot (e.g., my-disk-snapshot). // - // To get a page token, perform an initial GetBlueprints request. If your results - // are paginated, the response will return a next page token that you can specify - // as the page token in a subsequent request. - PageToken *string `locationName:"pageToken" type:"string"` + // DiskSnapshotName is a required field + DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"` } // String returns the string representation -func (s GetBlueprintsInput) String() string { +func (s GetDiskSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetBlueprintsInput) GoString() string { +func (s GetDiskSnapshotInput) GoString() string { return s.String() } -// SetIncludeInactive sets the IncludeInactive field's value. -func (s *GetBlueprintsInput) SetIncludeInactive(v bool) *GetBlueprintsInput { - s.IncludeInactive = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDiskSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDiskSnapshotInput"} + if s.DiskSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetPageToken sets the PageToken field's value. -func (s *GetBlueprintsInput) SetPageToken(v string) *GetBlueprintsInput { - s.PageToken = &v +// SetDiskSnapshotName sets the DiskSnapshotName field's value. +func (s *GetDiskSnapshotInput) SetDiskSnapshotName(v string) *GetDiskSnapshotInput { + s.DiskSnapshotName = &v return s } -type GetBlueprintsOutput struct { +type GetDiskSnapshotOutput struct { _ struct{} `type:"structure"` - // An array of key-value pairs that contains information about the available - // blueprints. - Blueprints []*Blueprint `locationName:"blueprints" type:"list"` - - // The token to advance to the next page of resutls from your request. - // - // A next page token is not returned if there are no more results to display. - // - // To get the next page of results, perform another GetBlueprints request and - // specify the next page token using the pageToken parameter. - NextPageToken *string `locationName:"nextPageToken" type:"string"` + // An object containing information about the disk snapshot. + DiskSnapshot *DiskSnapshot `locationName:"diskSnapshot" type:"structure"` } // String returns the string representation -func (s GetBlueprintsOutput) String() string { +func (s GetDiskSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetBlueprintsOutput) GoString() string { +func (s GetDiskSnapshotOutput) GoString() string { return s.String() } -// SetBlueprints sets the Blueprints field's value. -func (s *GetBlueprintsOutput) SetBlueprints(v []*Blueprint) *GetBlueprintsOutput { - s.Blueprints = v - return s -} - -// SetNextPageToken sets the NextPageToken field's value. -func (s *GetBlueprintsOutput) SetNextPageToken(v string) *GetBlueprintsOutput { - s.NextPageToken = &v +// SetDiskSnapshot sets the DiskSnapshot field's value. +func (s *GetDiskSnapshotOutput) SetDiskSnapshot(v *DiskSnapshot) *GetDiskSnapshotOutput { + s.DiskSnapshot = v return s } -type GetBundlesInput struct { +type GetDiskSnapshotsInput struct { _ struct{} `type:"structure"` - // A Boolean value that indicates whether to include inactive bundle results - // in your request. - IncludeInactive *bool `locationName:"includeInactive" type:"boolean"` - // The token to advance to the next page of results from your request. // - // To get a page token, perform an initial GetBundles request. If your results - // are paginated, the response will return a next page token that you can specify - // as the page token in a subsequent request. + // To get a page token, perform an initial GetDiskSnapshots request. If your + // results are paginated, the response will return a next page token that you + // can specify as the page token in a subsequent request. PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s GetBundlesInput) String() string { +func (s GetDiskSnapshotsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetBundlesInput) GoString() string { +func (s GetDiskSnapshotsInput) GoString() string { return s.String() } -// SetIncludeInactive sets the IncludeInactive field's value. -func (s *GetBundlesInput) SetIncludeInactive(v bool) *GetBundlesInput { - s.IncludeInactive = &v - return s -} - // SetPageToken sets the PageToken field's value. -func (s *GetBundlesInput) SetPageToken(v string) *GetBundlesInput { +func (s *GetDiskSnapshotsInput) SetPageToken(v string) *GetDiskSnapshotsInput { s.PageToken = &v return s } -type GetBundlesOutput struct { +type GetDiskSnapshotsOutput struct { _ struct{} `type:"structure"` - // An array of key-value pairs that contains information about the available - // bundles. - Bundles []*Bundle `locationName:"bundles" type:"list"` + // An array of objects containing information about all block storage disk snapshots. + DiskSnapshots []*DiskSnapshot `locationName:"diskSnapshots" type:"list"` // The token to advance to the next page of resutls from your request. // // A next page token is not returned if there are no more results to display. // - // To get the next page of results, perform another GetBundles request and specify - // the next page token using the pageToken parameter. + // To get the next page of results, perform another GetDiskSnapshots request + // and specify the next page token using the pageToken parameter. NextPageToken *string `locationName:"nextPageToken" type:"string"` } // String returns the string representation -func (s GetBundlesOutput) String() string { +func (s GetDiskSnapshotsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetBundlesOutput) GoString() string { +func (s GetDiskSnapshotsOutput) GoString() string { return s.String() } -// SetBundles sets the Bundles field's value. -func (s *GetBundlesOutput) SetBundles(v []*Bundle) *GetBundlesOutput { - s.Bundles = v +// SetDiskSnapshots sets the DiskSnapshots field's value. +func (s *GetDiskSnapshotsOutput) SetDiskSnapshots(v []*DiskSnapshot) *GetDiskSnapshotsOutput { + s.DiskSnapshots = v return s } // SetNextPageToken sets the NextPageToken field's value. -func (s *GetBundlesOutput) SetNextPageToken(v string) *GetBundlesOutput { +func (s *GetDiskSnapshotsOutput) SetNextPageToken(v string) *GetDiskSnapshotsOutput { s.NextPageToken = &v return s } -type GetCloudFormationStackRecordsInput struct { +type GetDisksInput struct { _ struct{} `type:"structure"` // The token to advance to the next page of results from your request. // - // To get a page token, perform an initial GetClouFormationStackRecords request. - // If your results are paginated, the response will return a next page token - // that you can specify as the page token in a subsequent request. + // To get a page token, perform an initial GetDisks request. If your results + // are paginated, the response will return a next page token that you can specify + // as the page token in a subsequent request. PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s GetCloudFormationStackRecordsInput) String() string { +func (s GetDisksInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCloudFormationStackRecordsInput) GoString() string { +func (s GetDisksInput) GoString() string { return s.String() } // SetPageToken sets the PageToken field's value. -func (s *GetCloudFormationStackRecordsInput) SetPageToken(v string) *GetCloudFormationStackRecordsInput { +func (s *GetDisksInput) SetPageToken(v string) *GetDisksInput { s.PageToken = &v return s } -type GetCloudFormationStackRecordsOutput struct { +type GetDisksOutput struct { _ struct{} `type:"structure"` - // A list of objects describing the CloudFormation stack records. - CloudFormationStackRecords []*CloudFormationStackRecord `locationName:"cloudFormationStackRecords" type:"list"` + // An array of objects containing information about all block storage disks. + Disks []*Disk `locationName:"disks" type:"list"` // The token to advance to the next page of resutls from your request. // // A next page token is not returned if there are no more results to display. // - // To get the next page of results, perform another GetCloudFormationStackRecords - // request and specify the next page token using the pageToken parameter. + // To get the next page of results, perform another GetDisks request and specify + // the next page token using the pageToken parameter. NextPageToken *string `locationName:"nextPageToken" type:"string"` } // String returns the string representation -func (s GetCloudFormationStackRecordsOutput) String() string { +func (s GetDisksOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetCloudFormationStackRecordsOutput) GoString() string { +func (s GetDisksOutput) GoString() string { return s.String() } -// SetCloudFormationStackRecords sets the CloudFormationStackRecords field's value. -func (s *GetCloudFormationStackRecordsOutput) SetCloudFormationStackRecords(v []*CloudFormationStackRecord) *GetCloudFormationStackRecordsOutput { - s.CloudFormationStackRecords = v +// SetDisks sets the Disks field's value. +func (s *GetDisksOutput) SetDisks(v []*Disk) *GetDisksOutput { + s.Disks = v return s } // SetNextPageToken sets the NextPageToken field's value. -func (s *GetCloudFormationStackRecordsOutput) SetNextPageToken(v string) *GetCloudFormationStackRecordsOutput { +func (s *GetDisksOutput) SetNextPageToken(v string) *GetDisksOutput { s.NextPageToken = &v return s } -type GetContactMethodsInput struct { - _ struct{} `type:"structure"` - - // The protocols used to send notifications, such as Email, or SMS (text messaging). - // - // Specify a protocol in your request to return information about a specific - // contact method protocol. - Protocols []*string `locationName:"protocols" type:"list"` +type GetDistributionBundlesInput struct { + _ struct{} `type:"structure"` } // String returns the string representation -func (s GetContactMethodsInput) String() string { +func (s GetDistributionBundlesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetContactMethodsInput) GoString() string { +func (s GetDistributionBundlesInput) GoString() string { return s.String() } -// SetProtocols sets the Protocols field's value. -func (s *GetContactMethodsInput) SetProtocols(v []*string) *GetContactMethodsInput { - s.Protocols = v - return s -} - -type GetContactMethodsOutput struct { +type GetDistributionBundlesOutput struct { _ struct{} `type:"structure"` - // An array of objects that describe the contact methods. - ContactMethods []*ContactMethod `locationName:"contactMethods" type:"list"` + // An object that describes a distribution bundle. + Bundles []*DistributionBundle `locationName:"bundles" type:"list"` } // String returns the string representation -func (s GetContactMethodsOutput) String() string { +func (s GetDistributionBundlesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetContactMethodsOutput) GoString() string { +func (s GetDistributionBundlesOutput) GoString() string { return s.String() } -// SetContactMethods sets the ContactMethods field's value. -func (s *GetContactMethodsOutput) SetContactMethods(v []*ContactMethod) *GetContactMethodsOutput { - s.ContactMethods = v +// SetBundles sets the Bundles field's value. +func (s *GetDistributionBundlesOutput) SetBundles(v []*DistributionBundle) *GetDistributionBundlesOutput { + s.Bundles = v return s } -type GetDiskInput struct { +type GetDistributionLatestCacheResetInput struct { _ struct{} `type:"structure"` - // The name of the disk (e.g., my-disk). + // The name of the distribution for which to return the timestamp of the last + // cache reset. // - // DiskName is a required field - DiskName *string `locationName:"diskName" type:"string" required:"true"` + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + // + // When omitted, the response includes the latest cache reset timestamp of all + // your distributions. + DistributionName *string `locationName:"distributionName" type:"string"` } // String returns the string representation -func (s GetDiskInput) String() string { +func (s GetDistributionLatestCacheResetInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDiskInput) GoString() string { +func (s GetDistributionLatestCacheResetInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetDiskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDiskInput"} - if s.DiskName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetDiskName sets the DiskName field's value. -func (s *GetDiskInput) SetDiskName(v string) *GetDiskInput { - s.DiskName = &v +// SetDistributionName sets the DistributionName field's value. +func (s *GetDistributionLatestCacheResetInput) SetDistributionName(v string) *GetDistributionLatestCacheResetInput { + s.DistributionName = &v return s } -type GetDiskOutput struct { +type GetDistributionLatestCacheResetOutput struct { _ struct{} `type:"structure"` - // An object containing information about the disk. - Disk *Disk `locationName:"disk" type:"structure"` + // The timestamp of the last cache reset (e.g., 1479734909.17) in Unix time + // format. + CreateTime *time.Time `locationName:"createTime" type:"timestamp"` + + // The status of the last cache reset. + Status *string `locationName:"status" type:"string"` } // String returns the string representation -func (s GetDiskOutput) String() string { +func (s GetDistributionLatestCacheResetOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDiskOutput) GoString() string { +func (s GetDistributionLatestCacheResetOutput) GoString() string { return s.String() } -// SetDisk sets the Disk field's value. -func (s *GetDiskOutput) SetDisk(v *Disk) *GetDiskOutput { - s.Disk = v +// SetCreateTime sets the CreateTime field's value. +func (s *GetDistributionLatestCacheResetOutput) SetCreateTime(v time.Time) *GetDistributionLatestCacheResetOutput { + s.CreateTime = &v return s } -type GetDiskSnapshotInput struct { +// SetStatus sets the Status field's value. +func (s *GetDistributionLatestCacheResetOutput) SetStatus(v string) *GetDistributionLatestCacheResetOutput { + s.Status = &v + return s +} + +type GetDistributionMetricDataInput struct { _ struct{} `type:"structure"` - // The name of the disk snapshot (e.g., my-disk-snapshot). + // The name of the distribution for which to get metric data. // - // DiskSnapshotName is a required field - DiskSnapshotName *string `locationName:"diskSnapshotName" type:"string" required:"true"` + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + // + // DistributionName is a required field + DistributionName *string `locationName:"distributionName" type:"string" required:"true"` + + // The end of the time interval for which to get metric data. + // + // Constraints: + // + // * Specified in Coordinated Universal Time (UTC). + // + // * Specified in the Unix time format. For example, if you wish to use an + // end time of October 1, 2018, at 9 PM UTC, specify 1538427600 as the end + // time. + // + // You can convert a human-friendly time to Unix time format using a converter + // like Epoch converter (https://www.epochconverter.com/). + // + // EndTime is a required field + EndTime *time.Time `locationName:"endTime" type:"timestamp" required:"true"` + + // The metric for which you want to return information. + // + // Valid distribution metric names are listed below, along with the most useful + // statistics to include in your request, and the published unit value. + // + // * Requests - The total number of viewer requests received by your Lightsail + // distribution, for all HTTP methods, and for both HTTP and HTTPS requests. + // Statistics: The most useful statistic is Sum. Unit: The published unit + // is None. + // + // * BytesDownloaded - The number of bytes downloaded by viewers for GET, + // HEAD, and OPTIONS requests. Statistics: The most useful statistic is Sum. + // Unit: The published unit is None. + // + // * BytesUploaded - The number of bytes uploaded to your origin by your + // Lightsail distribution, using POST and PUT requests. Statistics: The most + // useful statistic is Sum. Unit: The published unit is None. + // + // * TotalErrorRate - The percentage of all viewer requests for which the + // response's HTTP status code was 4xx or 5xx. Statistics: The most useful + // statistic is Average. Unit: The published unit is Percent. + // + // * 4xxErrorRate - The percentage of all viewer requests for which the response's + // HTTP status cod was 4xx. In these cases, the client or client viewer may + // have made an error. For example, a status code of 404 (Not Found) means + // that the client requested an object that could not be found. Statistics: + // The most useful statistic is Average. Unit: The published unit is Percent. + // + // * 5xxErrorRate - The percentage of all viewer requests for which the response's + // HTTP status code was 5xx. In these cases, the origin server did not satisfy + // the requests. For example, a status code of 503 (Service Unavailable) + // means that the origin server is currently unavailable. Statistics: The + // most useful statistic is Average. Unit: The published unit is Percent. + // + // MetricName is a required field + MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"DistributionMetricName"` + + // The granularity, in seconds, for the metric data points that will be returned. + // + // Period is a required field + Period *int64 `locationName:"period" min:"60" type:"integer" required:"true"` + + // The start of the time interval for which to get metric data. + // + // Constraints: + // + // * Specified in Coordinated Universal Time (UTC). + // + // * Specified in the Unix time format. For example, if you wish to use a + // start time of October 1, 2018, at 8 PM UTC, specify 1538424000 as the + // start time. + // + // You can convert a human-friendly time to Unix time format using a converter + // like Epoch converter (https://www.epochconverter.com/). + // + // StartTime is a required field + StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"` + + // The statistic for the metric. + // + // The following statistics are available: + // + // * Minimum - The lowest value observed during the specified period. Use + // this value to determine low volumes of activity for your application. + // + // * Maximum - The highest value observed during the specified period. Use + // this value to determine high volumes of activity for your application. + // + // * Sum - All values submitted for the matching metric added together. You + // can use this statistic to determine the total volume of a metric. + // + // * Average - The value of Sum / SampleCount during the specified period. + // By comparing this statistic with the Minimum and Maximum values, you can + // determine the full scope of a metric and how close the average use is + // to the Minimum and Maximum values. This comparison helps you to know when + // to increase or decrease your resources. + // + // * SampleCount - The count, or number, of data points used for the statistical + // calculation. + // + // Statistics is a required field + Statistics []*string `locationName:"statistics" type:"list" required:"true"` + + // The unit for the metric data request. + // + // Valid units depend on the metric data being requested. For the valid units + // with each available metric, see the metricName parameter. + // + // Unit is a required field + Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"` } // String returns the string representation -func (s GetDiskSnapshotInput) String() string { +func (s GetDistributionMetricDataInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDiskSnapshotInput) GoString() string { +func (s GetDistributionMetricDataInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetDiskSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDiskSnapshotInput"} - if s.DiskSnapshotName == nil { - invalidParams.Add(request.NewErrParamRequired("DiskSnapshotName")) +func (s *GetDistributionMetricDataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDistributionMetricDataInput"} + if s.DistributionName == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionName")) + } + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + if s.MetricName == nil { + invalidParams.Add(request.NewErrParamRequired("MetricName")) + } + if s.Period == nil { + invalidParams.Add(request.NewErrParamRequired("Period")) + } + if s.Period != nil && *s.Period < 60 { + invalidParams.Add(request.NewErrParamMinValue("Period", 60)) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + if s.Statistics == nil { + invalidParams.Add(request.NewErrParamRequired("Statistics")) + } + if s.Unit == nil { + invalidParams.Add(request.NewErrParamRequired("Unit")) } if invalidParams.Len() > 0 { @@ -19081,159 +22293,155 @@ func (s *GetDiskSnapshotInput) Validate() error { return nil } -// SetDiskSnapshotName sets the DiskSnapshotName field's value. -func (s *GetDiskSnapshotInput) SetDiskSnapshotName(v string) *GetDiskSnapshotInput { - s.DiskSnapshotName = &v +// SetDistributionName sets the DistributionName field's value. +func (s *GetDistributionMetricDataInput) SetDistributionName(v string) *GetDistributionMetricDataInput { + s.DistributionName = &v return s } -type GetDiskSnapshotOutput struct { - _ struct{} `type:"structure"` - - // An object containing information about the disk snapshot. - DiskSnapshot *DiskSnapshot `locationName:"diskSnapshot" type:"structure"` -} - -// String returns the string representation -func (s GetDiskSnapshotOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetDiskSnapshotOutput) GoString() string { - return s.String() +// SetEndTime sets the EndTime field's value. +func (s *GetDistributionMetricDataInput) SetEndTime(v time.Time) *GetDistributionMetricDataInput { + s.EndTime = &v + return s } -// SetDiskSnapshot sets the DiskSnapshot field's value. -func (s *GetDiskSnapshotOutput) SetDiskSnapshot(v *DiskSnapshot) *GetDiskSnapshotOutput { - s.DiskSnapshot = v +// SetMetricName sets the MetricName field's value. +func (s *GetDistributionMetricDataInput) SetMetricName(v string) *GetDistributionMetricDataInput { + s.MetricName = &v return s } -type GetDiskSnapshotsInput struct { - _ struct{} `type:"structure"` - - // The token to advance to the next page of results from your request. - // - // To get a page token, perform an initial GetDiskSnapshots request. If your - // results are paginated, the response will return a next page token that you - // can specify as the page token in a subsequent request. - PageToken *string `locationName:"pageToken" type:"string"` +// SetPeriod sets the Period field's value. +func (s *GetDistributionMetricDataInput) SetPeriod(v int64) *GetDistributionMetricDataInput { + s.Period = &v + return s } -// String returns the string representation -func (s GetDiskSnapshotsInput) String() string { - return awsutil.Prettify(s) +// SetStartTime sets the StartTime field's value. +func (s *GetDistributionMetricDataInput) SetStartTime(v time.Time) *GetDistributionMetricDataInput { + s.StartTime = &v + return s } -// GoString returns the string representation -func (s GetDiskSnapshotsInput) GoString() string { - return s.String() +// SetStatistics sets the Statistics field's value. +func (s *GetDistributionMetricDataInput) SetStatistics(v []*string) *GetDistributionMetricDataInput { + s.Statistics = v + return s } -// SetPageToken sets the PageToken field's value. -func (s *GetDiskSnapshotsInput) SetPageToken(v string) *GetDiskSnapshotsInput { - s.PageToken = &v +// SetUnit sets the Unit field's value. +func (s *GetDistributionMetricDataInput) SetUnit(v string) *GetDistributionMetricDataInput { + s.Unit = &v return s } -type GetDiskSnapshotsOutput struct { +type GetDistributionMetricDataOutput struct { _ struct{} `type:"structure"` - // An array of objects containing information about all block storage disk snapshots. - DiskSnapshots []*DiskSnapshot `locationName:"diskSnapshots" type:"list"` + // An array of objects that describe the metric data returned. + MetricData []*MetricDatapoint `locationName:"metricData" type:"list"` - // The token to advance to the next page of resutls from your request. - // - // A next page token is not returned if there are no more results to display. - // - // To get the next page of results, perform another GetDiskSnapshots request - // and specify the next page token using the pageToken parameter. - NextPageToken *string `locationName:"nextPageToken" type:"string"` + // The name of the metric returned. + MetricName *string `locationName:"metricName" type:"string" enum:"DistributionMetricName"` } // String returns the string representation -func (s GetDiskSnapshotsOutput) String() string { +func (s GetDistributionMetricDataOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDiskSnapshotsOutput) GoString() string { +func (s GetDistributionMetricDataOutput) GoString() string { return s.String() } -// SetDiskSnapshots sets the DiskSnapshots field's value. -func (s *GetDiskSnapshotsOutput) SetDiskSnapshots(v []*DiskSnapshot) *GetDiskSnapshotsOutput { - s.DiskSnapshots = v +// SetMetricData sets the MetricData field's value. +func (s *GetDistributionMetricDataOutput) SetMetricData(v []*MetricDatapoint) *GetDistributionMetricDataOutput { + s.MetricData = v return s } -// SetNextPageToken sets the NextPageToken field's value. -func (s *GetDiskSnapshotsOutput) SetNextPageToken(v string) *GetDiskSnapshotsOutput { - s.NextPageToken = &v +// SetMetricName sets the MetricName field's value. +func (s *GetDistributionMetricDataOutput) SetMetricName(v string) *GetDistributionMetricDataOutput { + s.MetricName = &v return s } -type GetDisksInput struct { +type GetDistributionsInput struct { _ struct{} `type:"structure"` + // The name of the distribution for which to return information. + // + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + // + // When omitted, the response includes all of your distributions in the AWS + // Region where the request is made. + DistributionName *string `locationName:"distributionName" type:"string"` + // The token to advance to the next page of results from your request. // - // To get a page token, perform an initial GetDisks request. If your results - // are paginated, the response will return a next page token that you can specify - // as the page token in a subsequent request. + // To get a page token, perform an initial GetDistributions request. If your + // results are paginated, the response will return a next page token that you + // can specify as the page token in a subsequent request. PageToken *string `locationName:"pageToken" type:"string"` } // String returns the string representation -func (s GetDisksInput) String() string { +func (s GetDistributionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDisksInput) GoString() string { +func (s GetDistributionsInput) GoString() string { return s.String() } +// SetDistributionName sets the DistributionName field's value. +func (s *GetDistributionsInput) SetDistributionName(v string) *GetDistributionsInput { + s.DistributionName = &v + return s +} + // SetPageToken sets the PageToken field's value. -func (s *GetDisksInput) SetPageToken(v string) *GetDisksInput { +func (s *GetDistributionsInput) SetPageToken(v string) *GetDistributionsInput { s.PageToken = &v return s } -type GetDisksOutput struct { +type GetDistributionsOutput struct { _ struct{} `type:"structure"` - // An array of objects containing information about all block storage disks. - Disks []*Disk `locationName:"disks" type:"list"` + // An array of objects that describe your distributions. + Distributions []*LightsailDistribution `locationName:"distributions" type:"list"` - // The token to advance to the next page of resutls from your request. + // The token to advance to the next page of results from your request. // // A next page token is not returned if there are no more results to display. // - // To get the next page of results, perform another GetDisks request and specify - // the next page token using the pageToken parameter. + // To get the next page of results, perform another GetDistributions request + // and specify the next page token using the pageToken parameter. NextPageToken *string `locationName:"nextPageToken" type:"string"` } // String returns the string representation -func (s GetDisksOutput) String() string { +func (s GetDistributionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDisksOutput) GoString() string { +func (s GetDistributionsOutput) GoString() string { return s.String() } -// SetDisks sets the Disks field's value. -func (s *GetDisksOutput) SetDisks(v []*Disk) *GetDisksOutput { - s.Disks = v +// SetDistributions sets the Distributions field's value. +func (s *GetDistributionsOutput) SetDistributions(v []*LightsailDistribution) *GetDistributionsOutput { + s.Distributions = v return s } // SetNextPageToken sets the NextPageToken field's value. -func (s *GetDisksOutput) SetNextPageToken(v string) *GetDisksOutput { +func (s *GetDistributionsOutput) SetNextPageToken(v string) *GetDistributionsOutput { s.NextPageToken = &v return s } @@ -19556,44 +22764,65 @@ type GetInstanceMetricDataInput struct { // Valid instance metric names are listed below, along with the most useful // statistics to include in your request, and the published unit value. // - // * CPUUtilization — The percentage of allocated compute units that are + // * BurstCapacityPercentage - The percentage of CPU performance available + // for your instance to burst above its baseline. Your instance continuously + // accrues and consumes burst capacity. Burst capacity stops accruing when + // your instance's BurstCapacityPercentage reaches 100%. For more information, + // see Viewing instance burst capacity in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity). + // Statistics: The most useful statistics are Maximum and Average. Unit: + // The published unit is Percent. + // + // * BurstCapacityTime - The available amount of time for your instance to + // burst at 100% CPU utilization. Your instance continuously accrues and + // consumes burst capacity. Burst capacity time stops accruing when your + // instance's BurstCapacityPercentage metric reaches 100%. Burst capacity + // time is consumed at the full rate only when your instance operates at + // 100% CPU utilization. For example, if your instance operates at 50% CPU + // utilization in the burstable zone for a 5-minute period, then it consumes + // CPU burst capacity minutes at a 50% rate in that period. Your instance + // consumed 2 minutes and 30 seconds of CPU burst capacity minutes in the + // 5-minute period. For more information, see Viewing instance burst capacity + // in Amazon Lightsail (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-viewing-instance-burst-capacity). + // Statistics: The most useful statistics are Maximum and Average. Unit: + // The published unit is Seconds. + // + // * CPUUtilization - The percentage of allocated compute units that are // currently in use on the instance. This metric identifies the processing // power to run the applications on the instance. Tools in your operating // system can show a lower percentage than Lightsail when the instance is // not allocated a full processor core. Statistics: The most useful statistics // are Maximum and Average. Unit: The published unit is Percent. // - // * NetworkIn — The number of bytes received on all network interfaces - // by the instance. This metric identifies the volume of incoming network - // traffic to the instance. The number reported is the number of bytes received - // during the period. Because this metric is reported in 5-minute intervals, - // divide the reported number by 300 to find Bytes/second. Statistics: The - // most useful statistic is Sum. Unit: The published unit is Bytes. + // * NetworkIn - The number of bytes received on all network interfaces by + // the instance. This metric identifies the volume of incoming network traffic + // to the instance. The number reported is the number of bytes received during + // the period. Because this metric is reported in 5-minute intervals, divide + // the reported number by 300 to find Bytes/second. Statistics: The most + // useful statistic is Sum. Unit: The published unit is Bytes. // - // * NetworkOut — The number of bytes sent out on all network interfaces + // * NetworkOut - The number of bytes sent out on all network interfaces // by the instance. This metric identifies the volume of outgoing network // traffic from the instance. The number reported is the number of bytes // sent during the period. Because this metric is reported in 5-minute intervals, // divide the reported number by 300 to find Bytes/second. Statistics: The // most useful statistic is Sum. Unit: The published unit is Bytes. // - // * StatusCheckFailed — Reports whether the instance passed or failed - // both the instance status check and the system status check. This metric - // can be either 0 (passed) or 1 (failed). This metric data is available - // in 1-minute (60 seconds) granularity. Statistics: The most useful statistic - // is Sum. Unit: The published unit is Count. + // * StatusCheckFailed - Reports whether the instance passed or failed both + // the instance status check and the system status check. This metric can + // be either 0 (passed) or 1 (failed). This metric data is available in 1-minute + // (60 seconds) granularity. Statistics: The most useful statistic is Sum. + // Unit: The published unit is Count. // - // * StatusCheckFailed_Instance — Reports whether the instance passed or + // * StatusCheckFailed_Instance - Reports whether the instance passed or // failed the instance status check. This metric can be either 0 (passed) // or 1 (failed). This metric data is available in 1-minute (60 seconds) // granularity. Statistics: The most useful statistic is Sum. Unit: The published // unit is Count. // - // * StatusCheckFailed_System — Reports whether the instance passed or - // failed the system status check. This metric can be either 0 (passed) or - // 1 (failed). This metric data is available in 1-minute (60 seconds) granularity. - // Statistics: The most useful statistic is Sum. Unit: The published unit - // is Count. + // * StatusCheckFailed_System - Reports whether the instance passed or failed + // the system status check. This metric can be either 0 (passed) or 1 (failed). + // This metric data is available in 1-minute (60 seconds) granularity. Statistics: + // The most useful statistic is Sum. Unit: The published unit is Count. // // MetricName is a required field MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"InstanceMetricName"` @@ -19616,30 +22845,30 @@ type GetInstanceMetricDataInput struct { // // The following statistics are available: // - // * Minimum — The lowest value observed during the specified period. Use + // * Minimum - The lowest value observed during the specified period. Use // this value to determine low volumes of activity for your application. // - // * Maximum — The highest value observed during the specified period. - // Use this value to determine high volumes of activity for your application. + // * Maximum - The highest value observed during the specified period. Use + // this value to determine high volumes of activity for your application. // - // * Sum — All values submitted for the matching metric added together. - // You can use this statistic to determine the total volume of a metric. + // * Sum - All values submitted for the matching metric added together. You + // can use this statistic to determine the total volume of a metric. // - // * Average — The value of Sum / SampleCount during the specified period. + // * Average - The value of Sum / SampleCount during the specified period. // By comparing this statistic with the Minimum and Maximum values, you can // determine the full scope of a metric and how close the average use is // to the Minimum and Maximum values. This comparison helps you to know when // to increase or decrease your resources. // - // * SampleCount — The count, or number, of data points used for the statistical + // * SampleCount - The count, or number, of data points used for the statistical // calculation. // // Statistics is a required field Statistics []*string `locationName:"statistics" type:"list" required:"true"` // The unit for the metric data request. Valid units depend on the metric data - // being required. For the valid units with each available metric, see the metricName - // parameter. + // being requested. For the valid units to specify with each available metric, + // see the metricName parameter. // // Unit is a required field Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"` @@ -19734,11 +22963,10 @@ func (s *GetInstanceMetricDataInput) SetUnit(v string) *GetInstanceMetricDataInp type GetInstanceMetricDataOutput struct { _ struct{} `type:"structure"` - // An array of key-value pairs containing information about the results of your - // get instance metric data request. + // An array of objects that describe the metric data returned. MetricData []*MetricDatapoint `locationName:"metricData" type:"list"` - // The metric name to return data for. + // The name of the metric returned. MetricName *string `locationName:"metricName" type:"string" enum:"InstanceMetricName"` } @@ -19790,7 +23018,7 @@ func (s *GetInstanceOutput) SetInstance(v *Instance) *GetInstanceOutput { type GetInstancePortStatesInput struct { _ struct{} `type:"structure"` - // The name of the instance. + // The name of the instance for which to return firewall port states. // // InstanceName is a required field InstanceName *string `locationName:"instanceName" type:"string" required:"true"` @@ -19828,7 +23056,8 @@ func (s *GetInstancePortStatesInput) SetInstanceName(v string) *GetInstancePortS type GetInstancePortStatesOutput struct { _ struct{} `type:"structure"` - // Information about the port states resulting from your request. + // An array of objects that describe the firewall port states for the specified + // instance. PortStates []*InstancePortState `locationName:"portStates" type:"list"` } @@ -20281,73 +23510,73 @@ type GetLoadBalancerMetricDataInput struct { // Valid load balancer metric names are listed below, along with the most useful // statistics to include in your request, and the published unit value. // - // * ClientTLSNegotiationErrorCount — The number of TLS connections initiated + // * ClientTLSNegotiationErrorCount - The number of TLS connections initiated // by the client that did not establish a session with the load balancer // due to a TLS error generated by the load balancer. Possible causes include // a mismatch of ciphers or protocols. Statistics: The most useful statistic // is Sum. Unit: The published unit is Count. // - // * HealthyHostCount — The number of target instances that are considered + // * HealthyHostCount - The number of target instances that are considered // healthy. Statistics: The most useful statistic are Average, Minimum, and // Maximum. Unit: The published unit is Count. // - // * HTTPCode_Instance_2XX_Count — The number of HTTP 2XX response codes + // * HTTPCode_Instance_2XX_Count - The number of HTTP 2XX response codes // generated by the target instances. This does not include any response // codes generated by the load balancer. Statistics: The most useful statistic // is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The // published unit is Count. // - // * HTTPCode_Instance_3XX_Count — The number of HTTP 3XX response codes + // * HTTPCode_Instance_3XX_Count - The number of HTTP 3XX response codes // generated by the target instances. This does not include any response // codes generated by the load balancer. Statistics: The most useful statistic // is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The // published unit is Count. // - // * HTTPCode_Instance_4XX_Count — The number of HTTP 4XX response codes + // * HTTPCode_Instance_4XX_Count - The number of HTTP 4XX response codes // generated by the target instances. This does not include any response // codes generated by the load balancer. Statistics: The most useful statistic // is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The // published unit is Count. // - // * HTTPCode_Instance_5XX_Count — The number of HTTP 5XX response codes + // * HTTPCode_Instance_5XX_Count - The number of HTTP 5XX response codes // generated by the target instances. This does not include any response // codes generated by the load balancer. Statistics: The most useful statistic // is Sum. Note that Minimum, Maximum, and Average all return 1. Unit: The // published unit is Count. // - // * HTTPCode_LB_4XX_Count — The number of HTTP 4XX client error codes - // that originated from the load balancer. Client errors are generated when - // requests are malformed or incomplete. These requests were not received - // by the target instance. This count does not include response codes generated - // by the target instances. Statistics: The most useful statistic is Sum. - // Note that Minimum, Maximum, and Average all return 1. Unit: The published - // unit is Count. + // * HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that + // originated from the load balancer. Client errors are generated when requests + // are malformed or incomplete. These requests were not received by the target + // instance. This count does not include response codes generated by the + // target instances. Statistics: The most useful statistic is Sum. Note that + // Minimum, Maximum, and Average all return 1. Unit: The published unit is + // Count. // - // * HTTPCode_LB_5XX_Count — The number of HTTP 5XX server error codes - // that originated from the load balancer. This does not include any response + // * HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that + // originated from the load balancer. This does not include any response // codes generated by the target instance. This metric is reported if there // are no healthy instances attached to the load balancer, or if the request // rate exceeds the capacity of the instances (spillover) or the load balancer. // Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, // and Average all return 1. Unit: The published unit is Count. // - // * InstanceResponseTime — The time elapsed, in seconds, after the request + // * InstanceResponseTime - The time elapsed, in seconds, after the request // leaves the load balancer until a response from the target instance is // received. Statistics: The most useful statistic is Average. Unit: The // published unit is Seconds. // - // * RejectedConnectionCount — The number of connections that were rejected + // * RejectedConnectionCount - The number of connections that were rejected // because the load balancer had reached its maximum number of connections. // Statistics: The most useful statistic is Sum. Unit: The published unit // is Count. // - // * RequestCount — The number of requests processed over IPv4. This count + // * RequestCount - The number of requests processed over IPv4. This count // includes only the requests with a response generated by a target instance // of the load balancer. Statistics: The most useful statistic is Sum. Note // that Minimum, Maximum, and Average all return 1. Unit: The published unit // is Count. // - // * UnhealthyHostCount — The number of target instances that are considered + // * UnhealthyHostCount - The number of target instances that are considered // unhealthy. Statistics: The most useful statistic are Average, Minimum, // and Maximum. Unit: The published unit is Count. // @@ -20368,30 +23597,30 @@ type GetLoadBalancerMetricDataInput struct { // // The following statistics are available: // - // * Minimum — The lowest value observed during the specified period. Use + // * Minimum - The lowest value observed during the specified period. Use // this value to determine low volumes of activity for your application. // - // * Maximum — The highest value observed during the specified period. - // Use this value to determine high volumes of activity for your application. + // * Maximum - The highest value observed during the specified period. Use + // this value to determine high volumes of activity for your application. // - // * Sum — All values submitted for the matching metric added together. - // You can use this statistic to determine the total volume of a metric. + // * Sum - All values submitted for the matching metric added together. You + // can use this statistic to determine the total volume of a metric. // - // * Average — The value of Sum / SampleCount during the specified period. + // * Average - The value of Sum / SampleCount during the specified period. // By comparing this statistic with the Minimum and Maximum values, you can // determine the full scope of a metric and how close the average use is // to the Minimum and Maximum values. This comparison helps you to know when // to increase or decrease your resources. // - // * SampleCount — The count, or number, of data points used for the statistical + // * SampleCount - The count, or number, of data points used for the statistical // calculation. // // Statistics is a required field Statistics []*string `locationName:"statistics" type:"list" required:"true"` // The unit for the metric data request. Valid units depend on the metric data - // being required. For the valid units with each available metric, see the metricName - // parameter. + // being requested. For the valid units with each available metric, see the + // metricName parameter. // // Unit is a required field Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"` @@ -20486,70 +23715,10 @@ func (s *GetLoadBalancerMetricDataInput) SetUnit(v string) *GetLoadBalancerMetri type GetLoadBalancerMetricDataOutput struct { _ struct{} `type:"structure"` - // An array of metric datapoint objects. + // An array of objects that describe the metric data returned. MetricData []*MetricDatapoint `locationName:"metricData" type:"list"` - // The metric about which you are receiving information. Valid values are listed - // below, along with the most useful statistics to include in your request. - // - // * ClientTLSNegotiationErrorCount - The number of TLS connections initiated - // by the client that did not establish a session with the load balancer. - // Possible causes include a mismatch of ciphers or protocols. Statistics: - // The most useful statistic is Sum. - // - // * HealthyHostCount - The number of target instances that are considered - // healthy. Statistics: The most useful statistic are Average, Minimum, and - // Maximum. - // - // * UnhealthyHostCount - The number of target instances that are considered - // unhealthy. Statistics: The most useful statistic are Average, Minimum, - // and Maximum. - // - // * HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that - // originate from the load balancer. Client errors are generated when requests - // are malformed or incomplete. These requests have not been received by - // the target instance. This count does not include any response codes generated - // by the target instances. Statistics: The most useful statistic is Sum. - // Note that Minimum, Maximum, and Average all return 1. - // - // * HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that - // originate from the load balancer. This count does not include any response - // codes generated by the target instances. Statistics: The most useful statistic - // is Sum. Note that Minimum, Maximum, and Average all return 1. Note that - // Minimum, Maximum, and Average all return 1. - // - // * HTTPCode_Instance_2XX_Count - The number of HTTP response codes generated - // by the target instances. This does not include any response codes generated - // by the load balancer. Statistics: The most useful statistic is Sum. Note - // that Minimum, Maximum, and Average all return 1. - // - // * HTTPCode_Instance_3XX_Count - The number of HTTP response codes generated - // by the target instances. This does not include any response codes generated - // by the load balancer. Statistics: The most useful statistic is Sum. Note - // that Minimum, Maximum, and Average all return 1. - // - // * HTTPCode_Instance_4XX_Count - The number of HTTP response codes generated - // by the target instances. This does not include any response codes generated - // by the load balancer. Statistics: The most useful statistic is Sum. Note - // that Minimum, Maximum, and Average all return 1. - // - // * HTTPCode_Instance_5XX_Count - The number of HTTP response codes generated - // by the target instances. This does not include any response codes generated - // by the load balancer. Statistics: The most useful statistic is Sum. Note - // that Minimum, Maximum, and Average all return 1. - // - // * InstanceResponseTime - The time elapsed, in seconds, after the request - // leaves the load balancer until a response from the target instance is - // received. Statistics: The most useful statistic is Average. - // - // * RejectedConnectionCount - The number of connections that were rejected - // because the load balancer had reached its maximum number of connections. - // Statistics: The most useful statistic is Sum. - // - // * RequestCount - The number of requests processed over IPv4. This count - // includes only the requests with a response generated by a target instance - // of the load balancer. Statistics: The most useful statistic is Sum. Note - // that Minimum, Maximum, and Average all return 1. + // The name of the metric returned. MetricName *string `locationName:"metricName" type:"string" enum:"LoadBalancerMetricName"` } @@ -20765,7 +23934,7 @@ type GetOperationOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operation *Operation `locationName:"operation" type:"structure"` } @@ -20857,7 +24026,7 @@ type GetOperationsForResourceOutput struct { NextPageToken *string `locationName:"nextPageToken" type:"string"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -20929,7 +24098,7 @@ type GetOperationsOutput struct { NextPageToken *string `locationName:"nextPageToken" type:"string"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -21617,27 +24786,27 @@ type GetRelationalDatabaseMetricDataInput struct { // All relational database metric data is available in 1-minute (60 seconds) // granularity. // - // * CPUUtilization — The percentage of CPU utilization currently in use + // * CPUUtilization - The percentage of CPU utilization currently in use // on the database. Statistics: The most useful statistics are Maximum and // Average. Unit: The published unit is Percent. // - // * DatabaseConnections — The number of database connections in use. Statistics: + // * DatabaseConnections - The number of database connections in use. Statistics: // The most useful statistics are Maximum and Sum. Unit: The published unit // is Count. // - // * DiskQueueDepth — The number of outstanding IOs (read/write requests) + // * DiskQueueDepth - The number of outstanding IOs (read/write requests) // that are waiting to access the disk. Statistics: The most useful statistic // is Sum. Unit: The published unit is Count. // - // * FreeStorageSpace — The amount of available storage space. Statistics: + // * FreeStorageSpace - The amount of available storage space. Statistics: // The most useful statistic is Sum. Unit: The published unit is Bytes. // - // * NetworkReceiveThroughput — The incoming (Receive) network traffic - // on the database, including both customer database traffic and AWS traffic + // * NetworkReceiveThroughput - The incoming (Receive) network traffic on + // the database, including both customer database traffic and AWS traffic // used for monitoring and replication. Statistics: The most useful statistic // is Average. Unit: The published unit is Bytes/Second. // - // * NetworkTransmitThroughput — The outgoing (Transmit) network traffic + // * NetworkTransmitThroughput - The outgoing (Transmit) network traffic // on the database, including both customer database traffic and AWS traffic // used for monitoring and replication. Statistics: The most useful statistic // is Average. Unit: The published unit is Bytes/Second. @@ -21675,30 +24844,30 @@ type GetRelationalDatabaseMetricDataInput struct { // // The following statistics are available: // - // * Minimum — The lowest value observed during the specified period. Use + // * Minimum - The lowest value observed during the specified period. Use // this value to determine low volumes of activity for your application. // - // * Maximum — The highest value observed during the specified period. - // Use this value to determine high volumes of activity for your application. + // * Maximum - The highest value observed during the specified period. Use + // this value to determine high volumes of activity for your application. // - // * Sum — All values submitted for the matching metric added together. - // You can use this statistic to determine the total volume of a metric. + // * Sum - All values submitted for the matching metric added together. You + // can use this statistic to determine the total volume of a metric. // - // * Average — The value of Sum / SampleCount during the specified period. + // * Average - The value of Sum / SampleCount during the specified period. // By comparing this statistic with the Minimum and Maximum values, you can // determine the full scope of a metric and how close the average use is // to the Minimum and Maximum values. This comparison helps you to know when // to increase or decrease your resources. // - // * SampleCount — The count, or number, of data points used for the statistical + // * SampleCount - The count, or number, of data points used for the statistical // calculation. // // Statistics is a required field Statistics []*string `locationName:"statistics" type:"list" required:"true"` // The unit for the metric data request. Valid units depend on the metric data - // being required. For the valid units with each available metric, see the metricName - // parameter. + // being requested. For the valid units with each available metric, see the + // metricName parameter. // // Unit is a required field Unit *string `locationName:"unit" type:"string" required:"true" enum:"MetricUnit"` @@ -21793,11 +24962,10 @@ func (s *GetRelationalDatabaseMetricDataInput) SetUnit(v string) *GetRelationalD type GetRelationalDatabaseMetricDataOutput struct { _ struct{} `type:"structure"` - // An object describing the result of your get relational database metric data - // request. + // An array of objects that describe the metric data returned. MetricData []*MetricDatapoint `locationName:"metricData" type:"list"` - // The name of the metric. + // The name of the metric returned. MetricName *string `locationName:"metricName" type:"string" enum:"RelationalDatabaseMetricName"` } @@ -22252,6 +25420,58 @@ func (s *GetStaticIpsOutput) SetStaticIps(v []*StaticIp) *GetStaticIpsOutput { return s } +// Describes the request headers that a Lightsail distribution bases caching +// on. +// +// For the headers that you specify, your distribution caches separate versions +// of the specified content based on the header values in viewer requests. For +// example, suppose viewer requests for logo.jpg contain a custom product header +// that has a value of either acme or apex, and you configure your distribution +// to cache your content based on values in the product header. Your distribution +// forwards the product header to the origin and caches the response from the +// origin once for each header value. +type HeaderObject struct { + _ struct{} `type:"structure"` + + // The specific headers to forward to your distribution's origin. + HeadersAllowList []*string `locationName:"headersAllowList" type:"list"` + + // The headers that you want your distribution to forward to your origin and + // base caching on. + // + // You can configure your distribution to do one of the following: + // + // * all - Forward all headers to your origin. + // + // * none - Forward only the default headers. + // + // * allow-list - Forward only the headers you specify using the headersAllowList + // parameter. + Option *string `locationName:"option" type:"string" enum:"ForwardValues"` +} + +// String returns the string representation +func (s HeaderObject) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HeaderObject) GoString() string { + return s.String() +} + +// SetHeadersAllowList sets the HeadersAllowList field's value. +func (s *HeaderObject) SetHeadersAllowList(v []*string) *HeaderObject { + s.HeadersAllowList = v + return s +} + +// SetOption sets the Option field's value. +func (s *HeaderObject) SetOption(v string) *HeaderObject { + s.Option = &v + return s +} + // Describes the public SSH host keys or the RDP certificate. type HostKeyAttributes struct { _ struct{} `type:"structure"` @@ -22401,7 +25621,7 @@ type ImportKeyPairOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operation *Operation `locationName:"operation" type:"structure"` } @@ -22422,6 +25642,54 @@ func (s *ImportKeyPairOutput) SetOperation(v *Operation) *ImportKeyPairOutput { return s } +// Describes the origin resource of an Amazon Lightsail content delivery network +// (CDN) distribution. +// +// An origin can be a Lightsail instance or load balancer. A distribution pulls +// content from an origin, caches it, and serves it to viewers via a worldwide +// network of edge servers. +type InputOrigin struct { + _ struct{} `type:"structure"` + + // The name of the origin resource. + Name *string `locationName:"name" type:"string"` + + // The protocol that your Amazon Lightsail distribution uses when establishing + // a connection with your origin to pull content. + ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"` + + // The AWS Region name of the origin resource. + RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"` +} + +// String returns the string representation +func (s InputOrigin) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputOrigin) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *InputOrigin) SetName(v string) *InputOrigin { + s.Name = &v + return s +} + +// SetProtocolPolicy sets the ProtocolPolicy field's value. +func (s *InputOrigin) SetProtocolPolicy(v string) *InputOrigin { + s.ProtocolPolicy = &v + return s +} + +// SetRegionName sets the RegionName field's value. +func (s *InputOrigin) SetRegionName(v string) *InputOrigin { + s.RegionName = &v + return s +} + // Describes an instance (a virtual private server). type Instance struct { _ struct{} `type:"structure"` @@ -22441,7 +25709,8 @@ type Instance struct { // The bundle for the instance (e.g., micro_1_0). BundleId *string `locationName:"bundleId" type:"string"` - // The timestamp when the instance was created (e.g., 1479734909.17). + // The timestamp when the instance was created (e.g., 1479734909.17) in Unix + // time format. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` // The size of the vCPU and the amount of RAM for the instance. @@ -22763,13 +26032,20 @@ type InstanceEntry struct { // // The following configuration options are available: // - // * DEFAULT — Use the default firewall settings from the image. + // * DEFAULT - Use the default firewall settings from the Lightsail instance + // blueprint. // - // * INSTANCE — Use the firewall settings from the source Lightsail instance. + // * INSTANCE - Use the configured firewall settings from the source Lightsail + // instance. // - // * NONE — Default to Amazon EC2. + // * NONE - Use the default Amazon EC2 security group. // - // * CLOSED — All ports closed. + // * CLOSED - All ports closed. + // + // If you configured lightsail-connect as a cidrListAliases on your instance, + // or if you chose to allow the Lightsail browser-based SSH or RDP clients to + // connect to your instance, that configuration is not carried over to your + // new Amazon EC2 instance. // // PortInfoSource is a required field PortInfoSource *string `locationName:"portInfoSource" type:"string" required:"true" enum:"PortInfoSourceType"` @@ -23019,26 +26295,56 @@ func (s *InstanceNetworking) SetPorts(v []*InstancePortInfo) *InstanceNetworking return s } -// Describes information about the instance ports. +// Describes information about ports for an Amazon Lightsail instance. type InstancePortInfo struct { _ struct{} `type:"structure"` // The access direction (inbound or outbound). + // + // Lightsail currently supports only inbound access direction. AccessDirection *string `locationName:"accessDirection" type:"string" enum:"AccessDirection"` - // The location from which access is allowed (e.g., Anywhere (0.0.0.0/0)). + // The location from which access is allowed. For example, Anywhere (0.0.0.0/0), + // or Custom if a specific IP address or range of IP addresses is allowed. AccessFrom *string `locationName:"accessFrom" type:"string"` // The type of access (Public or Private). AccessType *string `locationName:"accessType" type:"string" enum:"PortAccessType"` - // The common name. + // An alias that defines access for a preconfigured range of IP addresses. + // + // The only alias currently supported is lightsail-connect, which allows IP + // addresses of the browser-based RDP/SSH client in the Lightsail console to + // connect to your instance. + CidrListAliases []*string `locationName:"cidrListAliases" type:"list"` + + // The IP address, or range of IP addresses in CIDR notation, that are allowed + // to connect to an instance through the ports, and the protocol. Lightsail + // supports IPv4 addresses. + // + // For more information about CIDR block notation, see Classless Inter-Domain + // Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation) + // on Wikipedia. + Cidrs []*string `locationName:"cidrs" type:"list"` + + // The common name of the port information. CommonName *string `locationName:"commonName" type:"string"` - // The first port in the range. + // The first port in a range of open ports on an instance. + // + // Allowed ports: + // + // * TCP and UDP - 0 to 65535 + // + // * ICMP - The ICMP type. For example, specify 8 as the fromPort (ICMP type), + // and -1 as the toPort (ICMP code), to enable ICMP Ping. For more information, + // see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages) + // on Wikipedia. FromPort *int64 `locationName:"fromPort" type:"integer"` - // The protocol being used. Can be one of the following. + // The IP protocol name. + // + // The name can be one of the following: // // * tcp - Transmission Control Protocol (TCP) provides reliable, ordered, // and error-checked delivery of streamed data between applications running @@ -23056,9 +26362,25 @@ type InstancePortInfo struct { // can use UDP, which provides a connectionless datagram service that emphasizes // reduced latency over reliability. If you do require reliable data stream // service, use TCP instead. + // + // * icmp - Internet Control Message Protocol (ICMP) is used to send error + // messages and operational information indicating success or failure when + // communicating with an instance. For example, an error is indicated when + // an instance could not be reached. When you specify icmp as the protocol, + // you must specify the ICMP type using the fromPort parameter, and ICMP + // code using the toPort parameter. Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"` - // The last port in the range. + // The last port in a range of open ports on an instance. + // + // Allowed ports: + // + // * TCP and UDP - 0 to 65535 + // + // * ICMP - The ICMP code. For example, specify 8 as the fromPort (ICMP type), + // and -1 as the toPort (ICMP code), to enable ICMP Ping. For more information, + // see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages) + // on Wikipedia. ToPort *int64 `locationName:"toPort" type:"integer"` } @@ -23090,6 +26412,18 @@ func (s *InstancePortInfo) SetAccessType(v string) *InstancePortInfo { return s } +// SetCidrListAliases sets the CidrListAliases field's value. +func (s *InstancePortInfo) SetCidrListAliases(v []*string) *InstancePortInfo { + s.CidrListAliases = v + return s +} + +// SetCidrs sets the Cidrs field's value. +func (s *InstancePortInfo) SetCidrs(v []*string) *InstancePortInfo { + s.Cidrs = v + return s +} + // SetCommonName sets the CommonName field's value. func (s *InstancePortInfo) SetCommonName(v string) *InstancePortInfo { s.CommonName = &v @@ -23114,14 +26448,42 @@ func (s *InstancePortInfo) SetToPort(v int64) *InstancePortInfo { return s } -// Describes the port state. +// Describes open ports on an instance, the IP addresses allowed to connect +// to the instance through the ports, and the protocol. type InstancePortState struct { _ struct{} `type:"structure"` - // The first port in the range. + // An alias that defines access for a preconfigured range of IP addresses. + // + // The only alias currently supported is lightsail-connect, which allows IP + // addresses of the browser-based RDP/SSH client in the Lightsail console to + // connect to your instance. + CidrListAliases []*string `locationName:"cidrListAliases" type:"list"` + + // The IP address, or range of IP addresses in CIDR notation, that are allowed + // to connect to an instance through the ports, and the protocol. Lightsail + // supports IPv4 addresses. + // + // For more information about CIDR block notation, see Classless Inter-Domain + // Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation) + // on Wikipedia. + Cidrs []*string `locationName:"cidrs" type:"list"` + + // The first port in a range of open ports on an instance. + // + // Allowed ports: + // + // * TCP and UDP - 0 to 65535 + // + // * ICMP - The ICMP type. For example, specify 8 as the fromPort (ICMP type), + // and -1 as the toPort (ICMP code), to enable ICMP Ping. For more information, + // see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages) + // on Wikipedia. FromPort *int64 `locationName:"fromPort" type:"integer"` - // The protocol being used. Can be one of the following. + // The IP protocol name. + // + // The name can be one of the following: // // * tcp - Transmission Control Protocol (TCP) provides reliable, ordered, // and error-checked delivery of streamed data between applications running @@ -23139,12 +26501,30 @@ type InstancePortState struct { // can use UDP, which provides a connectionless datagram service that emphasizes // reduced latency over reliability. If you do require reliable data stream // service, use TCP instead. + // + // * icmp - Internet Control Message Protocol (ICMP) is used to send error + // messages and operational information indicating success or failure when + // communicating with an instance. For example, an error is indicated when + // an instance could not be reached. When you specify icmp as the protocol, + // you must specify the ICMP type using the fromPort parameter, and ICMP + // code using the toPort parameter. Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"` // Specifies whether the instance port is open or closed. + // + // The port state for Lightsail instances is always open. State *string `locationName:"state" type:"string" enum:"PortState"` - // The last port in the range. + // The last port in a range of open ports on an instance. + // + // Allowed ports: + // + // * TCP and UDP - 0 to 65535 + // + // * ICMP - The ICMP code. For example, specify 8 as the fromPort (ICMP type), + // and -1 as the toPort (ICMP code), to enable ICMP Ping. For more information, + // see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages) + // on Wikipedia. ToPort *int64 `locationName:"toPort" type:"integer"` } @@ -23158,6 +26538,18 @@ func (s InstancePortState) GoString() string { return s.String() } +// SetCidrListAliases sets the CidrListAliases field's value. +func (s *InstancePortState) SetCidrListAliases(v []*string) *InstancePortState { + s.CidrListAliases = v + return s +} + +// SetCidrs sets the Cidrs field's value. +func (s *InstancePortState) SetCidrs(v []*string) *InstancePortState { + s.Cidrs = v + return s +} + // SetFromPort sets the FromPort field's value. func (s *InstancePortState) SetFromPort(v int64) *InstancePortState { s.FromPort = &v @@ -23576,43 +26968,244 @@ func (s *KeyPair) SetArn(v string) *KeyPair { } // SetCreatedAt sets the CreatedAt field's value. -func (s *KeyPair) SetCreatedAt(v time.Time) *KeyPair { +func (s *KeyPair) SetCreatedAt(v time.Time) *KeyPair { + s.CreatedAt = &v + return s +} + +// SetFingerprint sets the Fingerprint field's value. +func (s *KeyPair) SetFingerprint(v string) *KeyPair { + s.Fingerprint = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *KeyPair) SetLocation(v *ResourceLocation) *KeyPair { + s.Location = v + return s +} + +// SetName sets the Name field's value. +func (s *KeyPair) SetName(v string) *KeyPair { + s.Name = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *KeyPair) SetResourceType(v string) *KeyPair { + s.ResourceType = &v + return s +} + +// SetSupportCode sets the SupportCode field's value. +func (s *KeyPair) SetSupportCode(v string) *KeyPair { + s.SupportCode = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *KeyPair) SetTags(v []*Tag) *KeyPair { + s.Tags = v + return s +} + +// Describes an Amazon Lightsail content delivery network (CDN) distribution. +type LightsailDistribution struct { + _ struct{} `type:"structure"` + + // Indicates whether the bundle that is currently applied to your distribution, + // specified using the distributionName parameter, can be changed to another + // bundle. + // + // Use the UpdateDistributionBundle action to change your distribution's bundle. + AbleToUpdateBundle *bool `locationName:"ableToUpdateBundle" type:"boolean"` + + // The alternate domain names of the distribution. + AlternativeDomainNames []*string `locationName:"alternativeDomainNames" type:"list"` + + // The Amazon Resource Name (ARN) of the distribution. + Arn *string `locationName:"arn" type:"string"` + + // The ID of the bundle currently applied to the distribution. + BundleId *string `locationName:"bundleId" type:"string"` + + // An object that describes the cache behavior settings of the distribution. + CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"` + + // An array of objects that describe the per-path cache behavior of the distribution. + CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"` + + // The name of the SSL/TLS certificate attached to the distribution, if any. + CertificateName *string `locationName:"certificateName" type:"string"` + + // The timestamp when the distribution was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // An object that describes the default cache behavior of the distribution. + DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"` + + // The domain name of the distribution. + DomainName *string `locationName:"domainName" type:"string"` + + // Indicates whether the distribution is enabled. + IsEnabled *bool `locationName:"isEnabled" type:"boolean"` + + // An object that describes the location of the distribution, such as the AWS + // Region and Availability Zone. + // + // Lightsail distributions are global resources that can reference an origin + // in any AWS Region, and distribute its content globally. However, all distributions + // are located in the us-east-1 Region. + Location *ResourceLocation `locationName:"location" type:"structure"` + + // The name of the distribution. + Name *string `locationName:"name" type:"string"` + + // An object that describes the origin resource of the distribution, such as + // a Lightsail instance or load balancer. + // + // The distribution pulls, caches, and serves content from the origin. + Origin *Origin `locationName:"origin" type:"structure"` + + // The public DNS of the origin. + OriginPublicDNS *string `locationName:"originPublicDNS" type:"string"` + + // The Lightsail resource type (e.g., Distribution). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + + // The status of the distribution. + Status *string `locationName:"status" type:"string"` + + // The support code. Include this code in your email to support when you have + // questions about your Lightsail distribution. This code enables our support + // team to look up your Lightsail information more easily. + SupportCode *string `locationName:"supportCode" type:"string"` + + // The tag keys and optional values for the resource. For more information about + // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation +func (s LightsailDistribution) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LightsailDistribution) GoString() string { + return s.String() +} + +// SetAbleToUpdateBundle sets the AbleToUpdateBundle field's value. +func (s *LightsailDistribution) SetAbleToUpdateBundle(v bool) *LightsailDistribution { + s.AbleToUpdateBundle = &v + return s +} + +// SetAlternativeDomainNames sets the AlternativeDomainNames field's value. +func (s *LightsailDistribution) SetAlternativeDomainNames(v []*string) *LightsailDistribution { + s.AlternativeDomainNames = v + return s +} + +// SetArn sets the Arn field's value. +func (s *LightsailDistribution) SetArn(v string) *LightsailDistribution { + s.Arn = &v + return s +} + +// SetBundleId sets the BundleId field's value. +func (s *LightsailDistribution) SetBundleId(v string) *LightsailDistribution { + s.BundleId = &v + return s +} + +// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value. +func (s *LightsailDistribution) SetCacheBehaviorSettings(v *CacheSettings) *LightsailDistribution { + s.CacheBehaviorSettings = v + return s +} + +// SetCacheBehaviors sets the CacheBehaviors field's value. +func (s *LightsailDistribution) SetCacheBehaviors(v []*CacheBehaviorPerPath) *LightsailDistribution { + s.CacheBehaviors = v + return s +} + +// SetCertificateName sets the CertificateName field's value. +func (s *LightsailDistribution) SetCertificateName(v string) *LightsailDistribution { + s.CertificateName = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *LightsailDistribution) SetCreatedAt(v time.Time) *LightsailDistribution { s.CreatedAt = &v return s } -// SetFingerprint sets the Fingerprint field's value. -func (s *KeyPair) SetFingerprint(v string) *KeyPair { - s.Fingerprint = &v +// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. +func (s *LightsailDistribution) SetDefaultCacheBehavior(v *CacheBehavior) *LightsailDistribution { + s.DefaultCacheBehavior = v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *LightsailDistribution) SetDomainName(v string) *LightsailDistribution { + s.DomainName = &v + return s +} + +// SetIsEnabled sets the IsEnabled field's value. +func (s *LightsailDistribution) SetIsEnabled(v bool) *LightsailDistribution { + s.IsEnabled = &v return s } // SetLocation sets the Location field's value. -func (s *KeyPair) SetLocation(v *ResourceLocation) *KeyPair { +func (s *LightsailDistribution) SetLocation(v *ResourceLocation) *LightsailDistribution { s.Location = v return s } // SetName sets the Name field's value. -func (s *KeyPair) SetName(v string) *KeyPair { +func (s *LightsailDistribution) SetName(v string) *LightsailDistribution { s.Name = &v return s } +// SetOrigin sets the Origin field's value. +func (s *LightsailDistribution) SetOrigin(v *Origin) *LightsailDistribution { + s.Origin = v + return s +} + +// SetOriginPublicDNS sets the OriginPublicDNS field's value. +func (s *LightsailDistribution) SetOriginPublicDNS(v string) *LightsailDistribution { + s.OriginPublicDNS = &v + return s +} + // SetResourceType sets the ResourceType field's value. -func (s *KeyPair) SetResourceType(v string) *KeyPair { +func (s *LightsailDistribution) SetResourceType(v string) *LightsailDistribution { s.ResourceType = &v return s } +// SetStatus sets the Status field's value. +func (s *LightsailDistribution) SetStatus(v string) *LightsailDistribution { + s.Status = &v + return s +} + // SetSupportCode sets the SupportCode field's value. -func (s *KeyPair) SetSupportCode(v string) *KeyPair { +func (s *LightsailDistribution) SetSupportCode(v string) *LightsailDistribution { s.SupportCode = &v return s } // SetTags sets the Tags field's value. -func (s *KeyPair) SetTags(v []*Tag) *KeyPair { +func (s *LightsailDistribution) SetTags(v []*Tag) *LightsailDistribution { s.Tags = v return s } @@ -23808,7 +27401,47 @@ type LoadBalancerTlsCertificate struct { // the records. DomainValidationRecords []*LoadBalancerTlsCertificateDomainValidationRecord `locationName:"domainValidationRecords" type:"list"` - // The reason for the SSL/TLS certificate validation failure. + // The validation failure reason, if any, of the certificate. + // + // The following failure reasons are possible: + // + // * NO_AVAILABLE_CONTACTS - This failure applies to email validation, which + // is not available for Lightsail certificates. + // + // * ADDITIONAL_VERIFICATION_REQUIRED - Lightsail requires additional information + // to process this certificate request. This can happen as a fraud-protection + // measure, such as when the domain ranks within the Alexa top 1000 websites. + // To provide the required information, use the AWS Support Center (https://console.aws.amazon.com/support/home) + // to contact AWS Support. You cannot request a certificate for Amazon-owned + // domain names such as those ending in amazonaws.com, cloudfront.net, or + // elasticbeanstalk.com. + // + // * DOMAIN_NOT_ALLOWED - One or more of the domain names in the certificate + // request was reported as an unsafe domain by VirusTotal (https://www.virustotal.com/gui/home/url). + // To correct the problem, search for your domain name on the VirusTotal + // (https://www.virustotal.com/gui/home/url) website. If your domain is reported + // as suspicious, see Google Help for Hacked Websites (https://www.google.com/webmasters/hacked/?hl=en) + // to learn what you can do. If you believe that the result is a false positive, + // notify the organization that is reporting the domain. VirusTotal is an + // aggregate of several antivirus and URL scanners and cannot remove your + // domain from a block list itself. After you correct the problem and the + // VirusTotal registry has been updated, request a new certificate. If you + // see this error and your domain is not included in the VirusTotal list, + // visit the AWS Support Center (https://console.aws.amazon.com/support/home) + // and create a case. + // + // * INVALID_PUBLIC_DOMAIN - One or more of the domain names in the certificate + // request is not valid. Typically, this is because a domain name in the + // request is not a valid top-level domain. Try to request a certificate + // again, correcting any spelling errors or typos that were in the failed + // request, and ensure that all domain names in the request are for valid + // top-level domains. For example, you cannot request a certificate for example.invalidpublicdomain + // because invalidpublicdomain is not a valid top-level domain. + // + // * OTHER - Typically, this failure occurs when there is a typographical + // error in one or more of the domain names in the certificate request. Try + // to request a certificate again, correcting any spelling errors or typos + // that were in the failed request. FailureReason *string `locationName:"failureReason" type:"string" enum:"LoadBalancerTlsCertificateFailureReason"` // When true, the SSL/TLS certificate is attached to the Lightsail load balancer. @@ -23820,8 +27453,7 @@ type LoadBalancerTlsCertificate struct { // The issuer of the certificate. Issuer *string `locationName:"issuer" type:"string"` - // The algorithm that was used to generate the key pair (the public and private - // key). + // The algorithm used to generate the key pair (the public and private key). KeyAlgorithm *string `locationName:"keyAlgorithm" type:"string"` // The load balancer name where your SSL/TLS certificate is attached. @@ -23839,8 +27471,8 @@ type LoadBalancerTlsCertificate struct { // The timestamp when the SSL/TLS certificate is first valid. NotBefore *time.Time `locationName:"notBefore" type:"timestamp"` - // An object containing information about the status of Lightsail's managed - // renewal for the certificate. + // An object that describes the status of the certificate renewal managed by + // Lightsail. RenewalSummary *LoadBalancerTlsCertificateRenewalSummary `locationName:"renewalSummary" type:"structure"` // The resource type (e.g., LoadBalancerTlsCertificate). @@ -23867,10 +27499,12 @@ type LoadBalancerTlsCertificate struct { // * DiskSnapshot - A block storage disk snapshot ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` - // The reason the certificate was revoked. Valid values are below. + // The reason the certificate was revoked. This value is present only when the + // certificate status is REVOKED. RevocationReason *string `locationName:"revocationReason" type:"string" enum:"LoadBalancerTlsCertificateRevocationReason"` - // The timestamp when the SSL/TLS certificate was revoked. + // The timestamp when the certificate was revoked. This value is present only + // when the certificate status is REVOKED. RevokedAt *time.Time `locationName:"revokedAt" type:"timestamp"` // The serial number of the certificate. @@ -23879,18 +27513,15 @@ type LoadBalancerTlsCertificate struct { // The algorithm that was used to sign the certificate. SignatureAlgorithm *string `locationName:"signatureAlgorithm" type:"string"` - // The status of the SSL/TLS certificate. Valid values are below. + // The validation status of the SSL/TLS certificate. Valid values are below. Status *string `locationName:"status" type:"string" enum:"LoadBalancerTlsCertificateStatus"` // The name of the entity that is associated with the public key contained in // the certificate. Subject *string `locationName:"subject" type:"string"` - // One or more domains or subdomains included in the certificate. This list - // contains the domain names that are bound to the public key that is contained - // in the certificate. The subject alternative names include the canonical domain - // name (CNAME) of the certificate and additional domain names that can be used - // to connect to the website, such as example.com, www.example.com, or m.example.com. + // An array of strings that specify the alternate domains (e.g., example2.com) + // and subdomains (e.g., blog.example.com) for the certificate. SubjectAlternativeNames []*string `locationName:"subjectAlternativeNames" type:"list"` // The support code. Include this code in your email to support when you have @@ -24160,6 +27791,26 @@ func (s *LoadBalancerTlsCertificateDomainValidationRecord) SetValue(v string) *L // Contains information about the status of Lightsail's managed renewal for // the certificate. +// +// The renewal status of the certificate. +// +// The following renewal status are possible: +// +// * PendingAutoRenewal - Lightsail is attempting to automatically validate +// the domain names in the certificate. No further action is required. +// +// * PendingValidation - Lightsail couldn't automatically validate one or +// more domain names in the certificate. You must take action to validate +// these domain names or the certificate won't be renewed. If you used DNS +// validation, check to make sure your certificate's domain validation records +// exist in your domain's DNS, and that your certificate remains in use. +// +// * Success - All domain names in the certificate are validated, and Lightsail +// renewed the certificate. No further action is required. +// +// * Failed - One or more domain names were not validated before the certificate +// expired, and Lightsail did not renew the certificate. You can request +// a new certificate using the CreateCertificate action. type LoadBalancerTlsCertificateRenewalSummary struct { _ struct{} `type:"structure"` @@ -24168,8 +27819,25 @@ type LoadBalancerTlsCertificateRenewalSummary struct { // initial validation that occurs as a result of the RequestCertificate request. DomainValidationOptions []*LoadBalancerTlsCertificateDomainValidationOption `locationName:"domainValidationOptions" type:"list"` - // The status of Lightsail's managed renewal of the certificate. Valid values - // are listed below. + // The renewal status of the certificate. + // + // The following renewal status are possible: + // + // * PendingAutoRenewal - Lightsail is attempting to automatically validate + // the domain names of the certificate. No further action is required. + // + // * PendingValidation - Lightsail couldn't automatically validate one or + // more domain names of the certificate. You must take action to validate + // these domain names or the certificate won't be renewed. Check to make + // sure your certificate's domain validation records exist in your domain's + // DNS, and that your certificate remains in use. + // + // * Success - All domain names in the certificate are validated, and Lightsail + // renewed the certificate. No further action is required. + // + // * Failed - One or more domain names were not validated before the certificate + // expired, and Lightsail did not renew the certificate. You can request + // a new certificate using the CreateCertificate action. RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"LoadBalancerTlsCertificateRenewalStatus"` } @@ -24477,12 +28145,12 @@ func (s *NotFoundException) RequestID() string { type OpenInstancePublicPortsInput struct { _ struct{} `type:"structure"` - // The name of the instance for which you want to open the public ports. + // The name of the instance for which to open ports. // // InstanceName is a required field InstanceName *string `locationName:"instanceName" type:"string" required:"true"` - // An array of key-value pairs containing information about the port mappings. + // An object to describe the ports to open for the specified instance. // // PortInfo is a required field PortInfo *PortInfo `locationName:"portInfo" type:"structure" required:"true"` @@ -24507,6 +28175,11 @@ func (s *OpenInstancePublicPortsInput) Validate() error { if s.PortInfo == nil { invalidParams.Add(request.NewErrParamRequired("PortInfo")) } + if s.PortInfo != nil { + if err := s.PortInfo.Validate(); err != nil { + invalidParams.AddNested("PortInfo", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -24530,7 +28203,7 @@ type OpenInstancePublicPortsOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operation *Operation `locationName:"operation" type:"structure"` } @@ -24736,6 +28409,63 @@ func (s *OperationFailureException) RequestID() string { return s.RespMetadata.RequestID } +// Describes the origin resource of an Amazon Lightsail content delivery network +// (CDN) distribution. +// +// An origin can be a Lightsail instance or load balancer. A distribution pulls +// content from an origin, caches it, and serves it to viewers via a worldwide +// network of edge servers. +type Origin struct { + _ struct{} `type:"structure"` + + // The name of the origin resource. + Name *string `locationName:"name" type:"string"` + + // The protocol that your Amazon Lightsail distribution uses when establishing + // a connection with your origin to pull content. + ProtocolPolicy *string `locationName:"protocolPolicy" type:"string" enum:"OriginProtocolPolicyEnum"` + + // The AWS Region name of the origin resource. + RegionName *string `locationName:"regionName" type:"string" enum:"RegionName"` + + // The resource type of the origin resource (e.g., Instance). + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` +} + +// String returns the string representation +func (s Origin) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Origin) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *Origin) SetName(v string) *Origin { + s.Name = &v + return s +} + +// SetProtocolPolicy sets the ProtocolPolicy field's value. +func (s *Origin) SetProtocolPolicy(v string) *Origin { + s.ProtocolPolicy = &v + return s +} + +// SetRegionName sets the RegionName field's value. +func (s *Origin) SetRegionName(v string) *Origin { + s.RegionName = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *Origin) SetResourceType(v string) *Origin { + s.ResourceType = &v + return s +} + // The password data for the Windows Server-based instance, including the ciphertext // and the key pair name. type PasswordData struct { @@ -24806,7 +28536,7 @@ type PeerVpcOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operation *Operation `locationName:"operation" type:"structure"` } @@ -24911,18 +28641,84 @@ func (s *PendingModifiedRelationalDatabaseValues) SetMasterUserPassword(v string return s } -// Describes information about the ports on your virtual private server (or -// instance). +// Describes ports to open on an instance, the IP addresses allowed to connect +// to the instance through the ports, and the protocol. type PortInfo struct { _ struct{} `type:"structure"` - // The first port in the range. + // An alias that defines access for a preconfigured range of IP addresses. + // + // The only alias currently supported is lightsail-connect, which allows IP + // addresses of the browser-based RDP/SSH client in the Lightsail console to + // connect to your instance. + CidrListAliases []*string `locationName:"cidrListAliases" type:"list"` + + // The IP address, or range of IP addresses in CIDR notation, that are allowed + // to connect to an instance through the ports, and the protocol. Lightsail + // supports IPv4 addresses. + // + // Examples: + // + // * To allow the IP address 192.0.2.44, specify 192.0.2.44 or 192.0.2.44/32. + // + // * To allow the IP addresses 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24. + // + // For more information about CIDR block notation, see Classless Inter-Domain + // Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation) + // on Wikipedia. + Cidrs []*string `locationName:"cidrs" type:"list"` + + // The first port in a range of open ports on an instance. + // + // Allowed ports: + // + // * TCP and UDP - 0 to 65535 + // + // * ICMP - The ICMP type. For example, specify 8 as the fromPort (ICMP type), + // and -1 as the toPort (ICMP code), to enable ICMP Ping. For more information, + // see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages) + // on Wikipedia. FromPort *int64 `locationName:"fromPort" type:"integer"` - // The protocol. + // The IP protocol name. + // + // The name can be one of the following: + // + // * tcp - Transmission Control Protocol (TCP) provides reliable, ordered, + // and error-checked delivery of streamed data between applications running + // on hosts communicating by an IP network. If you have an application that + // doesn't require reliable data stream service, use UDP instead. + // + // * all - All transport layer protocol types. For more general information, + // see Transport layer (https://en.wikipedia.org/wiki/Transport_layer) on + // Wikipedia. + // + // * udp - With User Datagram Protocol (UDP), computer applications can send + // messages (or datagrams) to other hosts on an Internet Protocol (IP) network. + // Prior communications are not required to set up transmission channels + // or data paths. Applications that don't require reliable data stream service + // can use UDP, which provides a connectionless datagram service that emphasizes + // reduced latency over reliability. If you do require reliable data stream + // service, use TCP instead. + // + // * icmp - Internet Control Message Protocol (ICMP) is used to send error + // messages and operational information indicating success or failure when + // communicating with an instance. For example, an error is indicated when + // an instance could not be reached. When you specify icmp as the protocol, + // you must specify the ICMP type using the fromPort parameter, and ICMP + // code using the toPort parameter. Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"` - // The last port in the range. + // The last port in a range of open ports on an instance. + // + // Allowed ports: + // + // * TCP and UDP - 0 to 65535 + // + // * ICMP - The ICMP code. For example, specify 8 as the fromPort (ICMP type), + // and -1 as the toPort (ICMP code), to enable ICMP Ping. For more information, + // see Control Messages (https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages) + // on Wikipedia. ToPort *int64 `locationName:"toPort" type:"integer"` } @@ -24936,6 +28732,34 @@ func (s PortInfo) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *PortInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PortInfo"} + if s.FromPort != nil && *s.FromPort < -1 { + invalidParams.Add(request.NewErrParamMinValue("FromPort", -1)) + } + if s.ToPort != nil && *s.ToPort < -1 { + invalidParams.Add(request.NewErrParamMinValue("ToPort", -1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCidrListAliases sets the CidrListAliases field's value. +func (s *PortInfo) SetCidrListAliases(v []*string) *PortInfo { + s.CidrListAliases = v + return s +} + +// SetCidrs sets the Cidrs field's value. +func (s *PortInfo) SetCidrs(v []*string) *PortInfo { + s.Cidrs = v + return s +} + // SetFromPort sets the FromPort field's value. func (s *PortInfo) SetFromPort(v int64) *PortInfo { s.FromPort = &v @@ -25011,8 +28835,9 @@ type PutAlarmInput struct { // // The following metrics are available for each resource type: // - // * Instances: CPUUtilization, NetworkIn, NetworkOut, StatusCheckFailed, - // StatusCheckFailed_Instance, and StatusCheckFailed_System. + // * Instances: BurstCapacityPercentage, BurstCapacityTime, CPUUtilization, + // NetworkIn, NetworkOut, StatusCheckFailed, StatusCheckFailed_Instance, + // and StatusCheckFailed_System. // // * Load balancers: ClientTLSNegotiationErrorCount, HealthyHostCount, UnhealthyHostCount, // HTTPCode_LB_4XX_Count, HTTPCode_LB_5XX_Count, HTTPCode_Instance_2XX_Count, @@ -25022,6 +28847,9 @@ type PutAlarmInput struct { // * Relational databases: CPUUtilization, DatabaseConnections, DiskQueueDepth, // FreeStorageSpace, NetworkReceiveThroughput, and NetworkTransmitThroughput. // + // For more information about these metrics, see Metrics available in Lightsail + // (https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-resource-health-metrics#available-metrics). + // // MetricName is a required field MetricName *string `locationName:"metricName" type:"string" required:"true" enum:"MetricName"` @@ -25042,13 +28870,13 @@ type PutAlarmInput struct { // // An alarm has the following possible states: // - // * ALARM — The metric is outside of the defined threshold. + // * ALARM - The metric is outside of the defined threshold. // - // * INSUFFICIENT_DATA — The alarm has just started, the metric is not - // available, or not enough data is available for the metric to determine - // the alarm state. + // * INSUFFICIENT_DATA - The alarm has just started, the metric is not available, + // or not enough data is available for the metric to determine the alarm + // state. // - // * OK — The metric is within the defined threshold. + // * OK - The metric is within the defined threshold. // // When you specify a notification trigger, the ALARM state must be specified. // The INSUFFICIENT_DATA and OK states can be specified in addition to the ALARM @@ -25074,16 +28902,16 @@ type PutAlarmInput struct { // // An alarm can treat missing data in the following ways: // - // * breaching — Assume the missing data is not within the threshold. Missing + // * breaching - Assume the missing data is not within the threshold. Missing // data counts towards the number of times the metric is not within the threshold. // - // * notBreaching — Assume the missing data is within the threshold. Missing + // * notBreaching - Assume the missing data is within the threshold. Missing // data does not count towards the number of times the metric is not within // the threshold. // - // * ignore — Ignore the missing data. Maintains the current alarm state. + // * ignore - Ignore the missing data. Maintains the current alarm state. // - // * missing — Missing data is treated as missing. + // * missing - Missing data is treated as missing. // // If treatMissingData is not specified, the default behavior of missing is // used. @@ -25198,7 +29026,7 @@ type PutAlarmOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -25222,12 +29050,12 @@ func (s *PutAlarmOutput) SetOperations(v []*Operation) *PutAlarmOutput { type PutInstancePublicPortsInput struct { _ struct{} `type:"structure"` - // The Lightsail instance name of the public port(s) you are setting. + // The name of the instance for which to open ports. // // InstanceName is a required field InstanceName *string `locationName:"instanceName" type:"string" required:"true"` - // Specifies information about the public port(s). + // An array of objects to describe the ports to open for the specified instance. // // PortInfos is a required field PortInfos []*PortInfo `locationName:"portInfos" type:"list" required:"true"` @@ -25252,6 +29080,16 @@ func (s *PutInstancePublicPortsInput) Validate() error { if s.PortInfos == nil { invalidParams.Add(request.NewErrParamRequired("PortInfos")) } + if s.PortInfos != nil { + for i, v := range s.PortInfos { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortInfos", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -25275,7 +29113,7 @@ type PutInstancePublicPortsOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operation *Operation `locationName:"operation" type:"structure"` } @@ -25296,6 +29134,49 @@ func (s *PutInstancePublicPortsOutput) SetOperation(v *Operation) *PutInstancePu return s } +// Describes the query string parameters that an Amazon Lightsail content delivery +// network (CDN) distribution to bases caching on. +// +// For the query strings that you specify, your distribution caches separate +// versions of the specified content based on the query string values in viewer +// requests. +type QueryStringObject struct { + _ struct{} `type:"structure"` + + // Indicates whether the distribution forwards and caches based on query strings. + Option *bool `locationName:"option" type:"boolean"` + + // The specific query strings that the distribution forwards to the origin. + // + // Your distribution will cache content based on the specified query strings. + // + // If the option parameter is true, then your distribution forwards all query + // strings, regardless of what you specify using the queryStringsAllowList parameter. + QueryStringsAllowList []*string `locationName:"queryStringsAllowList" type:"list"` +} + +// String returns the string representation +func (s QueryStringObject) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QueryStringObject) GoString() string { + return s.String() +} + +// SetOption sets the Option field's value. +func (s *QueryStringObject) SetOption(v bool) *QueryStringObject { + s.Option = &v + return s +} + +// SetQueryStringsAllowList sets the QueryStringsAllowList field's value. +func (s *QueryStringObject) SetQueryStringsAllowList(v []*string) *QueryStringObject { + s.QueryStringsAllowList = v + return s +} + type RebootInstanceInput struct { _ struct{} `type:"structure"` @@ -25338,7 +29219,7 @@ type RebootInstanceOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -25401,7 +29282,7 @@ type RebootRelationalDatabaseOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -26294,66 +30175,205 @@ func (s *RelationalDatabaseSnapshot) SetTags(v []*Tag) *RelationalDatabaseSnapsh return s } -type ReleaseStaticIpInput struct { +type ReleaseStaticIpInput struct { + _ struct{} `type:"structure"` + + // The name of the static IP to delete. + // + // StaticIpName is a required field + StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` +} + +// String returns the string representation +func (s ReleaseStaticIpInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReleaseStaticIpInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReleaseStaticIpInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReleaseStaticIpInput"} + if s.StaticIpName == nil { + invalidParams.Add(request.NewErrParamRequired("StaticIpName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStaticIpName sets the StaticIpName field's value. +func (s *ReleaseStaticIpInput) SetStaticIpName(v string) *ReleaseStaticIpInput { + s.StaticIpName = &v + return s +} + +type ReleaseStaticIpOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operations []*Operation `locationName:"operations" type:"list"` +} + +// String returns the string representation +func (s ReleaseStaticIpOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReleaseStaticIpOutput) GoString() string { + return s.String() +} + +// SetOperations sets the Operations field's value. +func (s *ReleaseStaticIpOutput) SetOperations(v []*Operation) *ReleaseStaticIpOutput { + s.Operations = v + return s +} + +// Describes the status of a SSL/TLS certificate renewal managed by Amazon Lightsail. +type RenewalSummary struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the domain validation records of the certificate. + DomainValidationRecords []*DomainValidationRecord `locationName:"domainValidationRecords" type:"list"` + + // The renewal status of the certificate. + // + // The following renewal status are possible: + // + // * PendingAutoRenewal - Lightsail is attempting to automatically validate + // the domain names of the certificate. No further action is required. + // + // * PendingValidation - Lightsail couldn't automatically validate one or + // more domain names of the certificate. You must take action to validate + // these domain names or the certificate won't be renewed. Check to make + // sure your certificate's domain validation records exist in your domain's + // DNS, and that your certificate remains in use. + // + // * Success - All domain names in the certificate are validated, and Lightsail + // renewed the certificate. No further action is required. + // + // * Failed - One or more domain names were not validated before the certificate + // expired, and Lightsail did not renew the certificate. You can request + // a new certificate using the CreateCertificate action. + RenewalStatus *string `locationName:"renewalStatus" type:"string" enum:"RenewalStatus"` + + // The reason for the renewal status of the certificate. + RenewalStatusReason *string `locationName:"renewalStatusReason" type:"string"` + + // The timestamp when the certificate was last updated. + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` +} + +// String returns the string representation +func (s RenewalSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RenewalSummary) GoString() string { + return s.String() +} + +// SetDomainValidationRecords sets the DomainValidationRecords field's value. +func (s *RenewalSummary) SetDomainValidationRecords(v []*DomainValidationRecord) *RenewalSummary { + s.DomainValidationRecords = v + return s +} + +// SetRenewalStatus sets the RenewalStatus field's value. +func (s *RenewalSummary) SetRenewalStatus(v string) *RenewalSummary { + s.RenewalStatus = &v + return s +} + +// SetRenewalStatusReason sets the RenewalStatusReason field's value. +func (s *RenewalSummary) SetRenewalStatusReason(v string) *RenewalSummary { + s.RenewalStatusReason = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *RenewalSummary) SetUpdatedAt(v time.Time) *RenewalSummary { + s.UpdatedAt = &v + return s +} + +type ResetDistributionCacheInput struct { _ struct{} `type:"structure"` - // The name of the static IP to delete. + // The name of the distribution for which to reset cache. // - // StaticIpName is a required field - StaticIpName *string `locationName:"staticIpName" type:"string" required:"true"` + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + DistributionName *string `locationName:"distributionName" type:"string"` } // String returns the string representation -func (s ReleaseStaticIpInput) String() string { +func (s ResetDistributionCacheInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ReleaseStaticIpInput) GoString() string { +func (s ResetDistributionCacheInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ReleaseStaticIpInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ReleaseStaticIpInput"} - if s.StaticIpName == nil { - invalidParams.Add(request.NewErrParamRequired("StaticIpName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetStaticIpName sets the StaticIpName field's value. -func (s *ReleaseStaticIpInput) SetStaticIpName(v string) *ReleaseStaticIpInput { - s.StaticIpName = &v +// SetDistributionName sets the DistributionName field's value. +func (s *ResetDistributionCacheInput) SetDistributionName(v string) *ResetDistributionCacheInput { + s.DistributionName = &v return s } -type ReleaseStaticIpOutput struct { +type ResetDistributionCacheOutput struct { _ struct{} `type:"structure"` + // The timestamp of the reset cache request (e.g., 1479734909.17) in Unix time + // format. + CreateTime *time.Time `locationName:"createTime" type:"timestamp"` + // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. - Operations []*Operation `locationName:"operations" type:"list"` + Operation *Operation `locationName:"operation" type:"structure"` + + // The status of the reset cache request. + Status *string `locationName:"status" type:"string"` } // String returns the string representation -func (s ReleaseStaticIpOutput) String() string { +func (s ResetDistributionCacheOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ReleaseStaticIpOutput) GoString() string { +func (s ResetDistributionCacheOutput) GoString() string { return s.String() } -// SetOperations sets the Operations field's value. -func (s *ReleaseStaticIpOutput) SetOperations(v []*Operation) *ReleaseStaticIpOutput { - s.Operations = v +// SetCreateTime sets the CreateTime field's value. +func (s *ResetDistributionCacheOutput) SetCreateTime(v time.Time) *ResetDistributionCacheOutput { + s.CreateTime = &v + return s +} + +// SetOperation sets the Operation field's value. +func (s *ResetDistributionCacheOutput) SetOperation(v *Operation) *ResetDistributionCacheOutput { + s.Operation = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResetDistributionCacheOutput) SetStatus(v string) *ResetDistributionCacheOutput { + s.Status = &v return s } @@ -26390,6 +30410,49 @@ func (s *ResourceLocation) SetRegionName(v string) *ResourceLocation { return s } +// Describes the domain name system (DNS) records to add to your domain's DNS +// to validate it for an Amazon Lightsail certificate. +type ResourceRecord struct { + _ struct{} `type:"structure"` + + // The name of the record. + Name *string `locationName:"name" type:"string"` + + // The DNS record type. + Type *string `locationName:"type" type:"string"` + + // The value for the DNS record. + Value *string `locationName:"value" type:"string"` +} + +// String returns the string representation +func (s ResourceRecord) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceRecord) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *ResourceRecord) SetName(v string) *ResourceRecord { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *ResourceRecord) SetType(v string) *ResourceRecord { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *ResourceRecord) SetValue(v string) *ResourceRecord { + s.Value = &v + return s +} + type SendContactMethodVerificationInput struct { _ struct{} `type:"structure"` @@ -26432,7 +30495,7 @@ type SendContactMethodVerificationOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -26557,7 +30620,7 @@ type StartInstanceOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -26620,7 +30683,7 @@ type StartRelationalDatabaseOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -26795,7 +30858,7 @@ type StopInstanceOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -26868,7 +30931,7 @@ type StopRelationalDatabaseOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -26997,7 +31060,7 @@ type TagResourceOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -27030,13 +31093,13 @@ type TestAlarmInput struct { // // An alarm has the following possible states that can be tested: // - // * ALARM — The metric is outside of the defined threshold. + // * ALARM - The metric is outside of the defined threshold. // - // * INSUFFICIENT_DATA — The alarm has just started, the metric is not - // available, or not enough data is available for the metric to determine - // the alarm state. + // * INSUFFICIENT_DATA - The alarm has just started, the metric is not available, + // or not enough data is available for the metric to determine the alarm + // state. // - // * OK — The metric is within the defined threshold. + // * OK - The metric is within the defined threshold. // // State is a required field State *string `locationName:"state" type:"string" required:"true" enum:"AlarmState"` @@ -27084,7 +31147,7 @@ type TestAlarmOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -27185,7 +31248,7 @@ type UnpeerVpcOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operation *Operation `locationName:"operation" type:"structure"` } @@ -27272,7 +31335,7 @@ type UntagResourceOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -27293,6 +31356,184 @@ func (s *UntagResourceOutput) SetOperations(v []*Operation) *UntagResourceOutput return s } +type UpdateDistributionBundleInput struct { + _ struct{} `type:"structure"` + + // The bundle ID of the new bundle to apply to your distribution. + // + // Use the GetDistributionBundles action to get a list of distribution bundle + // IDs that you can specify. + BundleId *string `locationName:"bundleId" type:"string"` + + // The name of the distribution for which to update the bundle. + // + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + DistributionName *string `locationName:"distributionName" type:"string"` +} + +// String returns the string representation +func (s UpdateDistributionBundleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDistributionBundleInput) GoString() string { + return s.String() +} + +// SetBundleId sets the BundleId field's value. +func (s *UpdateDistributionBundleInput) SetBundleId(v string) *UpdateDistributionBundleInput { + s.BundleId = &v + return s +} + +// SetDistributionName sets the DistributionName field's value. +func (s *UpdateDistributionBundleInput) SetDistributionName(v string) *UpdateDistributionBundleInput { + s.DistributionName = &v + return s +} + +type UpdateDistributionBundleOutput struct { + _ struct{} `type:"structure"` + + // Describes the API operation. + Operation *Operation `locationName:"operation" type:"structure"` +} + +// String returns the string representation +func (s UpdateDistributionBundleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDistributionBundleOutput) GoString() string { + return s.String() +} + +// SetOperation sets the Operation field's value. +func (s *UpdateDistributionBundleOutput) SetOperation(v *Operation) *UpdateDistributionBundleOutput { + s.Operation = v + return s +} + +type UpdateDistributionInput struct { + _ struct{} `type:"structure"` + + // An object that describes the cache behavior settings for the distribution. + // + // The cacheBehaviorSettings specified in your UpdateDistributionRequest will + // replace your distribution's existing settings. + CacheBehaviorSettings *CacheSettings `locationName:"cacheBehaviorSettings" type:"structure"` + + // An array of objects that describe the per-path cache behavior for the distribution. + CacheBehaviors []*CacheBehaviorPerPath `locationName:"cacheBehaviors" type:"list"` + + // An object that describes the default cache behavior for the distribution. + DefaultCacheBehavior *CacheBehavior `locationName:"defaultCacheBehavior" type:"structure"` + + // The name of the distribution to update. + // + // Use the GetDistributions action to get a list of distribution names that + // you can specify. + // + // DistributionName is a required field + DistributionName *string `locationName:"distributionName" type:"string" required:"true"` + + // Indicates whether to enable the distribution. + IsEnabled *bool `locationName:"isEnabled" type:"boolean"` + + // An object that describes the origin resource for the distribution, such as + // a Lightsail instance or load balancer. + // + // The distribution pulls, caches, and serves content from the origin. + Origin *InputOrigin `locationName:"origin" type:"structure"` +} + +// String returns the string representation +func (s UpdateDistributionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDistributionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDistributionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDistributionInput"} + if s.DistributionName == nil { + invalidParams.Add(request.NewErrParamRequired("DistributionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCacheBehaviorSettings sets the CacheBehaviorSettings field's value. +func (s *UpdateDistributionInput) SetCacheBehaviorSettings(v *CacheSettings) *UpdateDistributionInput { + s.CacheBehaviorSettings = v + return s +} + +// SetCacheBehaviors sets the CacheBehaviors field's value. +func (s *UpdateDistributionInput) SetCacheBehaviors(v []*CacheBehaviorPerPath) *UpdateDistributionInput { + s.CacheBehaviors = v + return s +} + +// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. +func (s *UpdateDistributionInput) SetDefaultCacheBehavior(v *CacheBehavior) *UpdateDistributionInput { + s.DefaultCacheBehavior = v + return s +} + +// SetDistributionName sets the DistributionName field's value. +func (s *UpdateDistributionInput) SetDistributionName(v string) *UpdateDistributionInput { + s.DistributionName = &v + return s +} + +// SetIsEnabled sets the IsEnabled field's value. +func (s *UpdateDistributionInput) SetIsEnabled(v bool) *UpdateDistributionInput { + s.IsEnabled = &v + return s +} + +// SetOrigin sets the Origin field's value. +func (s *UpdateDistributionInput) SetOrigin(v *InputOrigin) *UpdateDistributionInput { + s.Origin = v + return s +} + +type UpdateDistributionOutput struct { + _ struct{} `type:"structure"` + + // An array of objects that describe the result of the action, such as the status + // of the request, the timestamp of the request, and the resources affected + // by the request. + Operation *Operation `locationName:"operation" type:"structure"` +} + +// String returns the string representation +func (s UpdateDistributionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateDistributionOutput) GoString() string { + return s.String() +} + +// SetOperation sets the Operation field's value. +func (s *UpdateDistributionOutput) SetOperation(v *Operation) *UpdateDistributionOutput { + s.Operation = v + return s +} + type UpdateDomainEntryInput struct { _ struct{} `type:"structure"` @@ -27349,7 +31590,7 @@ type UpdateDomainEntryOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -27443,7 +31684,7 @@ type UpdateLoadBalancerAttributeOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -27636,7 +31877,7 @@ type UpdateRelationalDatabaseOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -27713,7 +31954,7 @@ type UpdateRelationalDatabaseParametersOutput struct { _ struct{} `type:"structure"` // An array of objects that describe the result of the action, such as the status - // of the request, the time stamp of the request, and the resources affected + // of the request, the timestamp of the request, and the resources affected // by the request. Operations []*Operation `locationName:"operations" type:"list"` } @@ -27772,6 +32013,14 @@ const ( AutoSnapshotStatusNotFound = "NotFound" ) +const ( + // BehaviorEnumDontCache is a BehaviorEnum enum value + BehaviorEnumDontCache = "dont-cache" + + // BehaviorEnumCache is a BehaviorEnum enum value + BehaviorEnumCache = "cache" +) + const ( // BlueprintTypeOs is a BlueprintType enum value BlueprintTypeOs = "os" @@ -27780,6 +32029,29 @@ const ( BlueprintTypeApp = "app" ) +const ( + // CertificateStatusPendingValidation is a CertificateStatus enum value + CertificateStatusPendingValidation = "PENDING_VALIDATION" + + // CertificateStatusIssued is a CertificateStatus enum value + CertificateStatusIssued = "ISSUED" + + // CertificateStatusInactive is a CertificateStatus enum value + CertificateStatusInactive = "INACTIVE" + + // CertificateStatusExpired is a CertificateStatus enum value + CertificateStatusExpired = "EXPIRED" + + // CertificateStatusValidationTimedOut is a CertificateStatus enum value + CertificateStatusValidationTimedOut = "VALIDATION_TIMED_OUT" + + // CertificateStatusRevoked is a CertificateStatus enum value + CertificateStatusRevoked = "REVOKED" + + // CertificateStatusFailed is a CertificateStatus enum value + CertificateStatusFailed = "FAILED" +) + const ( // CloudFormationStackRecordSourceTypeExportSnapshotRecord is a CloudFormationStackRecordSourceType enum value CloudFormationStackRecordSourceTypeExportSnapshotRecord = "ExportSnapshotRecord" @@ -27854,6 +32126,26 @@ const ( DiskStateUnknown = "unknown" ) +const ( + // DistributionMetricNameRequests is a DistributionMetricName enum value + DistributionMetricNameRequests = "Requests" + + // DistributionMetricNameBytesDownloaded is a DistributionMetricName enum value + DistributionMetricNameBytesDownloaded = "BytesDownloaded" + + // DistributionMetricNameBytesUploaded is a DistributionMetricName enum value + DistributionMetricNameBytesUploaded = "BytesUploaded" + + // DistributionMetricNameTotalErrorRate is a DistributionMetricName enum value + DistributionMetricNameTotalErrorRate = "TotalErrorRate" + + // DistributionMetricNameHttp4xxErrorRate is a DistributionMetricName enum value + DistributionMetricNameHttp4xxErrorRate = "Http4xxErrorRate" + + // DistributionMetricNameHttp5xxErrorRate is a DistributionMetricName enum value + DistributionMetricNameHttp5xxErrorRate = "Http5xxErrorRate" +) + const ( // ExportSnapshotRecordSourceTypeInstanceSnapshot is a ExportSnapshotRecordSourceType enum value ExportSnapshotRecordSourceTypeInstanceSnapshot = "InstanceSnapshot" @@ -27862,6 +32154,64 @@ const ( ExportSnapshotRecordSourceTypeDiskSnapshot = "DiskSnapshot" ) +const ( + // ForwardValuesNone is a ForwardValues enum value + ForwardValuesNone = "none" + + // ForwardValuesAllowList is a ForwardValues enum value + ForwardValuesAllowList = "allow-list" + + // ForwardValuesAll is a ForwardValues enum value + ForwardValuesAll = "all" +) + +const ( + // HeaderEnumAccept is a HeaderEnum enum value + HeaderEnumAccept = "Accept" + + // HeaderEnumAcceptCharset is a HeaderEnum enum value + HeaderEnumAcceptCharset = "Accept-Charset" + + // HeaderEnumAcceptDatetime is a HeaderEnum enum value + HeaderEnumAcceptDatetime = "Accept-Datetime" + + // HeaderEnumAcceptEncoding is a HeaderEnum enum value + HeaderEnumAcceptEncoding = "Accept-Encoding" + + // HeaderEnumAcceptLanguage is a HeaderEnum enum value + HeaderEnumAcceptLanguage = "Accept-Language" + + // HeaderEnumAuthorization is a HeaderEnum enum value + HeaderEnumAuthorization = "Authorization" + + // HeaderEnumCloudFrontForwardedProto is a HeaderEnum enum value + HeaderEnumCloudFrontForwardedProto = "CloudFront-Forwarded-Proto" + + // HeaderEnumCloudFrontIsDesktopViewer is a HeaderEnum enum value + HeaderEnumCloudFrontIsDesktopViewer = "CloudFront-Is-Desktop-Viewer" + + // HeaderEnumCloudFrontIsMobileViewer is a HeaderEnum enum value + HeaderEnumCloudFrontIsMobileViewer = "CloudFront-Is-Mobile-Viewer" + + // HeaderEnumCloudFrontIsSmartTvViewer is a HeaderEnum enum value + HeaderEnumCloudFrontIsSmartTvViewer = "CloudFront-Is-SmartTV-Viewer" + + // HeaderEnumCloudFrontIsTabletViewer is a HeaderEnum enum value + HeaderEnumCloudFrontIsTabletViewer = "CloudFront-Is-Tablet-Viewer" + + // HeaderEnumCloudFrontViewerCountry is a HeaderEnum enum value + HeaderEnumCloudFrontViewerCountry = "CloudFront-Viewer-Country" + + // HeaderEnumHost is a HeaderEnum enum value + HeaderEnumHost = "Host" + + // HeaderEnumOrigin is a HeaderEnum enum value + HeaderEnumOrigin = "Origin" + + // HeaderEnumReferer is a HeaderEnum enum value + HeaderEnumReferer = "Referer" +) + const ( // InstanceAccessProtocolSsh is a InstanceAccessProtocol enum value InstanceAccessProtocolSsh = "ssh" @@ -27943,6 +32293,12 @@ const ( // InstanceMetricNameStatusCheckFailedSystem is a InstanceMetricName enum value InstanceMetricNameStatusCheckFailedSystem = "StatusCheckFailed_System" + + // InstanceMetricNameBurstCapacityTime is a InstanceMetricName enum value + InstanceMetricNameBurstCapacityTime = "BurstCapacityTime" + + // InstanceMetricNameBurstCapacityPercentage is a InstanceMetricName enum value + InstanceMetricNameBurstCapacityPercentage = "BurstCapacityPercentage" ) const ( @@ -28207,6 +32563,12 @@ const ( // MetricNameNetworkTransmitThroughput is a MetricName enum value MetricNameNetworkTransmitThroughput = "NetworkTransmitThroughput" + + // MetricNameBurstCapacityTime is a MetricName enum value + MetricNameBurstCapacityTime = "BurstCapacityTime" + + // MetricNameBurstCapacityPercentage is a MetricName enum value + MetricNameBurstCapacityPercentage = "BurstCapacityPercentage" ) const ( @@ -28318,6 +32680,9 @@ const ( // NetworkProtocolUdp is a NetworkProtocol enum value NetworkProtocolUdp = "udp" + + // NetworkProtocolIcmp is a NetworkProtocol enum value + NetworkProtocolIcmp = "icmp" ) const ( @@ -28502,6 +32867,41 @@ const ( // OperationTypeDeleteContactMethod is a OperationType enum value OperationTypeDeleteContactMethod = "DeleteContactMethod" + + // OperationTypeCreateDistribution is a OperationType enum value + OperationTypeCreateDistribution = "CreateDistribution" + + // OperationTypeUpdateDistribution is a OperationType enum value + OperationTypeUpdateDistribution = "UpdateDistribution" + + // OperationTypeDeleteDistribution is a OperationType enum value + OperationTypeDeleteDistribution = "DeleteDistribution" + + // OperationTypeResetDistributionCache is a OperationType enum value + OperationTypeResetDistributionCache = "ResetDistributionCache" + + // OperationTypeAttachCertificateToDistribution is a OperationType enum value + OperationTypeAttachCertificateToDistribution = "AttachCertificateToDistribution" + + // OperationTypeDetachCertificateFromDistribution is a OperationType enum value + OperationTypeDetachCertificateFromDistribution = "DetachCertificateFromDistribution" + + // OperationTypeUpdateDistributionBundle is a OperationType enum value + OperationTypeUpdateDistributionBundle = "UpdateDistributionBundle" + + // OperationTypeCreateCertificate is a OperationType enum value + OperationTypeCreateCertificate = "CreateCertificate" + + // OperationTypeDeleteCertificate is a OperationType enum value + OperationTypeDeleteCertificate = "DeleteCertificate" +) + +const ( + // OriginProtocolPolicyEnumHttpOnly is a OriginProtocolPolicyEnum enum value + OriginProtocolPolicyEnumHttpOnly = "http-only" + + // OriginProtocolPolicyEnumHttpsOnly is a OriginProtocolPolicyEnum enum value + OriginProtocolPolicyEnumHttpsOnly = "https-only" ) const ( @@ -28625,6 +33025,20 @@ const ( RelationalDatabasePasswordVersionPending = "PENDING" ) +const ( + // RenewalStatusPendingAutoRenewal is a RenewalStatus enum value + RenewalStatusPendingAutoRenewal = "PendingAutoRenewal" + + // RenewalStatusPendingValidation is a RenewalStatus enum value + RenewalStatusPendingValidation = "PendingValidation" + + // RenewalStatusSuccess is a RenewalStatus enum value + RenewalStatusSuccess = "Success" + + // RenewalStatusFailed is a RenewalStatus enum value + RenewalStatusFailed = "Failed" +) + const ( // ResourceTypeInstance is a ResourceType enum value ResourceTypeInstance = "Instance" @@ -28673,6 +33087,12 @@ const ( // ResourceTypeContactMethod is a ResourceType enum value ResourceTypeContactMethod = "ContactMethod" + + // ResourceTypeDistribution is a ResourceType enum value + ResourceTypeDistribution = "Distribution" + + // ResourceTypeCertificate is a ResourceType enum value + ResourceTypeCertificate = "Certificate" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/lightsail/doc.go b/vendor/github.com/aws/aws-sdk-go/service/lightsail/doc.go index f806bbf094f..5947ff0d91e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lightsail/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lightsail/doc.go @@ -3,19 +3,23 @@ // Package lightsail provides the client and types for making API // requests to Amazon Lightsail. // -// Amazon Lightsail is the easiest way to get started with AWS for developers -// who just need virtual private servers. Lightsail includes everything you -// need to launch your project quickly - a virtual machine, a managed database, -// SSD-based storage, data transfer, DNS management, and a static IP - for a -// low, predictable price. You manage those Lightsail servers through the Lightsail -// console or by using the API or command-line interface (CLI). -// -// For more information about Lightsail concepts and tasks, see the Lightsail -// Dev Guide (https://lightsail.aws.amazon.com/ls/docs/all). -// -// To use the Lightsail API or the CLI, you will need to use AWS Identity and -// Access Management (IAM) to generate access keys. For details about how to -// set this up, see the Lightsail Dev Guide (http://lightsail.aws.amazon.com/ls/docs/how-to/article/lightsail-how-to-set-up-access-keys-to-use-sdk-api-cli). +// Amazon Lightsail is the easiest way to get started with Amazon Web Services +// (AWS) for developers who need to build websites or web applications. It includes +// everything you need to launch your project quickly – instances (virtual +// private servers), managed databases, SSD-based block storage, static IP addresses, +// load balancers, content delivery network (CDN) distributions, DNS management +// of registered domains, and snapshots (backups) – for a low, predictable +// monthly price. +// +// You can manage your Lightsail resources using the Lightsail console, Lightsail +// API, AWS Command Line Interface (AWS CLI), or SDKs. For more information +// about Lightsail concepts and tasks, see the Lightsail Dev Guide (http://lightsail.aws.amazon.com/ls/docs/how-to/article/lightsail-how-to-set-up-access-keys-to-use-sdk-api-cli). +// +// This API Reference provides detailed information about the actions, data +// types, parameters, and errors of the Lightsail service. For more information +// about the supported AWS Regions, endpoints, and service quotas for the Lightsail +// service, see Amazon Lightsail Endpoints and Quotas (https://docs.aws.amazon.com/general/latest/gr/lightsail.html) +// in the AWS General Reference. // // See https://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/macie/api.go b/vendor/github.com/aws/aws-sdk-go/service/macie/api.go index d6728b8d182..7d4dd348ed6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/macie/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/macie/api.go @@ -57,7 +57,8 @@ func (c *Macie) AssociateMemberAccountRequest(input *AssociateMemberAccountInput // AssociateMemberAccount API operation for Amazon Macie. // -// Associates a specified AWS account with Amazon Macie as a member account. +// Associates a specified AWS account with Amazon Macie Classic as a member +// 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 @@ -144,11 +145,11 @@ func (c *Macie) AssociateS3ResourcesRequest(input *AssociateS3ResourcesInput) (r // AssociateS3Resources API operation for Amazon Macie. // -// Associates specified S3 resources with Amazon Macie for monitoring and data -// classification. If memberAccountId isn't specified, the action associates -// specified S3 resources with Macie for the current master account. If memberAccountId -// is specified, the action associates specified S3 resources with Macie for -// the specified member account. +// Associates specified S3 resources with Amazon Macie Classic for monitoring +// and data classification. If memberAccountId isn't specified, the action associates +// specified S3 resources with Macie Classic for the current master account. +// If memberAccountId is specified, the action associates specified S3 resources +// with Macie Classic for the specified member 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 @@ -239,7 +240,7 @@ func (c *Macie) DisassociateMemberAccountRequest(input *DisassociateMemberAccoun // DisassociateMemberAccount API operation for Amazon Macie. // -// Removes the specified member account from Amazon Macie. +// Removes the specified member account from Amazon Macie Classic. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -322,10 +323,11 @@ func (c *Macie) DisassociateS3ResourcesRequest(input *DisassociateS3ResourcesInp // DisassociateS3Resources API operation for Amazon Macie. // -// Removes specified S3 resources from being monitored by Amazon Macie. If memberAccountId -// isn't specified, the action removes specified S3 resources from Macie for -// the current master account. If memberAccountId is specified, the action removes -// specified S3 resources from Macie for the specified member account. +// Removes specified S3 resources from being monitored by Amazon Macie Classic. +// If memberAccountId isn't specified, the action removes specified S3 resources +// from Macie Classic for the current master account. If memberAccountId is +// specified, the action removes specified S3 resources from Macie Classic for +// the specified member 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 @@ -417,8 +419,8 @@ func (c *Macie) ListMemberAccountsRequest(input *ListMemberAccountsInput) (req * // ListMemberAccounts API operation for Amazon Macie. // -// Lists all Amazon Macie member accounts for the current Amazon Macie master -// account. +// Lists all Amazon Macie Classic member accounts for the current Amazon Macie +// Classic master 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 @@ -559,11 +561,11 @@ func (c *Macie) ListS3ResourcesRequest(input *ListS3ResourcesInput) (req *reques // ListS3Resources API operation for Amazon Macie. // -// Lists all the S3 resources associated with Amazon Macie. If memberAccountId +// Lists all the S3 resources associated with Amazon Macie Classic. If memberAccountId // isn't specified, the action lists the S3 resources associated with Amazon -// Macie for the current master account. If memberAccountId is specified, the -// action lists the S3 resources associated with Amazon Macie for the specified -// member account. +// Macie Classic for the current master account. If memberAccountId is specified, +// the action lists the S3 resources associated with Amazon Macie Classic for +// the specified member 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 @@ -703,9 +705,9 @@ func (c *Macie) UpdateS3ResourcesRequest(input *UpdateS3ResourcesInput) (req *re // // Updates the classification types for the specified S3 resources. If memberAccountId // isn't specified, the action updates the classification types of the S3 resources -// associated with Amazon Macie for the current master account. If memberAccountId +// associated with Amazon Macie Classic for the current master account. If memberAccountId // is specified, the action updates the classification types of the S3 resources -// associated with Amazon Macie for the specified member account. +// associated with Amazon Macie Classic for the specified member 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 @@ -809,8 +811,8 @@ func (s *AccessDeniedException) RequestID() string { type AssociateMemberAccountInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that you want to associate with Amazon Macie as - // a member account. + // The ID of the AWS account that you want to associate with Amazon Macie Classic + // as a member account. // // MemberAccountId is a required field MemberAccountId *string `locationName:"memberAccountId" type:"string" required:"true"` @@ -862,12 +864,12 @@ func (s AssociateMemberAccountOutput) GoString() string { type AssociateS3ResourcesInput struct { _ struct{} `type:"structure"` - // The ID of the Amazon Macie member account whose resources you want to associate - // with Macie. + // The ID of the Amazon Macie Classic member account whose resources you want + // to associate with Macie Classic. MemberAccountId *string `locationName:"memberAccountId" type:"string"` - // The S3 resources that you want to associate with Amazon Macie for monitoring - // and data classification. + // The S3 resources that you want to associate with Amazon Macie Classic for + // monitoring and data classification. // // S3Resources is a required field S3Resources []*S3ResourceClassification `locationName:"s3Resources" type:"list" required:"true"` @@ -921,8 +923,8 @@ func (s *AssociateS3ResourcesInput) SetS3Resources(v []*S3ResourceClassification type AssociateS3ResourcesOutput struct { _ struct{} `type:"structure"` - // S3 resources that couldn't be associated with Amazon Macie. An error code - // and an error message are provided for each failed item. + // S3 resources that couldn't be associated with Amazon Macie Classic. An error + // code and an error message are provided for each failed item. FailedS3Resources []*FailedS3Resource `locationName:"failedS3Resources" type:"list"` } @@ -942,13 +944,14 @@ func (s *AssociateS3ResourcesOutput) SetFailedS3Resources(v []*FailedS3Resource) return s } -// The classification type that Amazon Macie applies to the associated S3 resources. +// The classification type that Amazon Macie Classic applies to the associated +// S3 resources. type ClassificationType struct { _ struct{} `type:"structure"` // A continuous classification of the objects that are added to a specified - // S3 bucket. Amazon Macie begins performing continuous classification after - // a bucket is successfully associated with Amazon Macie. + // S3 bucket. Amazon Macie Classic begins performing continuous classification + // after a bucket is successfully associated with Amazon Macie Classic. // // Continuous is a required field Continuous *string `locationName:"continuous" type:"string" required:"true" enum:"S3ContinuousClassificationType"` @@ -998,15 +1001,15 @@ func (s *ClassificationType) SetOneTime(v string) *ClassificationType { return s } -// The classification type that Amazon Macie applies to the associated S3 resources. -// At least one of the classification types (oneTime or continuous) must be -// specified. +// The classification type that Amazon Macie Classic applies to the associated +// S3 resources. At least one of the classification types (oneTime or continuous) +// must be specified. type ClassificationTypeUpdate struct { _ struct{} `type:"structure"` // A continuous classification of the objects that are added to a specified - // S3 bucket. Amazon Macie begins performing continuous classification after - // a bucket is successfully associated with Amazon Macie. + // S3 bucket. Amazon Macie Classic begins performing continuous classification + // after a bucket is successfully associated with Amazon Macie Classic. Continuous *string `locationName:"continuous" type:"string" enum:"S3ContinuousClassificationType"` // A one-time classification of all of the existing objects in a specified S3 @@ -1039,7 +1042,7 @@ func (s *ClassificationTypeUpdate) SetOneTime(v string) *ClassificationTypeUpdat type DisassociateMemberAccountInput struct { _ struct{} `type:"structure"` - // The ID of the member account that you want to remove from Amazon Macie. + // The ID of the member account that you want to remove from Amazon Macie Classic. // // MemberAccountId is a required field MemberAccountId *string `locationName:"memberAccountId" type:"string" required:"true"` @@ -1092,13 +1095,13 @@ type DisassociateS3ResourcesInput struct { _ struct{} `type:"structure"` // The S3 resources (buckets or prefixes) that you want to remove from being - // monitored and classified by Amazon Macie. + // monitored and classified by Amazon Macie Classic. // // AssociatedS3Resources is a required field AssociatedS3Resources []*S3Resource `locationName:"associatedS3Resources" type:"list" required:"true"` - // The ID of the Amazon Macie member account whose resources you want to remove - // from being monitored by Amazon Macie. + // The ID of the Amazon Macie Classic member account whose resources you want + // to remove from being monitored by Amazon Macie Classic. MemberAccountId *string `locationName:"memberAccountId" type:"string"` } @@ -1151,8 +1154,8 @@ type DisassociateS3ResourcesOutput struct { _ struct{} `type:"structure"` // S3 resources that couldn't be removed from being monitored and classified - // by Amazon Macie. An error code and an error message are provided for each - // failed item. + // by Amazon Macie Classic. An error code and an error message are provided + // for each failed item. FailedS3Resources []*FailedS3Resource `locationName:"failedS3Resources" type:"list"` } @@ -1438,8 +1441,8 @@ func (s *ListMemberAccountsInput) SetNextToken(v string) *ListMemberAccountsInpu type ListMemberAccountsOutput struct { _ struct{} `type:"structure"` - // A list of the Amazon Macie member accounts returned by the action. The current - // master account is also included in this list. + // A list of the Amazon Macie Classic member accounts returned by the action. + // The current master account is also included in this list. MemberAccounts []*MemberAccount `locationName:"memberAccounts" type:"list"` // When a response is generated, if there is more data to be listed, this parameter @@ -1478,8 +1481,8 @@ type ListS3ResourcesInput struct { // in the response. The default value is 250. MaxResults *int64 `locationName:"maxResults" type:"integer"` - // The Amazon Macie member account ID whose associated S3 resources you want - // to list. + // The Amazon Macie Classic member account ID whose associated S3 resources + // you want to list. MemberAccountId *string `locationName:"memberAccountId" type:"string"` // Use this parameter when paginating results. Set its value to null on your @@ -1552,11 +1555,11 @@ func (s *ListS3ResourcesOutput) SetS3Resources(v []*S3ResourceClassification) *L return s } -// Contains information about the Amazon Macie member account. +// Contains information about the Amazon Macie Classic member account. type MemberAccount struct { _ struct{} `type:"structure"` - // The AWS account ID of the Amazon Macie member account. + // The AWS account ID of the Amazon Macie Classic member account. AccountId *string `locationName:"accountId" type:"string"` } @@ -1626,25 +1629,26 @@ func (s *S3Resource) SetPrefix(v string) *S3Resource { return s } -// The S3 resources that you want to associate with Amazon Macie for monitoring -// and data classification. This data type is used as a request parameter in -// the AssociateS3Resources action and a response parameter in the ListS3Resources +// The S3 resources that you want to associate with Amazon Macie Classic for +// monitoring and data classification. This data type is used as a request parameter +// in the AssociateS3Resources action and a response parameter in the ListS3Resources // action. type S3ResourceClassification struct { _ struct{} `type:"structure"` - // The name of the S3 bucket that you want to associate with Amazon Macie. + // The name of the S3 bucket that you want to associate with Amazon Macie Classic. // // BucketName is a required field BucketName *string `locationName:"bucketName" type:"string" required:"true"` // The classification type that you want to specify for the resource associated - // with Amazon Macie. + // with Amazon Macie Classic. // // ClassificationType is a required field ClassificationType *ClassificationType `locationName:"classificationType" type:"structure" required:"true"` - // The prefix of the S3 bucket that you want to associate with Amazon Macie. + // The prefix of the S3 bucket that you want to associate with Amazon Macie + // Classic. Prefix *string `locationName:"prefix" type:"string"` } @@ -1708,7 +1712,7 @@ type S3ResourceClassificationUpdate struct { BucketName *string `locationName:"bucketName" type:"string" required:"true"` // The classification type that you want to update for the resource associated - // with Amazon Macie. + // with Amazon Macie Classic. // // ClassificationTypeUpdate is a required field ClassificationTypeUpdate *ClassificationTypeUpdate `locationName:"classificationTypeUpdate" type:"structure" required:"true"` @@ -1764,8 +1768,8 @@ func (s *S3ResourceClassificationUpdate) SetPrefix(v string) *S3ResourceClassifi type UpdateS3ResourcesInput struct { _ struct{} `type:"structure"` - // The AWS ID of the Amazon Macie member account whose S3 resources' classification - // types you want to update. + // The AWS ID of the Amazon Macie Classic member account whose S3 resources' + // classification types you want to update. MemberAccountId *string `locationName:"memberAccountId" type:"string"` // The S3 resources whose classification types you want to update. diff --git a/vendor/github.com/aws/aws-sdk-go/service/macie/doc.go b/vendor/github.com/aws/aws-sdk-go/service/macie/doc.go index 1b8f9632f37..1b01c35632c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/macie/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/macie/doc.go @@ -3,12 +3,18 @@ // Package macie provides the client and types for making API // requests to Amazon Macie. // -// Amazon Macie is a security service that uses machine learning to automatically -// discover, classify, and protect sensitive data in AWS. Macie recognizes sensitive -// data such as personally identifiable information (PII) or intellectual property, -// and provides you with dashboards and alerts that give visibility into how -// this data is being accessed or moved. For more information, see the Macie -// User Guide (https://docs.aws.amazon.com/macie/latest/userguide/what-is-macie.html). +// Amazon Macie Classic is a security service that uses machine learning to +// automatically discover, classify, and protect sensitive data in AWS. Macie +// Classic recognizes sensitive data such as personally identifiable information +// (PII) or intellectual property, and provides you with dashboards and alerts +// that give visibility into how this data is being accessed or moved. For more +// information, see the Amazon Macie Classic User Guide (https://docs.aws.amazon.com/macie/latest/userguide/what-is-macie.html). +// +// A new Amazon Macie is now available with significant design improvements +// and additional features, at a lower price and in most AWS Regions. We encourage +// you to explore and use the new and improved features, and benefit from the +// reduced cost. To learn about features and pricing for the new Amazon Macie, +// see Amazon Macie (https://aws.amazon.com/macie/). // // See https://docs.aws.amazon.com/goto/WebAPI/macie-2017-12-19 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/api.go b/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/api.go index 5eeb3bc7b0c..e8e31205438 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/api.go @@ -638,7 +638,17 @@ func (c *MarketplaceCatalog) StartChangeSetRequest(input *StartChangeSetInput) ( // StartChangeSet API operation for AWS Marketplace Catalog Service. // -// This operation allows you to request changes in your entities. +// This operation allows you to request changes for your entities. Within a +// single ChangeSet, you cannot start the same change type against the same +// entity multiple times. Additionally, when a ChangeSet is running, all the +// entities targeted by the different changes are locked until the ChangeSet +// has completed (either succeeded, cancelled, or failed). If you try to start +// a ChangeSet containing a change against an entity that is already locked, +// you will receive a ResourceInUseException. +// +// For example, you cannot start the ChangeSet described in the example (https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_StartChangeSet.html#API_StartChangeSet_Examples) +// below because it contains two changes to execute the same change type (AddRevisions) +// against the same entity (entity-id@1). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1011,6 +1021,10 @@ type ChangeSummary struct { // The type of the change. ChangeType *string `min:"1" type:"string"` + // This object contains details specific to the change type of the requested + // change. + Details *string `min:"2" type:"string"` + // The entity to be changed. Entity *Entity `type:"structure"` @@ -1034,6 +1048,12 @@ func (s *ChangeSummary) SetChangeType(v string) *ChangeSummary { return s } +// SetDetails sets the Details field's value. +func (s *ChangeSummary) SetDetails(v string) *ChangeSummary { + s.Details = &v + return s +} + // SetEntity sets the Entity field's value. func (s *ChangeSummary) SetEntity(v *Entity) *ChangeSummary { s.Entity = v @@ -1388,13 +1408,13 @@ type EntitySummary struct { // The last time the entity was published, using ISO 8601 format (2018-02-27T13:45:22Z). LastModifiedDate *string `type:"string"` - // The name for the entity. This value is not unique. It is defined by the provider. + // The name for the entity. This value is not unique. It is defined by the seller. Name *string `type:"string"` - // The visibility status of the entity to subscribers. This value can be Public - // (everyone can view the entity), Limited (the entity is visible to limited - // accounts only), or Restricted (the entity was published and then unpublished - // and only existing subscribers can view it). + // The visibility status of the entity to buyers. This value can be Public (everyone + // can view the entity), Limited (the entity is visible to limited accounts + // only), or Restricted (the entity was published and then unpublished and only + // existing buyers can view it). Visibility *string `type:"string"` } @@ -1628,7 +1648,7 @@ type ListChangeSetsInput struct { // results. NextToken *string `min:"1" type:"string"` - // An object that contains two attributes, sortBy and sortOrder. + // An object that contains two attributes, SortBy and SortOrder. Sort *Sort `type:"structure"` } @@ -1768,7 +1788,7 @@ type ListEntitiesInput struct { // The value of the next token, if it exists. Null if there are no more results. NextToken *string `min:"1" type:"string"` - // An object that contains two attributes, sortBy and sortOrder. + // An object that contains two attributes, SortBy and SortOrder. Sort *Sort `type:"structure"` } @@ -2120,7 +2140,7 @@ func (s *ServiceQuotaExceededException) RequestID() string { return s.RespMetadata.RequestID } -// An object that contains two attributes, sortBy and sortOrder. +// An object that contains two attributes, SortBy and SortOrder. type Sort struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/doc.go b/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/doc.go index debadb7b02f..4b61f907021 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/marketplacecatalog/doc.go @@ -3,8 +3,8 @@ // Package marketplacecatalog provides the client and types for making API // requests to AWS Marketplace Catalog Service. // -// Catalog API actions allow you to create, describe, list, and delete changes -// to your published entities. An entity is a product or an offer on AWS Marketplace. +// Catalog API actions allow you to manage your entities through list, describe, +// and update capabilities. An entity can be a product or an offer on AWS Marketplace. // // You can automate your entity update process by integrating the AWS Marketplace // Catalog API with your AWS Marketplace product build or deployment pipelines. diff --git a/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/api.go b/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/api.go index 789b705c351..80bb7525c5f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mediaconnect/api.go @@ -3508,6 +3508,9 @@ type Entitlement struct { // EntitlementArn is a required field EntitlementArn *string `locationName:"entitlementArn" type:"string" required:"true"` + // An indication of whether the entitlement is enabled. + EntitlementStatus *string `locationName:"entitlementStatus" type:"string" enum:"EntitlementStatus"` + // The name of the entitlement. // // Name is a required field @@ -3555,6 +3558,12 @@ func (s *Entitlement) SetEntitlementArn(v string) *Entitlement { return s } +// SetEntitlementStatus sets the EntitlementStatus field's value. +func (s *Entitlement) SetEntitlementStatus(v string) *Entitlement { + s.EntitlementStatus = &v + return s +} + // SetName sets the Name field's value. func (s *Entitlement) SetName(v string) *Entitlement { s.Name = &v @@ -3812,6 +3821,11 @@ type GrantEntitlementRequest struct { // with this entitlement. Encryption *Encryption `locationName:"encryption" type:"structure"` + // An indication of whether the new entitlement should be enabled or disabled + // as soon as it is created. If you don’t specify the entitlementStatus field + // in your request, MediaConnect sets it to ENABLED. + EntitlementStatus *string `locationName:"entitlementStatus" type:"string" enum:"EntitlementStatus"` + // The name of the entitlement. This value must be unique within the current // flow. Name *string `locationName:"name" type:"string"` @@ -3870,6 +3884,12 @@ func (s *GrantEntitlementRequest) SetEncryption(v *Encryption) *GrantEntitlement return s } +// SetEntitlementStatus sets the EntitlementStatus field's value. +func (s *GrantEntitlementRequest) SetEntitlementStatus(v string) *GrantEntitlementRequest { + s.EntitlementStatus = &v + return s +} + // SetName sets the Name field's value. func (s *GrantEntitlementRequest) SetName(v string) *GrantEntitlementRequest { s.Name = &v @@ -5918,6 +5938,12 @@ type UpdateFlowEntitlementInput struct { // EntitlementArn is a required field EntitlementArn *string `location:"uri" locationName:"entitlementArn" type:"string" required:"true"` + // An indication of whether you want to enable the entitlement to allow access, + // or disable it to stop streaming content to the subscriber’s flow temporarily. + // If you don’t specify the entitlementStatus field in your request, MediaConnect + // leaves the value unchanged. + EntitlementStatus *string `locationName:"entitlementStatus" type:"string" enum:"EntitlementStatus"` + // FlowArn is a required field FlowArn *string `location:"uri" locationName:"flowArn" type:"string" required:"true"` @@ -5977,6 +6003,12 @@ func (s *UpdateFlowEntitlementInput) SetEntitlementArn(v string) *UpdateFlowEnti return s } +// SetEntitlementStatus sets the EntitlementStatus field's value. +func (s *UpdateFlowEntitlementInput) SetEntitlementStatus(v string) *UpdateFlowEntitlementInput { + s.EntitlementStatus = &v + return s +} + // SetFlowArn sets the FlowArn field's value. func (s *UpdateFlowEntitlementInput) SetFlowArn(v string) *UpdateFlowEntitlementInput { s.FlowArn = &v @@ -6662,6 +6694,14 @@ const ( AlgorithmAes256 = "aes256" ) +const ( + // EntitlementStatusEnabled is a EntitlementStatus enum value + EntitlementStatusEnabled = "ENABLED" + + // EntitlementStatusDisabled is a EntitlementStatus enum value + EntitlementStatusDisabled = "DISABLED" +) + const ( // KeyTypeSpeke is a KeyType enum value KeyTypeSpeke = "speke" diff --git a/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go b/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go index 3e7bff6c792..0bf3348e7ac 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mediaconvert/api.go @@ -3014,7 +3014,8 @@ func (s AssociateCertificateOutput) GoString() string { // codec enum that you choose, define the corresponding settings object. The // following lists the codec enum, settings object pairs. * AAC, AacSettings // * MP2, Mp2Settings * MP3, Mp3Settings * WAV, WavSettings * AIFF, AiffSettings -// * AC3, Ac3Settings * EAC3, Eac3Settings * EAC3_ATMOS, Eac3AtmosSettings +// * AC3, Ac3Settings * EAC3, Eac3Settings * EAC3_ATMOS, Eac3AtmosSettings * +// VORBIS, VorbisSettings * OPUS, OpusSettings type AudioCodecSettings struct { _ struct{} `type:"structure"` @@ -3054,6 +3055,14 @@ type AudioCodecSettings struct { // value MP3. Mp3Settings *Mp3Settings `locationName:"mp3Settings" type:"structure"` + // Required when you set Codec, under AudioDescriptions>CodecSettings, to the + // value OPUS. + OpusSettings *OpusSettings `locationName:"opusSettings" type:"structure"` + + // Required when you set Codec, under AudioDescriptions>CodecSettings, to the + // value Vorbis. + VorbisSettings *VorbisSettings `locationName:"vorbisSettings" type:"structure"` + // Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to // the value WAV. WavSettings *WavSettings `locationName:"wavSettings" type:"structure"` @@ -3107,6 +3116,16 @@ func (s *AudioCodecSettings) Validate() error { invalidParams.AddNested("Mp3Settings", err.(request.ErrInvalidParams)) } } + if s.OpusSettings != nil { + if err := s.OpusSettings.Validate(); err != nil { + invalidParams.AddNested("OpusSettings", err.(request.ErrInvalidParams)) + } + } + if s.VorbisSettings != nil { + if err := s.VorbisSettings.Validate(); err != nil { + invalidParams.AddNested("VorbisSettings", err.(request.ErrInvalidParams)) + } + } if s.WavSettings != nil { if err := s.WavSettings.Validate(); err != nil { invalidParams.AddNested("WavSettings", err.(request.ErrInvalidParams)) @@ -3167,6 +3186,18 @@ func (s *AudioCodecSettings) SetMp3Settings(v *Mp3Settings) *AudioCodecSettings return s } +// SetOpusSettings sets the OpusSettings field's value. +func (s *AudioCodecSettings) SetOpusSettings(v *OpusSettings) *AudioCodecSettings { + s.OpusSettings = v + return s +} + +// SetVorbisSettings sets the VorbisSettings field's value. +func (s *AudioCodecSettings) SetVorbisSettings(v *VorbisSettings) *AudioCodecSettings { + s.VorbisSettings = v + return s +} + // SetWavSettings sets the WavSettings field's value. func (s *AudioCodecSettings) SetWavSettings(v *WavSettings) *AudioCodecSettings { s.WavSettings = v @@ -3212,7 +3243,8 @@ type AudioDescription struct { // codec enum that you choose, define the corresponding settings object. The // following lists the codec enum, settings object pairs. * AAC, AacSettings // * MP2, Mp2Settings * MP3, Mp3Settings * WAV, WavSettings * AIFF, AiffSettings - // * AC3, Ac3Settings * EAC3, Eac3Settings * EAC3_ATMOS, Eac3AtmosSettings + // * AC3, Ac3Settings * EAC3, Eac3Settings * EAC3_ATMOS, Eac3AtmosSettings * + // VORBIS, VorbisSettings * OPUS, OpusSettings CodecSettings *AudioCodecSettings `locationName:"codecSettings" type:"structure"` // Specify the language for this audio output track. The service puts this language @@ -3700,7 +3732,8 @@ type Av1Settings struct { // rate you specify in the settings FramerateNumerator and FramerateDenominator. FramerateControl *string `locationName:"framerateControl" type:"string" enum:"Av1FramerateControl"` - // When set to INTERPOLATE, produces smoother motion during frame rate conversion. + // Optional. Specify how the transcoder performs framerate conversion. The default + // behavior is to use duplicate drop conversion. FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"Av1FramerateConversionAlgorithm"` // When you use the API for transcode jobs that use frame rate conversion, specify @@ -4632,23 +4665,23 @@ func (s *CaptionSelector) SetSourceSettings(v *CaptionSourceSettings) *CaptionSe } // Ignore this setting unless your input captions format is SCC. To have the -// service compensate for differing framerates between your input captions and -// input video, specify the framerate of the captions file. Specify this value -// as a fraction, using the settings Framerate numerator (framerateNumerator) +// service compensate for differing frame rates between your input captions +// and input video, specify the frame rate of the captions file. Specify this +// value as a fraction, using the settings Framerate numerator (framerateNumerator) // and Framerate denominator (framerateDenominator). For example, you might // specify 24 / 1 for 24 fps, 25 / 1 for 25 fps, 24000 / 1001 for 23.976 fps, // or 30000 / 1001 for 29.97 fps. type CaptionSourceFramerate struct { _ struct{} `type:"structure"` - // Specify the denominator of the fraction that represents the framerate for - // the setting Caption source framerate (CaptionSourceFramerate). Use this setting - // along with the setting Framerate numerator (framerateNumerator). + // Specify the denominator of the fraction that represents the frame rate for + // the setting Caption source frame rate (CaptionSourceFramerate). Use this + // setting along with the setting Framerate numerator (framerateNumerator). FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` - // Specify the numerator of the fraction that represents the framerate for the - // setting Caption source framerate (CaptionSourceFramerate). Use this setting - // along with the setting Framerate denominator (framerateDenominator). + // Specify the numerator of the fraction that represents the frame rate for + // the setting Caption source frame rate (CaptionSourceFramerate). Use this + // setting along with the setting Framerate denominator (framerateDenominator). FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` } @@ -8275,9 +8308,9 @@ type FileSourceSettings struct { Convert608To708 *string `locationName:"convert608To708" type:"string" enum:"FileSourceConvert608To708"` // Ignore this setting unless your input captions format is SCC. To have the - // service compensate for differing framerates between your input captions and - // input video, specify the framerate of the captions file. Specify this value - // as a fraction, using the settings Framerate numerator (framerateNumerator) + // service compensate for differing frame rates between your input captions + // and input video, specify the frame rate of the captions file. Specify this + // value as a fraction, using the settings Framerate numerator (framerateNumerator) // and Framerate denominator (framerateDenominator). For example, you might // specify 24 / 1 for 24 fps, 25 / 1 for 25 fps, 24000 / 1001 for 23.976 fps, // or 30000 / 1001 for 29.97 fps. @@ -8887,7 +8920,8 @@ type H264Settings struct { // rate you specify in the settings FramerateNumerator and FramerateDenominator. FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H264FramerateControl"` - // When set to INTERPOLATE, produces smoother motion during frame rate conversion. + // Optional. Specify how the transcoder performs framerate conversion. The default + // behavior is to use duplicate drop conversion. FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"H264FramerateConversionAlgorithm"` // When you use the API for transcode jobs that use frame rate conversion, specify @@ -8959,20 +8993,34 @@ type H264Settings struct { // if using B-frames and/or interlaced encoding. NumberReferenceFrames *int64 `locationName:"numberReferenceFrames" min:"1" type:"integer"` - // Using the API, enable ParFollowSource if you want the service to use the - // pixel aspect ratio from the input. Using the console, do this by choosing - // Follow source for Pixel aspect ratio. + // Optional. Specify how the service determines the pixel aspect ratio (PAR) + // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), + // uses the PAR from your input video for your output. To specify a different + // PAR in the console, choose any value other than Follow source. To specify + // a different PAR by editing the JSON job specification, choose SPECIFIED. + // When you choose SPECIFIED for this setting, you must also specify values + // for the parNumerator and parDenominator settings. ParControl *string `locationName:"parControl" type:"string" enum:"H264ParControl"` - // Pixel Aspect Ratio denominator. + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parDenominator is 33. ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` - // Pixel Aspect Ratio numerator. + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parNumerator is 40. ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` - // Use Quality tuning level (H264QualityTuningLevel) to specifiy whether to - // use fast single-pass, high-quality singlepass, or high-quality multipass - // video encoding. + // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you + // want to trade off encoding speed for output video quality. The default behavior + // is faster, lower quality, single-pass encoding. QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"H264QualityTuningLevel"` // Settings for quality-defined variable bitrate encoding with the H.264 codec. @@ -9434,14 +9482,15 @@ type H265Settings struct { // a frame rate from the dropdown list or choose Custom. The framerates shown // in the dropdown list are decimal approximations of fractions. If you choose // Custom, specify your frame rate as a fraction. If you are creating your transcoding - // job sepecification as a JSON file without the console, use FramerateControl + // job specification as a JSON file without the console, use FramerateControl // to specify which value the service uses for the frame rate for this output. // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate // from the input. Choose SPECIFIED if you want the service to use the frame // rate you specify in the settings FramerateNumerator and FramerateDenominator. FramerateControl *string `locationName:"framerateControl" type:"string" enum:"H265FramerateControl"` - // When set to INTERPOLATE, produces smoother motion during frame rate conversion. + // Optional. Specify how the transcoder performs framerate conversion. The default + // behavior is to use duplicate drop conversion. FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"H265FramerateConversionAlgorithm"` // Frame rate denominator. @@ -9509,20 +9558,34 @@ type H265Settings struct { // if using B-frames and/or interlaced encoding. NumberReferenceFrames *int64 `locationName:"numberReferenceFrames" min:"1" type:"integer"` - // Using the API, enable ParFollowSource if you want the service to use the - // pixel aspect ratio from the input. Using the console, do this by choosing - // Follow source for Pixel aspect ratio. + // Optional. Specify how the service determines the pixel aspect ratio (PAR) + // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), + // uses the PAR from your input video for your output. To specify a different + // PAR in the console, choose any value other than Follow source. To specify + // a different PAR by editing the JSON job specification, choose SPECIFIED. + // When you choose SPECIFIED for this setting, you must also specify values + // for the parNumerator and parDenominator settings. ParControl *string `locationName:"parControl" type:"string" enum:"H265ParControl"` - // Pixel Aspect Ratio denominator. + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parDenominator is 33. ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` - // Pixel Aspect Ratio numerator. + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parNumerator is 40. ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` - // Use Quality tuning level (H265QualityTuningLevel) to specifiy whether to - // use fast single-pass, high-quality singlepass, or high-quality multipass - // video encoding. + // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you + // want to trade off encoding speed for output video quality. The default behavior + // is faster, lower quality, single-pass encoding. QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"H265QualityTuningLevel"` // Settings for quality-defined variable bitrate encoding with the H.265 codec. @@ -10862,13 +10925,12 @@ type Input struct { AudioSelectorGroups map[string]*AudioSelectorGroup `locationName:"audioSelectorGroups" type:"map"` // Use Audio selectors (AudioSelectors) to specify a track or set of tracks - // from the input that you will use in your outputs. You can use mutiple Audio + // from the input that you will use in your outputs. You can use multiple Audio // selectors per input. AudioSelectors map[string]*AudioSelector `locationName:"audioSelectors" type:"map"` - // Use Captions selectors (CaptionSelectors) to specify the captions data from - // the input that you will use in your outputs. You can use mutiple captions - // selectors per input. + // Use captions selectors to specify the captions data from your input that + // you use in your outputs. You can use up to 20 captions selectors per input. CaptionSelectors map[string]*CaptionSelector `locationName:"captionSelectors" type:"map"` // Use Cropping selection (crop) to specify the video area that the service @@ -10878,7 +10940,7 @@ type Input struct { Crop *Rectangle `locationName:"crop" type:"structure"` // Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. - // Default is disabled. Only manaully controllable for MPEG2 and uncompressed + // Default is disabled. Only manually controllable for MPEG2 and uncompressed // video inputs. DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"` @@ -11310,13 +11372,12 @@ type InputTemplate struct { AudioSelectorGroups map[string]*AudioSelectorGroup `locationName:"audioSelectorGroups" type:"map"` // Use Audio selectors (AudioSelectors) to specify a track or set of tracks - // from the input that you will use in your outputs. You can use mutiple Audio + // from the input that you will use in your outputs. You can use multiple Audio // selectors per input. AudioSelectors map[string]*AudioSelector `locationName:"audioSelectors" type:"map"` - // Use Captions selectors (CaptionSelectors) to specify the captions data from - // the input that you will use in your outputs. You can use mutiple captions - // selectors per input. + // Use captions selectors to specify the captions data from your input that + // you use in your outputs. You can use up to 20 captions selectors per input. CaptionSelectors map[string]*CaptionSelector `locationName:"captionSelectors" type:"map"` // Use Cropping selection (crop) to specify the video area that the service @@ -11326,7 +11387,7 @@ type InputTemplate struct { Crop *Rectangle `locationName:"crop" type:"structure"` // Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. - // Default is disabled. Only manaully controllable for MPEG2 and uncompressed + // Default is disabled. Only manually controllable for MPEG2 and uncompressed // video inputs. DeblockFilter *string `locationName:"deblockFilter" type:"string" enum:"InputDeblockFilter"` @@ -14373,14 +14434,15 @@ type Mpeg2Settings struct { // a frame rate from the dropdown list or choose Custom. The framerates shown // in the dropdown list are decimal approximations of fractions. If you choose // Custom, specify your frame rate as a fraction. If you are creating your transcoding - // job sepecification as a JSON file without the console, use FramerateControl + // job specification as a JSON file without the console, use FramerateControl // to specify which value the service uses for the frame rate for this output. // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate // from the input. Choose SPECIFIED if you want the service to use the frame // rate you specify in the settings FramerateNumerator and FramerateDenominator. FramerateControl *string `locationName:"framerateControl" type:"string" enum:"Mpeg2FramerateControl"` - // When set to INTERPOLATE, produces smoother motion during frame rate conversion. + // Optional. Specify how the transcoder performs framerate conversion. The default + // behavior is to use duplicate drop conversion. FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"Mpeg2FramerateConversionAlgorithm"` // Frame rate denominator. @@ -14445,19 +14507,34 @@ type Mpeg2Settings struct { // Number of B-frames between reference frames. NumberBFramesBetweenReferenceFrames *int64 `locationName:"numberBFramesBetweenReferenceFrames" type:"integer"` - // Using the API, enable ParFollowSource if you want the service to use the - // pixel aspect ratio from the input. Using the console, do this by choosing - // Follow source for Pixel aspect ratio. + // Optional. Specify how the service determines the pixel aspect ratio (PAR) + // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), + // uses the PAR from your input video for your output. To specify a different + // PAR in the console, choose any value other than Follow source. To specify + // a different PAR by editing the JSON job specification, choose SPECIFIED. + // When you choose SPECIFIED for this setting, you must also specify values + // for the parNumerator and parDenominator settings. ParControl *string `locationName:"parControl" type:"string" enum:"Mpeg2ParControl"` - // Pixel Aspect Ratio denominator. + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parDenominator is 33. ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` - // Pixel Aspect Ratio numerator. + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parNumerator is 40. ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` - // Use Quality tuning level (Mpeg2QualityTuningLevel) to specifiy whether to - // use single-pass or multipass video encoding. + // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you + // want to trade off encoding speed for output video quality. The default behavior + // is faster, lower quality, single-pass encoding. QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"Mpeg2QualityTuningLevel"` // Use Rate control mode (Mpeg2RateControlMode) to specifiy whether the bitrate @@ -14944,6 +15021,92 @@ func (s *MxfSettings) SetAfdSignaling(v string) *MxfSettings { return s } +// For forensic video watermarking, MediaConvert supports Nagra NexGuard File +// Marker watermarking. MediaConvert supports both PreRelease Content (NGPR/G2) +// and OTT Streaming workflows. +type NexGuardFileMarkerSettings struct { + _ struct{} `type:"structure"` + + // Use the base64 license string that Nagra provides you. Enter it directly + // in your JSON job specification or in the console. Required when you include + // Nagra NexGuard File Marker watermarking (NexGuardWatermarkingSettings) in + // your job. + License *string `locationName:"license" min:"1" type:"string"` + + // Specify the payload ID that you want associated with this output. Valid values + // vary depending on your Nagra NexGuard forensic watermarking workflow. Required + // when you include Nagra NexGuard File Marker watermarking (NexGuardWatermarkingSettings) + // in your job. For PreRelease Content (NGPR/G2), specify an integer from 1 + // through 4,194,303. You must generate a unique ID for each asset you watermark, + // and keep a record of which ID you have assigned to each asset. Neither Nagra + // nor MediaConvert keep track of the relationship between output files and + // your IDs. For OTT Streaming, create two adaptive bitrate (ABR) stacks for + // each asset. Do this by setting up two output groups. For one output group, + // set the value of Payload ID (payload) to 0 in every output. For the other + // output group, set Payload ID (payload) to 1 in every output. + Payload *int64 `locationName:"payload" type:"integer"` + + // Enter one of the watermarking preset strings that Nagra provides you. Required + // when you include Nagra NexGuard File Marker watermarking (NexGuardWatermarkingSettings) + // in your job. + Preset *string `locationName:"preset" min:"1" type:"string"` + + // Optional. Ignore this setting unless Nagra support directs you to specify + // a value. When you don't specify a value here, the Nagra NexGuard library + // uses its default value. + Strength *string `locationName:"strength" type:"string" enum:"WatermarkingStrength"` +} + +// String returns the string representation +func (s NexGuardFileMarkerSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NexGuardFileMarkerSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NexGuardFileMarkerSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NexGuardFileMarkerSettings"} + if s.License != nil && len(*s.License) < 1 { + invalidParams.Add(request.NewErrParamMinLen("License", 1)) + } + if s.Preset != nil && len(*s.Preset) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Preset", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLicense sets the License field's value. +func (s *NexGuardFileMarkerSettings) SetLicense(v string) *NexGuardFileMarkerSettings { + s.License = &v + return s +} + +// SetPayload sets the Payload field's value. +func (s *NexGuardFileMarkerSettings) SetPayload(v int64) *NexGuardFileMarkerSettings { + s.Payload = &v + return s +} + +// SetPreset sets the Preset field's value. +func (s *NexGuardFileMarkerSettings) SetPreset(v string) *NexGuardFileMarkerSettings { + s.Preset = &v + return s +} + +// SetStrength sets the Strength field's value. +func (s *NexGuardFileMarkerSettings) SetStrength(v string) *NexGuardFileMarkerSettings { + s.Strength = &v + return s +} + // Settings for your Nielsen configuration. If you don't do Nielsen measurement // and analytics, ignore these settings. When you enable Nielsen configuration // (nielsenConfiguration), MediaConvert enables PCM to ID3 tagging for all outputs @@ -15158,6 +15321,12 @@ type NoiseReducerTemporalFilterSettings struct { // and creates better VQ for low bitrate outputs. AggressiveMode *int64 `locationName:"aggressiveMode" type:"integer"` + // Optional. When you set Noise reducer (noiseReducer) to Temporal (TEMPORAL), + // you can optionally use this setting to apply additional sharpening. The default + // behavior, Auto (AUTO) allows the transcoder to determine whether to apply + // filtering, depending on input type and quality. + PostTemporalSharpening *string `locationName:"postTemporalSharpening" type:"string" enum:"NoiseFilterPostTemporalSharpening"` + // The speed of the filter (higher number is faster). Low setting reduces bit // rate at the cost of transcode time, high setting improves transcode time // at the cost of bit rate. @@ -15200,6 +15369,12 @@ func (s *NoiseReducerTemporalFilterSettings) SetAggressiveMode(v int64) *NoiseRe return s } +// SetPostTemporalSharpening sets the PostTemporalSharpening field's value. +func (s *NoiseReducerTemporalFilterSettings) SetPostTemporalSharpening(v string) *NoiseReducerTemporalFilterSettings { + s.PostTemporalSharpening = &v + return s +} + // SetSpeed sets the Speed field's value. func (s *NoiseReducerTemporalFilterSettings) SetSpeed(v int64) *NoiseReducerTemporalFilterSettings { s.Speed = &v @@ -15267,6 +15442,73 @@ func (s *NotFoundException) RequestID() string { return s.RespMetadata.RequestID } +// Required when you set Codec, under AudioDescriptions>CodecSettings, to the +// value OPUS. +type OpusSettings struct { + _ struct{} `type:"structure"` + + // Optional. Specify the average bitrate in bits per second. Valid values are + // multiples of 8000, from 32000 through 192000. The default value is 96000, + // which we recommend for quality and bandwidth. + Bitrate *int64 `locationName:"bitrate" min:"32000" type:"integer"` + + // Specify the number of channels in this output audio track. Choosing Mono + // on the console gives you 1 output channel; choosing Stereo gives you 2. In + // the API, valid values are 1 and 2. + Channels *int64 `locationName:"channels" min:"1" type:"integer"` + + // Optional. Sample rate in hz. Valid values are 16000, 24000, and 48000. The + // default value is 48000. + SampleRate *int64 `locationName:"sampleRate" min:"16000" type:"integer"` +} + +// String returns the string representation +func (s OpusSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OpusSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OpusSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OpusSettings"} + if s.Bitrate != nil && *s.Bitrate < 32000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 32000)) + } + if s.Channels != nil && *s.Channels < 1 { + invalidParams.Add(request.NewErrParamMinValue("Channels", 1)) + } + if s.SampleRate != nil && *s.SampleRate < 16000 { + invalidParams.Add(request.NewErrParamMinValue("SampleRate", 16000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBitrate sets the Bitrate field's value. +func (s *OpusSettings) SetBitrate(v int64) *OpusSettings { + s.Bitrate = &v + return s +} + +// SetChannels sets the Channels field's value. +func (s *OpusSettings) SetChannels(v int64) *OpusSettings { + s.Channels = &v + return s +} + +// SetSampleRate sets the SampleRate field's value. +func (s *OpusSettings) SetSampleRate(v int64) *OpusSettings { + s.SampleRate = &v + return s +} + // An output object describes the settings for a single output file or stream // in an output group. type Output struct { @@ -15288,8 +15530,9 @@ type Output struct { // Use Extension (Extension) to specify the file extension for outputs in File // output groups. If you do not specify a value, the service will use default // extensions by container type as follows * MPEG-2 transport stream, m2ts * - // Quicktime, mov * MXF container, mxf * MPEG-4 container, mp4 * No Container, - // the service will use codec extensions (e.g. AAC, H265, H265, AC3) + // Quicktime, mov * MXF container, mxf * MPEG-4 container, mp4 * WebM container, + // webm * No Container, the service will use codec extensions (e.g. AAC, H265, + // H265, AC3) Extension *string `locationName:"extension" type:"string"` // Use Name modifier (NameModifier) to have the service add a string to the @@ -15708,6 +15951,49 @@ func (s *OutputSettings) SetHlsSettings(v *HlsSettings) *OutputSettings { return s } +// If you work with a third party video watermarking partner, use the group +// of settings that correspond with your watermarking partner to include watermarks +// in your output. +type PartnerWatermarking struct { + _ struct{} `type:"structure"` + + // For forensic video watermarking, MediaConvert supports Nagra NexGuard File + // Marker watermarking. MediaConvert supports both PreRelease Content (NGPR/G2) + // and OTT Streaming workflows. + NexguardFileMarkerSettings *NexGuardFileMarkerSettings `locationName:"nexguardFileMarkerSettings" type:"structure"` +} + +// String returns the string representation +func (s PartnerWatermarking) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PartnerWatermarking) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PartnerWatermarking) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PartnerWatermarking"} + if s.NexguardFileMarkerSettings != nil { + if err := s.NexguardFileMarkerSettings.Validate(); err != nil { + invalidParams.AddNested("NexguardFileMarkerSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNexguardFileMarkerSettings sets the NexguardFileMarkerSettings field's value. +func (s *PartnerWatermarking) SetNexguardFileMarkerSettings(v *NexGuardFileMarkerSettings) *PartnerWatermarking { + s.NexguardFileMarkerSettings = v + return s +} + // A preset is a collection of preconfigured media conversion settings that // you want MediaConvert to apply to the output during the conversion process. type Preset struct { @@ -15913,14 +16199,15 @@ type ProresSettings struct { // a frame rate from the dropdown list or choose Custom. The framerates shown // in the dropdown list are decimal approximations of fractions. If you choose // Custom, specify your frame rate as a fraction. If you are creating your transcoding - // job sepecification as a JSON file without the console, use FramerateControl + // job specification as a JSON file without the console, use FramerateControl // to specify which value the service uses for the frame rate for this output. // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate // from the input. Choose SPECIFIED if you want the service to use the frame // rate you specify in the settings FramerateNumerator and FramerateDenominator. FramerateControl *string `locationName:"framerateControl" type:"string" enum:"ProresFramerateControl"` - // When set to INTERPOLATE, produces smoother motion during frame rate conversion. + // Optional. Specify how the transcoder performs framerate conversion. The default + // behavior is to use duplicate drop conversion. FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"ProresFramerateConversionAlgorithm"` // Frame rate denominator. @@ -15945,17 +16232,29 @@ type ProresSettings struct { // on which of the Follow options you chose. InterlaceMode *string `locationName:"interlaceMode" type:"string" enum:"ProresInterlaceMode"` - // Use (ProresParControl) to specify how the service determines the pixel aspect - // ratio. Set to Follow source (INITIALIZE_FROM_SOURCE) to use the pixel aspect - // ratio from the input. To specify a different pixel aspect ratio: Using the - // console, choose it from the dropdown menu. Using the API, set ProresParControl - // to (SPECIFIED) and provide for (ParNumerator) and (ParDenominator). + // Optional. Specify how the service determines the pixel aspect ratio (PAR) + // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), + // uses the PAR from your input video for your output. To specify a different + // PAR in the console, choose any value other than Follow source. To specify + // a different PAR by editing the JSON job specification, choose SPECIFIED. + // When you choose SPECIFIED for this setting, you must also specify values + // for the parNumerator and parDenominator settings. ParControl *string `locationName:"parControl" type:"string" enum:"ProresParControl"` - // Pixel Aspect Ratio denominator. + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parDenominator is 33. ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` - // Pixel Aspect Ratio numerator. + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parNumerator is 40. ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` // Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled @@ -17853,7 +18152,8 @@ func (s *UpdateQueueOutput) SetQueue(v *Queue) *UpdateQueueOutput { // each codec enum that you choose, define the corresponding settings object. // The following lists the codec enum, settings object pairs. * FRAME_CAPTURE, // FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, H265Settings -// * MPEG2, Mpeg2Settings * PRORES, ProresSettings +// * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VP8, Vp8Settings * VP9, +// Vp9Settings type VideoCodecSettings struct { _ struct{} `type:"structure"` @@ -17883,6 +18183,14 @@ type VideoCodecSettings struct { // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to // the value PRORES. ProresSettings *ProresSettings `locationName:"proresSettings" type:"structure"` + + // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to + // the value VP8. + Vp8Settings *Vp8Settings `locationName:"vp8Settings" type:"structure"` + + // Required when you set (Codec) under (VideoDescription)>(CodecSettings) to + // the value VP9. + Vp9Settings *Vp9Settings `locationName:"vp9Settings" type:"structure"` } // String returns the string representation @@ -17928,6 +18236,16 @@ func (s *VideoCodecSettings) Validate() error { invalidParams.AddNested("ProresSettings", err.(request.ErrInvalidParams)) } } + if s.Vp8Settings != nil { + if err := s.Vp8Settings.Validate(); err != nil { + invalidParams.AddNested("Vp8Settings", err.(request.ErrInvalidParams)) + } + } + if s.Vp9Settings != nil { + if err := s.Vp9Settings.Validate(); err != nil { + invalidParams.AddNested("Vp9Settings", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -17977,6 +18295,18 @@ func (s *VideoCodecSettings) SetProresSettings(v *ProresSettings) *VideoCodecSet return s } +// SetVp8Settings sets the Vp8Settings field's value. +func (s *VideoCodecSettings) SetVp8Settings(v *Vp8Settings) *VideoCodecSettings { + s.Vp8Settings = v + return s +} + +// SetVp9Settings sets the Vp9Settings field's value. +func (s *VideoCodecSettings) SetVp9Settings(v *Vp9Settings) *VideoCodecSettings { + s.Vp9Settings = v + return s +} + // Settings for video outputs type VideoDescription struct { _ struct{} `type:"structure"` @@ -18000,7 +18330,8 @@ type VideoDescription struct { // each codec enum that you choose, define the corresponding settings object. // The following lists the codec enum, settings object pairs. * FRAME_CAPTURE, // FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, H265Settings - // * MPEG2, Mpeg2Settings * PRORES, ProresSettings + // * MPEG2, Mpeg2Settings * PRORES, ProresSettings * VP8, Vp8Settings * VP9, + // Vp9Settings CodecSettings *VideoCodecSettings `locationName:"codecSettings" type:"structure"` // Choose Insert (INSERT) for this setting to include color metadata in this @@ -18279,6 +18610,11 @@ type VideoPreprocessor struct { // individually. This setting is disabled by default. NoiseReducer *NoiseReducer `locationName:"noiseReducer" type:"structure"` + // If you work with a third party video watermarking partner, use the group + // of settings that correspond with your watermarking partner to include watermarks + // in your output. + PartnerWatermarking *PartnerWatermarking `locationName:"partnerWatermarking" type:"structure"` + // Timecode burn-in (TimecodeBurnIn)--Burns the output timecode and specified // prefix into the output. TimecodeBurnin *TimecodeBurnin `locationName:"timecodeBurnin" type:"structure"` @@ -18312,6 +18648,11 @@ func (s *VideoPreprocessor) Validate() error { invalidParams.AddNested("NoiseReducer", err.(request.ErrInvalidParams)) } } + if s.PartnerWatermarking != nil { + if err := s.PartnerWatermarking.Validate(); err != nil { + invalidParams.AddNested("PartnerWatermarking", err.(request.ErrInvalidParams)) + } + } if s.TimecodeBurnin != nil { if err := s.TimecodeBurnin.Validate(); err != nil { invalidParams.AddNested("TimecodeBurnin", err.(request.ErrInvalidParams)) @@ -18354,6 +18695,12 @@ func (s *VideoPreprocessor) SetNoiseReducer(v *NoiseReducer) *VideoPreprocessor return s } +// SetPartnerWatermarking sets the PartnerWatermarking field's value. +func (s *VideoPreprocessor) SetPartnerWatermarking(v *PartnerWatermarking) *VideoPreprocessor { + s.PartnerWatermarking = v + return s +} + // SetTimecodeBurnin sets the TimecodeBurnin field's value. func (s *VideoPreprocessor) SetTimecodeBurnin(v *TimecodeBurnin) *VideoPreprocessor { s.TimecodeBurnin = v @@ -18497,49 +18844,48 @@ func (s *VideoSelector) SetRotate(v string) *VideoSelector { return s } -// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to -// the value WAV. -type WavSettings struct { +// Required when you set Codec, under AudioDescriptions>CodecSettings, to the +// value Vorbis. +type VorbisSettings struct { _ struct{} `type:"structure"` - // Specify Bit depth (BitDepth), in bits per sample, to choose the encoding - // quality for this audio track. - BitDepth *int64 `locationName:"bitDepth" min:"16" type:"integer"` - - // Specify the number of channels in this output audio track. Valid values are - // 1 and even numbers up to 64. For example, 1, 2, 4, 6, and so on, up to 64. + // Optional. Specify the number of channels in this output audio track. Choosing + // Mono on the console gives you 1 output channel; choosing Stereo gives you + // 2. In the API, valid values are 1 and 2. The default value is 2. Channels *int64 `locationName:"channels" min:"1" type:"integer"` - // The service defaults to using RIFF for WAV outputs. If your output audio - // is likely to exceed 4 GB in file size, or if you otherwise need the extended - // support of the RF64 format, set your output WAV file format to RF64. - Format *string `locationName:"format" type:"string" enum:"WavFormat"` + // Optional. Specify the audio sample rate in Hz. Valid values are 22050, 32000, + // 44100, and 48000. The default value is 48000. + SampleRate *int64 `locationName:"sampleRate" min:"22050" type:"integer"` - // Sample rate in Hz. - SampleRate *int64 `locationName:"sampleRate" min:"8000" type:"integer"` + // Optional. Specify the variable audio quality of this Vorbis output from -1 + // (lowest quality, ~45 kbit/s) to 10 (highest quality, ~500 kbit/s). The default + // value is 4 (~128 kbit/s). Values 5 and 6 are approximately 160 and 192 kbit/s, + // respectively. + VbrQuality *int64 `locationName:"vbrQuality" type:"integer"` } // String returns the string representation -func (s WavSettings) String() string { +func (s VorbisSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s WavSettings) GoString() string { +func (s VorbisSettings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *WavSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "WavSettings"} - if s.BitDepth != nil && *s.BitDepth < 16 { - invalidParams.Add(request.NewErrParamMinValue("BitDepth", 16)) - } +func (s *VorbisSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VorbisSettings"} if s.Channels != nil && *s.Channels < 1 { invalidParams.Add(request.NewErrParamMinValue("Channels", 1)) } - if s.SampleRate != nil && *s.SampleRate < 8000 { - invalidParams.Add(request.NewErrParamMinValue("SampleRate", 8000)) + if s.SampleRate != nil && *s.SampleRate < 22050 { + invalidParams.Add(request.NewErrParamMinValue("SampleRate", 22050)) + } + if s.VbrQuality != nil && *s.VbrQuality < -1 { + invalidParams.Add(request.NewErrParamMinValue("VbrQuality", -1)) } if invalidParams.Len() > 0 { @@ -18548,66 +18894,545 @@ func (s *WavSettings) Validate() error { return nil } -// SetBitDepth sets the BitDepth field's value. -func (s *WavSettings) SetBitDepth(v int64) *WavSettings { - s.BitDepth = &v - return s -} - // SetChannels sets the Channels field's value. -func (s *WavSettings) SetChannels(v int64) *WavSettings { +func (s *VorbisSettings) SetChannels(v int64) *VorbisSettings { s.Channels = &v return s } -// SetFormat sets the Format field's value. -func (s *WavSettings) SetFormat(v string) *WavSettings { - s.Format = &v +// SetSampleRate sets the SampleRate field's value. +func (s *VorbisSettings) SetSampleRate(v int64) *VorbisSettings { + s.SampleRate = &v return s } -// SetSampleRate sets the SampleRate field's value. -func (s *WavSettings) SetSampleRate(v int64) *WavSettings { - s.SampleRate = &v +// SetVbrQuality sets the VbrQuality field's value. +func (s *VorbisSettings) SetVbrQuality(v int64) *VorbisSettings { + s.VbrQuality = &v return s } -// Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio -// + audio description (AD) as a stereo pair. The value for AudioType will be -// set to 3, which signals to downstream systems that this stream contains "broadcaster -// mixed AD". Note that the input received by the encoder must contain pre-mixed -// audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD, -// the encoder ignores any values you provide in AudioType and FollowInputAudioType. -// Choose NORMAL when the input does not contain pre-mixed audio + audio description -// (AD). In this case, the encoder will use any values you provide for AudioType -// and FollowInputAudioType. -const ( - // AacAudioDescriptionBroadcasterMixBroadcasterMixedAd is a AacAudioDescriptionBroadcasterMix enum value - AacAudioDescriptionBroadcasterMixBroadcasterMixedAd = "BROADCASTER_MIXED_AD" +// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to +// the value VP8. +type Vp8Settings struct { + _ struct{} `type:"structure"` - // AacAudioDescriptionBroadcasterMixNormal is a AacAudioDescriptionBroadcasterMix enum value - AacAudioDescriptionBroadcasterMixNormal = "NORMAL" -) + // Target bitrate in bits/second. For example, enter five megabits per second + // as 5000000. + Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"` -// AAC Profile. -const ( - // AacCodecProfileLc is a AacCodecProfile enum value - AacCodecProfileLc = "LC" + // If you are using the console, use the Framerate setting to specify the frame + // rate for this output. If you want to keep the same frame rate as the input + // video, choose Follow source. If you want to do frame rate conversion, choose + // a frame rate from the dropdown list or choose Custom. The framerates shown + // in the dropdown list are decimal approximations of fractions. If you choose + // Custom, specify your frame rate as a fraction. If you are creating your transcoding + // job specification as a JSON file without the console, use FramerateControl + // to specify which value the service uses for the frame rate for this output. + // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate + // from the input. Choose SPECIFIED if you want the service to use the frame + // rate you specify in the settings FramerateNumerator and FramerateDenominator. + FramerateControl *string `locationName:"framerateControl" type:"string" enum:"Vp8FramerateControl"` - // AacCodecProfileHev1 is a AacCodecProfile enum value - AacCodecProfileHev1 = "HEV1" + // Optional. Specify how the transcoder performs framerate conversion. The default + // behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose + // Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. + FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"Vp8FramerateConversionAlgorithm"` - // AacCodecProfileHev2 is a AacCodecProfile enum value - AacCodecProfileHev2 = "HEV2" -) + // When you use the API for transcode jobs that use frame rate conversion, specify + // the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use + // FramerateDenominator to specify the denominator of this fraction. In this + // example, use 1001 for the value of FramerateDenominator. When you use the + // console for transcode jobs that use frame rate conversion, provide the value + // as a decimal number for Framerate. In this example, specify 23.976. + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` -// Mono (Audio Description), Mono, Stereo, or 5.1 channel layout. Valid values -// depend on rate control mode and profile. "1.0 - Audio Description (Receiver -// Mix)" setting receives a stereo description plus control track and emits -// a mono AAC encode of the description track, with control data emitted in -// the PES header as per ETSI TS 101 154 Annex E. -const ( - // AacCodingModeAdReceiverMix is a AacCodingMode enum value + // When you use the API for transcode jobs that use frame rate conversion, specify + // the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use + // FramerateNumerator to specify the numerator of this fraction. In this example, + // use 24000 for the value of FramerateNumerator. When you use the console for + // transcode jobs that use frame rate conversion, provide the value as a decimal + // number for Framerate. In this example, specify 23.976. + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` + + // GOP Length (keyframe interval) in frames. Must be greater than zero. + GopSize *float64 `locationName:"gopSize" type:"double"` + + // Optional. Size of buffer (HRD buffer model) in bits. For example, enter five + // megabits as 5000000. + HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"` + + // Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional. + // Specify the maximum bitrate in bits/second. For example, enter five megabits + // per second as 5000000. The default behavior uses twice the target bitrate + // as the maximum bitrate. + MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"` + + // Optional. Specify how the service determines the pixel aspect ratio (PAR) + // for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), + // uses the PAR from your input video for your output. To specify a different + // PAR in the console, choose any value other than Follow source. To specify + // a different PAR by editing the JSON job specification, choose SPECIFIED. + // When you choose SPECIFIED for this setting, you must also specify values + // for the parNumerator and parDenominator settings. + ParControl *string `locationName:"parControl" type:"string" enum:"Vp8ParControl"` + + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parDenominator is 33. + ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` + + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parNumerator is 40. + ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` + + // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you + // want to trade off encoding speed for output video quality. The default behavior + // is faster, lower quality, multi-pass encoding. + QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"Vp8QualityTuningLevel"` + + // With the VP8 codec, you can use only the variable bitrate (VBR) rate control + // mode. + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"Vp8RateControlMode"` +} + +// String returns the string representation +func (s Vp8Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Vp8Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Vp8Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Vp8Settings"} + if s.Bitrate != nil && *s.Bitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000)) + } + if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) + } + if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1)) + } + if s.MaxBitrate != nil && *s.MaxBitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000)) + } + if s.ParDenominator != nil && *s.ParDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) + } + if s.ParNumerator != nil && *s.ParNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBitrate sets the Bitrate field's value. +func (s *Vp8Settings) SetBitrate(v int64) *Vp8Settings { + s.Bitrate = &v + return s +} + +// SetFramerateControl sets the FramerateControl field's value. +func (s *Vp8Settings) SetFramerateControl(v string) *Vp8Settings { + s.FramerateControl = &v + return s +} + +// SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value. +func (s *Vp8Settings) SetFramerateConversionAlgorithm(v string) *Vp8Settings { + s.FramerateConversionAlgorithm = &v + return s +} + +// SetFramerateDenominator sets the FramerateDenominator field's value. +func (s *Vp8Settings) SetFramerateDenominator(v int64) *Vp8Settings { + s.FramerateDenominator = &v + return s +} + +// SetFramerateNumerator sets the FramerateNumerator field's value. +func (s *Vp8Settings) SetFramerateNumerator(v int64) *Vp8Settings { + s.FramerateNumerator = &v + return s +} + +// SetGopSize sets the GopSize field's value. +func (s *Vp8Settings) SetGopSize(v float64) *Vp8Settings { + s.GopSize = &v + return s +} + +// SetHrdBufferSize sets the HrdBufferSize field's value. +func (s *Vp8Settings) SetHrdBufferSize(v int64) *Vp8Settings { + s.HrdBufferSize = &v + return s +} + +// SetMaxBitrate sets the MaxBitrate field's value. +func (s *Vp8Settings) SetMaxBitrate(v int64) *Vp8Settings { + s.MaxBitrate = &v + return s +} + +// SetParControl sets the ParControl field's value. +func (s *Vp8Settings) SetParControl(v string) *Vp8Settings { + s.ParControl = &v + return s +} + +// SetParDenominator sets the ParDenominator field's value. +func (s *Vp8Settings) SetParDenominator(v int64) *Vp8Settings { + s.ParDenominator = &v + return s +} + +// SetParNumerator sets the ParNumerator field's value. +func (s *Vp8Settings) SetParNumerator(v int64) *Vp8Settings { + s.ParNumerator = &v + return s +} + +// SetQualityTuningLevel sets the QualityTuningLevel field's value. +func (s *Vp8Settings) SetQualityTuningLevel(v string) *Vp8Settings { + s.QualityTuningLevel = &v + return s +} + +// SetRateControlMode sets the RateControlMode field's value. +func (s *Vp8Settings) SetRateControlMode(v string) *Vp8Settings { + s.RateControlMode = &v + return s +} + +// Required when you set (Codec) under (VideoDescription)>(CodecSettings) to +// the value VP9. +type Vp9Settings struct { + _ struct{} `type:"structure"` + + // Target bitrate in bits/second. For example, enter five megabits per second + // as 5000000. + Bitrate *int64 `locationName:"bitrate" min:"1000" type:"integer"` + + // If you are using the console, use the Framerate setting to specify the frame + // rate for this output. If you want to keep the same frame rate as the input + // video, choose Follow source. If you want to do frame rate conversion, choose + // a frame rate from the dropdown list or choose Custom. The framerates shown + // in the dropdown list are decimal approximations of fractions. If you choose + // Custom, specify your frame rate as a fraction. If you are creating your transcoding + // job specification as a JSON file without the console, use FramerateControl + // to specify which value the service uses for the frame rate for this output. + // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate + // from the input. Choose SPECIFIED if you want the service to use the frame + // rate you specify in the settings FramerateNumerator and FramerateDenominator. + FramerateControl *string `locationName:"framerateControl" type:"string" enum:"Vp9FramerateControl"` + + // Optional. Specify how the transcoder performs framerate conversion. The default + // behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose + // Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. + FramerateConversionAlgorithm *string `locationName:"framerateConversionAlgorithm" type:"string" enum:"Vp9FramerateConversionAlgorithm"` + + // When you use the API for transcode jobs that use frame rate conversion, specify + // the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use + // FramerateDenominator to specify the denominator of this fraction. In this + // example, use 1001 for the value of FramerateDenominator. When you use the + // console for transcode jobs that use frame rate conversion, provide the value + // as a decimal number for Framerate. In this example, specify 23.976. + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` + + // When you use the API for transcode jobs that use frame rate conversion, specify + // the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use + // FramerateNumerator to specify the numerator of this fraction. In this example, + // use 24000 for the value of FramerateNumerator. When you use the console for + // transcode jobs that use frame rate conversion, provide the value as a decimal + // number for Framerate. In this example, specify 23.976. + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` + + // GOP Length (keyframe interval) in frames. Must be greater than zero. + GopSize *float64 `locationName:"gopSize" type:"double"` + + // Size of buffer (HRD buffer model) in bits. For example, enter five megabits + // as 5000000. + HrdBufferSize *int64 `locationName:"hrdBufferSize" type:"integer"` + + // Ignore this setting unless you set qualityTuningLevel to MULTI_PASS. Optional. + // Specify the maximum bitrate in bits/second. For example, enter five megabits + // per second as 5000000. The default behavior uses twice the target bitrate + // as the maximum bitrate. + MaxBitrate *int64 `locationName:"maxBitrate" min:"1000" type:"integer"` + + // Optional. Specify how the service determines the pixel aspect ratio for this + // output. The default behavior is to use the same pixel aspect ratio as your + // input video. + ParControl *string `locationName:"parControl" type:"string" enum:"Vp9ParControl"` + + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parDenominator is 33. + ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` + + // Required when you set Pixel aspect ratio (parControl) to SPECIFIED. On the + // console, this corresponds to any value other than Follow source. When you + // specify an output pixel aspect ratio (PAR) that is different from your input + // video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC + // widescreen, you would specify the ratio 40:33. In this example, the value + // for parNumerator is 40. + ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` + + // Optional. Use Quality tuning level (qualityTuningLevel) to choose how you + // want to trade off encoding speed for output video quality. The default behavior + // is faster, lower quality, multi-pass encoding. + QualityTuningLevel *string `locationName:"qualityTuningLevel" type:"string" enum:"Vp9QualityTuningLevel"` + + // With the VP9 codec, you can use only the variable bitrate (VBR) rate control + // mode. + RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"Vp9RateControlMode"` +} + +// String returns the string representation +func (s Vp9Settings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Vp9Settings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Vp9Settings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Vp9Settings"} + if s.Bitrate != nil && *s.Bitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("Bitrate", 1000)) + } + if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) + } + if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1)) + } + if s.MaxBitrate != nil && *s.MaxBitrate < 1000 { + invalidParams.Add(request.NewErrParamMinValue("MaxBitrate", 1000)) + } + if s.ParDenominator != nil && *s.ParDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) + } + if s.ParNumerator != nil && *s.ParNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBitrate sets the Bitrate field's value. +func (s *Vp9Settings) SetBitrate(v int64) *Vp9Settings { + s.Bitrate = &v + return s +} + +// SetFramerateControl sets the FramerateControl field's value. +func (s *Vp9Settings) SetFramerateControl(v string) *Vp9Settings { + s.FramerateControl = &v + return s +} + +// SetFramerateConversionAlgorithm sets the FramerateConversionAlgorithm field's value. +func (s *Vp9Settings) SetFramerateConversionAlgorithm(v string) *Vp9Settings { + s.FramerateConversionAlgorithm = &v + return s +} + +// SetFramerateDenominator sets the FramerateDenominator field's value. +func (s *Vp9Settings) SetFramerateDenominator(v int64) *Vp9Settings { + s.FramerateDenominator = &v + return s +} + +// SetFramerateNumerator sets the FramerateNumerator field's value. +func (s *Vp9Settings) SetFramerateNumerator(v int64) *Vp9Settings { + s.FramerateNumerator = &v + return s +} + +// SetGopSize sets the GopSize field's value. +func (s *Vp9Settings) SetGopSize(v float64) *Vp9Settings { + s.GopSize = &v + return s +} + +// SetHrdBufferSize sets the HrdBufferSize field's value. +func (s *Vp9Settings) SetHrdBufferSize(v int64) *Vp9Settings { + s.HrdBufferSize = &v + return s +} + +// SetMaxBitrate sets the MaxBitrate field's value. +func (s *Vp9Settings) SetMaxBitrate(v int64) *Vp9Settings { + s.MaxBitrate = &v + return s +} + +// SetParControl sets the ParControl field's value. +func (s *Vp9Settings) SetParControl(v string) *Vp9Settings { + s.ParControl = &v + return s +} + +// SetParDenominator sets the ParDenominator field's value. +func (s *Vp9Settings) SetParDenominator(v int64) *Vp9Settings { + s.ParDenominator = &v + return s +} + +// SetParNumerator sets the ParNumerator field's value. +func (s *Vp9Settings) SetParNumerator(v int64) *Vp9Settings { + s.ParNumerator = &v + return s +} + +// SetQualityTuningLevel sets the QualityTuningLevel field's value. +func (s *Vp9Settings) SetQualityTuningLevel(v string) *Vp9Settings { + s.QualityTuningLevel = &v + return s +} + +// SetRateControlMode sets the RateControlMode field's value. +func (s *Vp9Settings) SetRateControlMode(v string) *Vp9Settings { + s.RateControlMode = &v + return s +} + +// Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to +// the value WAV. +type WavSettings struct { + _ struct{} `type:"structure"` + + // Specify Bit depth (BitDepth), in bits per sample, to choose the encoding + // quality for this audio track. + BitDepth *int64 `locationName:"bitDepth" min:"16" type:"integer"` + + // Specify the number of channels in this output audio track. Valid values are + // 1 and even numbers up to 64. For example, 1, 2, 4, 6, and so on, up to 64. + Channels *int64 `locationName:"channels" min:"1" type:"integer"` + + // The service defaults to using RIFF for WAV outputs. If your output audio + // is likely to exceed 4 GB in file size, or if you otherwise need the extended + // support of the RF64 format, set your output WAV file format to RF64. + Format *string `locationName:"format" type:"string" enum:"WavFormat"` + + // Sample rate in Hz. + SampleRate *int64 `locationName:"sampleRate" min:"8000" type:"integer"` +} + +// String returns the string representation +func (s WavSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WavSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *WavSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WavSettings"} + if s.BitDepth != nil && *s.BitDepth < 16 { + invalidParams.Add(request.NewErrParamMinValue("BitDepth", 16)) + } + if s.Channels != nil && *s.Channels < 1 { + invalidParams.Add(request.NewErrParamMinValue("Channels", 1)) + } + if s.SampleRate != nil && *s.SampleRate < 8000 { + invalidParams.Add(request.NewErrParamMinValue("SampleRate", 8000)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBitDepth sets the BitDepth field's value. +func (s *WavSettings) SetBitDepth(v int64) *WavSettings { + s.BitDepth = &v + return s +} + +// SetChannels sets the Channels field's value. +func (s *WavSettings) SetChannels(v int64) *WavSettings { + s.Channels = &v + return s +} + +// SetFormat sets the Format field's value. +func (s *WavSettings) SetFormat(v string) *WavSettings { + s.Format = &v + return s +} + +// SetSampleRate sets the SampleRate field's value. +func (s *WavSettings) SetSampleRate(v int64) *WavSettings { + s.SampleRate = &v + return s +} + +// Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio +// + audio description (AD) as a stereo pair. The value for AudioType will be +// set to 3, which signals to downstream systems that this stream contains "broadcaster +// mixed AD". Note that the input received by the encoder must contain pre-mixed +// audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD, +// the encoder ignores any values you provide in AudioType and FollowInputAudioType. +// Choose NORMAL when the input does not contain pre-mixed audio + audio description +// (AD). In this case, the encoder will use any values you provide for AudioType +// and FollowInputAudioType. +const ( + // AacAudioDescriptionBroadcasterMixBroadcasterMixedAd is a AacAudioDescriptionBroadcasterMix enum value + AacAudioDescriptionBroadcasterMixBroadcasterMixedAd = "BROADCASTER_MIXED_AD" + + // AacAudioDescriptionBroadcasterMixNormal is a AacAudioDescriptionBroadcasterMix enum value + AacAudioDescriptionBroadcasterMixNormal = "NORMAL" +) + +// AAC Profile. +const ( + // AacCodecProfileLc is a AacCodecProfile enum value + AacCodecProfileLc = "LC" + + // AacCodecProfileHev1 is a AacCodecProfile enum value + AacCodecProfileHev1 = "HEV1" + + // AacCodecProfileHev2 is a AacCodecProfile enum value + AacCodecProfileHev2 = "HEV2" +) + +// Mono (Audio Description), Mono, Stereo, or 5.1 channel layout. Valid values +// depend on rate control mode and profile. "1.0 - Audio Description (Receiver +// Mix)" setting receives a stereo description plus control track and emits +// a mono AAC encode of the description track, with control data emitted in +// the PES header as per ETSI TS 101 154 Annex E. +const ( + // AacCodingModeAdReceiverMix is a AacCodingMode enum value AacCodingModeAdReceiverMix = "AD_RECEIVER_MIX" // AacCodingModeCodingMode10 is a AacCodingMode enum value @@ -18877,6 +19702,12 @@ const ( // AudioCodecEac3Atmos is a AudioCodec enum value AudioCodecEac3Atmos = "EAC3_ATMOS" + // AudioCodecVorbis is a AudioCodec enum value + AudioCodecVorbis = "VORBIS" + + // AudioCodecOpus is a AudioCodec enum value + AudioCodecOpus = "OPUS" + // AudioCodecPassthrough is a AudioCodec enum value AudioCodecPassthrough = "PASSTHROUGH" ) @@ -19025,7 +19856,8 @@ const ( Av1FramerateControlSpecified = "SPECIFIED" ) -// When set to INTERPOLATE, produces smoother motion during frame rate conversion. +// Optional. Specify how the transcoder performs framerate conversion. The default +// behavior is to use duplicate drop conversion. const ( // Av1FramerateConversionAlgorithmDuplicateDrop is a Av1FramerateConversionAlgorithm enum value Av1FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" @@ -19526,6 +20358,9 @@ const ( // ContainerTypeMxf is a ContainerType enum value ContainerTypeMxf = "MXF" + // ContainerTypeWebm is a ContainerType enum value + ContainerTypeWebm = "WEBM" + // ContainerTypeRaw is a ContainerType enum value ContainerTypeRaw = "RAW" ) @@ -20335,7 +21170,8 @@ const ( H264FramerateControlSpecified = "SPECIFIED" ) -// When set to INTERPOLATE, produces smoother motion during frame rate conversion. +// Optional. Specify how the transcoder performs framerate conversion. The default +// behavior is to use duplicate drop conversion. const ( // H264FramerateConversionAlgorithmDuplicateDrop is a H264FramerateConversionAlgorithm enum value H264FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" @@ -20392,9 +21228,13 @@ const ( H264InterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD" ) -// Using the API, enable ParFollowSource if you want the service to use the -// pixel aspect ratio from the input. Using the console, do this by choosing -// Follow source for Pixel aspect ratio. +// Optional. Specify how the service determines the pixel aspect ratio (PAR) +// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), +// uses the PAR from your input video for your output. To specify a different +// PAR in the console, choose any value other than Follow source. To specify +// a different PAR by editing the JSON job specification, choose SPECIFIED. +// When you choose SPECIFIED for this setting, you must also specify values +// for the parNumerator and parDenominator settings. const ( // H264ParControlInitializeFromSource is a H264ParControl enum value H264ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" @@ -20403,9 +21243,9 @@ const ( H264ParControlSpecified = "SPECIFIED" ) -// Use Quality tuning level (H264QualityTuningLevel) to specifiy whether to -// use fast single-pass, high-quality singlepass, or high-quality multipass -// video encoding. +// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you +// want to trade off encoding speed for output video quality. The default behavior +// is faster, lower quality, single-pass encoding. const ( // H264QualityTuningLevelSinglePass is a H264QualityTuningLevel enum value H264QualityTuningLevelSinglePass = "SINGLE_PASS" @@ -20655,7 +21495,7 @@ const ( // a frame rate from the dropdown list or choose Custom. The framerates shown // in the dropdown list are decimal approximations of fractions. If you choose // Custom, specify your frame rate as a fraction. If you are creating your transcoding -// job sepecification as a JSON file without the console, use FramerateControl +// job specification as a JSON file without the console, use FramerateControl // to specify which value the service uses for the frame rate for this output. // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate // from the input. Choose SPECIFIED if you want the service to use the frame @@ -20668,7 +21508,8 @@ const ( H265FramerateControlSpecified = "SPECIFIED" ) -// When set to INTERPOLATE, produces smoother motion during frame rate conversion. +// Optional. Specify how the transcoder performs framerate conversion. The default +// behavior is to use duplicate drop conversion. const ( // H265FramerateConversionAlgorithmDuplicateDrop is a H265FramerateConversionAlgorithm enum value H265FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" @@ -20726,9 +21567,13 @@ const ( H265InterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD" ) -// Using the API, enable ParFollowSource if you want the service to use the -// pixel aspect ratio from the input. Using the console, do this by choosing -// Follow source for Pixel aspect ratio. +// Optional. Specify how the service determines the pixel aspect ratio (PAR) +// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), +// uses the PAR from your input video for your output. To specify a different +// PAR in the console, choose any value other than Follow source. To specify +// a different PAR by editing the JSON job specification, choose SPECIFIED. +// When you choose SPECIFIED for this setting, you must also specify values +// for the parNumerator and parDenominator settings. const ( // H265ParControlInitializeFromSource is a H265ParControl enum value H265ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" @@ -20737,9 +21582,9 @@ const ( H265ParControlSpecified = "SPECIFIED" ) -// Use Quality tuning level (H265QualityTuningLevel) to specifiy whether to -// use fast single-pass, high-quality singlepass, or high-quality multipass -// video encoding. +// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you +// want to trade off encoding speed for output video quality. The default behavior +// is faster, lower quality, single-pass encoding. const ( // H265QualityTuningLevelSinglePass is a H265QualityTuningLevel enum value H265QualityTuningLevelSinglePass = "SINGLE_PASS" @@ -21127,7 +21972,7 @@ const ( ) // Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. -// Default is disabled. Only manaully controllable for MPEG2 and uncompressed +// Default is disabled. Only manually controllable for MPEG2 and uncompressed // video inputs. const ( // InputDeblockFilterEnabled is a InputDeblockFilter enum value @@ -22253,7 +23098,7 @@ const ( // a frame rate from the dropdown list or choose Custom. The framerates shown // in the dropdown list are decimal approximations of fractions. If you choose // Custom, specify your frame rate as a fraction. If you are creating your transcoding -// job sepecification as a JSON file without the console, use FramerateControl +// job specification as a JSON file without the console, use FramerateControl // to specify which value the service uses for the frame rate for this output. // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate // from the input. Choose SPECIFIED if you want the service to use the frame @@ -22266,7 +23111,8 @@ const ( Mpeg2FramerateControlSpecified = "SPECIFIED" ) -// When set to INTERPOLATE, produces smoother motion during frame rate conversion. +// Optional. Specify how the transcoder performs framerate conversion. The default +// behavior is to use duplicate drop conversion. const ( // Mpeg2FramerateConversionAlgorithmDuplicateDrop is a Mpeg2FramerateConversionAlgorithm enum value Mpeg2FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" @@ -22334,9 +23180,13 @@ const ( Mpeg2IntraDcPrecisionIntraDcPrecision11 = "INTRA_DC_PRECISION_11" ) -// Using the API, enable ParFollowSource if you want the service to use the -// pixel aspect ratio from the input. Using the console, do this by choosing -// Follow source for Pixel aspect ratio. +// Optional. Specify how the service determines the pixel aspect ratio (PAR) +// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), +// uses the PAR from your input video for your output. To specify a different +// PAR in the console, choose any value other than Follow source. To specify +// a different PAR by editing the JSON job specification, choose SPECIFIED. +// When you choose SPECIFIED for this setting, you must also specify values +// for the parNumerator and parDenominator settings. const ( // Mpeg2ParControlInitializeFromSource is a Mpeg2ParControl enum value Mpeg2ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" @@ -22345,8 +23195,9 @@ const ( Mpeg2ParControlSpecified = "SPECIFIED" ) -// Use Quality tuning level (Mpeg2QualityTuningLevel) to specifiy whether to -// use single-pass or multipass video encoding. +// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you +// want to trade off encoding speed for output video quality. The default behavior +// is faster, lower quality, single-pass encoding. const ( // Mpeg2QualityTuningLevelSinglePass is a Mpeg2QualityTuningLevel enum value Mpeg2QualityTuningLevelSinglePass = "SINGLE_PASS" @@ -22466,6 +23317,21 @@ const ( MxfAfdSignalingCopyFromVideo = "COPY_FROM_VIDEO" ) +// Optional. When you set Noise reducer (noiseReducer) to Temporal (TEMPORAL), +// you can optionally use this setting to apply additional sharpening. The default +// behavior, Auto (AUTO) allows the transcoder to determine whether to apply +// filtering, depending on input type and quality. +const ( + // NoiseFilterPostTemporalSharpeningDisabled is a NoiseFilterPostTemporalSharpening enum value + NoiseFilterPostTemporalSharpeningDisabled = "DISABLED" + + // NoiseFilterPostTemporalSharpeningEnabled is a NoiseFilterPostTemporalSharpening enum value + NoiseFilterPostTemporalSharpeningEnabled = "ENABLED" + + // NoiseFilterPostTemporalSharpeningAuto is a NoiseFilterPostTemporalSharpening enum value + NoiseFilterPostTemporalSharpeningAuto = "AUTO" +) + // Use Noise reducer filter (NoiseReducerFilter) to select one of the following // spatial image filtering functions. To use this setting, you must also enable // Noise reducer (NoiseReducer). * Bilateral preserves edges while reducing @@ -22597,7 +23463,7 @@ const ( // a frame rate from the dropdown list or choose Custom. The framerates shown // in the dropdown list are decimal approximations of fractions. If you choose // Custom, specify your frame rate as a fraction. If you are creating your transcoding -// job sepecification as a JSON file without the console, use FramerateControl +// job specification as a JSON file without the console, use FramerateControl // to specify which value the service uses for the frame rate for this output. // Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate // from the input. Choose SPECIFIED if you want the service to use the frame @@ -22610,7 +23476,8 @@ const ( ProresFramerateControlSpecified = "SPECIFIED" ) -// When set to INTERPOLATE, produces smoother motion during frame rate conversion. +// Optional. Specify how the transcoder performs framerate conversion. The default +// behavior is to use duplicate drop conversion. const ( // ProresFramerateConversionAlgorithmDuplicateDrop is a ProresFramerateConversionAlgorithm enum value ProresFramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" @@ -22647,11 +23514,13 @@ const ( ProresInterlaceModeFollowBottomField = "FOLLOW_BOTTOM_FIELD" ) -// Use (ProresParControl) to specify how the service determines the pixel aspect -// ratio. Set to Follow source (INITIALIZE_FROM_SOURCE) to use the pixel aspect -// ratio from the input. To specify a different pixel aspect ratio: Using the -// console, choose it from the dropdown menu. Using the API, set ProresParControl -// to (SPECIFIED) and provide for (ParNumerator) and (ParDenominator). +// Optional. Specify how the service determines the pixel aspect ratio (PAR) +// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), +// uses the PAR from your input video for your output. To specify a different +// PAR in the console, choose any value other than Follow source. To specify +// a different PAR by editing the JSON job specification, choose SPECIFIED. +// When you choose SPECIFIED for this setting, you must also specify values +// for the parNumerator and parDenominator settings. const ( // ProresParControlInitializeFromSource is a ProresParControl enum value ProresParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" @@ -22994,6 +23863,12 @@ const ( // VideoCodecProres is a VideoCodec enum value VideoCodecProres = "PRORES" + + // VideoCodecVp8 is a VideoCodec enum value + VideoCodecVp8 = "VP8" + + // VideoCodecVp9 is a VideoCodec enum value + VideoCodecVp9 = "VP9" ) // Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode @@ -23016,6 +23891,152 @@ const ( VideoTimecodeInsertionPicTimingSei = "PIC_TIMING_SEI" ) +// If you are using the console, use the Framerate setting to specify the frame +// rate for this output. If you want to keep the same frame rate as the input +// video, choose Follow source. If you want to do frame rate conversion, choose +// a frame rate from the dropdown list or choose Custom. The framerates shown +// in the dropdown list are decimal approximations of fractions. If you choose +// Custom, specify your frame rate as a fraction. If you are creating your transcoding +// job specification as a JSON file without the console, use FramerateControl +// to specify which value the service uses for the frame rate for this output. +// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate +// from the input. Choose SPECIFIED if you want the service to use the frame +// rate you specify in the settings FramerateNumerator and FramerateDenominator. +const ( + // Vp8FramerateControlInitializeFromSource is a Vp8FramerateControl enum value + Vp8FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // Vp8FramerateControlSpecified is a Vp8FramerateControl enum value + Vp8FramerateControlSpecified = "SPECIFIED" +) + +// Optional. Specify how the transcoder performs framerate conversion. The default +// behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose +// Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. +const ( + // Vp8FramerateConversionAlgorithmDuplicateDrop is a Vp8FramerateConversionAlgorithm enum value + Vp8FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" + + // Vp8FramerateConversionAlgorithmInterpolate is a Vp8FramerateConversionAlgorithm enum value + Vp8FramerateConversionAlgorithmInterpolate = "INTERPOLATE" +) + +// Optional. Specify how the service determines the pixel aspect ratio (PAR) +// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), +// uses the PAR from your input video for your output. To specify a different +// PAR in the console, choose any value other than Follow source. To specify +// a different PAR by editing the JSON job specification, choose SPECIFIED. +// When you choose SPECIFIED for this setting, you must also specify values +// for the parNumerator and parDenominator settings. +const ( + // Vp8ParControlInitializeFromSource is a Vp8ParControl enum value + Vp8ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // Vp8ParControlSpecified is a Vp8ParControl enum value + Vp8ParControlSpecified = "SPECIFIED" +) + +// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you +// want to trade off encoding speed for output video quality. The default behavior +// is faster, lower quality, multi-pass encoding. +const ( + // Vp8QualityTuningLevelMultiPass is a Vp8QualityTuningLevel enum value + Vp8QualityTuningLevelMultiPass = "MULTI_PASS" + + // Vp8QualityTuningLevelMultiPassHq is a Vp8QualityTuningLevel enum value + Vp8QualityTuningLevelMultiPassHq = "MULTI_PASS_HQ" +) + +// With the VP8 codec, you can use only the variable bitrate (VBR) rate control +// mode. +const ( + // Vp8RateControlModeVbr is a Vp8RateControlMode enum value + Vp8RateControlModeVbr = "VBR" +) + +// If you are using the console, use the Framerate setting to specify the frame +// rate for this output. If you want to keep the same frame rate as the input +// video, choose Follow source. If you want to do frame rate conversion, choose +// a frame rate from the dropdown list or choose Custom. The framerates shown +// in the dropdown list are decimal approximations of fractions. If you choose +// Custom, specify your frame rate as a fraction. If you are creating your transcoding +// job specification as a JSON file without the console, use FramerateControl +// to specify which value the service uses for the frame rate for this output. +// Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate +// from the input. Choose SPECIFIED if you want the service to use the frame +// rate you specify in the settings FramerateNumerator and FramerateDenominator. +const ( + // Vp9FramerateControlInitializeFromSource is a Vp9FramerateControl enum value + Vp9FramerateControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // Vp9FramerateControlSpecified is a Vp9FramerateControl enum value + Vp9FramerateControlSpecified = "SPECIFIED" +) + +// Optional. Specify how the transcoder performs framerate conversion. The default +// behavior is to use Drop duplicate (DUPLICATE_DROP) conversion. When you choose +// Interpolate (INTERPOLATE) instead, the conversion produces smoother motion. +const ( + // Vp9FramerateConversionAlgorithmDuplicateDrop is a Vp9FramerateConversionAlgorithm enum value + Vp9FramerateConversionAlgorithmDuplicateDrop = "DUPLICATE_DROP" + + // Vp9FramerateConversionAlgorithmInterpolate is a Vp9FramerateConversionAlgorithm enum value + Vp9FramerateConversionAlgorithmInterpolate = "INTERPOLATE" +) + +// Optional. Specify how the service determines the pixel aspect ratio (PAR) +// for this output. The default behavior, Follow source (INITIALIZE_FROM_SOURCE), +// uses the PAR from your input video for your output. To specify a different +// PAR in the console, choose any value other than Follow source. To specify +// a different PAR by editing the JSON job specification, choose SPECIFIED. +// When you choose SPECIFIED for this setting, you must also specify values +// for the parNumerator and parDenominator settings. +const ( + // Vp9ParControlInitializeFromSource is a Vp9ParControl enum value + Vp9ParControlInitializeFromSource = "INITIALIZE_FROM_SOURCE" + + // Vp9ParControlSpecified is a Vp9ParControl enum value + Vp9ParControlSpecified = "SPECIFIED" +) + +// Optional. Use Quality tuning level (qualityTuningLevel) to choose how you +// want to trade off encoding speed for output video quality. The default behavior +// is faster, lower quality, multi-pass encoding. +const ( + // Vp9QualityTuningLevelMultiPass is a Vp9QualityTuningLevel enum value + Vp9QualityTuningLevelMultiPass = "MULTI_PASS" + + // Vp9QualityTuningLevelMultiPassHq is a Vp9QualityTuningLevel enum value + Vp9QualityTuningLevelMultiPassHq = "MULTI_PASS_HQ" +) + +// With the VP9 codec, you can use only the variable bitrate (VBR) rate control +// mode. +const ( + // Vp9RateControlModeVbr is a Vp9RateControlMode enum value + Vp9RateControlModeVbr = "VBR" +) + +// Optional. Ignore this setting unless Nagra support directs you to specify +// a value. When you don't specify a value here, the Nagra NexGuard library +// uses its default value. +const ( + // WatermarkingStrengthLightest is a WatermarkingStrength enum value + WatermarkingStrengthLightest = "LIGHTEST" + + // WatermarkingStrengthLighter is a WatermarkingStrength enum value + WatermarkingStrengthLighter = "LIGHTER" + + // WatermarkingStrengthDefault is a WatermarkingStrength enum value + WatermarkingStrengthDefault = "DEFAULT" + + // WatermarkingStrengthStronger is a WatermarkingStrength enum value + WatermarkingStrengthStronger = "STRONGER" + + // WatermarkingStrengthStrongest is a WatermarkingStrength enum value + WatermarkingStrengthStrongest = "STRONGEST" +) + // The service defaults to using RIFF for WAV outputs. If your output audio // is likely to exceed 4 GB in file size, or if you otherwise need the extended // support of the RF64 format, set your output WAV file format to RF64. diff --git a/vendor/github.com/aws/aws-sdk-go/service/medialive/api.go b/vendor/github.com/aws/aws-sdk-go/service/medialive/api.go index 5683e77eeb6..c9c8bae210f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/medialive/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/medialive/api.go @@ -4,6 +4,8 @@ package medialive import ( "fmt" + "io" + "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" @@ -1549,6 +1551,186 @@ func (c *MediaLive) DescribeInputWithContext(ctx aws.Context, input *DescribeInp return out, req.Send() } +const opDescribeInputDevice = "DescribeInputDevice" + +// DescribeInputDeviceRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInputDevice operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeInputDevice for more information on using the DescribeInputDevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeInputDeviceRequest method. +// req, resp := client.DescribeInputDeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInputDevice +func (c *MediaLive) DescribeInputDeviceRequest(input *DescribeInputDeviceInput) (req *request.Request, output *DescribeInputDeviceOutput) { + op := &request.Operation{ + Name: opDescribeInputDevice, + HTTPMethod: "GET", + HTTPPath: "/prod/inputDevices/{inputDeviceId}", + } + + if input == nil { + input = &DescribeInputDeviceInput{} + } + + output = &DescribeInputDeviceOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeInputDevice API operation for AWS Elemental MediaLive. +// +// Gets the details for the input device +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation DescribeInputDevice for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// +// * InternalServerErrorException +// +// * ForbiddenException +// +// * BadGatewayException +// +// * NotFoundException +// +// * GatewayTimeoutException +// +// * TooManyRequestsException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInputDevice +func (c *MediaLive) DescribeInputDevice(input *DescribeInputDeviceInput) (*DescribeInputDeviceOutput, error) { + req, out := c.DescribeInputDeviceRequest(input) + return out, req.Send() +} + +// DescribeInputDeviceWithContext is the same as DescribeInputDevice with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeInputDevice for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) DescribeInputDeviceWithContext(ctx aws.Context, input *DescribeInputDeviceInput, opts ...request.Option) (*DescribeInputDeviceOutput, error) { + req, out := c.DescribeInputDeviceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeInputDeviceThumbnail = "DescribeInputDeviceThumbnail" + +// DescribeInputDeviceThumbnailRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInputDeviceThumbnail operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeInputDeviceThumbnail for more information on using the DescribeInputDeviceThumbnail +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeInputDeviceThumbnailRequest method. +// req, resp := client.DescribeInputDeviceThumbnailRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInputDeviceThumbnail +func (c *MediaLive) DescribeInputDeviceThumbnailRequest(input *DescribeInputDeviceThumbnailInput) (req *request.Request, output *DescribeInputDeviceThumbnailOutput) { + op := &request.Operation{ + Name: opDescribeInputDeviceThumbnail, + HTTPMethod: "GET", + HTTPPath: "/prod/inputDevices/{inputDeviceId}/thumbnailData", + } + + if input == nil { + input = &DescribeInputDeviceThumbnailInput{} + } + + output = &DescribeInputDeviceThumbnailOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeInputDeviceThumbnail API operation for AWS Elemental MediaLive. +// +// Get the latest thumbnail data for the input device. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation DescribeInputDeviceThumbnail for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// +// * InternalServerErrorException +// +// * ForbiddenException +// +// * BadGatewayException +// +// * NotFoundException +// +// * GatewayTimeoutException +// +// * TooManyRequestsException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/DescribeInputDeviceThumbnail +func (c *MediaLive) DescribeInputDeviceThumbnail(input *DescribeInputDeviceThumbnailInput) (*DescribeInputDeviceThumbnailOutput, error) { + req, out := c.DescribeInputDeviceThumbnailRequest(input) + return out, req.Send() +} + +// DescribeInputDeviceThumbnailWithContext is the same as DescribeInputDeviceThumbnail with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeInputDeviceThumbnail for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) DescribeInputDeviceThumbnailWithContext(ctx aws.Context, input *DescribeInputDeviceThumbnailInput, opts ...request.Option) (*DescribeInputDeviceThumbnailOutput, error) { + req, out := c.DescribeInputDeviceThumbnailRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeInputSecurityGroup = "DescribeInputSecurityGroup" // DescribeInputSecurityGroupRequest generates a "aws/request.Request" representing the @@ -2293,6 +2475,152 @@ func (c *MediaLive) ListChannelsPagesWithContext(ctx aws.Context, input *ListCha return p.Err() } +const opListInputDevices = "ListInputDevices" + +// ListInputDevicesRequest generates a "aws/request.Request" representing the +// client's request for the ListInputDevices operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListInputDevices for more information on using the ListInputDevices +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListInputDevicesRequest method. +// req, resp := client.ListInputDevicesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListInputDevices +func (c *MediaLive) ListInputDevicesRequest(input *ListInputDevicesInput) (req *request.Request, output *ListInputDevicesOutput) { + op := &request.Operation{ + Name: opListInputDevices, + HTTPMethod: "GET", + HTTPPath: "/prod/inputDevices", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListInputDevicesInput{} + } + + output = &ListInputDevicesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListInputDevices API operation for AWS Elemental MediaLive. +// +// List input devices +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation ListInputDevices for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// +// * InternalServerErrorException +// +// * ForbiddenException +// +// * BadGatewayException +// +// * GatewayTimeoutException +// +// * TooManyRequestsException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ListInputDevices +func (c *MediaLive) ListInputDevices(input *ListInputDevicesInput) (*ListInputDevicesOutput, error) { + req, out := c.ListInputDevicesRequest(input) + return out, req.Send() +} + +// ListInputDevicesWithContext is the same as ListInputDevices with the addition of +// the ability to pass a context and additional request options. +// +// See ListInputDevices for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) ListInputDevicesWithContext(ctx aws.Context, input *ListInputDevicesInput, opts ...request.Option) (*ListInputDevicesOutput, error) { + req, out := c.ListInputDevicesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListInputDevicesPages iterates over the pages of a ListInputDevices operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListInputDevices 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 ListInputDevices operation. +// pageNum := 0 +// err := client.ListInputDevicesPages(params, +// func(page *medialive.ListInputDevicesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MediaLive) ListInputDevicesPages(input *ListInputDevicesInput, fn func(*ListInputDevicesOutput, bool) bool) error { + return c.ListInputDevicesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListInputDevicesPagesWithContext same as ListInputDevicesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) ListInputDevicesPagesWithContext(ctx aws.Context, input *ListInputDevicesInput, fn func(*ListInputDevicesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListInputDevicesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListInputDevicesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListInputDevicesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListInputSecurityGroups = "ListInputSecurityGroups" // ListInputSecurityGroupsRequest generates a "aws/request.Request" representing the @@ -3991,33 +4319,125 @@ func (c *MediaLive) UpdateInputWithContext(ctx aws.Context, input *UpdateInputIn return out, req.Send() } -const opUpdateInputSecurityGroup = "UpdateInputSecurityGroup" +const opUpdateInputDevice = "UpdateInputDevice" -// UpdateInputSecurityGroupRequest generates a "aws/request.Request" representing the -// client's request for the UpdateInputSecurityGroup operation. The "output" return +// UpdateInputDeviceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateInputDevice operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateInputSecurityGroup for more information on using the UpdateInputSecurityGroup +// See UpdateInputDevice for more information on using the UpdateInputDevice // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateInputSecurityGroupRequest method. -// req, resp := client.UpdateInputSecurityGroupRequest(params) +// // Example sending a request using the UpdateInputDeviceRequest method. +// req, resp := client.UpdateInputDeviceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup -func (c *MediaLive) UpdateInputSecurityGroupRequest(input *UpdateInputSecurityGroupInput) (req *request.Request, output *UpdateInputSecurityGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputDevice +func (c *MediaLive) UpdateInputDeviceRequest(input *UpdateInputDeviceInput) (req *request.Request, output *UpdateInputDeviceOutput) { + op := &request.Operation{ + Name: opUpdateInputDevice, + HTTPMethod: "PUT", + HTTPPath: "/prod/inputDevices/{inputDeviceId}", + } + + if input == nil { + input = &UpdateInputDeviceInput{} + } + + output = &UpdateInputDeviceOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateInputDevice API operation for AWS Elemental MediaLive. +// +// Updates the parameters for the input device. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation UpdateInputDevice for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// +// * UnprocessableEntityException +// +// * InternalServerErrorException +// +// * ForbiddenException +// +// * BadGatewayException +// +// * NotFoundException +// +// * GatewayTimeoutException +// +// * TooManyRequestsException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputDevice +func (c *MediaLive) UpdateInputDevice(input *UpdateInputDeviceInput) (*UpdateInputDeviceOutput, error) { + req, out := c.UpdateInputDeviceRequest(input) + return out, req.Send() +} + +// UpdateInputDeviceWithContext is the same as UpdateInputDevice with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateInputDevice for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) UpdateInputDeviceWithContext(ctx aws.Context, input *UpdateInputDeviceInput, opts ...request.Option) (*UpdateInputDeviceOutput, error) { + req, out := c.UpdateInputDeviceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateInputSecurityGroup = "UpdateInputSecurityGroup" + +// UpdateInputSecurityGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateInputSecurityGroup operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateInputSecurityGroup for more information on using the UpdateInputSecurityGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateInputSecurityGroupRequest method. +// req, resp := client.UpdateInputSecurityGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputSecurityGroup +func (c *MediaLive) UpdateInputSecurityGroupRequest(input *UpdateInputSecurityGroupInput) (req *request.Request, output *UpdateInputSecurityGroupOutput) { op := &request.Operation{ Name: opUpdateInputSecurityGroup, HTTPMethod: "PUT", @@ -4918,9 +5338,10 @@ type AudioDescription struct { // Audio codec settings. CodecSettings *AudioCodecSettings `locationName:"codecSettings" type:"structure"` - // Indicates the language of the audio output track. Only used if languageControlMode - // is useConfigured, or there is no ISO 639 language code specified in the input. - LanguageCode *string `locationName:"languageCode" min:"3" type:"string"` + // RFC 5646 language code representing the language of the audio output track. + // Only used if languageControlMode is useConfigured, or there is no ISO 639 + // language code specified in the input. + LanguageCode *string `locationName:"languageCode" min:"1" type:"string"` // Choosing followInput will cause the ISO 639 language code of the output to // follow the ISO 639 language code of the input. The languageCode will be used @@ -4960,8 +5381,8 @@ func (s *AudioDescription) Validate() error { if s.AudioSelectorName == nil { invalidParams.Add(request.NewErrParamRequired("AudioSelectorName")) } - if s.LanguageCode != nil && len(*s.LanguageCode) < 3 { - invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 3)) + if s.LanguageCode != nil && len(*s.LanguageCode) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 1)) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) @@ -6441,6 +6862,9 @@ type CaptionDestinationSettings struct { // Dvb Sub Destination Settings DvbSubDestinationSettings *DvbSubDestinationSettings `locationName:"dvbSubDestinationSettings" type:"structure"` + // Ebu Tt DDestination Settings + EbuTtDDestinationSettings *EbuTtDDestinationSettings `locationName:"ebuTtDDestinationSettings" type:"structure"` + // Embedded Destination Settings EmbeddedDestinationSettings *EmbeddedDestinationSettings `locationName:"embeddedDestinationSettings" type:"structure"` @@ -6517,6 +6941,12 @@ func (s *CaptionDestinationSettings) SetDvbSubDestinationSettings(v *DvbSubDesti return s } +// SetEbuTtDDestinationSettings sets the EbuTtDDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetEbuTtDDestinationSettings(v *EbuTtDDestinationSettings) *CaptionDestinationSettings { + s.EbuTtDDestinationSettings = v + return s +} + // SetEmbeddedDestinationSettings sets the EmbeddedDestinationSettings field's value. func (s *CaptionDestinationSettings) SetEmbeddedDestinationSettings(v *EmbeddedDestinationSettings) *CaptionDestinationSettings { s.EmbeddedDestinationSettings = v @@ -7360,6 +7790,8 @@ type CreateInputInput struct { Destinations []*InputDestinationRequest `locationName:"destinations" type:"list"` + InputDevices []*InputDeviceSettings `locationName:"inputDevices" type:"list"` + InputSecurityGroups []*string `locationName:"inputSecurityGroups" type:"list"` MediaConnectFlows []*MediaConnectFlowRequest `locationName:"mediaConnectFlows" type:"list"` @@ -7414,6 +7846,12 @@ func (s *CreateInputInput) SetDestinations(v []*InputDestinationRequest) *Create return s } +// SetInputDevices sets the InputDevices field's value. +func (s *CreateInputInput) SetInputDevices(v []*InputDeviceSettings) *CreateInputInput { + s.InputDevices = v + return s +} + // SetInputSecurityGroups sets the InputSecurityGroups field's value. func (s *CreateInputInput) SetInputSecurityGroups(v []*string) *CreateInputInput { s.InputSecurityGroups = v @@ -8827,6 +9265,257 @@ func (s *DescribeChannelOutput) SetTags(v map[string]*string) *DescribeChannelOu return s } +type DescribeInputDeviceInput struct { + _ struct{} `type:"structure"` + + // InputDeviceId is a required field + InputDeviceId *string `location:"uri" locationName:"inputDeviceId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeInputDeviceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInputDeviceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInputDeviceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInputDeviceInput"} + if s.InputDeviceId == nil { + invalidParams.Add(request.NewErrParamRequired("InputDeviceId")) + } + if s.InputDeviceId != nil && len(*s.InputDeviceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputDeviceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputDeviceId sets the InputDeviceId field's value. +func (s *DescribeInputDeviceInput) SetInputDeviceId(v string) *DescribeInputDeviceInput { + s.InputDeviceId = &v + return s +} + +type DescribeInputDeviceOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + // The state of the connection between the input device and AWS. + ConnectionState *string `locationName:"connectionState" type:"string" enum:"InputDeviceConnectionState"` + + // The status of the action to synchronize the device configuration. If you + // change the configuration of the input device (for example, the maximum bitrate), + // MediaLive sends the new data to the device. The device might not update itself + // immediately. SYNCED means the device has updated its configuration. SYNCING + // means that it has not updated its configuration. + DeviceSettingsSyncState *string `locationName:"deviceSettingsSyncState" type:"string" enum:"DeviceSettingsSyncState"` + + // Settings that describe the active source from the input device, and the video + // characteristics of that source. + HdDeviceSettings *InputDeviceHdSettings `locationName:"hdDeviceSettings" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + MacAddress *string `locationName:"macAddress" type:"string"` + + Name *string `locationName:"name" type:"string"` + + // The network settings for the input device. + NetworkSettings *InputDeviceNetworkSettings `locationName:"networkSettings" type:"structure"` + + SerialNumber *string `locationName:"serialNumber" type:"string"` + + // The type of the input device. For an AWS Elemental Link device that outputs + // resolutions up to 1080, choose "HD". + Type *string `locationName:"type" type:"string" enum:"InputDeviceType"` +} + +// String returns the string representation +func (s DescribeInputDeviceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInputDeviceOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DescribeInputDeviceOutput) SetArn(v string) *DescribeInputDeviceOutput { + s.Arn = &v + return s +} + +// SetConnectionState sets the ConnectionState field's value. +func (s *DescribeInputDeviceOutput) SetConnectionState(v string) *DescribeInputDeviceOutput { + s.ConnectionState = &v + return s +} + +// SetDeviceSettingsSyncState sets the DeviceSettingsSyncState field's value. +func (s *DescribeInputDeviceOutput) SetDeviceSettingsSyncState(v string) *DescribeInputDeviceOutput { + s.DeviceSettingsSyncState = &v + return s +} + +// SetHdDeviceSettings sets the HdDeviceSettings field's value. +func (s *DescribeInputDeviceOutput) SetHdDeviceSettings(v *InputDeviceHdSettings) *DescribeInputDeviceOutput { + s.HdDeviceSettings = v + return s +} + +// SetId sets the Id field's value. +func (s *DescribeInputDeviceOutput) SetId(v string) *DescribeInputDeviceOutput { + s.Id = &v + return s +} + +// SetMacAddress sets the MacAddress field's value. +func (s *DescribeInputDeviceOutput) SetMacAddress(v string) *DescribeInputDeviceOutput { + s.MacAddress = &v + return s +} + +// SetName sets the Name field's value. +func (s *DescribeInputDeviceOutput) SetName(v string) *DescribeInputDeviceOutput { + s.Name = &v + return s +} + +// SetNetworkSettings sets the NetworkSettings field's value. +func (s *DescribeInputDeviceOutput) SetNetworkSettings(v *InputDeviceNetworkSettings) *DescribeInputDeviceOutput { + s.NetworkSettings = v + return s +} + +// SetSerialNumber sets the SerialNumber field's value. +func (s *DescribeInputDeviceOutput) SetSerialNumber(v string) *DescribeInputDeviceOutput { + s.SerialNumber = &v + return s +} + +// SetType sets the Type field's value. +func (s *DescribeInputDeviceOutput) SetType(v string) *DescribeInputDeviceOutput { + s.Type = &v + return s +} + +type DescribeInputDeviceThumbnailInput struct { + _ struct{} `type:"structure"` + + // Accept Header + // + // Accept is a required field + Accept *string `location:"header" locationName:"accept" type:"string" required:"true" enum:"AcceptHeader"` + + // InputDeviceId is a required field + InputDeviceId *string `location:"uri" locationName:"inputDeviceId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeInputDeviceThumbnailInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInputDeviceThumbnailInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInputDeviceThumbnailInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInputDeviceThumbnailInput"} + if s.Accept == nil { + invalidParams.Add(request.NewErrParamRequired("Accept")) + } + if s.InputDeviceId == nil { + invalidParams.Add(request.NewErrParamRequired("InputDeviceId")) + } + if s.InputDeviceId != nil && len(*s.InputDeviceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputDeviceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccept sets the Accept field's value. +func (s *DescribeInputDeviceThumbnailInput) SetAccept(v string) *DescribeInputDeviceThumbnailInput { + s.Accept = &v + return s +} + +// SetInputDeviceId sets the InputDeviceId field's value. +func (s *DescribeInputDeviceThumbnailInput) SetInputDeviceId(v string) *DescribeInputDeviceThumbnailInput { + s.InputDeviceId = &v + return s +} + +type DescribeInputDeviceThumbnailOutput struct { + _ struct{} `type:"structure" payload:"Body"` + + Body io.ReadCloser `locationName:"body" type:"blob"` + + ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"` + + ContentType *string `location:"header" locationName:"Content-Type" type:"string" enum:"ContentType"` + + ETag *string `location:"header" locationName:"ETag" type:"string"` + + LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"` +} + +// String returns the string representation +func (s DescribeInputDeviceThumbnailOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeInputDeviceThumbnailOutput) GoString() string { + return s.String() +} + +// SetBody sets the Body field's value. +func (s *DescribeInputDeviceThumbnailOutput) SetBody(v io.ReadCloser) *DescribeInputDeviceThumbnailOutput { + s.Body = v + return s +} + +// SetContentLength sets the ContentLength field's value. +func (s *DescribeInputDeviceThumbnailOutput) SetContentLength(v int64) *DescribeInputDeviceThumbnailOutput { + s.ContentLength = &v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *DescribeInputDeviceThumbnailOutput) SetContentType(v string) *DescribeInputDeviceThumbnailOutput { + s.ContentType = &v + return s +} + +// SetETag sets the ETag field's value. +func (s *DescribeInputDeviceThumbnailOutput) SetETag(v string) *DescribeInputDeviceThumbnailOutput { + s.ETag = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *DescribeInputDeviceThumbnailOutput) SetLastModified(v time.Time) *DescribeInputDeviceThumbnailOutput { + s.LastModified = &v + return s +} + type DescribeInputInput struct { _ struct{} `type:"structure"` @@ -8880,6 +9569,8 @@ type DescribeInputOutput struct { // A standard input has two sources and a single pipeline input only has one. InputClass *string `locationName:"inputClass" type:"string" enum:"InputClass"` + InputDevices []*InputDeviceSettings `locationName:"inputDevices" type:"list"` + // There are two types of input sources, static and dynamic. If an input source // is dynamic you canchange the source url of the input dynamically using an // input switch action. However, the only input typeto support a dynamic url @@ -8943,6 +9634,12 @@ func (s *DescribeInputOutput) SetInputClass(v string) *DescribeInputOutput { return s } +// SetInputDevices sets the InputDevices field's value. +func (s *DescribeInputOutput) SetInputDevices(v []*InputDeviceSettings) *DescribeInputOutput { + s.InputDevices = v + return s +} + // SetInputSourceType sets the InputSourceType field's value. func (s *DescribeInputOutput) SetInputSourceType(v string) *DescribeInputOutput { s.InputSourceType = &v @@ -10448,32 +11145,92 @@ func (s *Eac3Settings) SetSurroundMode(v string) *Eac3Settings { return s } -// Embedded Destination Settings -type EmbeddedDestinationSettings struct { +// Ebu Tt DDestination Settings +type EbuTtDDestinationSettings struct { _ struct{} `type:"structure"` + + // Specifies how to handle the gap between the lines (in multi-line captions).- + // enabled: Fill with the captions background color (as specified in the input + // captions).- disabled: Leave the gap unfilled. + FillLineGap *string `locationName:"fillLineGap" type:"string" enum:"EbuTtDFillLineGapControl"` + + // Specifies the font family to include in the font data attached to the EBU-TT + // captions. Valid only if styleControl is set to include. If you leave this + // field empty, the font family is set to "monospaced". (If styleControl is + // set to exclude, the font family is always set to "monospaced".)You specify + // only the font family. All other style information (color, bold, position + // and so on) is copied from the input captions. The size is always set to 100% + // to allow the downstream player to choose the size.- Enter a list of font + // families, as a comma-separated list of font names, in order of preference. + // The name can be a font family (such as “Arial”), or a generic font family + // (such as “serif”), or “default” (to let the downstream player choose + // the font).- Leave blank to set the family to “monospace”. + FontFamily *string `locationName:"fontFamily" type:"string"` + + // Specifies the style information (font color, font position, and so on) to + // include in the font data that is attached to the EBU-TT captions.- include: + // Take the style information (font color, font position, and so on) from the + // source captions and include that information in the font data attached to + // the EBU-TT captions. This option is valid only if the source captions are + // Embedded or Teletext.- exclude: In the font data attached to the EBU-TT captions, + // set the font family to "monospaced". Do not include any other style information. + StyleControl *string `locationName:"styleControl" type:"string" enum:"EbuTtDDestinationStyleControl"` } // String returns the string representation -func (s EmbeddedDestinationSettings) String() string { +func (s EbuTtDDestinationSettings) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EmbeddedDestinationSettings) GoString() string { +func (s EbuTtDDestinationSettings) GoString() string { return s.String() } -// Embedded Plus Scte20 Destination Settings -type EmbeddedPlusScte20DestinationSettings struct { - _ struct{} `type:"structure"` +// SetFillLineGap sets the FillLineGap field's value. +func (s *EbuTtDDestinationSettings) SetFillLineGap(v string) *EbuTtDDestinationSettings { + s.FillLineGap = &v + return s } -// String returns the string representation -func (s EmbeddedPlusScte20DestinationSettings) String() string { - return awsutil.Prettify(s) +// SetFontFamily sets the FontFamily field's value. +func (s *EbuTtDDestinationSettings) SetFontFamily(v string) *EbuTtDDestinationSettings { + s.FontFamily = &v + return s } -// GoString returns the string representation +// SetStyleControl sets the StyleControl field's value. +func (s *EbuTtDDestinationSettings) SetStyleControl(v string) *EbuTtDDestinationSettings { + s.StyleControl = &v + return s +} + +// Embedded Destination Settings +type EmbeddedDestinationSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s EmbeddedDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmbeddedDestinationSettings) GoString() string { + return s.String() +} + +// Embedded Plus Scte20 Destination Settings +type EmbeddedPlusScte20DestinationSettings struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s EmbeddedPlusScte20DestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation func (s EmbeddedPlusScte20DestinationSettings) GoString() string { return s.String() } @@ -10568,6 +11325,9 @@ type EncoderSettings struct { // Settings for caption decriptions CaptionDescriptions []*CaptionDescription `locationName:"captionDescriptions" type:"list"` + // Feature Activations + FeatureActivations *FeatureActivations `locationName:"featureActivations" type:"structure"` + // Configuration settings that apply to the event as a whole. GlobalConfiguration *GlobalConfiguration `locationName:"globalConfiguration" type:"structure"` @@ -10713,6 +11473,12 @@ func (s *EncoderSettings) SetCaptionDescriptions(v []*CaptionDescription) *Encod return s } +// SetFeatureActivations sets the FeatureActivations field's value. +func (s *EncoderSettings) SetFeatureActivations(v *FeatureActivations) *EncoderSettings { + s.FeatureActivations = v + return s +} + // SetGlobalConfiguration sets the GlobalConfiguration field's value. func (s *EncoderSettings) SetGlobalConfiguration(v *GlobalConfiguration) *EncoderSettings { s.GlobalConfiguration = v @@ -10743,6 +11509,33 @@ func (s *EncoderSettings) SetVideoDescriptions(v []*VideoDescription) *EncoderSe return s } +// Feature Activations +type FeatureActivations struct { + _ struct{} `type:"structure"` + + // Enables the Input Prepare feature. You can create Input Prepare actions in + // the schedule only if this feature is enabled.If you disable the feature on + // an existing schedule, make sure that you first delete all input prepare actions + // from the schedule. + InputPrepareScheduleActions *string `locationName:"inputPrepareScheduleActions" type:"string" enum:"FeatureActivationsInputPrepareScheduleActions"` +} + +// String returns the string representation +func (s FeatureActivations) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FeatureActivations) GoString() string { + return s.String() +} + +// SetInputPrepareScheduleActions sets the InputPrepareScheduleActions field's value. +func (s *FeatureActivations) SetInputPrepareScheduleActions(v string) *FeatureActivations { + s.InputPrepareScheduleActions = &v + return s +} + // Fec Output Settings type FecOutputSettings struct { _ struct{} `type:"structure"` @@ -11200,8 +11993,8 @@ type GlobalConfiguration struct { // Settings for system actions when input is lost. InputLossBehavior *InputLossBehavior `locationName:"inputLossBehavior" type:"structure"` - // Indicates how MediaLive pipelines are synchronized.PIPELINELOCKING - MediaLive - // will attempt to synchronize the output of each pipeline to the other.EPOCHLOCKING + // Indicates how MediaLive pipelines are synchronized.PIPELINE_LOCKING - MediaLive + // will attempt to synchronize the output of each pipeline to the other.EPOCH_LOCKING // - MediaLive will attempt to synchronize the output of each pipeline to the // Unix epoch. OutputLockingMode *string `locationName:"outputLockingMode" type:"string" enum:"GlobalConfigurationOutputLockingMode"` @@ -11383,7 +12176,7 @@ type H264Settings struct { // Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc. EntropyEncoding *string `locationName:"entropyEncoding" type:"string" enum:"H264EntropyEncoding"` - // Settings associated with the specified filter. + // Optional filters that you can apply to an encode. FilterSettings *H264FilterSettings `locationName:"filterSettings" type:"structure"` // Four bit AFD value to write on all frames of video in the output stream. @@ -11474,14 +12267,17 @@ type H264Settings struct { ParDenominator *int64 `locationName:"parDenominator" min:"1" type:"integer"` // Pixel Aspect Ratio numerator. - ParNumerator *int64 `locationName:"parNumerator" type:"integer"` + ParNumerator *int64 `locationName:"parNumerator" min:"1" type:"integer"` // H.264 Profile. Profile *string `locationName:"profile" type:"string" enum:"H264Profile"` - // If set to "ENHANCEDQUALITY," improves visual quality at an increased output - // cost. If this video is being delivered to a MediaLive Multiplex, "ENHANCEDQUALITY" - // is always used. + // Leave as STANDARD_QUALITY or choose a different value (which might result + // in additional costs to run the channel).- ENHANCED_QUALITY: Produces a slightly + // better video quality without an increase in the bitrate. Has an effect only + // when the Rate control mode is QVBR or CBR. If this channel is in a MediaLive + // multiplex, the value must be ENHANCED_QUALITY.- STANDARD_QUALITY: Valid for + // any Rate control mode. QualityLevel *string `locationName:"qualityLevel" type:"string" enum:"H264QualityLevel"` // Controls the target quality for the video encode. Applies only when the rate @@ -11574,6 +12370,9 @@ func (s *H264Settings) Validate() error { if s.ParDenominator != nil && *s.ParDenominator < 1 { invalidParams.Add(request.NewErrParamMinValue("ParDenominator", 1)) } + if s.ParNumerator != nil && *s.ParNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("ParNumerator", 1)) + } if s.QvbrQualityLevel != nil && *s.QvbrQualityLevel < 1 { invalidParams.Add(request.NewErrParamMinValue("QvbrQualityLevel", 1)) } @@ -11884,6 +12683,30 @@ func (s *H265ColorSpaceSettings) SetRec709Settings(v *Rec709Settings) *H265Color return s } +// H265 Filter Settings +type H265FilterSettings struct { + _ struct{} `type:"structure"` + + // Temporal Filter Settings + TemporalFilterSettings *TemporalFilterSettings `locationName:"temporalFilterSettings" type:"structure"` +} + +// String returns the string representation +func (s H265FilterSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s H265FilterSettings) GoString() string { + return s.String() +} + +// SetTemporalFilterSettings sets the TemporalFilterSettings field's value. +func (s *H265FilterSettings) SetTemporalFilterSettings(v *TemporalFilterSettings) *H265FilterSettings { + s.TemporalFilterSettings = v + return s +} + // H265 Settings type H265Settings struct { _ struct{} `type:"structure"` @@ -11917,6 +12740,9 @@ type H265Settings struct { // Color Space settings ColorSpaceSettings *H265ColorSpaceSettings `locationName:"colorSpaceSettings" type:"structure"` + // Optional filters that you can apply to an encode. + FilterSettings *H265FilterSettings `locationName:"filterSettings" type:"structure"` + // Four bit AFD value to write on all frames of video in the output stream. // Only valid when afdSignaling is set to 'Fixed'. FixedAfd *string `locationName:"fixedAfd" type:"string" enum:"FixedAfd"` @@ -11991,7 +12817,10 @@ type H265Settings struct { // when it is constrained by themaximum bitrate. Recommended if you or your // viewers pay for bandwidth.CBR: Quality varies, depending on the video complexity. // Recommended only if you distributeyour assets to devices that cannot handle - // variable bitrates. + // variable bitrates.Multiplex: This rate control mode is only supported (and + // is required) when the video is beingdelivered to a MediaLive Multiplex in + // which case the rate control configuration is controlledby the properties + // within the Multiplex Program. RateControlMode *string `locationName:"rateControlMode" type:"string" enum:"H265RateControlMode"` // Sets the scan type of the output to progressive or top-field-first interlaced. @@ -12111,6 +12940,12 @@ func (s *H265Settings) SetColorSpaceSettings(v *H265ColorSpaceSettings) *H265Set return s } +// SetFilterSettings sets the FilterSettings field's value. +func (s *H265Settings) SetFilterSettings(v *H265FilterSettings) *H265Settings { + s.FilterSettings = v + return s +} + // SetFixedAfd sets the FixedAfd field's value. func (s *H265Settings) SetFixedAfd(v string) *H265Settings { s.FixedAfd = &v @@ -12604,9 +13439,9 @@ type HlsGroupSettings struct { // converting it to a "VOD" type manifest on completion of the stream. Mode *string `locationName:"mode" type:"string" enum:"HlsMode"` - // MANIFESTSANDSEGMENTS: Generates manifests (master manifest, if applicable, - // and media manifests) for this output group.VARIANTMANIFESTSANDSEGMENTS: Generates - // media manifests for this output group, but not a master manifest.SEGMENTSONLY: + // MANIFESTS_AND_SEGMENTS: Generates manifests (master manifest, if applicable, + // and media manifests) for this output group.VARIANT_MANIFESTS_AND_SEGMENTS: + // Generates media manifests for this output group, but not a master manifest.SEGMENTS_ONLY: // Does not generate any manifests for this output group. OutputSelection *string `locationName:"outputSelection" type:"string" enum:"HlsOutputSelection"` @@ -12659,7 +13494,7 @@ type HlsGroupSettings struct { // Provides an extra millisecond delta offset to fine tune the timestamps. TimestampDeltaMilliseconds *int64 `locationName:"timestampDeltaMilliseconds" type:"integer"` - // SEGMENTEDFILES: Emit the program as segments - multiple .ts media files.SINGLEFILE: + // SEGMENTED_FILES: Emit the program as segments - multiple .ts media files.SINGLE_FILE: // Applies only if Mode field is VOD. Emit the program as a single .ts media // file. The media manifest includes #EXT-X-BYTERANGE tags to index segments // for playback. A typical use for this value is when sending the output to @@ -13405,6 +14240,9 @@ type Input struct { // value is not valid because the channel requires two sources in the input. InputClass *string `locationName:"inputClass" type:"string" enum:"InputClass"` + // Settings for the input devices. + InputDevices []*InputDeviceSettings `locationName:"inputDevices" type:"list"` + // Certain pull input sources can be dynamic, meaning that they can have their // URL's dynamically changesduring input switch actions. Presently, this functionality // only works with MP4_FILE inputs. @@ -13474,6 +14312,12 @@ func (s *Input) SetInputClass(v string) *Input { return s } +// SetInputDevices sets the InputDevices field's value. +func (s *Input) SetInputDevices(v []*InputDeviceSettings) *Input { + s.InputDevices = v + return s +} + // SetInputSourceType sets the InputSourceType field's value. func (s *Input) SetInputSourceType(v string) *Input { s.InputSourceType = &v @@ -13824,6 +14668,352 @@ func (s *InputDestinationVpc) SetNetworkInterfaceId(v string) *InputDestinationV return s } +// Configurable settings for the input device. +type InputDeviceConfigurableSettings struct { + _ struct{} `type:"structure"` + + // The input source that you want to use. If the device has a source connected + // to only one of its input ports, or if you don't care which source the device + // sends, specify Auto. If the device has sources connected to both its input + // ports, and you want to use a specific source, specify the source. + ConfiguredInput *string `locationName:"configuredInput" type:"string" enum:"InputDeviceConfiguredInput"` + + // The maximum bitrate in bits per second. Set a value here to throttle the + // bitrate of the source video. + MaxBitrate *int64 `locationName:"maxBitrate" type:"integer"` +} + +// String returns the string representation +func (s InputDeviceConfigurableSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputDeviceConfigurableSettings) GoString() string { + return s.String() +} + +// SetConfiguredInput sets the ConfiguredInput field's value. +func (s *InputDeviceConfigurableSettings) SetConfiguredInput(v string) *InputDeviceConfigurableSettings { + s.ConfiguredInput = &v + return s +} + +// SetMaxBitrate sets the MaxBitrate field's value. +func (s *InputDeviceConfigurableSettings) SetMaxBitrate(v int64) *InputDeviceConfigurableSettings { + s.MaxBitrate = &v + return s +} + +// Settings that describe the active source from the input device, and the video +// characteristics of that source. +type InputDeviceHdSettings struct { + _ struct{} `type:"structure"` + + // If you specified Auto as the configured input, specifies which of the sources + // is currently active (SDI or HDMI). + ActiveInput *string `locationName:"activeInput" type:"string" enum:"InputDeviceActiveInput"` + + // The source at the input device that is currently active. You can specify + // this source. + ConfiguredInput *string `locationName:"configuredInput" type:"string" enum:"InputDeviceConfiguredInput"` + + // The state of the input device. + DeviceState *string `locationName:"deviceState" type:"string" enum:"InputDeviceState"` + + // The frame rate of the video source. + Framerate *float64 `locationName:"framerate" type:"double"` + + // The height of the video source, in pixels. + Height *int64 `locationName:"height" type:"integer"` + + // The current maximum bitrate for ingesting this source, in bits per second. + // You can specify this maximum. + MaxBitrate *int64 `locationName:"maxBitrate" type:"integer"` + + // The scan type of the video source. + ScanType *string `locationName:"scanType" type:"string" enum:"InputDeviceScanType"` + + // The width of the video source, in pixels. + Width *int64 `locationName:"width" type:"integer"` +} + +// String returns the string representation +func (s InputDeviceHdSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputDeviceHdSettings) GoString() string { + return s.String() +} + +// SetActiveInput sets the ActiveInput field's value. +func (s *InputDeviceHdSettings) SetActiveInput(v string) *InputDeviceHdSettings { + s.ActiveInput = &v + return s +} + +// SetConfiguredInput sets the ConfiguredInput field's value. +func (s *InputDeviceHdSettings) SetConfiguredInput(v string) *InputDeviceHdSettings { + s.ConfiguredInput = &v + return s +} + +// SetDeviceState sets the DeviceState field's value. +func (s *InputDeviceHdSettings) SetDeviceState(v string) *InputDeviceHdSettings { + s.DeviceState = &v + return s +} + +// SetFramerate sets the Framerate field's value. +func (s *InputDeviceHdSettings) SetFramerate(v float64) *InputDeviceHdSettings { + s.Framerate = &v + return s +} + +// SetHeight sets the Height field's value. +func (s *InputDeviceHdSettings) SetHeight(v int64) *InputDeviceHdSettings { + s.Height = &v + return s +} + +// SetMaxBitrate sets the MaxBitrate field's value. +func (s *InputDeviceHdSettings) SetMaxBitrate(v int64) *InputDeviceHdSettings { + s.MaxBitrate = &v + return s +} + +// SetScanType sets the ScanType field's value. +func (s *InputDeviceHdSettings) SetScanType(v string) *InputDeviceHdSettings { + s.ScanType = &v + return s +} + +// SetWidth sets the Width field's value. +func (s *InputDeviceHdSettings) SetWidth(v int64) *InputDeviceHdSettings { + s.Width = &v + return s +} + +// The network settings for the input device. +type InputDeviceNetworkSettings struct { + _ struct{} `type:"structure"` + + // The DNS addresses of the input device. + DnsAddresses []*string `locationName:"dnsAddresses" type:"list"` + + // The network gateway IP address. + Gateway *string `locationName:"gateway" type:"string"` + + // The IP address of the input device. + IpAddress *string `locationName:"ipAddress" type:"string"` + + // Specifies whether the input device has been configured (outside of MediaLive) + // to use a dynamic IP address assignment (DHCP) or a static IP address. + IpScheme *string `locationName:"ipScheme" type:"string" enum:"InputDeviceIpScheme"` + + // The subnet mask of the input device. + SubnetMask *string `locationName:"subnetMask" type:"string"` +} + +// String returns the string representation +func (s InputDeviceNetworkSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputDeviceNetworkSettings) GoString() string { + return s.String() +} + +// SetDnsAddresses sets the DnsAddresses field's value. +func (s *InputDeviceNetworkSettings) SetDnsAddresses(v []*string) *InputDeviceNetworkSettings { + s.DnsAddresses = v + return s +} + +// SetGateway sets the Gateway field's value. +func (s *InputDeviceNetworkSettings) SetGateway(v string) *InputDeviceNetworkSettings { + s.Gateway = &v + return s +} + +// SetIpAddress sets the IpAddress field's value. +func (s *InputDeviceNetworkSettings) SetIpAddress(v string) *InputDeviceNetworkSettings { + s.IpAddress = &v + return s +} + +// SetIpScheme sets the IpScheme field's value. +func (s *InputDeviceNetworkSettings) SetIpScheme(v string) *InputDeviceNetworkSettings { + s.IpScheme = &v + return s +} + +// SetSubnetMask sets the SubnetMask field's value. +func (s *InputDeviceNetworkSettings) SetSubnetMask(v string) *InputDeviceNetworkSettings { + s.SubnetMask = &v + return s +} + +// Settings for an input device. +type InputDeviceRequest struct { + _ struct{} `type:"structure"` + + // The unique ID for the device. + Id *string `locationName:"id" type:"string"` +} + +// String returns the string representation +func (s InputDeviceRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputDeviceRequest) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *InputDeviceRequest) SetId(v string) *InputDeviceRequest { + s.Id = &v + return s +} + +// Settings for an input device. +type InputDeviceSettings struct { + _ struct{} `type:"structure"` + + // The unique ID for the device. + Id *string `locationName:"id" type:"string"` +} + +// String returns the string representation +func (s InputDeviceSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputDeviceSettings) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *InputDeviceSettings) SetId(v string) *InputDeviceSettings { + s.Id = &v + return s +} + +// Details of the input device. +type InputDeviceSummary struct { + _ struct{} `type:"structure"` + + // The unique ARN of the input device. + Arn *string `locationName:"arn" type:"string"` + + // The state of the connection between the input device and AWS. + ConnectionState *string `locationName:"connectionState" type:"string" enum:"InputDeviceConnectionState"` + + // The status of the action to synchronize the device configuration. If you + // change the configuration of the input device (for example, the maximum bitrate), + // MediaLive sends the new data to the device. The device might not update itself + // immediately. SYNCED means the device has updated its configuration. SYNCING + // means that it has not updated its configuration. + DeviceSettingsSyncState *string `locationName:"deviceSettingsSyncState" type:"string" enum:"DeviceSettingsSyncState"` + + // Settings that describe an input device that is type HD. + HdDeviceSettings *InputDeviceHdSettings `locationName:"hdDeviceSettings" type:"structure"` + + // The unique ID of the input device. + Id *string `locationName:"id" type:"string"` + + // The network MAC address of the input device. + MacAddress *string `locationName:"macAddress" type:"string"` + + // A name that you specify for the input device. + Name *string `locationName:"name" type:"string"` + + // Network settings for the input device. + NetworkSettings *InputDeviceNetworkSettings `locationName:"networkSettings" type:"structure"` + + // The unique serial number of the input device. + SerialNumber *string `locationName:"serialNumber" type:"string"` + + // The type of the input device. + Type *string `locationName:"type" type:"string" enum:"InputDeviceType"` +} + +// String returns the string representation +func (s InputDeviceSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputDeviceSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *InputDeviceSummary) SetArn(v string) *InputDeviceSummary { + s.Arn = &v + return s +} + +// SetConnectionState sets the ConnectionState field's value. +func (s *InputDeviceSummary) SetConnectionState(v string) *InputDeviceSummary { + s.ConnectionState = &v + return s +} + +// SetDeviceSettingsSyncState sets the DeviceSettingsSyncState field's value. +func (s *InputDeviceSummary) SetDeviceSettingsSyncState(v string) *InputDeviceSummary { + s.DeviceSettingsSyncState = &v + return s +} + +// SetHdDeviceSettings sets the HdDeviceSettings field's value. +func (s *InputDeviceSummary) SetHdDeviceSettings(v *InputDeviceHdSettings) *InputDeviceSummary { + s.HdDeviceSettings = v + return s +} + +// SetId sets the Id field's value. +func (s *InputDeviceSummary) SetId(v string) *InputDeviceSummary { + s.Id = &v + return s +} + +// SetMacAddress sets the MacAddress field's value. +func (s *InputDeviceSummary) SetMacAddress(v string) *InputDeviceSummary { + s.MacAddress = &v + return s +} + +// SetName sets the Name field's value. +func (s *InputDeviceSummary) SetName(v string) *InputDeviceSummary { + s.Name = &v + return s +} + +// SetNetworkSettings sets the NetworkSettings field's value. +func (s *InputDeviceSummary) SetNetworkSettings(v *InputDeviceNetworkSettings) *InputDeviceSummary { + s.NetworkSettings = v + return s +} + +// SetSerialNumber sets the SerialNumber field's value. +func (s *InputDeviceSummary) SetSerialNumber(v string) *InputDeviceSummary { + s.SerialNumber = &v + return s +} + +// SetType sets the Type field's value. +func (s *InputDeviceSummary) SetType(v string) *InputDeviceSummary { + s.Type = &v + return s +} + // Input Location type InputLocation struct { _ struct{} `type:"structure"` @@ -13972,6 +15162,69 @@ func (s *InputLossBehavior) SetRepeatFrameMsec(v int64) *InputLossBehavior { return s } +// Action to prepare an input for a future immediate input switch. +type InputPrepareScheduleActionSettings struct { + _ struct{} `type:"structure"` + + // The name of the input attachment that should be prepared by this action. + // If no name is provided, the action will stop the most recent prepare (if + // any) when activated. + InputAttachmentNameReference *string `locationName:"inputAttachmentNameReference" type:"string"` + + // Settings to let you create a clip of the file input, in order to set up the + // input to ingest only a portion of the file. + InputClippingSettings *InputClippingSettings `locationName:"inputClippingSettings" type:"structure"` + + // The value for the variable portion of the URL for the dynamic input, for + // this instance of the input. Each time you use the same dynamic input in an + // input switch action, you can provide a different value, in order to connect + // the input to a different content source. + UrlPath []*string `locationName:"urlPath" type:"list"` +} + +// String returns the string representation +func (s InputPrepareScheduleActionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputPrepareScheduleActionSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputPrepareScheduleActionSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputPrepareScheduleActionSettings"} + if s.InputClippingSettings != nil { + if err := s.InputClippingSettings.Validate(); err != nil { + invalidParams.AddNested("InputClippingSettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputAttachmentNameReference sets the InputAttachmentNameReference field's value. +func (s *InputPrepareScheduleActionSettings) SetInputAttachmentNameReference(v string) *InputPrepareScheduleActionSettings { + s.InputAttachmentNameReference = &v + return s +} + +// SetInputClippingSettings sets the InputClippingSettings field's value. +func (s *InputPrepareScheduleActionSettings) SetInputClippingSettings(v *InputClippingSettings) *InputPrepareScheduleActionSettings { + s.InputClippingSettings = v + return s +} + +// SetUrlPath sets the UrlPath field's value. +func (s *InputPrepareScheduleActionSettings) SetUrlPath(v []*string) *InputPrepareScheduleActionSettings { + s.UrlPath = v + return s +} + // An Input Security Group type InputSecurityGroup struct { _ struct{} `type:"structure"` @@ -14070,6 +15323,13 @@ type InputSettings struct { // Input settings. NetworkInputSettings *NetworkInputSettings `locationName:"networkInputSettings" type:"structure"` + // Specifies whether to extract applicable ancillary data from a SMPTE-2038 + // source in this input. Applicable data types are captions, timecode, AFD, + // and SCTE-104 messages.- PREFER: Extract from SMPTE-2038 if present in this + // input, otherwise extract from another source (if any).- IGNORE: Never extract + // any ancillary data from SMPTE-2038. + Smpte2038DataPreference *string `locationName:"smpte2038DataPreference" type:"string" enum:"Smpte2038DataPreference"` + // Loop input if it is a file. This allows a file input to be streamed indefinitely. SourceEndBehavior *string `locationName:"sourceEndBehavior" type:"string" enum:"InputSourceEndBehavior"` @@ -14163,6 +15423,12 @@ func (s *InputSettings) SetNetworkInputSettings(v *NetworkInputSettings) *InputS return s } +// SetSmpte2038DataPreference sets the Smpte2038DataPreference field's value. +func (s *InputSettings) SetSmpte2038DataPreference(v string) *InputSettings { + s.Smpte2038DataPreference = &v + return s +} + // SetSourceEndBehavior sets the SourceEndBehavior field's value. func (s *InputSettings) SetSourceEndBehavior(v string) *InputSettings { s.SourceEndBehavior = &v @@ -14529,42 +15795,115 @@ func (s *InternalServerErrorException) RequestID() string { type KeyProviderSettings struct { _ struct{} `type:"structure"` - // Static Key Settings - StaticKeySettings *StaticKeySettings `locationName:"staticKeySettings" type:"structure"` + // Static Key Settings + StaticKeySettings *StaticKeySettings `locationName:"staticKeySettings" type:"structure"` +} + +// String returns the string representation +func (s KeyProviderSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KeyProviderSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KeyProviderSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KeyProviderSettings"} + if s.StaticKeySettings != nil { + if err := s.StaticKeySettings.Validate(); err != nil { + invalidParams.AddNested("StaticKeySettings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStaticKeySettings sets the StaticKeySettings field's value. +func (s *KeyProviderSettings) SetStaticKeySettings(v *StaticKeySettings) *KeyProviderSettings { + s.StaticKeySettings = v + return s +} + +type ListChannelsInput struct { + _ struct{} `type:"structure"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListChannelsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListChannelsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListChannelsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput { + s.NextToken = &v + return s +} + +type ListChannelsOutput struct { + _ struct{} `type:"structure"` + + Channels []*ChannelSummary `locationName:"channels" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s KeyProviderSettings) String() string { +func (s ListChannelsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s KeyProviderSettings) GoString() string { +func (s ListChannelsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *KeyProviderSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "KeyProviderSettings"} - if s.StaticKeySettings != nil { - if err := s.StaticKeySettings.Validate(); err != nil { - invalidParams.AddNested("StaticKeySettings", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetChannels sets the Channels field's value. +func (s *ListChannelsOutput) SetChannels(v []*ChannelSummary) *ListChannelsOutput { + s.Channels = v + return s } -// SetStaticKeySettings sets the StaticKeySettings field's value. -func (s *KeyProviderSettings) SetStaticKeySettings(v *StaticKeySettings) *KeyProviderSettings { - s.StaticKeySettings = v +// SetNextToken sets the NextToken field's value. +func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput { + s.NextToken = &v return s } -type ListChannelsInput struct { +type ListInputDevicesInput struct { _ struct{} `type:"structure"` MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` @@ -14573,18 +15912,18 @@ type ListChannelsInput struct { } // String returns the string representation -func (s ListChannelsInput) String() string { +func (s ListInputDevicesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListChannelsInput) GoString() string { +func (s ListInputDevicesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListChannelsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"} +func (s *ListInputDevicesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInputDevicesInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -14596,43 +15935,43 @@ func (s *ListChannelsInput) Validate() error { } // SetMaxResults sets the MaxResults field's value. -func (s *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput { +func (s *ListInputDevicesInput) SetMaxResults(v int64) *ListInputDevicesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput { +func (s *ListInputDevicesInput) SetNextToken(v string) *ListInputDevicesInput { s.NextToken = &v return s } -type ListChannelsOutput struct { +type ListInputDevicesOutput struct { _ struct{} `type:"structure"` - Channels []*ChannelSummary `locationName:"channels" type:"list"` + InputDevices []*InputDeviceSummary `locationName:"inputDevices" type:"list"` NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation -func (s ListChannelsOutput) String() string { +func (s ListInputDevicesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListChannelsOutput) GoString() string { +func (s ListInputDevicesOutput) GoString() string { return s.String() } -// SetChannels sets the Channels field's value. -func (s *ListChannelsOutput) SetChannels(v []*ChannelSummary) *ListChannelsOutput { - s.Channels = v +// SetInputDevices sets the InputDevices field's value. +func (s *ListInputDevicesOutput) SetInputDevices(v []*InputDeviceSummary) *ListInputDevicesOutput { + s.InputDevices = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput { +func (s *ListInputDevicesOutput) SetNextToken(v string) *ListInputDevicesOutput { s.NextToken = &v return s } @@ -15505,7 +16844,7 @@ type M2tsSettings struct { SegmentationStyle *string `locationName:"segmentationStyle" type:"string" enum:"M2tsSegmentationStyle"` // The length in seconds of each segment. Required unless markers is set to - // None_. + // _none_. SegmentationTime *float64 `locationName:"segmentationTime" type:"double"` // When set to passthrough, timed metadata will be passed through from input @@ -16218,8 +17557,8 @@ func (s *Mp2Settings) SetSampleRate(v float64) *Mp2Settings { type MsSmoothGroupSettings struct { _ struct{} `type:"structure"` - // The value of the "Acquisition Point Identity" element used in each message - // placed in the sparse track. Only enabled if sparseTrackType is not "none". + // The ID to include in each message in the sparse track. Ignored if sparseTrackType + // is NONE. AcquisitionPointId *string `locationName:"acquisitionPointId" type:"string"` // If set to passthrough for an audio-only MS Smooth output, the fragment absolute @@ -16282,10 +17621,12 @@ type MsSmoothGroupSettings struct { // Number of milliseconds to delay the output from the second pipeline. SendDelayMs *int64 `locationName:"sendDelayMs" type:"integer"` - // If set to scte35, use incoming SCTE-35 messages to generate a sparse track - // in this group of MS-Smooth outputs. scte35WithoutSegmentation is the same - // as scte35, except EML will not start a new segment at a SCTE-35 marker. It - // will still encode an IDR frame at a SCTE-35 marker. + // Identifies the type of data to place in the sparse track:- SCTE35: Insert + // SCTE-35 messages from the source content. With each message, insert an IDR + // frame to start a new segment.- SCTE35_WITHOUT_SEGMENTATION: Insert SCTE-35 + // messages from the source content. With each message, insert an IDR frame + // but don't start a new segment.- NONE: Don't generate a sparse track for any + // outputs in this output group. SparseTrackType *string `locationName:"sparseTrackType" type:"string" enum:"SmoothGroupSparseTrackType"` // When set to send, send stream manifest so publishing point doesn't start @@ -19062,6 +20403,9 @@ type ScheduleActionSettings struct { // Action to insert HLS metadata HlsTimedMetadataSettings *HlsTimedMetadataScheduleActionSettings `locationName:"hlsTimedMetadataSettings" type:"structure"` + // Action to prepare an input for a future immediate input switch + InputPrepareSettings *InputPrepareScheduleActionSettings `locationName:"inputPrepareSettings" type:"structure"` + // Action to switch the input InputSwitchSettings *InputSwitchScheduleActionSettings `locationName:"inputSwitchSettings" type:"structure"` @@ -19107,6 +20451,11 @@ func (s *ScheduleActionSettings) Validate() error { invalidParams.AddNested("HlsTimedMetadataSettings", err.(request.ErrInvalidParams)) } } + if s.InputPrepareSettings != nil { + if err := s.InputPrepareSettings.Validate(); err != nil { + invalidParams.AddNested("InputPrepareSettings", err.(request.ErrInvalidParams)) + } + } if s.InputSwitchSettings != nil { if err := s.InputSwitchSettings.Validate(); err != nil { invalidParams.AddNested("InputSwitchSettings", err.(request.ErrInvalidParams)) @@ -19156,6 +20505,12 @@ func (s *ScheduleActionSettings) SetHlsTimedMetadataSettings(v *HlsTimedMetadata return s } +// SetInputPrepareSettings sets the InputPrepareSettings field's value. +func (s *ScheduleActionSettings) SetInputPrepareSettings(v *InputPrepareScheduleActionSettings) *ScheduleActionSettings { + s.InputPrepareSettings = v + return s +} + // SetInputSwitchSettings sets the InputSwitchSettings field's value. func (s *ScheduleActionSettings) SetInputSwitchSettings(v *InputSwitchScheduleActionSettings) *ScheduleActionSettings { s.InputSwitchSettings = v @@ -21008,12 +22363,14 @@ func (s *TeletextSourceSettings) SetPageNumber(v string) *TeletextSourceSettings type TemporalFilterSettings struct { _ struct{} `type:"structure"` - // If set to "ENABLED," applies post-filter sharpening to improve visual quality. - // This is most beneficial when using a noisy or compressed input source and - // low output bitrates. + // If you enable this filter, the results are the following:- If the source + // content is noisy (it contains excessive digital artifacts), the filter cleans + // up the source.- If the source content is already clean, the filter tends + // to decrease the bitrate, especially when the rate control mode is QVBR. PostFilterSharpening *string `locationName:"postFilterSharpening" type:"string" enum:"TemporalFilterPostFilterSharpening"` - // Filter strength. A higher value produces stronger filtering. + // Choose a filter strength. We recommend a strength of 1 or 2. A higher strength + // might take out good information, resulting in an image that is overly soft. Strength *string `locationName:"strength" type:"string" enum:"TemporalFilterStrength"` } @@ -21646,11 +23003,174 @@ func (s *UpdateChannelOutput) SetChannel(v *Channel) *UpdateChannelOutput { return s } +type UpdateInputDeviceInput struct { + _ struct{} `type:"structure"` + + // Configurable settings for the input device. + HdDeviceSettings *InputDeviceConfigurableSettings `locationName:"hdDeviceSettings" type:"structure"` + + // InputDeviceId is a required field + InputDeviceId *string `location:"uri" locationName:"inputDeviceId" type:"string" required:"true"` + + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation +func (s UpdateInputDeviceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateInputDeviceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateInputDeviceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateInputDeviceInput"} + if s.InputDeviceId == nil { + invalidParams.Add(request.NewErrParamRequired("InputDeviceId")) + } + if s.InputDeviceId != nil && len(*s.InputDeviceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputDeviceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHdDeviceSettings sets the HdDeviceSettings field's value. +func (s *UpdateInputDeviceInput) SetHdDeviceSettings(v *InputDeviceConfigurableSettings) *UpdateInputDeviceInput { + s.HdDeviceSettings = v + return s +} + +// SetInputDeviceId sets the InputDeviceId field's value. +func (s *UpdateInputDeviceInput) SetInputDeviceId(v string) *UpdateInputDeviceInput { + s.InputDeviceId = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateInputDeviceInput) SetName(v string) *UpdateInputDeviceInput { + s.Name = &v + return s +} + +type UpdateInputDeviceOutput struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + // The state of the connection between the input device and AWS. + ConnectionState *string `locationName:"connectionState" type:"string" enum:"InputDeviceConnectionState"` + + // The status of the action to synchronize the device configuration. If you + // change the configuration of the input device (for example, the maximum bitrate), + // MediaLive sends the new data to the device. The device might not update itself + // immediately. SYNCED means the device has updated its configuration. SYNCING + // means that it has not updated its configuration. + DeviceSettingsSyncState *string `locationName:"deviceSettingsSyncState" type:"string" enum:"DeviceSettingsSyncState"` + + // Settings that describe the active source from the input device, and the video + // characteristics of that source. + HdDeviceSettings *InputDeviceHdSettings `locationName:"hdDeviceSettings" type:"structure"` + + Id *string `locationName:"id" type:"string"` + + MacAddress *string `locationName:"macAddress" type:"string"` + + Name *string `locationName:"name" type:"string"` + + // The network settings for the input device. + NetworkSettings *InputDeviceNetworkSettings `locationName:"networkSettings" type:"structure"` + + SerialNumber *string `locationName:"serialNumber" type:"string"` + + // The type of the input device. For an AWS Elemental Link device that outputs + // resolutions up to 1080, choose "HD". + Type *string `locationName:"type" type:"string" enum:"InputDeviceType"` +} + +// String returns the string representation +func (s UpdateInputDeviceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateInputDeviceOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *UpdateInputDeviceOutput) SetArn(v string) *UpdateInputDeviceOutput { + s.Arn = &v + return s +} + +// SetConnectionState sets the ConnectionState field's value. +func (s *UpdateInputDeviceOutput) SetConnectionState(v string) *UpdateInputDeviceOutput { + s.ConnectionState = &v + return s +} + +// SetDeviceSettingsSyncState sets the DeviceSettingsSyncState field's value. +func (s *UpdateInputDeviceOutput) SetDeviceSettingsSyncState(v string) *UpdateInputDeviceOutput { + s.DeviceSettingsSyncState = &v + return s +} + +// SetHdDeviceSettings sets the HdDeviceSettings field's value. +func (s *UpdateInputDeviceOutput) SetHdDeviceSettings(v *InputDeviceHdSettings) *UpdateInputDeviceOutput { + s.HdDeviceSettings = v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateInputDeviceOutput) SetId(v string) *UpdateInputDeviceOutput { + s.Id = &v + return s +} + +// SetMacAddress sets the MacAddress field's value. +func (s *UpdateInputDeviceOutput) SetMacAddress(v string) *UpdateInputDeviceOutput { + s.MacAddress = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateInputDeviceOutput) SetName(v string) *UpdateInputDeviceOutput { + s.Name = &v + return s +} + +// SetNetworkSettings sets the NetworkSettings field's value. +func (s *UpdateInputDeviceOutput) SetNetworkSettings(v *InputDeviceNetworkSettings) *UpdateInputDeviceOutput { + s.NetworkSettings = v + return s +} + +// SetSerialNumber sets the SerialNumber field's value. +func (s *UpdateInputDeviceOutput) SetSerialNumber(v string) *UpdateInputDeviceOutput { + s.SerialNumber = &v + return s +} + +// SetType sets the Type field's value. +func (s *UpdateInputDeviceOutput) SetType(v string) *UpdateInputDeviceOutput { + s.Type = &v + return s +} + type UpdateInputInput struct { _ struct{} `type:"structure"` Destinations []*InputDestinationRequest `locationName:"destinations" type:"list"` + InputDevices []*InputDeviceRequest `locationName:"inputDevices" type:"list"` + // InputId is a required field InputId *string `location:"uri" locationName:"inputId" type:"string" required:"true"` @@ -21697,6 +23217,12 @@ func (s *UpdateInputInput) SetDestinations(v []*InputDestinationRequest) *Update return s } +// SetInputDevices sets the InputDevices field's value. +func (s *UpdateInputInput) SetInputDevices(v []*InputDeviceRequest) *UpdateInputInput { + s.InputDevices = v + return s +} + // SetInputId sets the InputId field's value. func (s *UpdateInputInput) SetInputId(v string) *UpdateInputInput { s.InputId = &v @@ -22081,8 +23607,10 @@ func (s *UpdateReservationOutput) SetReservation(v *Reservation) *UpdateReservat type ValidationError struct { _ struct{} `type:"structure"` + // Path to the source of the error. ElementPath *string `locationName:"elementPath" type:"string"` + // The error message. ErrorMessage *string `locationName:"errorMessage" type:"string"` } @@ -22197,15 +23725,15 @@ type VideoDescription struct { // Indicates how to respond to the AFD values in the input stream. RESPOND causes // input video to be clipped, depending on the AFD value, input display aspect - // ratio, and output display aspect ratio, and (except for FRAMECAPTURE codec) - // includes the values in the output. PASSTHROUGH (does not apply to FRAMECAPTURE + // ratio, and output display aspect ratio, and (except for FRAME_CAPTURE codec) + // includes the values in the output. PASSTHROUGH (does not apply to FRAME_CAPTURE // codec) ignores the AFD values and includes the values in the output, so input // video is not clipped. NONE ignores the AFD values and does not include the // values through to the output, so input video is not clipped. RespondToAfd *string `locationName:"respondToAfd" type:"string" enum:"VideoDescriptionRespondToAfd"` - // STRETCHTOOUTPUT configures the output position to stretch the video to the - // specified output resolution (height and width). This option will override + // STRETCH_TO_OUTPUT configures the output position to stretch the video to + // the specified output resolution (height and width). This option will override // any position value. DEFAULT may insert black boxes (pillar boxes or letter // boxes) around the video to provide the specified output resolution. ScalingBehavior *string `locationName:"scalingBehavior" type:"string" enum:"VideoDescriptionScalingBehavior"` @@ -22592,6 +24120,12 @@ const ( Ac3MetadataControlUseConfigured = "USE_CONFIGURED" ) +// Accept Header +const ( + // AcceptHeaderImageJpeg is a AcceptHeader enum value + AcceptHeaderImageJpeg = "image/jpeg" +) + // Afd Signaling const ( // AfdSignalingAuto is a AfdSignaling enum value @@ -22853,6 +24387,24 @@ const ( ChannelStateUpdateFailed = "UPDATE_FAILED" ) +const ( + // ContentTypeImageJpeg is a ContentType enum value + ContentTypeImageJpeg = "image/jpeg" +) + +// The status of the action to synchronize the device configuration. If you +// change the configuration of the input device (for example, the maximum bitrate), +// MediaLive sends the new data to the device. The device might not update itself +// immediately. SYNCED means the device has updated its configuration. SYNCING +// means that it has not updated its configuration. +const ( + // DeviceSettingsSyncStateSynced is a DeviceSettingsSyncState enum value + DeviceSettingsSyncStateSynced = "SYNCED" + + // DeviceSettingsSyncStateSyncing is a DeviceSettingsSyncState enum value + DeviceSettingsSyncStateSyncing = "SYNCING" +) + // Dvb Sdt Output Sdt const ( // DvbSdtOutputSdtSdtFollow is a DvbSdtOutputSdt enum value @@ -23129,6 +24681,24 @@ const ( Eac3SurroundModeNotIndicated = "NOT_INDICATED" ) +// Ebu Tt DDestination Style Control +const ( + // EbuTtDDestinationStyleControlExclude is a EbuTtDDestinationStyleControl enum value + EbuTtDDestinationStyleControlExclude = "EXCLUDE" + + // EbuTtDDestinationStyleControlInclude is a EbuTtDDestinationStyleControl enum value + EbuTtDDestinationStyleControlInclude = "INCLUDE" +) + +// Ebu Tt DFill Line Gap Control +const ( + // EbuTtDFillLineGapControlDisabled is a EbuTtDFillLineGapControl enum value + EbuTtDFillLineGapControlDisabled = "DISABLED" + + // EbuTtDFillLineGapControlEnabled is a EbuTtDFillLineGapControl enum value + EbuTtDFillLineGapControlEnabled = "ENABLED" +) + // Embedded Convert608 To708 const ( // EmbeddedConvert608To708Disabled is a EmbeddedConvert608To708 enum value @@ -23147,6 +24717,15 @@ const ( EmbeddedScte20DetectionOff = "OFF" ) +// Feature Activations Input Prepare Schedule Actions +const ( + // FeatureActivationsInputPrepareScheduleActionsDisabled is a FeatureActivationsInputPrepareScheduleActions enum value + FeatureActivationsInputPrepareScheduleActionsDisabled = "DISABLED" + + // FeatureActivationsInputPrepareScheduleActionsEnabled is a FeatureActivationsInputPrepareScheduleActions enum value + FeatureActivationsInputPrepareScheduleActionsEnabled = "ENABLED" +) + // Fec Output Include Fec const ( // FecOutputIncludeFecColumn is a FecOutputIncludeFec enum value @@ -23668,6 +25247,9 @@ const ( // H265 Scan Type const ( + // H265ScanTypeInterlaced is a H265ScanType enum value + H265ScanTypeInterlaced = "INTERLACED" + // H265ScanTypeProgressive is a H265ScanType enum value H265ScanTypeProgressive = "PROGRESSIVE" ) @@ -23844,6 +25426,9 @@ const ( // HlsOutputSelectionSegmentsOnly is a HlsOutputSelection enum value HlsOutputSelectionSegmentsOnly = "SEGMENTS_ONLY" + + // HlsOutputSelectionVariantManifestsAndSegments is a HlsOutputSelection enum value + HlsOutputSelectionVariantManifestsAndSegments = "VARIANT_MANIFESTS_AND_SEGMENTS" ) // Hls Program Date Time @@ -23962,6 +25547,71 @@ const ( InputDenoiseFilterEnabled = "ENABLED" ) +// The source at the input device that is currently active. +const ( + // InputDeviceActiveInputHdmi is a InputDeviceActiveInput enum value + InputDeviceActiveInputHdmi = "HDMI" + + // InputDeviceActiveInputSdi is a InputDeviceActiveInput enum value + InputDeviceActiveInputSdi = "SDI" +) + +// The source to activate (use) from the input device. +const ( + // InputDeviceConfiguredInputAuto is a InputDeviceConfiguredInput enum value + InputDeviceConfiguredInputAuto = "AUTO" + + // InputDeviceConfiguredInputHdmi is a InputDeviceConfiguredInput enum value + InputDeviceConfiguredInputHdmi = "HDMI" + + // InputDeviceConfiguredInputSdi is a InputDeviceConfiguredInput enum value + InputDeviceConfiguredInputSdi = "SDI" +) + +// The state of the connection between the input device and AWS. +const ( + // InputDeviceConnectionStateDisconnected is a InputDeviceConnectionState enum value + InputDeviceConnectionStateDisconnected = "DISCONNECTED" + + // InputDeviceConnectionStateConnected is a InputDeviceConnectionState enum value + InputDeviceConnectionStateConnected = "CONNECTED" +) + +// Specifies whether the input device has been configured (outside of MediaLive) +// to use a dynamic IP address assignment (DHCP) or a static IP address. +const ( + // InputDeviceIpSchemeStatic is a InputDeviceIpScheme enum value + InputDeviceIpSchemeStatic = "STATIC" + + // InputDeviceIpSchemeDhcp is a InputDeviceIpScheme enum value + InputDeviceIpSchemeDhcp = "DHCP" +) + +// The scan type of the video source. +const ( + // InputDeviceScanTypeInterlaced is a InputDeviceScanType enum value + InputDeviceScanTypeInterlaced = "INTERLACED" + + // InputDeviceScanTypeProgressive is a InputDeviceScanType enum value + InputDeviceScanTypeProgressive = "PROGRESSIVE" +) + +// The state of the input device. +const ( + // InputDeviceStateIdle is a InputDeviceState enum value + InputDeviceStateIdle = "IDLE" + + // InputDeviceStateStreaming is a InputDeviceState enum value + InputDeviceStateStreaming = "STREAMING" +) + +// The type of the input device. For an AWS Elemental Link device that outputs +// resolutions up to 1080, choose "HD". +const ( + // InputDeviceTypeHd is a InputDeviceType enum value + InputDeviceTypeHd = "HD" +) + // Input Filter const ( // InputFilterAuto is a InputFilter enum value @@ -24148,6 +25798,9 @@ const ( // InputTypeMediaconnect is a InputType enum value InputTypeMediaconnect = "MEDIACONNECT" + + // InputTypeInputDevice is a InputType enum value + InputTypeInputDevice = "INPUT_DEVICE" ) // If you specify a StopTimecode in an input (in order to clip the file), you @@ -24821,6 +26474,15 @@ const ( SmoothGroupTimestampOffsetModeUseEventStartDate = "USE_EVENT_START_DATE" ) +// Smpte2038 Data Preference +const ( + // Smpte2038DataPreferenceIgnore is a Smpte2038DataPreference enum value + Smpte2038DataPreferenceIgnore = "IGNORE" + + // Smpte2038DataPreferencePrefer is a Smpte2038DataPreference enum value + Smpte2038DataPreferencePrefer = "PREFER" +) + // Temporal Filter Post Filter Sharpening const ( // TemporalFilterPostFilterSharpeningAuto is a TemporalFilterPostFilterSharpening enum value @@ -24841,27 +26503,6 @@ const ( // TemporalFilterStrengthStrength1 is a TemporalFilterStrength enum value TemporalFilterStrengthStrength1 = "STRENGTH_1" - // TemporalFilterStrengthStrength10 is a TemporalFilterStrength enum value - TemporalFilterStrengthStrength10 = "STRENGTH_10" - - // TemporalFilterStrengthStrength11 is a TemporalFilterStrength enum value - TemporalFilterStrengthStrength11 = "STRENGTH_11" - - // TemporalFilterStrengthStrength12 is a TemporalFilterStrength enum value - TemporalFilterStrengthStrength12 = "STRENGTH_12" - - // TemporalFilterStrengthStrength13 is a TemporalFilterStrength enum value - TemporalFilterStrengthStrength13 = "STRENGTH_13" - - // TemporalFilterStrengthStrength14 is a TemporalFilterStrength enum value - TemporalFilterStrengthStrength14 = "STRENGTH_14" - - // TemporalFilterStrengthStrength15 is a TemporalFilterStrength enum value - TemporalFilterStrengthStrength15 = "STRENGTH_15" - - // TemporalFilterStrengthStrength16 is a TemporalFilterStrength enum value - TemporalFilterStrengthStrength16 = "STRENGTH_16" - // TemporalFilterStrengthStrength2 is a TemporalFilterStrength enum value TemporalFilterStrengthStrength2 = "STRENGTH_2" @@ -24885,6 +26526,27 @@ const ( // TemporalFilterStrengthStrength9 is a TemporalFilterStrength enum value TemporalFilterStrengthStrength9 = "STRENGTH_9" + + // TemporalFilterStrengthStrength10 is a TemporalFilterStrength enum value + TemporalFilterStrengthStrength10 = "STRENGTH_10" + + // TemporalFilterStrengthStrength11 is a TemporalFilterStrength enum value + TemporalFilterStrengthStrength11 = "STRENGTH_11" + + // TemporalFilterStrengthStrength12 is a TemporalFilterStrength enum value + TemporalFilterStrengthStrength12 = "STRENGTH_12" + + // TemporalFilterStrengthStrength13 is a TemporalFilterStrength enum value + TemporalFilterStrengthStrength13 = "STRENGTH_13" + + // TemporalFilterStrengthStrength14 is a TemporalFilterStrength enum value + TemporalFilterStrengthStrength14 = "STRENGTH_14" + + // TemporalFilterStrengthStrength15 is a TemporalFilterStrength enum value + TemporalFilterStrengthStrength15 = "STRENGTH_15" + + // TemporalFilterStrengthStrength16 is a TemporalFilterStrength enum value + TemporalFilterStrengthStrength16 = "STRENGTH_16" ) // Timecode Config Source diff --git a/vendor/github.com/aws/aws-sdk-go/service/medialive/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/medialive/waiters.go index 0ad1f21b249..88b51e2ab9e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/medialive/waiters.go +++ b/vendor/github.com/aws/aws-sdk-go/service/medialive/waiters.go @@ -238,6 +238,179 @@ func (c *MediaLive) WaitUntilChannelStoppedWithContext(ctx aws.Context, input *D return w.WaitWithContext(ctx) } +// WaitUntilInputAttached uses the MediaLive API operation +// DescribeInput 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 *MediaLive) WaitUntilInputAttached(input *DescribeInputInput) error { + return c.WaitUntilInputAttachedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilInputAttachedWithContext is an extended version of WaitUntilInputAttached. +// 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 *MediaLive) WaitUntilInputAttachedWithContext(ctx aws.Context, input *DescribeInputInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilInputAttached", + MaxAttempts: 20, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "ATTACHED", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "DETACHED", + }, + { + State: request.RetryWaiterState, + Matcher: request.StatusWaiterMatch, + Expected: 500, + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeInputInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInputRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilInputDeleted uses the MediaLive API operation +// DescribeInput 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 *MediaLive) WaitUntilInputDeleted(input *DescribeInputInput) error { + return c.WaitUntilInputDeletedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilInputDeletedWithContext is an extended version of WaitUntilInputDeleted. +// 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 *MediaLive) WaitUntilInputDeletedWithContext(ctx aws.Context, input *DescribeInputInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilInputDeleted", + MaxAttempts: 20, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "DELETED", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "DELETING", + }, + { + State: request.RetryWaiterState, + Matcher: request.StatusWaiterMatch, + Expected: 500, + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeInputInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInputRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + +// WaitUntilInputDetached uses the MediaLive API operation +// DescribeInput 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 *MediaLive) WaitUntilInputDetached(input *DescribeInputInput) error { + return c.WaitUntilInputDetachedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilInputDetachedWithContext is an extended version of WaitUntilInputDetached. +// 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 *MediaLive) WaitUntilInputDetachedWithContext(ctx aws.Context, input *DescribeInputInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilInputDetached", + MaxAttempts: 84, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "DETACHED", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "CREATING", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "State", + Expected: "ATTACHED", + }, + { + State: request.RetryWaiterState, + Matcher: request.StatusWaiterMatch, + Expected: 500, + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *DescribeInputInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInputRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + w.ApplyOptions(opts...) + + return w.WaitWithContext(ctx) +} + // WaitUntilMultiplexCreated uses the MediaLive API operation // DescribeMultiplex to wait for a condition to be met before returning. // If the condition is not met within the max attempt window, an error will diff --git a/vendor/github.com/aws/aws-sdk-go/service/mediapackage/api.go b/vendor/github.com/aws/aws-sdk-go/service/mediapackage/api.go index 23f6d0237c8..ed1dba2ef82 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mediapackage/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mediapackage/api.go @@ -3681,7 +3681,10 @@ type HlsManifest struct { // will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the // manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly // from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates - // ad markers and blackout tags based on SCTE-35messages in the input source. + // ad markers and blackout tags based on SCTE-35messages in the input source."DATERANGE" + // inserts EXT-X-DATERANGE tags to signal ad and program transition events in + // HLS and CMAF manifests. For this option, you must set a programDateTimeIntervalSeconds + // value that is greater than 0. AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"` // The ID of the manifest. The ID must be unique within the OriginEndpoint and @@ -3785,7 +3788,10 @@ type HlsManifestCreateOrUpdateParameters struct { // will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the // manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly // from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates - // ad markers and blackout tags based on SCTE-35messages in the input source. + // ad markers and blackout tags based on SCTE-35messages in the input source."DATERANGE" + // inserts EXT-X-DATERANGE tags to signal ad and program transition events in + // HLS and CMAF manifests. For this option, you must set a programDateTimeIntervalSeconds + // value that is greater than 0. AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"` // A list of SCTE-35 message types that are treated as ad markers in the output. @@ -3922,7 +3928,10 @@ type HlsPackage struct { // will omit all SCTE-35 ad markers from the output."PASSTHROUGH" causes the // manifest to contain a copy of the SCTE-35 admarkers (comments) taken directly // from the input HTTP Live Streaming (HLS) manifest."SCTE35_ENHANCED" generates - // ad markers and blackout tags based on SCTE-35messages in the input source. + // ad markers and blackout tags based on SCTE-35messages in the input source."DATERANGE" + // inserts EXT-X-DATERANGE tags to signal ad and program transition events in + // HLS and CMAF manifests. For this option, you must set a programDateTimeIntervalSeconds + // value that is greater than 0. AdMarkers *string `locationName:"adMarkers" type:"string" enum:"AdMarkers"` // A list of SCTE-35 message types that are treated as ad markers in the output. @@ -5933,6 +5942,9 @@ const ( // AdMarkersPassthrough is a AdMarkers enum value AdMarkersPassthrough = "PASSTHROUGH" + + // AdMarkersDaterange is a AdMarkers enum value + AdMarkersDaterange = "DATERANGE" ) // This setting allows the delivery restriction flags on SCTE-35 segmentation diff --git a/vendor/github.com/aws/aws-sdk-go/service/mq/api.go b/vendor/github.com/aws/aws-sdk-go/service/mq/api.go index 21df17b378d..62205ac5cca 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/mq/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/mq/api.go @@ -1193,6 +1193,12 @@ func (c *MQ) ListBrokersRequest(input *ListBrokersInput) (req *request.Request, Name: opListBrokers, HTTPMethod: "GET", HTTPPath: "/v1/brokers", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -1247,6 +1253,58 @@ func (c *MQ) ListBrokersWithContext(ctx aws.Context, input *ListBrokersInput, op return out, req.Send() } +// ListBrokersPages iterates over the pages of a ListBrokers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBrokers 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 ListBrokers operation. +// pageNum := 0 +// err := client.ListBrokersPages(params, +// func(page *mq.ListBrokersResponse, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *MQ) ListBrokersPages(input *ListBrokersInput, fn func(*ListBrokersResponse, bool) bool) error { + return c.ListBrokersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBrokersPagesWithContext same as ListBrokersPages 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 *MQ) ListBrokersPagesWithContext(ctx aws.Context, input *ListBrokersInput, fn func(*ListBrokersResponse, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBrokersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBrokersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListBrokersResponse), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListConfigurationRevisions = "ListConfigurationRevisions" // ListConfigurationRevisionsRequest generates a "aws/request.Request" representing the @@ -2273,6 +2331,9 @@ type Configuration struct { // Required. The ARN of the configuration. Arn *string `locationName:"arn" type:"string"` + // The authentication strategy associated with the configuration. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + // Required. The date and time of the configuration revision. Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"` @@ -2318,6 +2379,12 @@ func (s *Configuration) SetArn(v string) *Configuration { return s } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *Configuration) SetAuthenticationStrategy(v string) *Configuration { + s.AuthenticationStrategy = &v + return s +} + // SetCreated sets the Created field's value. func (s *Configuration) SetCreated(v time.Time) *Configuration { s.Created = &v @@ -2544,6 +2611,9 @@ func (s *ConflictException) RequestID() string { type CreateBrokerRequest struct { _ struct{} `type:"structure"` + // The authentication strategy used to secure the broker. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean"` BrokerName *string `locationName:"brokerName" type:"string"` @@ -2566,6 +2636,10 @@ type CreateBrokerRequest struct { HostInstanceType *string `locationName:"hostInstanceType" type:"string"` + // The metadata of the LDAP server used to authenticate and authorize connections + // to the broker. + LdapServerMetadata *LdapServerMetadataInput `locationName:"ldapServerMetadata" type:"structure"` + // The list of information about logs to be enabled for the specified broker. Logs *Logs `locationName:"logs" type:"structure"` @@ -2612,6 +2686,12 @@ func (s *CreateBrokerRequest) Validate() error { return nil } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *CreateBrokerRequest) SetAuthenticationStrategy(v string) *CreateBrokerRequest { + s.AuthenticationStrategy = &v + return s +} + // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. func (s *CreateBrokerRequest) SetAutoMinorVersionUpgrade(v bool) *CreateBrokerRequest { s.AutoMinorVersionUpgrade = &v @@ -2666,6 +2746,12 @@ func (s *CreateBrokerRequest) SetHostInstanceType(v string) *CreateBrokerRequest return s } +// SetLdapServerMetadata sets the LdapServerMetadata field's value. +func (s *CreateBrokerRequest) SetLdapServerMetadata(v *LdapServerMetadataInput) *CreateBrokerRequest { + s.LdapServerMetadata = v + return s +} + // SetLogs sets the Logs field's value. func (s *CreateBrokerRequest) SetLogs(v *Logs) *CreateBrokerRequest { s.Logs = v @@ -2747,6 +2833,9 @@ func (s *CreateBrokerResponse) SetBrokerId(v string) *CreateBrokerResponse { type CreateConfigurationRequest struct { _ struct{} `type:"structure"` + // The authentication strategy used to secure the broker. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + // The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ. EngineType *string `locationName:"engineType" type:"string" enum:"EngineType"` @@ -2767,6 +2856,12 @@ func (s CreateConfigurationRequest) GoString() string { return s.String() } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *CreateConfigurationRequest) SetAuthenticationStrategy(v string) *CreateConfigurationRequest { + s.AuthenticationStrategy = &v + return s +} + // SetEngineType sets the EngineType field's value. func (s *CreateConfigurationRequest) SetEngineType(v string) *CreateConfigurationRequest { s.EngineType = &v @@ -2796,6 +2891,9 @@ type CreateConfigurationResponse struct { Arn *string `locationName:"arn" type:"string"` + // The authentication strategy used to secure the broker. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"` Id *string `locationName:"id" type:"string"` @@ -2822,6 +2920,12 @@ func (s *CreateConfigurationResponse) SetArn(v string) *CreateConfigurationRespo return s } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *CreateConfigurationResponse) SetAuthenticationStrategy(v string) *CreateConfigurationResponse { + s.AuthenticationStrategy = &v + return s +} + // SetCreated sets the Created field's value. func (s *CreateConfigurationResponse) SetCreated(v time.Time) *CreateConfigurationResponse { s.Created = &v @@ -3429,6 +3533,9 @@ func (s *DescribeBrokerInstanceOptionsOutput) SetNextToken(v string) *DescribeBr type DescribeBrokerResponse struct { _ struct{} `type:"structure"` + // The authentication strategy used to secure the broker. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean"` BrokerArn *string `locationName:"brokerArn" type:"string"` @@ -3460,6 +3567,10 @@ type DescribeBrokerResponse struct { HostInstanceType *string `locationName:"hostInstanceType" type:"string"` + // The metadata of the LDAP server used to authenticate and authorize connections + // to the broker. + LdapServerMetadata *LdapServerMetadataOutput `locationName:"ldapServerMetadata" type:"structure"` + // The list of information about logs currently enabled and pending to be deployed // for the specified broker. Logs *LogsSummary `locationName:"logs" type:"structure"` @@ -3468,10 +3579,17 @@ type DescribeBrokerResponse struct { // apply pending updates or patches to the broker. MaintenanceWindowStartTime *WeeklyStartTime `locationName:"maintenanceWindowStartTime" type:"structure"` + // The authentication strategy used to secure the broker. + PendingAuthenticationStrategy *string `locationName:"pendingAuthenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + PendingEngineVersion *string `locationName:"pendingEngineVersion" type:"string"` PendingHostInstanceType *string `locationName:"pendingHostInstanceType" type:"string"` + // The metadata of the LDAP server used to authenticate and authorize connections + // to the broker. + PendingLdapServerMetadata *LdapServerMetadataOutput `locationName:"pendingLdapServerMetadata" type:"structure"` + PendingSecurityGroups []*string `locationName:"pendingSecurityGroups" type:"list"` PubliclyAccessible *bool `locationName:"publiclyAccessible" type:"boolean"` @@ -3498,6 +3616,12 @@ func (s DescribeBrokerResponse) GoString() string { return s.String() } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *DescribeBrokerResponse) SetAuthenticationStrategy(v string) *DescribeBrokerResponse { + s.AuthenticationStrategy = &v + return s +} + // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. func (s *DescribeBrokerResponse) SetAutoMinorVersionUpgrade(v bool) *DescribeBrokerResponse { s.AutoMinorVersionUpgrade = &v @@ -3576,6 +3700,12 @@ func (s *DescribeBrokerResponse) SetHostInstanceType(v string) *DescribeBrokerRe return s } +// SetLdapServerMetadata sets the LdapServerMetadata field's value. +func (s *DescribeBrokerResponse) SetLdapServerMetadata(v *LdapServerMetadataOutput) *DescribeBrokerResponse { + s.LdapServerMetadata = v + return s +} + // SetLogs sets the Logs field's value. func (s *DescribeBrokerResponse) SetLogs(v *LogsSummary) *DescribeBrokerResponse { s.Logs = v @@ -3588,6 +3718,12 @@ func (s *DescribeBrokerResponse) SetMaintenanceWindowStartTime(v *WeeklyStartTim return s } +// SetPendingAuthenticationStrategy sets the PendingAuthenticationStrategy field's value. +func (s *DescribeBrokerResponse) SetPendingAuthenticationStrategy(v string) *DescribeBrokerResponse { + s.PendingAuthenticationStrategy = &v + return s +} + // SetPendingEngineVersion sets the PendingEngineVersion field's value. func (s *DescribeBrokerResponse) SetPendingEngineVersion(v string) *DescribeBrokerResponse { s.PendingEngineVersion = &v @@ -3600,6 +3736,12 @@ func (s *DescribeBrokerResponse) SetPendingHostInstanceType(v string) *DescribeB return s } +// SetPendingLdapServerMetadata sets the PendingLdapServerMetadata field's value. +func (s *DescribeBrokerResponse) SetPendingLdapServerMetadata(v *LdapServerMetadataOutput) *DescribeBrokerResponse { + s.PendingLdapServerMetadata = v + return s +} + // SetPendingSecurityGroups sets the PendingSecurityGroups field's value. func (s *DescribeBrokerResponse) SetPendingSecurityGroups(v []*string) *DescribeBrokerResponse { s.PendingSecurityGroups = v @@ -3686,6 +3828,9 @@ type DescribeConfigurationOutput struct { Arn *string `locationName:"arn" type:"string"` + // The authentication strategy used to secure the broker. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"iso8601"` Description *string `locationName:"description" type:"string"` @@ -3721,6 +3866,12 @@ func (s *DescribeConfigurationOutput) SetArn(v string) *DescribeConfigurationOut return s } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *DescribeConfigurationOutput) SetAuthenticationStrategy(v string) *DescribeConfigurationOutput { + s.AuthenticationStrategy = &v + return s +} + // SetCreated sets the Created field's value. func (s *DescribeConfigurationOutput) SetCreated(v time.Time) *DescribeConfigurationOutput { s.Created = &v @@ -3983,9 +4134,9 @@ func (s *DescribeUserResponse) SetUsername(v string) *DescribeUserResponse { type EncryptionOptions struct { _ struct{} `type:"structure"` - // The customer master key (CMK) to use for the AWS Key Management Service (KMS). - // This key is used to encrypt your data at rest. If not provided, Amazon MQ - // will use a default CMK to encrypt your data. + // The symmetric customer master key (CMK) to use for the AWS Key Management + // Service (KMS). This key is used to encrypt your data at rest. If not provided, + // Amazon MQ will use a default CMK to encrypt your data. KmsKeyId *string `locationName:"kmsKeyId" type:"string"` // Enables the use of an AWS owned CMK using AWS Key Management Service (KMS). @@ -4169,6 +4320,233 @@ func (s *InternalServerErrorException) RequestID() string { return s.RespMetadata.RequestID } +// The metadata of the LDAP server used to authenticate and authorize connections +// to the broker. +type LdapServerMetadataInput struct { + _ struct{} `type:"structure"` + + // Fully qualified domain name of the LDAP server. Optional failover server. + Hosts []*string `locationName:"hosts" type:"list"` + + // Fully qualified name of the directory to search for a user’s groups. + RoleBase *string `locationName:"roleBase" type:"string"` + + // Specifies the LDAP attribute that identifies the group name attribute in + // the object returned from the group membership query. + RoleName *string `locationName:"roleName" type:"string"` + + // The search criteria for groups. + RoleSearchMatching *string `locationName:"roleSearchMatching" type:"string"` + + // The directory search scope for the role. If set to true, scope is to search + // the entire sub-tree. + RoleSearchSubtree *bool `locationName:"roleSearchSubtree" type:"boolean"` + + // Service account password. + ServiceAccountPassword *string `locationName:"serviceAccountPassword" type:"string"` + + // Service account username. + ServiceAccountUsername *string `locationName:"serviceAccountUsername" type:"string"` + + // Fully qualified name of the directory where you want to search for users. + UserBase *string `locationName:"userBase" type:"string"` + + // Specifies the name of the LDAP attribute for the user group membership. + UserRoleName *string `locationName:"userRoleName" type:"string"` + + // The search criteria for users. + UserSearchMatching *string `locationName:"userSearchMatching" type:"string"` + + // The directory search scope for the user. If set to true, scope is to search + // the entire sub-tree. + UserSearchSubtree *bool `locationName:"userSearchSubtree" type:"boolean"` +} + +// String returns the string representation +func (s LdapServerMetadataInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LdapServerMetadataInput) GoString() string { + return s.String() +} + +// SetHosts sets the Hosts field's value. +func (s *LdapServerMetadataInput) SetHosts(v []*string) *LdapServerMetadataInput { + s.Hosts = v + return s +} + +// SetRoleBase sets the RoleBase field's value. +func (s *LdapServerMetadataInput) SetRoleBase(v string) *LdapServerMetadataInput { + s.RoleBase = &v + return s +} + +// SetRoleName sets the RoleName field's value. +func (s *LdapServerMetadataInput) SetRoleName(v string) *LdapServerMetadataInput { + s.RoleName = &v + return s +} + +// SetRoleSearchMatching sets the RoleSearchMatching field's value. +func (s *LdapServerMetadataInput) SetRoleSearchMatching(v string) *LdapServerMetadataInput { + s.RoleSearchMatching = &v + return s +} + +// SetRoleSearchSubtree sets the RoleSearchSubtree field's value. +func (s *LdapServerMetadataInput) SetRoleSearchSubtree(v bool) *LdapServerMetadataInput { + s.RoleSearchSubtree = &v + return s +} + +// SetServiceAccountPassword sets the ServiceAccountPassword field's value. +func (s *LdapServerMetadataInput) SetServiceAccountPassword(v string) *LdapServerMetadataInput { + s.ServiceAccountPassword = &v + return s +} + +// SetServiceAccountUsername sets the ServiceAccountUsername field's value. +func (s *LdapServerMetadataInput) SetServiceAccountUsername(v string) *LdapServerMetadataInput { + s.ServiceAccountUsername = &v + return s +} + +// SetUserBase sets the UserBase field's value. +func (s *LdapServerMetadataInput) SetUserBase(v string) *LdapServerMetadataInput { + s.UserBase = &v + return s +} + +// SetUserRoleName sets the UserRoleName field's value. +func (s *LdapServerMetadataInput) SetUserRoleName(v string) *LdapServerMetadataInput { + s.UserRoleName = &v + return s +} + +// SetUserSearchMatching sets the UserSearchMatching field's value. +func (s *LdapServerMetadataInput) SetUserSearchMatching(v string) *LdapServerMetadataInput { + s.UserSearchMatching = &v + return s +} + +// SetUserSearchSubtree sets the UserSearchSubtree field's value. +func (s *LdapServerMetadataInput) SetUserSearchSubtree(v bool) *LdapServerMetadataInput { + s.UserSearchSubtree = &v + return s +} + +// The metadata of the LDAP server used to authenticate and authorize connections +// to the broker. +type LdapServerMetadataOutput struct { + _ struct{} `type:"structure"` + + // Fully qualified domain name of the LDAP server. Optional failover server. + Hosts []*string `locationName:"hosts" type:"list"` + + // Fully qualified name of the directory to search for a user’s groups. + RoleBase *string `locationName:"roleBase" type:"string"` + + // Specifies the LDAP attribute that identifies the group name attribute in + // the object returned from the group membership query. + RoleName *string `locationName:"roleName" type:"string"` + + // The search criteria for groups. + RoleSearchMatching *string `locationName:"roleSearchMatching" type:"string"` + + // The directory search scope for the role. If set to true, scope is to search + // the entire sub-tree. + RoleSearchSubtree *bool `locationName:"roleSearchSubtree" type:"boolean"` + + // Service account username. + ServiceAccountUsername *string `locationName:"serviceAccountUsername" type:"string"` + + // Fully qualified name of the directory where you want to search for users. + UserBase *string `locationName:"userBase" type:"string"` + + // Specifies the name of the LDAP attribute for the user group membership. + UserRoleName *string `locationName:"userRoleName" type:"string"` + + // The search criteria for users. + UserSearchMatching *string `locationName:"userSearchMatching" type:"string"` + + // The directory search scope for the user. If set to true, scope is to search + // the entire sub-tree. + UserSearchSubtree *bool `locationName:"userSearchSubtree" type:"boolean"` +} + +// String returns the string representation +func (s LdapServerMetadataOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LdapServerMetadataOutput) GoString() string { + return s.String() +} + +// SetHosts sets the Hosts field's value. +func (s *LdapServerMetadataOutput) SetHosts(v []*string) *LdapServerMetadataOutput { + s.Hosts = v + return s +} + +// SetRoleBase sets the RoleBase field's value. +func (s *LdapServerMetadataOutput) SetRoleBase(v string) *LdapServerMetadataOutput { + s.RoleBase = &v + return s +} + +// SetRoleName sets the RoleName field's value. +func (s *LdapServerMetadataOutput) SetRoleName(v string) *LdapServerMetadataOutput { + s.RoleName = &v + return s +} + +// SetRoleSearchMatching sets the RoleSearchMatching field's value. +func (s *LdapServerMetadataOutput) SetRoleSearchMatching(v string) *LdapServerMetadataOutput { + s.RoleSearchMatching = &v + return s +} + +// SetRoleSearchSubtree sets the RoleSearchSubtree field's value. +func (s *LdapServerMetadataOutput) SetRoleSearchSubtree(v bool) *LdapServerMetadataOutput { + s.RoleSearchSubtree = &v + return s +} + +// SetServiceAccountUsername sets the ServiceAccountUsername field's value. +func (s *LdapServerMetadataOutput) SetServiceAccountUsername(v string) *LdapServerMetadataOutput { + s.ServiceAccountUsername = &v + return s +} + +// SetUserBase sets the UserBase field's value. +func (s *LdapServerMetadataOutput) SetUserBase(v string) *LdapServerMetadataOutput { + s.UserBase = &v + return s +} + +// SetUserRoleName sets the UserRoleName field's value. +func (s *LdapServerMetadataOutput) SetUserRoleName(v string) *LdapServerMetadataOutput { + s.UserRoleName = &v + return s +} + +// SetUserSearchMatching sets the UserSearchMatching field's value. +func (s *LdapServerMetadataOutput) SetUserSearchMatching(v string) *LdapServerMetadataOutput { + s.UserSearchMatching = &v + return s +} + +// SetUserSearchSubtree sets the UserSearchSubtree field's value. +func (s *LdapServerMetadataOutput) SetUserSearchSubtree(v bool) *LdapServerMetadataOutput { + s.UserSearchSubtree = &v + return s +} + type ListBrokersInput struct { _ struct{} `type:"structure"` @@ -4938,6 +5316,9 @@ func (s *UnauthorizedException) RequestID() string { type UpdateBrokerRequest struct { _ struct{} `type:"structure"` + // The authentication strategy used to secure the broker. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean"` // BrokerId is a required field @@ -4950,6 +5331,10 @@ type UpdateBrokerRequest struct { HostInstanceType *string `locationName:"hostInstanceType" type:"string"` + // The metadata of the LDAP server used to authenticate and authorize connections + // to the broker. + LdapServerMetadata *LdapServerMetadataInput `locationName:"ldapServerMetadata" type:"structure"` + // The list of information about logs to be enabled for the specified broker. Logs *Logs `locationName:"logs" type:"structure"` @@ -4982,6 +5367,12 @@ func (s *UpdateBrokerRequest) Validate() error { return nil } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *UpdateBrokerRequest) SetAuthenticationStrategy(v string) *UpdateBrokerRequest { + s.AuthenticationStrategy = &v + return s +} + // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. func (s *UpdateBrokerRequest) SetAutoMinorVersionUpgrade(v bool) *UpdateBrokerRequest { s.AutoMinorVersionUpgrade = &v @@ -5012,6 +5403,12 @@ func (s *UpdateBrokerRequest) SetHostInstanceType(v string) *UpdateBrokerRequest return s } +// SetLdapServerMetadata sets the LdapServerMetadata field's value. +func (s *UpdateBrokerRequest) SetLdapServerMetadata(v *LdapServerMetadataInput) *UpdateBrokerRequest { + s.LdapServerMetadata = v + return s +} + // SetLogs sets the Logs field's value. func (s *UpdateBrokerRequest) SetLogs(v *Logs) *UpdateBrokerRequest { s.Logs = v @@ -5027,6 +5424,9 @@ func (s *UpdateBrokerRequest) SetSecurityGroups(v []*string) *UpdateBrokerReques type UpdateBrokerResponse struct { _ struct{} `type:"structure"` + // The authentication strategy used to secure the broker. + AuthenticationStrategy *string `locationName:"authenticationStrategy" type:"string" enum:"AuthenticationStrategy"` + AutoMinorVersionUpgrade *bool `locationName:"autoMinorVersionUpgrade" type:"boolean"` BrokerId *string `locationName:"brokerId" type:"string"` @@ -5038,6 +5438,10 @@ type UpdateBrokerResponse struct { HostInstanceType *string `locationName:"hostInstanceType" type:"string"` + // The metadata of the LDAP server used to authenticate and authorize connections + // to the broker. + LdapServerMetadata *LdapServerMetadataOutput `locationName:"ldapServerMetadata" type:"structure"` + // The list of information about logs to be enabled for the specified broker. Logs *Logs `locationName:"logs" type:"structure"` @@ -5054,6 +5458,12 @@ func (s UpdateBrokerResponse) GoString() string { return s.String() } +// SetAuthenticationStrategy sets the AuthenticationStrategy field's value. +func (s *UpdateBrokerResponse) SetAuthenticationStrategy(v string) *UpdateBrokerResponse { + s.AuthenticationStrategy = &v + return s +} + // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. func (s *UpdateBrokerResponse) SetAutoMinorVersionUpgrade(v bool) *UpdateBrokerResponse { s.AutoMinorVersionUpgrade = &v @@ -5084,6 +5494,12 @@ func (s *UpdateBrokerResponse) SetHostInstanceType(v string) *UpdateBrokerRespon return s } +// SetLdapServerMetadata sets the LdapServerMetadata field's value. +func (s *UpdateBrokerResponse) SetLdapServerMetadata(v *LdapServerMetadataOutput) *UpdateBrokerResponse { + s.LdapServerMetadata = v + return s +} + // SetLogs sets the Logs field's value. func (s *UpdateBrokerResponse) SetLogs(v *Logs) *UpdateBrokerResponse { s.Logs = v @@ -5487,6 +5903,15 @@ func (s *WeeklyStartTime) SetTimeZone(v string) *WeeklyStartTime { return s } +// The authentication strategy used to secure the broker. +const ( + // AuthenticationStrategySimple is a AuthenticationStrategy enum value + AuthenticationStrategySimple = "SIMPLE" + + // AuthenticationStrategyLdap is a AuthenticationStrategy enum value + AuthenticationStrategyLdap = "LDAP" +) + // The status of the broker. const ( // BrokerStateCreationInProgress is a BrokerState enum value diff --git a/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go b/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go index 627e054c1f2..d7aa5a7b466 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go @@ -160,7 +160,7 @@ func (c *Organizations) AcceptHandshakeRequest(input *AcceptHandshakeInput) (req // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -227,12 +227,12 @@ func (c *Organizations) AcceptHandshakeRequest(input *AcceptHandshakeInput) (req // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * AccessDeniedForDependencyException // The operation that you attempted requires you to have the iam:CreateServiceLinkedRole @@ -307,35 +307,16 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // AttachPolicy API operation for AWS Organizations. // // Attaches a policy to a root, an organizational unit (OU), or an individual -// account. How the policy affects accounts depends on the type of policy: -// -// * Service control policy (SCP) - An SCP specifies what permissions can -// be delegated to users in affected member accounts. The scope of influence -// for a policy depends on what you attach the policy to: If you attach an -// SCP to a root, it affects all accounts in the organization. If you attach -// an SCP to an OU, it affects all accounts in that OU and in any child OUs. -// If you attach the policy directly to an account, it affects only that -// account. SCPs are JSON policies that specify the maximum permissions for -// an organization or organizational unit (OU). You can attach one SCP to -// a higher level root or OU, and a different SCP to a child OU or to an -// account. The child policy can further restrict only the permissions that -// pass through the parent filter and are available to the child. An SCP -// that is attached to a child can't grant a permission that the parent hasn't -// already granted. For example, imagine that the parent SCP allows permissions -// A, B, C, D, and E. The child SCP allows C, D, E, F, and G. The result -// is that the accounts affected by the child SCP are allowed to use only -// C, D, and E. They can't use A or B because the child OU filtered them -// out. They also can't use F and G because the parent OU filtered them out. -// They can't be granted back by the child SCP; child SCPs can only filter -// the permissions they receive from the parent SCP. AWS Organizations attaches -// a default SCP named "FullAWSAccess to every root, OU, and account. This -// default SCP allows all services and actions, enabling any new child OU -// or account to inherit the permissions of the parent root or OU. If you -// detach the default policy, you must replace it with a policy that specifies -// the permissions that you want to allow in that OU or account. For more -// information about how AWS Organizations policies permissions work, see -// Using Service Control Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) -// in the AWS Organizations User Guide. +// account. How the policy affects accounts depends on the type of policy. Refer +// to the AWS Organizations User Guide for information about each policy type: +// +// * AISERVICES_OPT_OUT_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) +// +// * BACKUP_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html) +// +// * SERVICE_CONTROL_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) +// +// * TAG_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) // // This operation can be called only from the organization's master account. // @@ -368,23 +349,27 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -397,19 +382,32 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. +// +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -421,8 +419,12 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -459,20 +461,27 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * DuplicatePolicyAttachmentException // The selected policy is already attached to the specified target. // @@ -482,7 +491,7 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -558,15 +567,15 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ // We can't find a root, OU, or account with the TargetId that you specified. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // * PolicyChangesInProgressException // Changes to the effective policy are in progress, and its contents can't be @@ -685,7 +694,7 @@ func (c *Organizations) CancelHandshakeRequest(input *CancelHandshakeInput) (req // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -748,12 +757,12 @@ func (c *Organizations) CancelHandshakeRequest(input *CancelHandshakeInput) (req // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CancelHandshake func (c *Organizations) CancelHandshake(input *CancelHandshakeInput) (*CancelHandshakeOutput, error) { @@ -915,23 +924,27 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -944,19 +957,32 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. +// +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -968,8 +994,12 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -1006,27 +1036,34 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -1095,15 +1132,15 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreateAccount func (c *Organizations) CreateAccount(input *CreateAccountInput) (*CreateAccountOutput, error) { @@ -1243,8 +1280,8 @@ func (c *Organizations) CreateGovCloudAccountRequest(input *CreateGovCloudAccoun // // * When you create an account in an organization using the AWS Organizations // console, API, or CLI commands, the information required for the account -// to operate as a standalone account, such as a payment method and signing -// the end user license agreement (EULA) is not automatically collected. +// to operate as a standalone account is not automatically collected. This +// includes a payment method and signing the end user license agreement (EULA). // If you must remove an account from your organization later, you can do // so only after you provide the missing information. Follow the steps at // To leave an organization as a member account (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) @@ -1301,23 +1338,27 @@ func (c *Organizations) CreateGovCloudAccountRequest(input *CreateGovCloudAccoun // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -1330,19 +1371,32 @@ func (c *Organizations) CreateGovCloudAccountRequest(input *CreateGovCloudAccoun // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. +// +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -1354,8 +1408,12 @@ func (c *Organizations) CreateGovCloudAccountRequest(input *CreateGovCloudAccoun // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -1392,27 +1450,34 @@ func (c *Organizations) CreateGovCloudAccountRequest(input *CreateGovCloudAccoun // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -1481,15 +1546,15 @@ func (c *Organizations) CreateGovCloudAccountRequest(input *CreateGovCloudAccoun // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreateGovCloudAccount func (c *Organizations) CreateGovCloudAccount(input *CreateGovCloudAccountInput) (*CreateGovCloudAccountOutput, error) { @@ -1601,23 +1666,27 @@ func (c *Organizations) CreateOrganizationRequest(input *CreateOrganizationInput // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -1630,19 +1699,32 @@ func (c *Organizations) CreateOrganizationRequest(input *CreateOrganizationInput // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -1654,8 +1736,12 @@ func (c *Organizations) CreateOrganizationRequest(input *CreateOrganizationInput // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -1692,27 +1778,34 @@ func (c *Organizations) CreateOrganizationRequest(input *CreateOrganizationInput // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -1775,12 +1868,12 @@ func (c *Organizations) CreateOrganizationRequest(input *CreateOrganizationInput // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * AccessDeniedForDependencyException // The operation that you attempted requires you to have the iam:CreateServiceLinkedRole @@ -1893,23 +1986,27 @@ func (c *Organizations) CreateOrganizationalUnitRequest(input *CreateOrganizatio // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -1922,19 +2019,32 @@ func (c *Organizations) CreateOrganizationalUnitRequest(input *CreateOrganizatio // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. +// +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -1946,8 +2056,12 @@ func (c *Organizations) CreateOrganizationalUnitRequest(input *CreateOrganizatio // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -1984,20 +2098,27 @@ func (c *Organizations) CreateOrganizationalUnitRequest(input *CreateOrganizatio // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * DuplicateOrganizationalUnitException // An OU with the same name already exists. // @@ -2007,7 +2128,7 @@ func (c *Organizations) CreateOrganizationalUnitRequest(input *CreateOrganizatio // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -2073,12 +2194,12 @@ func (c *Organizations) CreateOrganizationalUnitRequest(input *CreateOrganizatio // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreateOrganizationalUnit func (c *Organizations) CreateOrganizationalUnit(input *CreateOrganizationalUnitInput) (*CreateOrganizationalUnitOutput, error) { @@ -2183,23 +2304,27 @@ func (c *Organizations) CreatePolicyRequest(input *CreatePolicyInput) (req *requ // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -2212,19 +2337,32 @@ func (c *Organizations) CreatePolicyRequest(input *CreatePolicyInput) (req *requ // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -2236,8 +2374,12 @@ func (c *Organizations) CreatePolicyRequest(input *CreatePolicyInput) (req *requ // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -2274,20 +2416,27 @@ func (c *Organizations) CreatePolicyRequest(input *CreatePolicyInput) (req *requ // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * DuplicatePolicyException // A policy with the same name already exists. // @@ -2297,7 +2446,7 @@ func (c *Organizations) CreatePolicyRequest(input *CreatePolicyInput) (req *requ // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -2364,24 +2513,24 @@ func (c *Organizations) CreatePolicyRequest(input *CreatePolicyInput) (req *requ // * PolicyTypeNotAvailableForOrganizationException // You can't use the specified policy type with the feature set currently enabled // for this organization. For example, you can enable SCPs only after you enable -// all features in the organization. For more information, see Enabling and -// Disabling a Policy Type on a Root (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root) -// in the AWS Organizations User Guide. +// all features in the organization. For more information, see Managing AWS +// Organizations Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root)in +// the AWS Organizations User Guide. // // * ServiceException // AWS Organizations can't complete your request because of an internal service // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreatePolicy func (c *Organizations) CreatePolicy(input *CreatePolicyInput) (*CreatePolicyOutput, error) { @@ -2497,7 +2646,7 @@ func (c *Organizations) DeclineHandshakeRequest(input *DeclineHandshakeInput) (r // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -2560,12 +2709,12 @@ func (c *Organizations) DeclineHandshakeRequest(input *DeclineHandshakeInput) (r // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeclineHandshake func (c *Organizations) DeclineHandshake(input *DeclineHandshakeInput) (*DeclineHandshakeOutput, error) { @@ -2666,7 +2815,7 @@ func (c *Organizations) DeleteOrganizationRequest(input *DeleteOrganizationInput // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -2733,12 +2882,12 @@ func (c *Organizations) DeleteOrganizationRequest(input *DeleteOrganizationInput // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeleteOrganization func (c *Organizations) DeleteOrganization(input *DeleteOrganizationInput) (*DeleteOrganizationOutput, error) { @@ -2841,7 +2990,7 @@ func (c *Organizations) DeleteOrganizationalUnitRequest(input *DeleteOrganizatio // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -2911,12 +3060,12 @@ func (c *Organizations) DeleteOrganizationalUnitRequest(input *DeleteOrganizatio // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeleteOrganizationalUnit func (c *Organizations) DeleteOrganizationalUnit(input *DeleteOrganizationalUnitInput) (*DeleteOrganizationalUnitOutput, error) { @@ -3020,7 +3169,7 @@ func (c *Organizations) DeletePolicyRequest(input *DeletePolicyInput) (req *requ // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -3090,15 +3239,15 @@ func (c *Organizations) DeletePolicyRequest(input *DeletePolicyInput) (req *requ // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeletePolicy func (c *Organizations) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) { @@ -3170,6 +3319,11 @@ func (c *Organizations) DeregisterDelegatedAdministratorRequest(input *Deregiste // Removes the specified member AWS account as a delegated administrator for // the specified AWS service. // +// Deregistering a delegated administrator can have unintended impacts on the +// functionality of the enabled AWS service. See the documentation for the enabled +// service before you deregister a delegated administrator so that you understand +// any potential impacts. +// // You can run this action only for AWS services that support this feature. // For a current list of services that support it, see the column Supports Delegated // Administrator in the table at AWS Services that you can use with AWS Organizations @@ -3215,23 +3369,27 @@ func (c *Organizations) DeregisterDelegatedAdministratorRequest(input *Deregiste // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -3244,19 +3402,32 @@ func (c *Organizations) DeregisterDelegatedAdministratorRequest(input *Deregiste // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -3268,8 +3439,12 @@ func (c *Organizations) DeregisterDelegatedAdministratorRequest(input *Deregiste // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -3306,27 +3481,34 @@ func (c *Organizations) DeregisterDelegatedAdministratorRequest(input *Deregiste // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -3385,19 +3567,19 @@ func (c *Organizations) DeregisterDelegatedAdministratorRequest(input *Deregiste // between entities in the same root. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * ServiceException // AWS Organizations can't complete your request because of an internal service // error. Try again later. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeregisterDelegatedAdministrator func (c *Organizations) DeregisterDelegatedAdministrator(input *DeregisterDelegatedAdministratorInput) (*DeregisterDelegatedAdministratorOutput, error) { @@ -3500,7 +3682,7 @@ func (c *Organizations) DescribeAccountRequest(input *DescribeAccountInput) (req // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -3563,12 +3745,12 @@ func (c *Organizations) DescribeAccountRequest(input *DescribeAccountInput) (req // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeAccount func (c *Organizations) DescribeAccount(input *DescribeAccountInput) (*DescribeAccountOutput, error) { @@ -3670,7 +3852,7 @@ func (c *Organizations) DescribeCreateAccountStatusRequest(input *DescribeCreate // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -3733,15 +3915,15 @@ func (c *Organizations) DescribeCreateAccountStatusRequest(input *DescribeCreate // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeCreateAccountStatus func (c *Organizations) DescribeCreateAccountStatus(input *DescribeCreateAccountStatusInput) (*DescribeCreateAccountStatusOutput, error) { @@ -3809,14 +3991,16 @@ func (c *Organizations) DescribeEffectivePolicyRequest(input *DescribeEffectiveP // DescribeEffectivePolicy API operation for AWS Organizations. // -// Returns the contents of the effective tag policy for the account. The effective -// tag policy is the aggregation of any tag policies the account inherits, plus -// any policy directly that is attached to the account. +// Returns the contents of the effective policy for specified policy type and +// account. The effective policy is the aggregation of any policies of the specified +// type that the account inherits, plus any policy of that type that is directly +// attached to the account. // -// This action returns information on tag policies only. +// This operation applies only to policy types other than service control policies +// (SCPs). // -// For more information on policy inheritance, see How Policy Inheritance Works -// (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies-inheritance.html) +// For more information about policy inheritance, see How Policy Inheritance +// Works (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies-inheritance.html) // in the AWS Organizations User Guide. // // This operation can be called only from the organization's master account @@ -3847,23 +4031,27 @@ func (c *Organizations) DescribeEffectivePolicyRequest(input *DescribeEffectiveP // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -3876,19 +4064,32 @@ func (c *Organizations) DescribeEffectivePolicyRequest(input *DescribeEffectiveP // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. +// +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -3900,8 +4101,12 @@ func (c *Organizations) DescribeEffectivePolicyRequest(input *DescribeEffectiveP // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -3938,31 +4143,38 @@ func (c *Organizations) DescribeEffectivePolicyRequest(input *DescribeEffectiveP // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * ServiceException // AWS Organizations can't complete your request because of an internal service // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * TargetNotFoundException // We can't find a root, OU, or account with the TargetId that you specified. @@ -3979,7 +4191,7 @@ func (c *Organizations) DescribeEffectivePolicyRequest(input *DescribeEffectiveP // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -4038,7 +4250,7 @@ func (c *Organizations) DescribeEffectivePolicyRequest(input *DescribeEffectiveP // between entities in the same root. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeEffectivePolicy func (c *Organizations) DescribeEffectivePolicy(input *DescribeEffectivePolicyInput) (*DescribeEffectivePolicyOutput, error) { @@ -4144,7 +4356,7 @@ func (c *Organizations) DescribeHandshakeRequest(input *DescribeHandshakeInput) // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -4207,12 +4419,12 @@ func (c *Organizations) DescribeHandshakeRequest(input *DescribeHandshakeInput) // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeHandshake func (c *Organizations) DescribeHandshake(input *DescribeHandshakeInput) (*DescribeHandshakeOutput, error) { @@ -4317,12 +4529,12 @@ func (c *Organizations) DescribeOrganizationRequest(input *DescribeOrganizationI // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeOrganization func (c *Organizations) DescribeOrganization(input *DescribeOrganizationInput) (*DescribeOrganizationOutput, error) { @@ -4420,7 +4632,7 @@ func (c *Organizations) DescribeOrganizationalUnitRequest(input *DescribeOrganiz // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -4486,12 +4698,12 @@ func (c *Organizations) DescribeOrganizationalUnitRequest(input *DescribeOrganiz // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeOrganizationalUnit func (c *Organizations) DescribeOrganizationalUnit(input *DescribeOrganizationalUnitInput) (*DescribeOrganizationalUnitOutput, error) { @@ -4589,7 +4801,7 @@ func (c *Organizations) DescribePolicyRequest(input *DescribePolicyInput) (req * // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -4655,15 +4867,15 @@ func (c *Organizations) DescribePolicyRequest(input *DescribePolicyInput) (req * // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribePolicy func (c *Organizations) DescribePolicy(input *DescribePolicyInput) (*DescribePolicyOutput, error) { @@ -4733,18 +4945,20 @@ func (c *Organizations) DetachPolicyRequest(input *DetachPolicyInput) (req *requ // DetachPolicy API operation for AWS Organizations. // // Detaches a policy from a target root, organizational unit (OU), or account. -// If the policy being detached is a service control policy (SCP), the changes -// to permissions for IAM users and roles in affected accounts are immediate. // -// Note: Every root, OU, and account must have at least one SCP attached. If -// you want to replace the default FullAWSAccess policy with one that limits -// the permissions that can be delegated, you must attach the replacement policy -// before you can remove the default one. This is the authorization strategy -// of an "allow list (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_about-scps.html#orgs_policies_whitelist)". +// If the policy being detached is a service control policy (SCP), the changes +// to permissions for AWS Identity and Access Management (IAM) users and roles +// in affected accounts are immediate. +// +// Every root, OU, and account must have at least one SCP attached. If you want +// to replace the default FullAWSAccess policy with an SCP that limits the permissions +// that can be delegated, you must attach the replacement SCP before you can +// remove the default SCP. This is the authorization strategy of an "allow list +// (https://docs.aws.amazon.com/organizations/latest/userguide/SCP_strategies.html#orgs_policies_allowlist)". // If you instead attach a second SCP and leave the FullAWSAccess SCP still // attached, and specify "Effect": "Deny" in the second SCP to override the // "Effect": "Allow" in the FullAWSAccess policy (or any other attached SCP), -// you're using the authorization strategy of a "deny list (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_about-scps.html#orgs_policies_blacklist)". +// you're using the authorization strategy of a "deny list (https://docs.aws.amazon.com/organizations/latest/userguide/SCP_strategies.html#orgs_policies_denylist)". // // This operation can be called only from the organization's master account. // @@ -4777,23 +4991,27 @@ func (c *Organizations) DetachPolicyRequest(input *DetachPolicyInput) (req *requ // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -4806,19 +5024,32 @@ func (c *Organizations) DetachPolicyRequest(input *DetachPolicyInput) (req *requ // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -4830,8 +5061,12 @@ func (c *Organizations) DetachPolicyRequest(input *DetachPolicyInput) (req *requ // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -4868,27 +5103,34 @@ func (c *Organizations) DetachPolicyRequest(input *DetachPolicyInput) (req *requ // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -4960,15 +5202,15 @@ func (c *Organizations) DetachPolicyRequest(input *DetachPolicyInput) (req *requ // We can't find a root, OU, or account with the TargetId that you specified. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // * PolicyChangesInProgressException // Changes to the effective policy are in progress, and its contents can't be @@ -5098,23 +5340,27 @@ func (c *Organizations) DisableAWSServiceAccessRequest(input *DisableAWSServiceA // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -5127,19 +5373,32 @@ func (c *Organizations) DisableAWSServiceAccessRequest(input *DisableAWSServiceA // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. +// +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -5151,8 +5410,12 @@ func (c *Organizations) DisableAWSServiceAccessRequest(input *DisableAWSServiceA // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -5189,27 +5452,34 @@ func (c *Organizations) DisableAWSServiceAccessRequest(input *DisableAWSServiceA // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -5272,12 +5542,15 @@ func (c *Organizations) DisableAWSServiceAccessRequest(input *DisableAWSServiceA // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. +// +// * UnsupportedAPIEndpointException +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DisableAWSServiceAccess func (c *Organizations) DisableAWSServiceAccess(input *DisableAWSServiceAccessInput) (*DisableAWSServiceAccessOutput, error) { @@ -5345,14 +5618,14 @@ func (c *Organizations) DisablePolicyTypeRequest(input *DisablePolicyTypeInput) // DisablePolicyType API operation for AWS Organizations. // -// Disables an organizational control policy type in a root. A policy of a certain -// type can be attached to entities in a root only if that type is enabled in -// the root. After you perform this operation, you no longer can attach policies +// Disables an organizational policy type in a root. A policy of a certain type +// can be attached to entities in a root only if that type is enabled in the +// root. After you perform this operation, you no longer can attach policies // of the specified type to that root or to any organizational unit (OU) or // account in that root. You can undo this by using the EnablePolicyType operation. // // This is an asynchronous request that AWS performs in the background. If you -// disable a policy for a root, it still appears enabled for the organization +// disable a policy type for a root, it still appears enabled for the organization // if all features (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) // are enabled for the organization. AWS recommends that you first use ListRoots // to see the status of policy types for a specified root, and then use this @@ -5391,23 +5664,27 @@ func (c *Organizations) DisablePolicyTypeRequest(input *DisablePolicyTypeInput) // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -5420,19 +5697,32 @@ func (c *Organizations) DisablePolicyTypeRequest(input *DisablePolicyTypeInput) // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -5444,8 +5734,12 @@ func (c *Organizations) DisablePolicyTypeRequest(input *DisablePolicyTypeInput) // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -5482,27 +5776,34 @@ func (c *Organizations) DisablePolicyTypeRequest(input *DisablePolicyTypeInput) // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -5575,15 +5876,15 @@ func (c *Organizations) DisablePolicyTypeRequest(input *DisablePolicyTypeInput) // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // * PolicyChangesInProgressException // Changes to the effective policy are in progress, and its contents can't be @@ -5706,23 +6007,27 @@ func (c *Organizations) EnableAWSServiceAccessRequest(input *EnableAWSServiceAcc // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -5735,19 +6040,32 @@ func (c *Organizations) EnableAWSServiceAccessRequest(input *EnableAWSServiceAcc // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. +// +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -5759,8 +6077,12 @@ func (c *Organizations) EnableAWSServiceAccessRequest(input *EnableAWSServiceAcc // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -5797,27 +6119,34 @@ func (c *Organizations) EnableAWSServiceAccessRequest(input *EnableAWSServiceAcc // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -5880,12 +6209,15 @@ func (c *Organizations) EnableAWSServiceAccessRequest(input *EnableAWSServiceAcc // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. +// +// * UnsupportedAPIEndpointException +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/EnableAWSServiceAccess func (c *Organizations) EnableAWSServiceAccess(input *EnableAWSServiceAccessInput) (*EnableAWSServiceAccessOutput, error) { @@ -6053,7 +6385,7 @@ func (c *Organizations) EnableAllFeaturesRequest(input *EnableAllFeaturesInput) // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -6116,12 +6448,12 @@ func (c *Organizations) EnableAllFeaturesRequest(input *EnableAllFeaturesInput) // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/EnableAllFeatures func (c *Organizations) EnableAllFeatures(input *EnableAllFeaturesInput) (*EnableAllFeaturesOutput, error) { @@ -6233,23 +6565,27 @@ func (c *Organizations) EnablePolicyTypeRequest(input *EnablePolicyTypeInput) (r // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -6262,19 +6598,32 @@ func (c *Organizations) EnablePolicyTypeRequest(input *EnablePolicyTypeInput) (r // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -6286,8 +6635,12 @@ func (c *Organizations) EnablePolicyTypeRequest(input *EnablePolicyTypeInput) (r // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -6324,27 +6677,34 @@ func (c *Organizations) EnablePolicyTypeRequest(input *EnablePolicyTypeInput) (r // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -6413,22 +6773,22 @@ func (c *Organizations) EnablePolicyTypeRequest(input *EnablePolicyTypeInput) (r // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * PolicyTypeNotAvailableForOrganizationException // You can't use the specified policy type with the feature set currently enabled // for this organization. For example, you can enable SCPs only after you enable -// all features in the organization. For more information, see Enabling and -// Disabling a Policy Type on a Root (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root) -// in the AWS Organizations User Guide. +// all features in the organization. For more information, see Managing AWS +// Organizations Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root)in +// the AWS Organizations User Guide. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // * PolicyChangesInProgressException // Changes to the effective policy are in progress, and its contents can't be @@ -6601,7 +6961,7 @@ func (c *Organizations) InviteAccountToOrganizationRequest(input *InviteAccountT // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -6670,12 +7030,12 @@ func (c *Organizations) InviteAccountToOrganizationRequest(input *InviteAccountT // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/InviteAccountToOrganization func (c *Organizations) InviteAccountToOrganization(input *InviteAccountToOrganizationInput) (*InviteAccountToOrganizationOutput, error) { @@ -6809,23 +7169,27 @@ func (c *Organizations) LeaveOrganizationRequest(input *LeaveOrganizationInput) // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -6838,19 +7202,32 @@ func (c *Organizations) LeaveOrganizationRequest(input *LeaveOrganizationInput) // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. +// +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -6862,8 +7239,12 @@ func (c *Organizations) LeaveOrganizationRequest(input *LeaveOrganizationInput) // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -6900,27 +7281,34 @@ func (c *Organizations) LeaveOrganizationRequest(input *LeaveOrganizationInput) // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -6988,12 +7376,12 @@ func (c *Organizations) LeaveOrganizationRequest(input *LeaveOrganizationInput) // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/LeaveOrganization func (c *Organizations) LeaveOrganization(input *LeaveOrganizationInput) (*LeaveOrganizationOutput, error) { @@ -7105,23 +7493,27 @@ func (c *Organizations) ListAWSServiceAccessForOrganizationRequest(input *ListAW // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -7134,19 +7526,32 @@ func (c *Organizations) ListAWSServiceAccessForOrganizationRequest(input *ListAW // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -7158,8 +7563,12 @@ func (c *Organizations) ListAWSServiceAccessForOrganizationRequest(input *ListAW // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -7196,27 +7605,34 @@ func (c *Organizations) ListAWSServiceAccessForOrganizationRequest(input *ListAW // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -7279,12 +7695,15 @@ func (c *Organizations) ListAWSServiceAccessForOrganizationRequest(input *ListAW // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. +// +// * UnsupportedAPIEndpointException +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListAWSServiceAccessForOrganization func (c *Organizations) ListAWSServiceAccessForOrganization(input *ListAWSServiceAccessForOrganizationInput) (*ListAWSServiceAccessForOrganizationOutput, error) { @@ -7447,7 +7866,7 @@ func (c *Organizations) ListAccountsRequest(input *ListAccountsInput) (req *requ // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -7510,12 +7929,12 @@ func (c *Organizations) ListAccountsRequest(input *ListAccountsInput) (req *requ // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListAccounts func (c *Organizations) ListAccounts(input *ListAccountsInput) (*ListAccountsOutput, error) { @@ -7680,7 +8099,7 @@ func (c *Organizations) ListAccountsForParentRequest(input *ListAccountsForParen // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -7746,12 +8165,12 @@ func (c *Organizations) ListAccountsForParentRequest(input *ListAccountsForParen // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListAccountsForParent func (c *Organizations) ListAccountsForParent(input *ListAccountsForParentInput) (*ListAccountsForParentOutput, error) { @@ -7914,7 +8333,7 @@ func (c *Organizations) ListChildrenRequest(input *ListChildrenInput) (req *requ // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -7980,12 +8399,12 @@ func (c *Organizations) ListChildrenRequest(input *ListChildrenInput) (req *requ // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListChildren func (c *Organizations) ListChildren(input *ListChildrenInput) (*ListChildrenOutput, error) { @@ -8147,7 +8566,7 @@ func (c *Organizations) ListCreateAccountStatusRequest(input *ListCreateAccountS // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -8210,15 +8629,15 @@ func (c *Organizations) ListCreateAccountStatusRequest(input *ListCreateAccountS // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListCreateAccountStatus func (c *Organizations) ListCreateAccountStatus(input *ListCreateAccountStatusInput) (*ListCreateAccountStatusOutput, error) { @@ -8375,23 +8794,27 @@ func (c *Organizations) ListDelegatedAdministratorsRequest(input *ListDelegatedA // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -8404,19 +8827,32 @@ func (c *Organizations) ListDelegatedAdministratorsRequest(input *ListDelegatedA // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. +// +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -8428,8 +8864,12 @@ func (c *Organizations) ListDelegatedAdministratorsRequest(input *ListDelegatedA // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -8466,27 +8906,34 @@ func (c *Organizations) ListDelegatedAdministratorsRequest(input *ListDelegatedA // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -8545,19 +8992,19 @@ func (c *Organizations) ListDelegatedAdministratorsRequest(input *ListDelegatedA // between entities in the same root. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * ServiceException // AWS Organizations can't complete your request because of an internal service // error. Try again later. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListDelegatedAdministrators func (c *Organizations) ListDelegatedAdministrators(input *ListDelegatedAdministratorsInput) (*ListDelegatedAdministratorsOutput, error) { @@ -8721,23 +9168,27 @@ func (c *Organizations) ListDelegatedServicesForAccountRequest(input *ListDelega // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -8750,19 +9201,32 @@ func (c *Organizations) ListDelegatedServicesForAccountRequest(input *ListDelega // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -8774,8 +9238,12 @@ func (c *Organizations) ListDelegatedServicesForAccountRequest(input *ListDelega // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -8812,27 +9280,34 @@ func (c *Organizations) ListDelegatedServicesForAccountRequest(input *ListDelega // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -8891,19 +9366,19 @@ func (c *Organizations) ListDelegatedServicesForAccountRequest(input *ListDelega // between entities in the same root. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * ServiceException // AWS Organizations can't complete your request because of an internal service // error. Try again later. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListDelegatedServicesForAccount func (c *Organizations) ListDelegatedServicesForAccount(input *ListDelegatedServicesForAccountInput) (*ListDelegatedServicesForAccountOutput, error) { @@ -9069,7 +9544,7 @@ func (c *Organizations) ListHandshakesForAccountRequest(input *ListHandshakesFor // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -9132,12 +9607,12 @@ func (c *Organizations) ListHandshakesForAccountRequest(input *ListHandshakesFor // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListHandshakesForAccount func (c *Organizations) ListHandshakesForAccount(input *ListHandshakesForAccountInput) (*ListHandshakesForAccountOutput, error) { @@ -9309,7 +9784,7 @@ func (c *Organizations) ListHandshakesForOrganizationRequest(input *ListHandshak // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -9372,12 +9847,12 @@ func (c *Organizations) ListHandshakesForOrganizationRequest(input *ListHandshak // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListHandshakesForOrganization func (c *Organizations) ListHandshakesForOrganization(input *ListHandshakesForOrganizationInput) (*ListHandshakesForOrganizationOutput, error) { @@ -9538,7 +10013,7 @@ func (c *Organizations) ListOrganizationalUnitsForParentRequest(input *ListOrgan // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -9604,12 +10079,12 @@ func (c *Organizations) ListOrganizationalUnitsForParentRequest(input *ListOrgan // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListOrganizationalUnitsForParent func (c *Organizations) ListOrganizationalUnitsForParent(input *ListOrganizationalUnitsForParentInput) (*ListOrganizationalUnitsForParentOutput, error) { @@ -9778,7 +10253,7 @@ func (c *Organizations) ListParentsRequest(input *ListParentsInput) (req *reques // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -9841,12 +10316,12 @@ func (c *Organizations) ListParentsRequest(input *ListParentsInput) (req *reques // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListParents func (c *Organizations) ListParents(input *ListParentsInput) (*ListParentsOutput, error) { @@ -10007,7 +10482,7 @@ func (c *Organizations) ListPoliciesRequest(input *ListPoliciesInput) (req *requ // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -10070,15 +10545,15 @@ func (c *Organizations) ListPoliciesRequest(input *ListPoliciesInput) (req *requ // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListPolicies func (c *Organizations) ListPolicies(input *ListPoliciesInput) (*ListPoliciesOutput, error) { @@ -10241,7 +10716,7 @@ func (c *Organizations) ListPoliciesForTargetRequest(input *ListPoliciesForTarge // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -10307,15 +10782,15 @@ func (c *Organizations) ListPoliciesForTargetRequest(input *ListPoliciesForTarge // We can't find a root, OU, or account with the TargetId that you specified. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListPoliciesForTarget func (c *Organizations) ListPoliciesForTarget(input *ListPoliciesForTargetInput) (*ListPoliciesForTargetOutput, error) { @@ -10482,7 +10957,7 @@ func (c *Organizations) ListRootsRequest(input *ListRootsInput) (req *request.Re // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -10545,12 +11020,12 @@ func (c *Organizations) ListRootsRequest(input *ListRootsInput) (req *request.Re // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListRoots func (c *Organizations) ListRoots(input *ListRootsInput) (*ListRootsOutput, error) { @@ -10711,7 +11186,7 @@ func (c *Organizations) ListTagsForResourceRequest(input *ListTagsForResourceInp // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -10774,12 +11249,12 @@ func (c *Organizations) ListTagsForResourceRequest(input *ListTagsForResourceInp // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListTagsForResource func (c *Organizations) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { @@ -10941,7 +11416,7 @@ func (c *Organizations) ListTargetsForPolicyRequest(input *ListTargetsForPolicyI // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -11007,15 +11482,15 @@ func (c *Organizations) ListTargetsForPolicyRequest(input *ListTargetsForPolicyI // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListTargetsForPolicy func (c *Organizations) ListTargetsForPolicy(input *ListTargetsForPolicyInput) (*ListTargetsForPolicyOutput, error) { @@ -11162,7 +11637,7 @@ func (c *Organizations) MoveAccountRequest(input *MoveAccountInput) (req *reques // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -11236,12 +11711,12 @@ func (c *Organizations) MoveAccountRequest(input *MoveAccountInput) (req *reques // an organization. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * ConcurrentModificationException // The target of the operation is currently being modified by a different request. @@ -11372,23 +11847,27 @@ func (c *Organizations) RegisterDelegatedAdministratorRequest(input *RegisterDel // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -11401,19 +11880,32 @@ func (c *Organizations) RegisterDelegatedAdministratorRequest(input *RegisterDel // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. +// +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -11425,8 +11917,12 @@ func (c *Organizations) RegisterDelegatedAdministratorRequest(input *RegisterDel // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -11463,27 +11959,34 @@ func (c *Organizations) RegisterDelegatedAdministratorRequest(input *RegisterDel // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -11542,19 +12045,19 @@ func (c *Organizations) RegisterDelegatedAdministratorRequest(input *RegisterDel // between entities in the same root. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * ServiceException // AWS Organizations can't complete your request because of an internal service // error. Try again later. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/RegisterDelegatedAdministrator func (c *Organizations) RegisterDelegatedAdministrator(input *RegisterDelegatedAdministratorInput) (*RegisterDelegatedAdministratorOutput, error) { @@ -11683,23 +12186,27 @@ func (c *Organizations) RemoveAccountFromOrganizationRequest(input *RemoveAccoun // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -11712,19 +12219,32 @@ func (c *Organizations) RemoveAccountFromOrganizationRequest(input *RemoveAccoun // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -11736,8 +12256,12 @@ func (c *Organizations) RemoveAccountFromOrganizationRequest(input *RemoveAccoun // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -11774,27 +12298,34 @@ func (c *Organizations) RemoveAccountFromOrganizationRequest(input *RemoveAccoun // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -11862,12 +12393,12 @@ func (c *Organizations) RemoveAccountFromOrganizationRequest(input *RemoveAccoun // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/RemoveAccountFromOrganization func (c *Organizations) RemoveAccountFromOrganization(input *RemoveAccountFromOrganizationInput) (*RemoveAccountFromOrganizationOutput, error) { @@ -11974,23 +12505,27 @@ func (c *Organizations) TagResourceRequest(input *TagResourceInput) (req *reques // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -12003,19 +12538,32 @@ func (c *Organizations) TagResourceRequest(input *TagResourceInput) (req *reques // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. +// +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -12027,8 +12575,12 @@ func (c *Organizations) TagResourceRequest(input *TagResourceInput) (req *reques // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -12065,27 +12617,34 @@ func (c *Organizations) TagResourceRequest(input *TagResourceInput) (req *reques // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -12148,12 +12707,12 @@ func (c *Organizations) TagResourceRequest(input *TagResourceInput) (req *reques // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/TagResource func (c *Organizations) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { @@ -12260,23 +12819,27 @@ func (c *Organizations) UntagResourceRequest(input *UntagResourceInput) (req *re // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -12289,19 +12852,32 @@ func (c *Organizations) UntagResourceRequest(input *UntagResourceInput) (req *re // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -12313,8 +12889,12 @@ func (c *Organizations) UntagResourceRequest(input *UntagResourceInput) (req *re // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -12351,27 +12931,34 @@ func (c *Organizations) UntagResourceRequest(input *UntagResourceInput) (req *re // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * InvalidInputException // The requested operation failed because you provided invalid values for one // or more of the request parameters. This exception includes a reason that // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -12434,12 +13021,12 @@ func (c *Organizations) UntagResourceRequest(input *UntagResourceInput) (req *re // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/UntagResource func (c *Organizations) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { @@ -12545,7 +13132,7 @@ func (c *Organizations) UpdateOrganizationalUnitRequest(input *UpdateOrganizatio // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -12611,12 +13198,12 @@ func (c *Organizations) UpdateOrganizationalUnitRequest(input *UpdateOrganizatio // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/UpdateOrganizationalUnit func (c *Organizations) UpdateOrganizationalUnit(input *UpdateOrganizationalUnitInput) (*UpdateOrganizationalUnitOutput, error) { @@ -12719,23 +13306,27 @@ func (c *Organizations) UpdatePolicyRequest(input *UpdatePolicyInput) (req *requ // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -12748,19 +13339,32 @@ func (c *Organizations) UpdatePolicyRequest(input *UpdatePolicyInput) (req *requ // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. +// +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -12772,8 +13376,12 @@ func (c *Organizations) UpdatePolicyRequest(input *UpdatePolicyInput) (req *requ // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -12810,20 +13418,27 @@ func (c *Organizations) UpdatePolicyRequest(input *UpdatePolicyInput) (req *requ // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. // +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. +// // * DuplicatePolicyException // A policy with the same name already exists. // @@ -12833,7 +13448,7 @@ func (c *Organizations) UpdatePolicyRequest(input *UpdatePolicyInput) (req *requ // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -12905,15 +13520,15 @@ func (c *Organizations) UpdatePolicyRequest(input *UpdatePolicyInput) (req *requ // error. Try again later. // // * TooManyRequestsException -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. // // * UnsupportedAPIEndpointException -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. // // * PolicyChangesInProgressException // Changes to the effective policy are in progress, and its contents can't be @@ -13873,23 +14488,27 @@ func (s *ConcurrentModificationException) RequestID() string { // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated -// limit. +// limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. +// +// * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master +// account from the organization. You can't remove the master account. Instead, +// after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the -// AWS Customer Agreement. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) -// in the AWS Organizations User Guide. +// AWS Customer Agreement. Follow the steps at Removing a member account +// from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in +// the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete -// phone verification. Follow the steps at To leave an organization when -// all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// phone verification. Follow the steps at Removing a member account from +// your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -13902,19 +14521,32 @@ func (s *ConcurrentModificationException) RequestID() string { // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still -// count toward your limit. If you get receive this exception when running -// a command immediately after creating the organization, wait one hour and -// try again. If after an hour it continues to fail with this error, contact +// count toward your limit. If you get this exception when running a command +// immediately after creating the organization, wait one hour and try again. +// After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // -// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate -// only a member account as a delegated administrator. +// * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to +// register the master account of the organization as a delegated administrator +// for an AWS service integrated with Organizations. You can designate only +// a member account as a delegated administrator. +// +// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove +// an account that is registered as a delegated administrator for a service +// integrated with your organization. To complete this operation, you must +// first deregister this account as a delegated administrator. // -// * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, -// you must first deregister this account as a delegated administrator. +// * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an +// organization in the specified region, you must enable all features mode. // -// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, -// you must first deregister all delegated administrators for this service. +// * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register +// an AWS account as a delegated administrator for an AWS service that already +// has a delegated administrator. To complete this operation, you must first +// deregister any existing delegated administrators for this service. +// +// * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only +// valid for a limited period of time. You must resubmit the request and +// generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -13926,8 +14558,12 @@ func (s *ConcurrentModificationException) RequestID() string { // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // +// * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions +// in China. To create an organization, the master must have an valid business +// license. For more information, contact customer support. +// // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you -// must first provide contact a valid address and phone number for the master +// must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -13964,19 +14600,26 @@ func (s *ConcurrentModificationException) RequestID() string { // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // -// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is -// too many levels deep. -// // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // +// * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is +// too many levels deep. +// // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // -// * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of +// * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that +// is larger than the maximum size. +// +// * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. +// +// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with +// tags that are not compliant with the tag policy requirements for this +// account. type ConstraintViolationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -14199,6 +14842,9 @@ type CreateAccountStatus struct { // * ACCOUNT_LIMIT_EXCEEDED: The account could not be created because you // have reached the limit on the number of accounts in your organization. // + // * CONCURRENT_ACCOUNT_MODIFICATION: You already submitted a request with + // the same information. + // // * EMAIL_ALREADY_EXISTS: The account could not be created because another // AWS account with that email address already exists. // @@ -14214,6 +14860,12 @@ type CreateAccountStatus struct { // // * INTERNAL_FAILURE: The account could not be created because of an internal // failure. Try again later. If the problem persists, contact Customer Support. + // + // * MISSING_BUSINESS_VALIDATION: The AWS account that owns your organization + // has not received Business Validation. + // + // * MISSING_PAYMENT_INSTRUMENT: You must configure the master account with + // a valid payment method, such as a credit card. FailureReason *string `type:"string" enum:"CreateAccountFailureReason"` // If the account was created successfully, the unique identifier (ID) of the @@ -14637,13 +15289,8 @@ func (s *CreateOrganizationalUnitOutput) SetOrganizationalUnit(v *Organizational type CreatePolicyInput struct { _ struct{} `type:"structure"` - // The policy content to add to the new policy. For example, if you create a - // service control policy (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) - // (SCP), this string must be JSON text that specifies the permissions that - // admins in attached accounts can delegate to their users, groups, and roles. - // For more information about the SCP syntax, see Service Control Policy Syntax - // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html) - // in the AWS Organizations User Guide. + // The policy text content to add to the new policy. The text that you supply + // must adhere to the rules of the policy type you specify in the Type parameter. // // Content is a required field Content *string `min:"1" type:"string" required:"true"` @@ -14662,10 +15309,15 @@ type CreatePolicyInput struct { // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The type of policy to create. + // The type of policy to create. You can specify one of the following values: + // + // * AISERVICES_OPT_OUT_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) + // + // * BACKUP_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html) + // + // * SERVICE_CONTROL_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) // - // In the current release, the only type of policy that you can create is a - // service control policy (SCP). + // * TAG_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) // // Type is a required field Type *string `type:"string" required:"true" enum:"PolicyType"` @@ -15300,14 +15952,21 @@ func (s *DescribeCreateAccountStatusOutput) SetCreateAccountStatus(v *CreateAcco type DescribeEffectivePolicyInput struct { _ struct{} `type:"structure"` - // The type of policy that you want information about. + // The type of policy that you want information about. You can specify one of + // the following values: + // + // * AISERVICES_OPT_OUT_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) + // + // * BACKUP_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html) + // + // * TAG_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) // // PolicyType is a required field PolicyType *string `type:"string" required:"true" enum:"EffectivePolicyType"` // When you're signed in as the master account, specify the ID of the account - // that you want details about. Specifying an organization root or OU as the - // target is not supported. + // that you want details about. Specifying an organization root or organizational + // unit (OU) as the target is not supported. TargetId *string `type:"string"` } @@ -15453,6 +16112,11 @@ type DescribeOrganizationOutput struct { _ struct{} `type:"structure"` // A structure that contains information about the organization. + // + // The AvailablePolicyTypes part of the response is deprecated, and you shouldn't + // use it in your apps. It doesn't include any policy type supported by Organizations + // other than SCPs. To determine which policy types are enabled in your organization, + // use the ListRoots operation. Organization *Organization `type:"structure"` } @@ -15808,7 +16472,16 @@ func (s DisableAWSServiceAccessOutput) GoString() string { type DisablePolicyTypeInput struct { _ struct{} `type:"structure"` - // The policy type that you want to disable in this root. + // The policy type that you want to disable in this root. You can specify one + // of the following values: + // + // * AISERVICES_OPT_OUT_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) + // + // * BACKUP_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html) + // + // * SERVICE_CONTROL_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) + // + // * TAG_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) // // PolicyType is a required field PolicyType *string `type:"string" required:"true" enum:"PolicyType"` @@ -16378,7 +17051,16 @@ func (s *EnableAllFeaturesOutput) SetHandshake(v *Handshake) *EnableAllFeaturesO type EnablePolicyTypeInput struct { _ struct{} `type:"structure"` - // The policy type that you want to enable. + // The policy type that you want to enable. You can specify one of the following + // values: + // + // * AISERVICES_OPT_OUT_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) + // + // * BACKUP_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html) + // + // * SERVICE_CONTROL_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) + // + // * TAG_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) // // PolicyType is a required field PolicyType *string `type:"string" required:"true" enum:"PolicyType"` @@ -17122,7 +17804,7 @@ func (s *InvalidHandshakeTransitionException) RequestID() string { // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this -// specific API or operation: +// specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -18539,7 +19221,16 @@ func (s *ListParentsOutput) SetParents(v []*Parent) *ListParentsOutput { type ListPoliciesForTargetInput struct { _ struct{} `type:"structure"` - // The type of policy that you want to include in the returned list. + // The type of policy that you want to include in the returned list. You must + // specify one of the following values: + // + // * AISERVICES_OPT_OUT_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) + // + // * BACKUP_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html) + // + // * SERVICE_CONTROL_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) + // + // * TAG_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) // // Filter is a required field Filter *string `type:"string" required:"true" enum:"PolicyType"` @@ -18672,7 +19363,16 @@ func (s *ListPoliciesForTargetOutput) SetPolicies(v []*PolicySummary) *ListPolic type ListPoliciesInput struct { _ struct{} `type:"structure"` - // Specifies the type of policy that you want to include in the response. + // Specifies the type of policy that you want to include in the response. You + // must specify one of the following values: + // + // * AISERVICES_OPT_OUT_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) + // + // * BACKUP_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html) + // + // * SERVICE_CONTROL_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html) + // + // * TAG_POLICY (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html) // // Filter is a required field Filter *string `type:"string" required:"true" enum:"PolicyType"` @@ -19300,14 +20000,12 @@ type Organization struct { // in the AWS Organizations User Guide. Arn *string `type:"string"` - // A list of policy types that are enabled for this organization. For example, - // if your organization has all features enabled, then service control policies - // (SCPs) are included in the list. // - // Even if a policy type is shown as available in the organization, you can - // separately enable and disable them at the root level by using EnablePolicyType - // and DisablePolicyType. Use ListRoots to see the status of a policy type in - // that root. + // Do not use. This field is deprecated and doesn't provide complete information + // about the policies in your organization. + // + // To determine the policies that are enabled and available for use in your + // organization, use the ListRoots operation instead. AvailablePolicyTypes []*PolicyTypeSummary `type:"list"` // Specifies the functionality that currently is available to the organization. @@ -20198,9 +20896,9 @@ func (s *PolicyTypeAlreadyEnabledException) RequestID() string { // You can't use the specified policy type with the feature set currently enabled // for this organization. For example, you can enable SCPs only after you enable -// all features in the organization. For more information, see Enabling and -// Disabling a Policy Type on a Root (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root) -// in the AWS Organizations User Guide. +// all features in the organization. For more information, see Managing AWS +// Organizations Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root)in +// the AWS Organizations User Guide. type PolicyTypeNotAvailableForOrganizationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -20787,9 +21485,9 @@ type TagResourceInput struct { // ResourceId is a required field ResourceId *string `type:"string" required:"true"` - // The tag to add to the specified resource. Specifying the tag key is required. - // You can set the value of a tag to an empty string, but you can't set the - // value of a tag to null. + // The tag to add to the specified resource. You must specify both a tag key + // and value. You can set the value of a tag to an empty string, but you can't + // set it to null. // // Tags is a required field Tags []*Tag `type:"list" required:"true"` @@ -20913,12 +21611,12 @@ func (s *TargetNotFoundException) RequestID() string { return s.RespMetadata.RequestID } -// You have sent too many requests in too short a period of time. The limit +// You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // -// For information on limits that affect AWS Organizations, see Limits of AWS -// Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) -// in the AWS Organizations User Guide. +// For information about quotas that affect AWS Organizations, see Quotas for +// AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in +// the AWS Organizations User Guide. type TooManyRequestsException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -20976,7 +21674,7 @@ func (s *TooManyRequestsException) RequestID() string { return s.RespMetadata.RequestID } -// This action isn't available in the current Region. +// This action isn't available in the current AWS Region. type UnsupportedAPIEndpointException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -21412,6 +22110,9 @@ const ( // ConstraintViolationExceptionReasonDelegatedAdministratorExistsForThisService is a ConstraintViolationExceptionReason enum value ConstraintViolationExceptionReasonDelegatedAdministratorExistsForThisService = "DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE" + + // ConstraintViolationExceptionReasonMasterAccountMissingBusinessLicense is a ConstraintViolationExceptionReason enum value + ConstraintViolationExceptionReasonMasterAccountMissingBusinessLicense = "MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE" ) const ( @@ -21435,6 +22136,12 @@ const ( // CreateAccountFailureReasonGovcloudAccountAlreadyExists is a CreateAccountFailureReason enum value CreateAccountFailureReasonGovcloudAccountAlreadyExists = "GOVCLOUD_ACCOUNT_ALREADY_EXISTS" + + // CreateAccountFailureReasonMissingBusinessValidation is a CreateAccountFailureReason enum value + CreateAccountFailureReasonMissingBusinessValidation = "MISSING_BUSINESS_VALIDATION" + + // CreateAccountFailureReasonMissingPaymentInstrument is a CreateAccountFailureReason enum value + CreateAccountFailureReasonMissingPaymentInstrument = "MISSING_PAYMENT_INSTRUMENT" ) const ( @@ -21451,6 +22158,12 @@ const ( const ( // EffectivePolicyTypeTagPolicy is a EffectivePolicyType enum value EffectivePolicyTypeTagPolicy = "TAG_POLICY" + + // EffectivePolicyTypeBackupPolicy is a EffectivePolicyType enum value + EffectivePolicyTypeBackupPolicy = "BACKUP_POLICY" + + // EffectivePolicyTypeAiservicesOptOutPolicy is a EffectivePolicyType enum value + EffectivePolicyTypeAiservicesOptOutPolicy = "AISERVICES_OPT_OUT_POLICY" ) const ( @@ -21634,6 +22347,12 @@ const ( // PolicyTypeTagPolicy is a PolicyType enum value PolicyTypeTagPolicy = "TAG_POLICY" + + // PolicyTypeBackupPolicy is a PolicyType enum value + PolicyTypeBackupPolicy = "BACKUP_POLICY" + + // PolicyTypeAiservicesOptOutPolicy is a PolicyType enum value + PolicyTypeAiservicesOptOutPolicy = "AISERVICES_OPT_OUT_POLICY" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/organizations/errors.go b/vendor/github.com/aws/aws-sdk-go/service/organizations/errors.go index 8ad7420f57b..52cea61e083 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/organizations/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/organizations/errors.go @@ -91,23 +91,27 @@ const ( // an OU or root, inviting or creating too many accounts to the organization, // or attaching too many policies to an account, OU, or root. This exception // includes a reason that contains additional information about the violated - // limit. + // limit: // // Some of the reasons in the following list might not be applicable to this - // specific API or operation: + // specific API or operation. + // + // * ACCOUNT_CANNOT_LEAVE_ORGANIZAION: You attempted to remove the master + // account from the organization. You can't remove the master account. Instead, + // after you remove all member accounts, delete the organization itself. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account // from the organization that doesn't yet have enough information to exist // as a standalone account. This account requires you to first agree to the - // AWS Customer Agreement. Follow the steps at To leave an organization when - // all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) - // in the AWS Organizations User Guide. + // AWS Customer Agreement. Follow the steps at Removing a member account + // from your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)in + // the AWS Organizations User Guide. // // * ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove // an account from the organization that doesn't yet have enough information // to exist as a standalone account. This account requires you to first complete - // phone verification. Follow the steps at To leave an organization when - // all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) + // phone verification. Follow the steps at Removing a member account from + // your organization (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master) // in the AWS Organizations User Guide. // // * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number @@ -120,19 +124,32 @@ const ( // tried to send would cause you to exceed the limit of accounts in your // organization. Send fewer invitations or contact AWS Support to request // an increase in the number of accounts. Deleted and closed accounts still - // count toward your limit. If you get receive this exception when running - // a command immediately after creating the organization, wait one hour and - // try again. If after an hour it continues to fail with this error, contact + // count toward your limit. If you get this exception when running a command + // immediately after creating the organization, wait one hour and try again. + // After an hour, if the command continues to fail with this error, contact // AWS Support (https://console.aws.amazon.com/support/home#/). // - // * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate - // only a member account as a delegated administrator. + // * CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to + // register the master account of the organization as a delegated administrator + // for an AWS service integrated with Organizations. You can designate only + // a member account as a delegated administrator. + // + // * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove + // an account that is registered as a delegated administrator for a service + // integrated with your organization. To complete this operation, you must + // first deregister this account as a delegated administrator. + // + // * CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an + // organization in the specified region, you must enable all features mode. // - // * CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, - // you must first deregister this account as a delegated administrator. + // * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register + // an AWS account as a delegated administrator for an AWS service that already + // has a delegated administrator. To complete this operation, you must first + // deregister any existing delegated administrators for this service. // - // * DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, - // you must first deregister all delegated administrators for this service. + // * EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only + // valid for a limited period of time. You must resubmit the request and + // generate a new verfication code. // // * HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of // handshakes that you can send in one day. @@ -144,8 +161,12 @@ const ( // AISPL marketplace. All accounts in an organization must be associated // with the same marketplace. // + // * MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the AWS Regions + // in China. To create an organization, the master must have an valid business + // license. For more information, contact customer support. + // // * MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you - // must first provide contact a valid address and phone number for the master + // must first provide a valid contact address and phone number for the master // account. Then try the operation again. // // * MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the @@ -182,19 +203,26 @@ const ( // policy from an entity that would cause the entity to have fewer than the // minimum number of policies of a certain type required. // - // * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is - // too many levels deep. - // // * ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation // that requires the organization to be configured to support all features. // An organization that supports only consolidated billing features can't // perform this operation. // + // * OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is + // too many levels deep. + // // * OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs // that you can have in an organization. // - // * POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of + // * POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that + // is larger than the maximum size. + // + // * POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of // policies that you can have in an organization. + // + // * TAG_POLICY_VIOLATION: You attempted to create or update a resource with + // tags that are not compliant with the tag policy requirements for this + // account. ErrCodeConstraintViolationException = "ConstraintViolationException" // ErrCodeCreateAccountStatusNotFoundException for service response error code @@ -335,7 +363,7 @@ const ( // contains additional information about the violated limit: // // Some of the reasons in the following list might not be applicable to this - // specific API or operation: + // specific API or operation. // // * IMMUTABLE_POLICY: You specified a policy that is managed by AWS and // can't be modified. @@ -474,9 +502,9 @@ const ( // // You can't use the specified policy type with the feature set currently enabled // for this organization. For example, you can enable SCPs only after you enable - // all features in the organization. For more information, see Enabling and - // Disabling a Policy Type on a Root (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root) - // in the AWS Organizations User Guide. + // all features in the organization. For more information, see Managing AWS + // Organizations Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root)in + // the AWS Organizations User Guide. ErrCodePolicyTypeNotAvailableForOrganizationException = "PolicyTypeNotAvailableForOrganizationException" // ErrCodePolicyTypeNotEnabledException for service response error code @@ -517,18 +545,18 @@ const ( // ErrCodeTooManyRequestsException for service response error code // "TooManyRequestsException". // - // You have sent too many requests in too short a period of time. The limit + // You have sent too many requests in too short a period of time. The quota // helps protect against denial-of-service attacks. Try again later. // - // For information on limits that affect AWS Organizations, see Limits of AWS - // Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) - // in the AWS Organizations User Guide. + // For information about quotas that affect AWS Organizations, see Quotas for + // AWS Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in + // the AWS Organizations User Guide. ErrCodeTooManyRequestsException = "TooManyRequestsException" // ErrCodeUnsupportedAPIEndpointException for service response error code // "UnsupportedAPIEndpointException". // - // This action isn't available in the current Region. + // This action isn't available in the current AWS Region. ErrCodeUnsupportedAPIEndpointException = "UnsupportedAPIEndpointException" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/personalize/api.go b/vendor/github.com/aws/aws-sdk-go/service/personalize/api.go index 77af5917c09..529049077c4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/personalize/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/personalize/api.go @@ -534,7 +534,9 @@ func (c *Personalize) CreateDatasetImportJobRequest(input *CreateDatasetImportJo // Creates a job that imports training data from your data source (an Amazon // S3 bucket) to an Amazon Personalize dataset. To allow Amazon Personalize // to import the training data, you must specify an AWS Identity and Access -// Management (IAM) role that has permission to read from the data source. +// Management (IAM) role that has permission to read from the data source, as +// Amazon Personalize makes a copy of your data and processes it in an internal +// AWS system. // // The dataset import job replaces any previous data in the dataset. // @@ -727,6 +729,95 @@ func (c *Personalize) CreateEventTrackerWithContext(ctx aws.Context, input *Crea return out, req.Send() } +const opCreateFilter = "CreateFilter" + +// CreateFilterRequest generates a "aws/request.Request" representing the +// client's request for the CreateFilter operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateFilter for more information on using the CreateFilter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateFilterRequest method. +// req, resp := client.CreateFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateFilter +func (c *Personalize) CreateFilterRequest(input *CreateFilterInput) (req *request.Request, output *CreateFilterOutput) { + op := &request.Operation{ + Name: opCreateFilter, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateFilterInput{} + } + + output = &CreateFilterOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateFilter API operation for Amazon Personalize. +// +// Creates a recommendation filter. For more information, see Using Filters +// with Amazon Personalize (https://docs.aws.amazon.com/personalize/latest/dg/filters.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 Personalize's +// API operation CreateFilter for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// Provide a valid value for the field or parameter. +// +// * ResourceAlreadyExistsException +// The specified resource already exists. +// +// * ResourceNotFoundException +// Could not find the specified resource. +// +// * LimitExceededException +// The limit on the number of requests per second has been exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateFilter +func (c *Personalize) CreateFilter(input *CreateFilterInput) (*CreateFilterOutput, error) { + req, out := c.CreateFilterRequest(input) + return out, req.Send() +} + +// CreateFilterWithContext is the same as CreateFilter with the addition of +// the ability to pass a context and additional request options. +// +// See CreateFilter for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) CreateFilterWithContext(ctx aws.Context, input *CreateFilterInput, opts ...request.Option) (*CreateFilterOutput, error) { + req, out := c.CreateFilterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateSchema = "CreateSchema" // CreateSchemaRequest generates a "aws/request.Request" representing the @@ -1046,6 +1137,9 @@ func (c *Personalize) CreateSolutionVersionRequest(input *CreateSolutionVersionI // * ResourceNotFoundException // Could not find the specified resource. // +// * LimitExceededException +// The limit on the number of requests per second has been exceeded. +// // * ResourceInUseException // The specified resource is in use. // @@ -1429,6 +1523,92 @@ func (c *Personalize) DeleteEventTrackerWithContext(ctx aws.Context, input *Dele return out, req.Send() } +const opDeleteFilter = "DeleteFilter" + +// DeleteFilterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFilter operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteFilter for more information on using the DeleteFilter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteFilterRequest method. +// req, resp := client.DeleteFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteFilter +func (c *Personalize) DeleteFilterRequest(input *DeleteFilterInput) (req *request.Request, output *DeleteFilterOutput) { + op := &request.Operation{ + Name: opDeleteFilter, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteFilterInput{} + } + + output = &DeleteFilterOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteFilter API operation for Amazon Personalize. +// +// Deletes a filter. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DeleteFilter for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// Provide a valid value for the field or parameter. +// +// * ResourceNotFoundException +// Could not find the specified resource. +// +// * ResourceInUseException +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DeleteFilter +func (c *Personalize) DeleteFilter(input *DeleteFilterInput) (*DeleteFilterOutput, error) { + req, out := c.DeleteFilterRequest(input) + return out, req.Send() +} + +// DeleteFilterWithContext is the same as DeleteFilter with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteFilter for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DeleteFilterWithContext(ctx aws.Context, input *DeleteFilterInput, opts ...request.Option) (*DeleteFilterOutput, error) { + req, out := c.DeleteFilterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteSchema = "DeleteSchema" // DeleteSchemaRequest generates a "aws/request.Request" representing the @@ -2279,6 +2459,88 @@ func (c *Personalize) DescribeFeatureTransformationWithContext(ctx aws.Context, return out, req.Send() } +const opDescribeFilter = "DescribeFilter" + +// DescribeFilterRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFilter operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeFilter for more information on using the DescribeFilter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeFilterRequest method. +// req, resp := client.DescribeFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFilter +func (c *Personalize) DescribeFilterRequest(input *DescribeFilterInput) (req *request.Request, output *DescribeFilterOutput) { + op := &request.Operation{ + Name: opDescribeFilter, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeFilterInput{} + } + + output = &DescribeFilterOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFilter API operation for Amazon Personalize. +// +// Describes a filter's properties. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation DescribeFilter for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// Provide a valid value for the field or parameter. +// +// * ResourceNotFoundException +// Could not find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeFilter +func (c *Personalize) DescribeFilter(input *DescribeFilterInput) (*DescribeFilterOutput, error) { + req, out := c.DescribeFilterRequest(input) + return out, req.Send() +} + +// DescribeFilterWithContext is the same as DescribeFilter with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFilter for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) DescribeFilterWithContext(ctx aws.Context, input *DescribeFilterInput, opts ...request.Option) (*DescribeFilterOutput, error) { + req, out := c.DescribeFilterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeRecipe = "DescribeRecipe" // DescribeRecipeRequest generates a "aws/request.Request" representing the @@ -3561,6 +3823,88 @@ func (c *Personalize) ListEventTrackersPagesWithContext(ctx aws.Context, input * return p.Err() } +const opListFilters = "ListFilters" + +// ListFiltersRequest generates a "aws/request.Request" representing the +// client's request for the ListFilters operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListFilters for more information on using the ListFilters +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListFiltersRequest method. +// req, resp := client.ListFiltersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListFilters +func (c *Personalize) ListFiltersRequest(input *ListFiltersInput) (req *request.Request, output *ListFiltersOutput) { + op := &request.Operation{ + Name: opListFilters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListFiltersInput{} + } + + output = &ListFiltersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFilters API operation for Amazon Personalize. +// +// Lists all filters that belong to a given dataset group. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Personalize's +// API operation ListFilters for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// Provide a valid value for the field or parameter. +// +// * InvalidNextTokenException +// The token is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListFilters +func (c *Personalize) ListFilters(input *ListFiltersInput) (*ListFiltersOutput, error) { + req, out := c.ListFiltersRequest(input) + return out, req.Send() +} + +// ListFiltersWithContext is the same as ListFilters with the addition of +// the ability to pass a context and additional request options. +// +// See ListFilters for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Personalize) ListFiltersWithContext(ctx aws.Context, input *ListFiltersInput, opts ...request.Option) (*ListFiltersOutput, error) { + req, out := c.ListFiltersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListRecipes = "ListRecipes" // ListRecipesRequest generates a "aws/request.Request" representing the @@ -4431,12 +4775,19 @@ type BatchInferenceJob struct { // The Amazon Resource Name (ARN) of the batch inference job. BatchInferenceJobArn *string `locationName:"batchInferenceJobArn" type:"string"` + // A string to string map of the configuration details of a batch inference + // job. + BatchInferenceJobConfig *BatchInferenceJobConfig `locationName:"batchInferenceJobConfig" type:"structure"` + // The time at which the batch inference job was created. CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` // If the batch inference job failed, the reason for the failure. FailureReason *string `locationName:"failureReason" type:"string"` + // The ARN of the filter used on the batch inference job. + FilterArn *string `locationName:"filterArn" type:"string"` + // The Amazon S3 path that leads to the input data used to generate the batch // inference job. JobInput *BatchInferenceJobInput `locationName:"jobInput" type:"structure"` @@ -4492,6 +4843,12 @@ func (s *BatchInferenceJob) SetBatchInferenceJobArn(v string) *BatchInferenceJob return s } +// SetBatchInferenceJobConfig sets the BatchInferenceJobConfig field's value. +func (s *BatchInferenceJob) SetBatchInferenceJobConfig(v *BatchInferenceJobConfig) *BatchInferenceJob { + s.BatchInferenceJobConfig = v + return s +} + // SetCreationDateTime sets the CreationDateTime field's value. func (s *BatchInferenceJob) SetCreationDateTime(v time.Time) *BatchInferenceJob { s.CreationDateTime = &v @@ -4504,6 +4861,12 @@ func (s *BatchInferenceJob) SetFailureReason(v string) *BatchInferenceJob { return s } +// SetFilterArn sets the FilterArn field's value. +func (s *BatchInferenceJob) SetFilterArn(v string) *BatchInferenceJob { + s.FilterArn = &v + return s +} + // SetJobInput sets the JobInput field's value. func (s *BatchInferenceJob) SetJobInput(v *BatchInferenceJobInput) *BatchInferenceJob { s.JobInput = v @@ -4552,6 +4915,31 @@ func (s *BatchInferenceJob) SetStatus(v string) *BatchInferenceJob { return s } +// The configuration details of a batch inference job. +type BatchInferenceJobConfig struct { + _ struct{} `type:"structure"` + + // A string to string map specifying the inference hyperparameters you wish + // to use for hyperparameter optimization. See customizing-solution-config-hpo. + ItemExplorationConfig map[string]*string `locationName:"itemExplorationConfig" type:"map"` +} + +// String returns the string representation +func (s BatchInferenceJobConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchInferenceJobConfig) GoString() string { + return s.String() +} + +// SetItemExplorationConfig sets the ItemExplorationConfig field's value. +func (s *BatchInferenceJobConfig) SetItemExplorationConfig(v map[string]*string) *BatchInferenceJobConfig { + s.ItemExplorationConfig = v + return s +} + // The input configuration of a batch inference job. type BatchInferenceJobInput struct { _ struct{} `type:"structure"` @@ -4738,6 +5126,9 @@ type Campaign struct { // The Amazon Resource Name (ARN) of the campaign. CampaignArn *string `locationName:"campaignArn" type:"string"` + // The configuration details of a campaign. + CampaignConfig *CampaignConfig `locationName:"campaignConfig" type:"structure"` + // The date and time (in Unix format) that the campaign was created. CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` @@ -4787,6 +5178,12 @@ func (s *Campaign) SetCampaignArn(v string) *Campaign { return s } +// SetCampaignConfig sets the CampaignConfig field's value. +func (s *Campaign) SetCampaignConfig(v *CampaignConfig) *Campaign { + s.CampaignConfig = v + return s +} + // SetCreationDateTime sets the CreationDateTime field's value. func (s *Campaign) SetCreationDateTime(v time.Time) *Campaign { s.CreationDateTime = &v @@ -4835,6 +5232,31 @@ func (s *Campaign) SetStatus(v string) *Campaign { return s } +// The configuration details of a campaign. +type CampaignConfig struct { + _ struct{} `type:"structure"` + + // A string to string map specifying the inference hyperparameters you wish + // to use for hyperparameter optimization. See customizing-solution-config-hpo. + ItemExplorationConfig map[string]*string `locationName:"itemExplorationConfig" type:"map"` +} + +// String returns the string representation +func (s CampaignConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CampaignConfig) GoString() string { + return s.String() +} + +// SetItemExplorationConfig sets the ItemExplorationConfig field's value. +func (s *CampaignConfig) SetItemExplorationConfig(v map[string]*string) *CampaignConfig { + s.ItemExplorationConfig = v + return s +} + // Provides a summary of the properties of a campaign. For a complete listing, // call the DescribeCampaign API. type CampaignSummary struct { @@ -4916,6 +5338,9 @@ func (s *CampaignSummary) SetStatus(v string) *CampaignSummary { type CampaignUpdateSummary struct { _ struct{} `type:"structure"` + // The configuration details of a campaign. + CampaignConfig *CampaignConfig `locationName:"campaignConfig" type:"structure"` + // The date and time (in Unix time) that the campaign update was created. CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` @@ -4952,6 +5377,12 @@ func (s CampaignUpdateSummary) GoString() string { return s.String() } +// SetCampaignConfig sets the CampaignConfig field's value. +func (s *CampaignUpdateSummary) SetCampaignConfig(v *CampaignConfig) *CampaignUpdateSummary { + s.CampaignConfig = v + return s +} + // SetCreationDateTime sets the CreationDateTime field's value. func (s *CampaignUpdateSummary) SetCreationDateTime(v time.Time) *CampaignUpdateSummary { s.CreationDateTime = &v @@ -5082,6 +5513,13 @@ func (s *ContinuousHyperParameterRange) SetName(v string) *ContinuousHyperParame type CreateBatchInferenceJobInput struct { _ struct{} `type:"structure"` + // The configuration details of a batch inference job. + BatchInferenceJobConfig *BatchInferenceJobConfig `locationName:"batchInferenceJobConfig" type:"structure"` + + // The ARN of the filter to apply to the batch inference job. For more information + // on using filters, see Using Filters with Amazon Personalize. + FilterArn *string `locationName:"filterArn" type:"string"` + // The Amazon S3 path that leads to the input file to base your recommendations // on. The input material must be in JSON format. // @@ -5162,6 +5600,18 @@ func (s *CreateBatchInferenceJobInput) Validate() error { return nil } +// SetBatchInferenceJobConfig sets the BatchInferenceJobConfig field's value. +func (s *CreateBatchInferenceJobInput) SetBatchInferenceJobConfig(v *BatchInferenceJobConfig) *CreateBatchInferenceJobInput { + s.BatchInferenceJobConfig = v + return s +} + +// SetFilterArn sets the FilterArn field's value. +func (s *CreateBatchInferenceJobInput) SetFilterArn(v string) *CreateBatchInferenceJobInput { + s.FilterArn = &v + return s +} + // SetJobInput sets the JobInput field's value. func (s *CreateBatchInferenceJobInput) SetJobInput(v *BatchInferenceJobInput) *CreateBatchInferenceJobInput { s.JobInput = v @@ -5224,6 +5674,9 @@ func (s *CreateBatchInferenceJobOutput) SetBatchInferenceJobArn(v string) *Creat type CreateCampaignInput struct { _ struct{} `type:"structure"` + // The configuration details of a campaign. + CampaignConfig *CampaignConfig `locationName:"campaignConfig" type:"structure"` + // Specifies the requested minimum provisioned transactions (recommendations) // per second that Amazon Personalize will support. // @@ -5277,6 +5730,12 @@ func (s *CreateCampaignInput) Validate() error { return nil } +// SetCampaignConfig sets the CampaignConfig field's value. +func (s *CreateCampaignInput) SetCampaignConfig(v *CampaignConfig) *CreateCampaignInput { + s.CampaignConfig = v + return s +} + // SetMinProvisionedTPS sets the MinProvisionedTPS field's value. func (s *CreateCampaignInput) SetMinProvisionedTPS(v int64) *CreateCampaignInput { s.MinProvisionedTPS = &v @@ -5713,6 +6172,108 @@ func (s *CreateEventTrackerOutput) SetTrackingId(v string) *CreateEventTrackerOu return s } +type CreateFilterInput struct { + _ struct{} `type:"structure"` + + // The ARN of the dataset group that the filter will belong to. + // + // DatasetGroupArn is a required field + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string" required:"true"` + + // The filter expression that designates the interaction types that the filter + // will filter out. A filter expression must follow the following format: + // + // EXCLUDE itemId WHERE INTERACTIONS.event_type in ("EVENT_TYPE") + // + // Where "EVENT_TYPE" is the type of event to filter out. To filter out all + // items with any interactions history, set "*" as the EVENT_TYPE. For more + // information, see Using Filters with Amazon Personalize (https://docs.aws.amazon.com/personalize/latest/dg/filters.html). + // + // FilterExpression is a required field + FilterExpression *string `locationName:"filterExpression" min:"1" type:"string" required:"true" sensitive:"true"` + + // The name of the filter to create. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateFilterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFilterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFilterInput"} + if s.DatasetGroupArn == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn")) + } + if s.FilterExpression == nil { + invalidParams.Add(request.NewErrParamRequired("FilterExpression")) + } + if s.FilterExpression != nil && len(*s.FilterExpression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FilterExpression", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *CreateFilterInput) SetDatasetGroupArn(v string) *CreateFilterInput { + s.DatasetGroupArn = &v + return s +} + +// SetFilterExpression sets the FilterExpression field's value. +func (s *CreateFilterInput) SetFilterExpression(v string) *CreateFilterInput { + s.FilterExpression = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateFilterInput) SetName(v string) *CreateFilterInput { + s.Name = &v + return s +} + +type CreateFilterOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the new filter. + FilterArn *string `locationName:"filterArn" type:"string"` +} + +// String returns the string representation +func (s CreateFilterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFilterOutput) GoString() string { + return s.String() +} + +// SetFilterArn sets the FilterArn field's value. +func (s *CreateFilterOutput) SetFilterArn(v string) *CreateFilterOutput { + s.FilterArn = &v + return s +} + type CreateSchemaInput struct { _ struct{} `type:"structure"` @@ -7031,44 +7592,96 @@ func (s *DeleteDatasetInput) SetDatasetArn(v string) *DeleteDatasetInput { return s } -type DeleteDatasetOutput struct { +type DeleteDatasetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDatasetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDatasetOutput) GoString() string { + return s.String() +} + +type DeleteEventTrackerInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the event tracker to delete. + // + // EventTrackerArn is a required field + EventTrackerArn *string `locationName:"eventTrackerArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteEventTrackerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEventTrackerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEventTrackerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEventTrackerInput"} + if s.EventTrackerArn == nil { + invalidParams.Add(request.NewErrParamRequired("EventTrackerArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEventTrackerArn sets the EventTrackerArn field's value. +func (s *DeleteEventTrackerInput) SetEventTrackerArn(v string) *DeleteEventTrackerInput { + s.EventTrackerArn = &v + return s +} + +type DeleteEventTrackerOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s DeleteDatasetOutput) String() string { +func (s DeleteEventTrackerOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDatasetOutput) GoString() string { +func (s DeleteEventTrackerOutput) GoString() string { return s.String() } -type DeleteEventTrackerInput struct { +type DeleteFilterInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the event tracker to delete. + // The ARN of the filter to delete. // - // EventTrackerArn is a required field - EventTrackerArn *string `locationName:"eventTrackerArn" type:"string" required:"true"` + // FilterArn is a required field + FilterArn *string `locationName:"filterArn" type:"string" required:"true"` } // String returns the string representation -func (s DeleteEventTrackerInput) String() string { +func (s DeleteFilterInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteEventTrackerInput) GoString() string { +func (s DeleteFilterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteEventTrackerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteEventTrackerInput"} - if s.EventTrackerArn == nil { - invalidParams.Add(request.NewErrParamRequired("EventTrackerArn")) +func (s *DeleteFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFilterInput"} + if s.FilterArn == nil { + invalidParams.Add(request.NewErrParamRequired("FilterArn")) } if invalidParams.Len() > 0 { @@ -7077,23 +7690,23 @@ func (s *DeleteEventTrackerInput) Validate() error { return nil } -// SetEventTrackerArn sets the EventTrackerArn field's value. -func (s *DeleteEventTrackerInput) SetEventTrackerArn(v string) *DeleteEventTrackerInput { - s.EventTrackerArn = &v +// SetFilterArn sets the FilterArn field's value. +func (s *DeleteFilterInput) SetFilterArn(v string) *DeleteFilterInput { + s.FilterArn = &v return s } -type DeleteEventTrackerOutput struct { +type DeleteFilterOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s DeleteEventTrackerOutput) String() string { +func (s DeleteFilterOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteEventTrackerOutput) GoString() string { +func (s DeleteFilterOutput) GoString() string { return s.String() } @@ -7699,6 +8312,67 @@ func (s *DescribeFeatureTransformationOutput) SetFeatureTransformation(v *Featur return s } +type DescribeFilterInput struct { + _ struct{} `type:"structure"` + + // The ARN of the filter to describe. + // + // FilterArn is a required field + FilterArn *string `locationName:"filterArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeFilterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFilterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFilterInput"} + if s.FilterArn == nil { + invalidParams.Add(request.NewErrParamRequired("FilterArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilterArn sets the FilterArn field's value. +func (s *DescribeFilterInput) SetFilterArn(v string) *DescribeFilterInput { + s.FilterArn = &v + return s +} + +type DescribeFilterOutput struct { + _ struct{} `type:"structure"` + + // The filter's details. + Filter *Filter `locationName:"filter" type:"structure"` +} + +// String returns the string representation +func (s DescribeFilterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFilterOutput) GoString() string { + return s.String() +} + +// SetFilter sets the Filter field's value. +func (s *DescribeFilterOutput) SetFilter(v *Filter) *DescribeFilterOutput { + s.Filter = v + return s +} + type DescribeRecipeInput struct { _ struct{} `type:"structure"` @@ -8180,6 +8854,178 @@ func (s *FeatureTransformation) SetStatus(v string) *FeatureTransformation { return s } +// Contains information on a recommendation filter, including its ARN, status, +// and filter expression. +type Filter struct { + _ struct{} `type:"structure"` + + // The time at which the filter was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The ARN of the dataset group to which the filter belongs. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // If the filter failed, the reason for its failure. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The ARN of the filter. + FilterArn *string `locationName:"filterArn" type:"string"` + + // Specifies the type of item interactions to filter out of recommendation results. + // The filter expression must follow the following format: + // + // EXCLUDE itemId WHERE INTERACTIONS.event_type in ("EVENT_TYPE") + // + // Where "EVENT_TYPE" is the type of event to filter out. For more information, + // see Using Filters with Amazon Personalize (https://docs.aws.amazon.com/personalize/latest/dg/filters.html). + FilterExpression *string `locationName:"filterExpression" min:"1" type:"string" sensitive:"true"` + + // The time at which the filter was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the filter. + Name *string `locationName:"name" min:"1" type:"string"` + + // The status of the filter. + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *Filter) SetCreationDateTime(v time.Time) *Filter { + s.CreationDateTime = &v + return s +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *Filter) SetDatasetGroupArn(v string) *Filter { + s.DatasetGroupArn = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *Filter) SetFailureReason(v string) *Filter { + s.FailureReason = &v + return s +} + +// SetFilterArn sets the FilterArn field's value. +func (s *Filter) SetFilterArn(v string) *Filter { + s.FilterArn = &v + return s +} + +// SetFilterExpression sets the FilterExpression field's value. +func (s *Filter) SetFilterExpression(v string) *Filter { + s.FilterExpression = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *Filter) SetLastUpdatedDateTime(v time.Time) *Filter { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Filter) SetStatus(v string) *Filter { + s.Status = &v + return s +} + +// A short summary of a filter's attributes. +type FilterSummary struct { + _ struct{} `type:"structure"` + + // The time at which the filter was created. + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"` + + // The ARN of the dataset group to which the filter belongs. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // If the filter failed, the reason for the failure. + FailureReason *string `locationName:"failureReason" type:"string"` + + // The ARN of the filter. + FilterArn *string `locationName:"filterArn" type:"string"` + + // The time at which the filter was last updated. + LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"` + + // The name of the filter. + Name *string `locationName:"name" min:"1" type:"string"` + + // The status of the filter. + Status *string `locationName:"status" type:"string"` +} + +// String returns the string representation +func (s FilterSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FilterSummary) GoString() string { + return s.String() +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *FilterSummary) SetCreationDateTime(v time.Time) *FilterSummary { + s.CreationDateTime = &v + return s +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *FilterSummary) SetDatasetGroupArn(v string) *FilterSummary { + s.DatasetGroupArn = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *FilterSummary) SetFailureReason(v string) *FilterSummary { + s.FailureReason = &v + return s +} + +// SetFilterArn sets the FilterArn field's value. +func (s *FilterSummary) SetFilterArn(v string) *FilterSummary { + s.FilterArn = &v + return s +} + +// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value. +func (s *FilterSummary) SetLastUpdatedDateTime(v time.Time) *FilterSummary { + s.LastUpdatedDateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *FilterSummary) SetName(v string) *FilterSummary { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *FilterSummary) SetStatus(v string) *FilterSummary { + s.Status = &v + return s +} + type GetSolutionMetricsInput struct { _ struct{} `type:"structure"` @@ -9201,6 +10047,93 @@ func (s *ListEventTrackersOutput) SetNextToken(v string) *ListEventTrackersOutpu return s } +type ListFiltersInput struct { + _ struct{} `type:"structure"` + + // The ARN of the dataset group that contains the filters. + DatasetGroupArn *string `locationName:"datasetGroupArn" type:"string"` + + // The maximum number of filters to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token returned from the previous call to ListFilters for getting the next + // set of filters (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListFiltersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFiltersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFiltersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFiltersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetGroupArn sets the DatasetGroupArn field's value. +func (s *ListFiltersInput) SetDatasetGroupArn(v string) *ListFiltersInput { + s.DatasetGroupArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListFiltersInput) SetMaxResults(v int64) *ListFiltersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFiltersInput) SetNextToken(v string) *ListFiltersInput { + s.NextToken = &v + return s +} + +type ListFiltersOutput struct { + _ struct{} `type:"structure"` + + // A list of returned filters. + Filters []*FilterSummary `type:"list"` + + // A token for getting the next set of filters (if they exist). + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListFiltersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFiltersOutput) GoString() string { + return s.String() +} + +// SetFilters sets the Filters field's value. +func (s *ListFiltersOutput) SetFilters(v []*FilterSummary) *ListFiltersOutput { + s.Filters = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFiltersOutput) SetNextToken(v string) *ListFiltersOutput { + s.NextToken = &v + return s +} + type ListRecipesInput struct { _ struct{} `type:"structure"` @@ -10488,6 +11421,9 @@ type UpdateCampaignInput struct { // CampaignArn is a required field CampaignArn *string `locationName:"campaignArn" type:"string" required:"true"` + // The configuration details of a campaign. + CampaignConfig *CampaignConfig `locationName:"campaignConfig" type:"structure"` + // Specifies the requested minimum provisioned transactions (recommendations) // per second that Amazon Personalize will support. MinProvisionedTPS *int64 `locationName:"minProvisionedTPS" min:"1" type:"integer"` @@ -10528,6 +11464,12 @@ func (s *UpdateCampaignInput) SetCampaignArn(v string) *UpdateCampaignInput { return s } +// SetCampaignConfig sets the CampaignConfig field's value. +func (s *UpdateCampaignInput) SetCampaignConfig(v *CampaignConfig) *UpdateCampaignInput { + s.CampaignConfig = v + return s +} + // SetMinProvisionedTPS sets the MinProvisionedTPS field's value. func (s *UpdateCampaignInput) SetMinProvisionedTPS(v int64) *UpdateCampaignInput { s.MinProvisionedTPS = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go b/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go index d0798a85c60..fd791c40bd8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/pinpoint/api.go @@ -12569,6 +12569,10 @@ func (s *ActivitiesResponse) SetNextToken(v string) *ActivitiesResponse { type Activity struct { _ struct{} `type:"structure"` + // The settings for a custom message activity. This type of activity calls an + // AWS Lambda function or web hook that sends messages to participants. + CUSTOM *CustomMessageActivity `type:"structure"` + // The settings for a yes/no split activity. This type of activity sends participants // down one of two paths in a journey, based on conditions that you specify. ConditionalSplit *ConditionalSplitActivity `type:"structure"` @@ -12589,11 +12593,19 @@ type Activity struct { // path) in a journey, based on conditions that you specify. MultiCondition *MultiConditionalSplitActivity `type:"structure"` + // The settings for a push notification activity. This type of activity sends + // a push notification to participants. + PUSH *PushMessageActivity `type:"structure"` + // The settings for a random split activity. This type of activity randomly // sends specified percentages of participants down one of as many as five paths // in a journey, based on conditions that you specify. RandomSplit *RandomSplitActivity `type:"structure"` + // The settings for an SMS activity. This type of activity sends a text message + // to participants. + SMS *SMSMessageActivity `type:"structure"` + // The settings for a wait activity. This type of activity waits for a certain // amount of time or until a specific date and time before moving participants // to the next activity in a journey. @@ -12635,6 +12647,12 @@ func (s *Activity) Validate() error { return nil } +// SetCUSTOM sets the CUSTOM field's value. +func (s *Activity) SetCUSTOM(v *CustomMessageActivity) *Activity { + s.CUSTOM = v + return s +} + // SetConditionalSplit sets the ConditionalSplit field's value. func (s *Activity) SetConditionalSplit(v *ConditionalSplitActivity) *Activity { s.ConditionalSplit = v @@ -12665,12 +12683,24 @@ func (s *Activity) SetMultiCondition(v *MultiConditionalSplitActivity) *Activity return s } +// SetPUSH sets the PUSH field's value. +func (s *Activity) SetPUSH(v *PushMessageActivity) *Activity { + s.PUSH = v + return s +} + // SetRandomSplit sets the RandomSplit field's value. func (s *Activity) SetRandomSplit(v *RandomSplitActivity) *Activity { s.RandomSplit = v return s } +// SetSMS sets the SMS field's value. +func (s *Activity) SetSMS(v *SMSMessageActivity) *Activity { + s.SMS = v + return s +} + // SetWait sets the Wait field's value. func (s *Activity) SetWait(v *WaitActivity) *Activity { s.Wait = v @@ -14452,10 +14482,10 @@ type CampaignSmsMessage struct { // The body of the SMS message. Body *string `type:"string"` - // The type of SMS message. Valid values are: TRANSACTIONAL, the message is - // critical or time-sensitive, such as a one-time password that supports a customer - // transaction; and, PROMOTIONAL, the message isn't critical or time-sensitive, - // such as a marketing message. + // The SMS message type. Valid values are TRANSACTIONAL (for messages that are + // critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL + // (for messsages that aren't critical or time-sensitive, such as marketing + // messages). MessageType *string `type:"string" enum:"MessageType"` // The sender ID to display on recipients' devices when they receive the SMS @@ -16029,6 +16059,97 @@ func (s *CustomDeliveryConfiguration) SetEndpointTypes(v []*string) *CustomDeliv return s } +// The settings for a custom message activity. This type of activity calls an +// AWS Lambda function or web hook that sends messages to participants. +type CustomMessageActivity struct { + _ struct{} `type:"structure"` + + // The destination to send the custom message to. This value can be one of the + // following: + // + // * The name or Amazon Resource Name (ARN) of an AWS Lambda function to + // invoke to handle delivery of the custom message. + // + // * The URL for a web application or service that supports HTTPS and can + // receive the message. The URL has to be a full URL, including the HTTPS + // protocol. + DeliveryUri *string `type:"string"` + + // The types of endpoints to send the custom message to. Each valid value maps + // to a type of channel that you can associate with an endpoint by using the + // ChannelType property of an endpoint. + EndpointTypes []*string `type:"list"` + + // Specifies the message data included in a custom channel message that's sent + // to participants in a journey. + MessageConfig *JourneyCustomMessage `type:"structure"` + + // The unique identifier for the next activity to perform, after Amazon Pinpoint + // calls the AWS Lambda function or web hook. + NextActivity *string `type:"string"` + + // The name of the custom message template to use for the message. If specified, + // this value must match the name of an existing message template. + TemplateName *string `type:"string"` + + // The unique identifier for the version of the message template to use for + // the message. If specified, this value must match the identifier for an existing + // template version. To retrieve a list of versions and version identifiers + // for a template, use the Template Versions resource. + // + // If you don't specify a value for this property, Amazon Pinpoint uses the + // active version of the template. The active version is typically the version + // of a template that's been most recently reviewed and approved for use, depending + // on your workflow. It isn't necessarily the latest version of a template. + TemplateVersion *string `type:"string"` +} + +// String returns the string representation +func (s CustomMessageActivity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomMessageActivity) GoString() string { + return s.String() +} + +// SetDeliveryUri sets the DeliveryUri field's value. +func (s *CustomMessageActivity) SetDeliveryUri(v string) *CustomMessageActivity { + s.DeliveryUri = &v + return s +} + +// SetEndpointTypes sets the EndpointTypes field's value. +func (s *CustomMessageActivity) SetEndpointTypes(v []*string) *CustomMessageActivity { + s.EndpointTypes = v + return s +} + +// SetMessageConfig sets the MessageConfig field's value. +func (s *CustomMessageActivity) SetMessageConfig(v *JourneyCustomMessage) *CustomMessageActivity { + s.MessageConfig = v + return s +} + +// SetNextActivity sets the NextActivity field's value. +func (s *CustomMessageActivity) SetNextActivity(v string) *CustomMessageActivity { + s.NextActivity = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CustomMessageActivity) SetTemplateName(v string) *CustomMessageActivity { + s.TemplateName = &v + return s +} + +// SetTemplateVersion sets the TemplateVersion field's value. +func (s *CustomMessageActivity) SetTemplateVersion(v string) *CustomMessageActivity { + s.TemplateVersion = &v + return s +} + // Specifies the default message for all channels. type DefaultMessage struct { _ struct{} `type:"structure"` @@ -18218,14 +18339,16 @@ func (s *EmailMessage) SetSubstitutions(v map[string][]*string) *EmailMessage { type EmailMessageActivity struct { _ struct{} `type:"structure"` - // The "From" address to use for the message. + // Specifies the sender address for an email message that's sent to participants + // in the journey. MessageConfig *JourneyEmailMessage `type:"structure"` // The unique identifier for the next activity to perform, after the message // is sent. NextActivity *string `type:"string"` - // The name of the email template to use for the message. + // The name of the email message template to use for the message. If specified, + // this value must match the name of an existing message template. TemplateName *string `type:"string"` // The unique identifier for the version of the email template to use for the @@ -25025,6 +25148,31 @@ func (s *ItemResponse) SetEventsItemResponse(v map[string]*EventItemResponse) *I return s } +// Specifies the message content for a custom channel message that's sent to +// participants in a journey. +type JourneyCustomMessage struct { + _ struct{} `type:"structure"` + + // The message content that's passed to an AWS Lambda function or to a web hook. + Data *string `type:"string"` +} + +// String returns the string representation +func (s JourneyCustomMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JourneyCustomMessage) GoString() string { + return s.String() +} + +// SetData sets the Data field's value. +func (s *JourneyCustomMessage) SetData(v string) *JourneyCustomMessage { + s.Data = &v + return s +} + // Provides the results of a query that retrieved the data for a standard engagement // metric that applies to a journey, and provides information about that query. type JourneyDateRangeKpiResponse struct { @@ -25200,7 +25348,7 @@ type JourneyExecutionActivityMetricsResponse struct { // A JSON object that contains the results of the query. The results vary depending // on the type of activity (ActivityType). For information about the structure - // and contents of the results, see the Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). + // and contents of the results, see the Amazon Pinpoint Developer Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html). // // Metrics is a required field Metrics map[string]*string `type:"map" required:"true"` @@ -25275,7 +25423,7 @@ type JourneyExecutionMetricsResponse struct { // A JSON object that contains the results of the query. For information about // the structure and contents of the results, see the Amazon Pinpoint Developer - // Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html). + // Guide (https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html). // // Metrics is a required field Metrics map[string]*string `type:"map" required:"true"` @@ -25361,6 +25509,39 @@ func (s *JourneyLimits) SetMessagesPerSecond(v int64) *JourneyLimits { return s } +// Specifies the message configuration for a push notification that's sent to +// participants in a journey. +type JourneyPushMessage struct { + _ struct{} `type:"structure"` + + // The number of seconds that the push notification service should keep the + // message, if the service is unable to deliver the notification the first time. + // This value is converted to an expiration value when it's sent to a push-notification + // service. If this value is 0, the service treats the notification as if it + // expires immediately and the service doesn't store or try to deliver the notification + // again. + // + // This value doesn't apply to messages that are sent through the Amazon Device + // Messaging (ADM) service. + TimeToLive *string `type:"string"` +} + +// String returns the string representation +func (s JourneyPushMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JourneyPushMessage) GoString() string { + return s.String() +} + +// SetTimeToLive sets the TimeToLive field's value. +func (s *JourneyPushMessage) SetTimeToLive(v string) *JourneyPushMessage { + s.TimeToLive = &v + return s +} + // Provides information about the status, configuration, and other settings // for a journey. type JourneyResponse struct { @@ -25559,6 +25740,46 @@ func (s *JourneyResponse) SetTags(v map[string]*string) *JourneyResponse { return s } +// Specifies the sender ID and message type for an SMS message that's sent to +// participants in a journey. +type JourneySMSMessage struct { + _ struct{} `type:"structure"` + + // The SMS message type. Valid values are TRANSACTIONAL (for messages that are + // critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL + // (for messsages that aren't critical or time-sensitive, such as marketing + // messages). + MessageType *string `type:"string" enum:"MessageType"` + + // The sender ID to display as the sender of the message on a recipient's device. + // Support for sender IDs varies by country or region. For more information, + // see Supported Countries and Regions (https://docs.aws.amazon.com.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html) + // in the Amazon Pinpoint User Guide. + SenderId *string `type:"string"` +} + +// String returns the string representation +func (s JourneySMSMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JourneySMSMessage) GoString() string { + return s.String() +} + +// SetMessageType sets the MessageType field's value. +func (s *JourneySMSMessage) SetMessageType(v string) *JourneySMSMessage { + s.MessageType = &v + return s +} + +// SetSenderId sets the SenderId field's value. +func (s *JourneySMSMessage) SetSenderId(v string) *JourneySMSMessage { + s.SenderId = &v + return s +} + // Specifies the schedule settings for a journey. type JourneySchedule struct { _ struct{} `type:"structure"` @@ -27280,6 +27501,69 @@ func (s *PublicEndpoint) SetUser(v *EndpointUser) *PublicEndpoint { return s } +// Specifies the settings for a push notification activity in a journey. This +// type of activity sends a push notification to participants. +type PushMessageActivity struct { + _ struct{} `type:"structure"` + + // Specifies the time to live (TTL) value for push notifications that are sent + // to participants in a journey. + MessageConfig *JourneyPushMessage `type:"structure"` + + // The unique identifier for the next activity to perform, after the message + // is sent. + NextActivity *string `type:"string"` + + // The name of the push notification template to use for the message. If specified, + // this value must match the name of an existing message template. + TemplateName *string `type:"string"` + + // The unique identifier for the version of the push notification template to + // use for the message. If specified, this value must match the identifier for + // an existing template version. To retrieve a list of versions and version + // identifiers for a template, use the Template Versions resource. + // + // If you don't specify a value for this property, Amazon Pinpoint uses the + // active version of the template. The active version is typically the version + // of a template that's been most recently reviewed and approved for use, depending + // on your workflow. It isn't necessarily the latest version of a template. + TemplateVersion *string `type:"string"` +} + +// String returns the string representation +func (s PushMessageActivity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PushMessageActivity) GoString() string { + return s.String() +} + +// SetMessageConfig sets the MessageConfig field's value. +func (s *PushMessageActivity) SetMessageConfig(v *JourneyPushMessage) *PushMessageActivity { + s.MessageConfig = v + return s +} + +// SetNextActivity sets the NextActivity field's value. +func (s *PushMessageActivity) SetNextActivity(v string) *PushMessageActivity { + s.NextActivity = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *PushMessageActivity) SetTemplateName(v string) *PushMessageActivity { + s.TemplateName = &v + return s +} + +// SetTemplateVersion sets the TemplateVersion field's value. +func (s *PushMessageActivity) SetTemplateVersion(v string) *PushMessageActivity { + s.TemplateVersion = &v + return s +} + // Specifies the content and settings for a message template that can be used // in messages that are sent through a push notification channel. type PushNotificationTemplateRequest struct { @@ -28499,10 +28783,10 @@ type SMSMessage struct { // The URL of an image or video to display in the SMS message. MediaUrl *string `type:"string"` - // The SMS message type. Valid values are: TRANSACTIONAL, the message is critical - // or time-sensitive, such as a one-time password that supports a customer transaction; - // and, PROMOTIONAL, the message is not critical or time-sensitive, such as - // a marketing message. + // The SMS message type. Valid values are TRANSACTIONAL (for messages that are + // critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL + // (for messsages that aren't critical or time-sensitive, such as marketing + // messages). MessageType *string `type:"string" enum:"MessageType"` // The number to send the SMS message from. This value should be one of the @@ -28572,6 +28856,69 @@ func (s *SMSMessage) SetSubstitutions(v map[string][]*string) *SMSMessage { return s } +// Specifies the settings for an SMS activity in a journey. This type of activity +// sends a text message to participants. +type SMSMessageActivity struct { + _ struct{} `type:"structure"` + + // Specifies the sender ID and message type for an SMS message that's sent to + // participants in a journey. + MessageConfig *JourneySMSMessage `type:"structure"` + + // The unique identifier for the next activity to perform, after the message + // is sent. + NextActivity *string `type:"string"` + + // The name of the SMS message template to use for the message. If specified, + // this value must match the name of an existing message template. + TemplateName *string `type:"string"` + + // The unique identifier for the version of the SMS template to use for the + // message. If specified, this value must match the identifier for an existing + // template version. To retrieve a list of versions and version identifiers + // for a template, use the Template Versions resource. + // + // If you don't specify a value for this property, Amazon Pinpoint uses the + // active version of the template. The active version is typically the version + // of a template that's been most recently reviewed and approved for use, depending + // on your workflow. It isn't necessarily the latest version of a template. + TemplateVersion *string `type:"string"` +} + +// String returns the string representation +func (s SMSMessageActivity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SMSMessageActivity) GoString() string { + return s.String() +} + +// SetMessageConfig sets the MessageConfig field's value. +func (s *SMSMessageActivity) SetMessageConfig(v *JourneySMSMessage) *SMSMessageActivity { + s.MessageConfig = v + return s +} + +// SetNextActivity sets the NextActivity field's value. +func (s *SMSMessageActivity) SetNextActivity(v string) *SMSMessageActivity { + s.NextActivity = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *SMSMessageActivity) SetTemplateName(v string) *SMSMessageActivity { + s.TemplateName = &v + return s +} + +// SetTemplateVersion sets the TemplateVersion field's value. +func (s *SMSMessageActivity) SetTemplateVersion(v string) *SMSMessageActivity { + s.TemplateVersion = &v + return s +} + // Specifies the content and settings for a message template that can be used // in text messages that are sent through the SMS channel. type SMSTemplateRequest struct { @@ -34642,6 +34989,9 @@ const ( ) const ( + // ChannelTypePush is a ChannelType enum value + ChannelTypePush = "PUSH" + // ChannelTypeGcm is a ChannelType enum value ChannelTypeGcm = "GCM" @@ -34722,6 +35072,9 @@ const ( ) const ( + // EndpointTypesElementPush is a EndpointTypesElement enum value + EndpointTypesElementPush = "PUSH" + // EndpointTypesElementGcm is a EndpointTypesElement enum value EndpointTypesElementGcm = "GCM" diff --git a/vendor/github.com/aws/aws-sdk-go/service/qldb/api.go b/vendor/github.com/aws/aws-sdk-go/service/qldb/api.go index 8a4e4d98b1d..8bd9b801c13 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/qldb/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/qldb/api.go @@ -13,6 +13,96 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restjson" ) +const opCancelJournalKinesisStream = "CancelJournalKinesisStream" + +// CancelJournalKinesisStreamRequest generates a "aws/request.Request" representing the +// client's request for the CancelJournalKinesisStream operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CancelJournalKinesisStream for more information on using the CancelJournalKinesisStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CancelJournalKinesisStreamRequest method. +// req, resp := client.CancelJournalKinesisStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/CancelJournalKinesisStream +func (c *QLDB) CancelJournalKinesisStreamRequest(input *CancelJournalKinesisStreamInput) (req *request.Request, output *CancelJournalKinesisStreamOutput) { + op := &request.Operation{ + Name: opCancelJournalKinesisStream, + HTTPMethod: "DELETE", + HTTPPath: "/ledgers/{name}/journal-kinesis-streams/{streamId}", + } + + if input == nil { + input = &CancelJournalKinesisStreamInput{} + } + + output = &CancelJournalKinesisStreamOutput{} + req = c.newRequest(op, input, output) + return +} + +// CancelJournalKinesisStream API operation for Amazon QLDB. +// +// Ends a given Amazon QLDB journal stream. Before a stream can be canceled, +// its current status must be ACTIVE. +// +// You can't restart a stream after you cancel it. Canceled QLDB stream resources +// are subject to a 7-day retention period, so they are automatically deleted +// after this limit expires. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QLDB's +// API operation CancelJournalKinesisStream for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more parameters in the request aren't valid. +// +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * ResourcePreconditionNotMetException +// The operation failed because a condition wasn't satisfied in advance. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/CancelJournalKinesisStream +func (c *QLDB) CancelJournalKinesisStream(input *CancelJournalKinesisStreamInput) (*CancelJournalKinesisStreamOutput, error) { + req, out := c.CancelJournalKinesisStreamRequest(input) + return out, req.Send() +} + +// CancelJournalKinesisStreamWithContext is the same as CancelJournalKinesisStream with the addition of +// the ability to pass a context and additional request options. +// +// See CancelJournalKinesisStream for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QLDB) CancelJournalKinesisStreamWithContext(ctx aws.Context, input *CancelJournalKinesisStreamInput, opts ...request.Option) (*CancelJournalKinesisStreamOutput, error) { + req, out := c.CancelJournalKinesisStreamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateLedger = "CreateLedger" // CreateLedgerRequest generates a "aws/request.Request" representing the @@ -196,6 +286,93 @@ func (c *QLDB) DeleteLedgerWithContext(ctx aws.Context, input *DeleteLedgerInput return out, req.Send() } +const opDescribeJournalKinesisStream = "DescribeJournalKinesisStream" + +// DescribeJournalKinesisStreamRequest generates a "aws/request.Request" representing the +// client's request for the DescribeJournalKinesisStream operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeJournalKinesisStream for more information on using the DescribeJournalKinesisStream +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeJournalKinesisStreamRequest method. +// req, resp := client.DescribeJournalKinesisStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DescribeJournalKinesisStream +func (c *QLDB) DescribeJournalKinesisStreamRequest(input *DescribeJournalKinesisStreamInput) (req *request.Request, output *DescribeJournalKinesisStreamOutput) { + op := &request.Operation{ + Name: opDescribeJournalKinesisStream, + HTTPMethod: "GET", + HTTPPath: "/ledgers/{name}/journal-kinesis-streams/{streamId}", + } + + if input == nil { + input = &DescribeJournalKinesisStreamInput{} + } + + output = &DescribeJournalKinesisStreamOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeJournalKinesisStream API operation for Amazon QLDB. +// +// Returns detailed information about a given Amazon QLDB journal stream. The +// output includes the Amazon Resource Name (ARN), stream name, current status, +// creation time, and the parameters of your original stream creation 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 QLDB's +// API operation DescribeJournalKinesisStream for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more parameters in the request aren't valid. +// +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * ResourcePreconditionNotMetException +// The operation failed because a condition wasn't satisfied in advance. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DescribeJournalKinesisStream +func (c *QLDB) DescribeJournalKinesisStream(input *DescribeJournalKinesisStreamInput) (*DescribeJournalKinesisStreamOutput, error) { + req, out := c.DescribeJournalKinesisStreamRequest(input) + return out, req.Send() +} + +// DescribeJournalKinesisStreamWithContext is the same as DescribeJournalKinesisStream with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeJournalKinesisStream for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QLDB) DescribeJournalKinesisStreamWithContext(ctx aws.Context, input *DescribeJournalKinesisStreamInput, opts ...request.Option) (*DescribeJournalKinesisStreamOutput, error) { + req, out := c.DescribeJournalKinesisStreamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeJournalS3Export = "DescribeJournalS3Export" // DescribeJournalS3ExportRequest generates a "aws/request.Request" representing the @@ -244,6 +421,10 @@ func (c *QLDB) DescribeJournalS3ExportRequest(input *DescribeJournalS3ExportInpu // export ID, when it was created, current status, and its start and end time // export parameters. // +// This action does not return any expired export jobs. For more information, +// see Export Job Expiration (https://docs.aws.amazon.com/qldb/latest/developerguide/export-journal.request.html#export-journal.request.expiration) +// in the Amazon QLDB Developer Guide. +// // If the export job with the given ExportId doesn't exist, then throws ResourceNotFoundException. // // If the ledger with the given Name doesn't exist, then throws ResourceNotFoundException. @@ -498,9 +679,13 @@ func (c *QLDB) GetBlockRequest(input *GetBlockInput) (req *request.Request, outp // GetBlock API operation for Amazon QLDB. // -// Returns a journal block object at a specified address in a ledger. Also returns +// Returns a block object at a specified address in a journal. Also returns // a proof of the specified block for verification if DigestTipAddress is provided. // +// For information about the data contents in a block, see Journal contents +// (https://docs.aws.amazon.com/qldb/latest/developerguide/journal-contents.html) +// in the Amazon QLDB Developer Guide. +// // If the specified ledger doesn't exist or is in DELETING status, then throws // ResourceNotFoundException. // @@ -720,6 +905,155 @@ func (c *QLDB) GetRevisionWithContext(ctx aws.Context, input *GetRevisionInput, return out, req.Send() } +const opListJournalKinesisStreamsForLedger = "ListJournalKinesisStreamsForLedger" + +// ListJournalKinesisStreamsForLedgerRequest generates a "aws/request.Request" representing the +// client's request for the ListJournalKinesisStreamsForLedger operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListJournalKinesisStreamsForLedger for more information on using the ListJournalKinesisStreamsForLedger +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListJournalKinesisStreamsForLedgerRequest method. +// req, resp := client.ListJournalKinesisStreamsForLedgerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ListJournalKinesisStreamsForLedger +func (c *QLDB) ListJournalKinesisStreamsForLedgerRequest(input *ListJournalKinesisStreamsForLedgerInput) (req *request.Request, output *ListJournalKinesisStreamsForLedgerOutput) { + op := &request.Operation{ + Name: opListJournalKinesisStreamsForLedger, + HTTPMethod: "GET", + HTTPPath: "/ledgers/{name}/journal-kinesis-streams", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListJournalKinesisStreamsForLedgerInput{} + } + + output = &ListJournalKinesisStreamsForLedgerOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListJournalKinesisStreamsForLedger API operation for Amazon QLDB. +// +// Returns an array of all Amazon QLDB journal stream descriptors for a given +// ledger. The output of each stream descriptor includes the same details that +// are returned by DescribeJournalKinesisStream. +// +// This action returns a maximum of MaxResults items. It is paginated so that +// you can retrieve all the items by calling ListJournalKinesisStreamsForLedger +// multiple times. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QLDB's +// API operation ListJournalKinesisStreamsForLedger for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more parameters in the request aren't valid. +// +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * ResourcePreconditionNotMetException +// The operation failed because a condition wasn't satisfied in advance. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ListJournalKinesisStreamsForLedger +func (c *QLDB) ListJournalKinesisStreamsForLedger(input *ListJournalKinesisStreamsForLedgerInput) (*ListJournalKinesisStreamsForLedgerOutput, error) { + req, out := c.ListJournalKinesisStreamsForLedgerRequest(input) + return out, req.Send() +} + +// ListJournalKinesisStreamsForLedgerWithContext is the same as ListJournalKinesisStreamsForLedger with the addition of +// the ability to pass a context and additional request options. +// +// See ListJournalKinesisStreamsForLedger for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QLDB) ListJournalKinesisStreamsForLedgerWithContext(ctx aws.Context, input *ListJournalKinesisStreamsForLedgerInput, opts ...request.Option) (*ListJournalKinesisStreamsForLedgerOutput, error) { + req, out := c.ListJournalKinesisStreamsForLedgerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListJournalKinesisStreamsForLedgerPages iterates over the pages of a ListJournalKinesisStreamsForLedger operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListJournalKinesisStreamsForLedger 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 ListJournalKinesisStreamsForLedger operation. +// pageNum := 0 +// err := client.ListJournalKinesisStreamsForLedgerPages(params, +// func(page *qldb.ListJournalKinesisStreamsForLedgerOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QLDB) ListJournalKinesisStreamsForLedgerPages(input *ListJournalKinesisStreamsForLedgerInput, fn func(*ListJournalKinesisStreamsForLedgerOutput, bool) bool) error { + return c.ListJournalKinesisStreamsForLedgerPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListJournalKinesisStreamsForLedgerPagesWithContext same as ListJournalKinesisStreamsForLedgerPages 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 *QLDB) ListJournalKinesisStreamsForLedgerPagesWithContext(ctx aws.Context, input *ListJournalKinesisStreamsForLedgerInput, fn func(*ListJournalKinesisStreamsForLedgerOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListJournalKinesisStreamsForLedgerInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListJournalKinesisStreamsForLedgerRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListJournalKinesisStreamsForLedgerOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListJournalS3Exports = "ListJournalS3Exports" // ListJournalS3ExportsRequest generates a "aws/request.Request" representing the @@ -776,6 +1110,10 @@ func (c *QLDB) ListJournalS3ExportsRequest(input *ListJournalS3ExportsInput) (re // This action returns a maximum of MaxResults items, and is paginated so that // you can retrieve all the items by calling ListJournalS3Exports multiple times. // +// This action does not return any expired export jobs. For more information, +// see Export Job Expiration (https://docs.aws.amazon.com/qldb/latest/developerguide/export-journal.request.html#export-journal.request.expiration) +// in the Amazon QLDB Developer Guide. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -912,6 +1250,10 @@ func (c *QLDB) ListJournalS3ExportsForLedgerRequest(input *ListJournalS3ExportsF // you can retrieve all the items by calling ListJournalS3ExportsForLedger multiple // times. // +// This action does not return any expired export jobs. For more information, +// see Export Job Expiration (https://docs.aws.amazon.com/qldb/latest/developerguide/export-journal.request.html#export-journal.request.expiration) +// in the Amazon QLDB Developer Guide. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1210,6 +1552,93 @@ func (c *QLDB) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsFo return out, req.Send() } +const opStreamJournalToKinesis = "StreamJournalToKinesis" + +// StreamJournalToKinesisRequest generates a "aws/request.Request" representing the +// client's request for the StreamJournalToKinesis operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StreamJournalToKinesis for more information on using the StreamJournalToKinesis +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the StreamJournalToKinesisRequest method. +// req, resp := client.StreamJournalToKinesisRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/StreamJournalToKinesis +func (c *QLDB) StreamJournalToKinesisRequest(input *StreamJournalToKinesisInput) (req *request.Request, output *StreamJournalToKinesisOutput) { + op := &request.Operation{ + Name: opStreamJournalToKinesis, + HTTPMethod: "POST", + HTTPPath: "/ledgers/{name}/journal-kinesis-streams", + } + + if input == nil { + input = &StreamJournalToKinesisInput{} + } + + output = &StreamJournalToKinesisOutput{} + req = c.newRequest(op, input, output) + return +} + +// StreamJournalToKinesis API operation for Amazon QLDB. +// +// Creates a journal stream for a given Amazon QLDB ledger. The stream captures +// every document revision that is committed to the ledger's journal and delivers +// the data to a specified Amazon Kinesis Data Streams resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QLDB's +// API operation StreamJournalToKinesis for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more parameters in the request aren't valid. +// +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * ResourcePreconditionNotMetException +// The operation failed because a condition wasn't satisfied in advance. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/StreamJournalToKinesis +func (c *QLDB) StreamJournalToKinesis(input *StreamJournalToKinesisInput) (*StreamJournalToKinesisOutput, error) { + req, out := c.StreamJournalToKinesisRequest(input) + return out, req.Send() +} + +// StreamJournalToKinesisWithContext is the same as StreamJournalToKinesis with the addition of +// the ability to pass a context and additional request options. +// +// See StreamJournalToKinesis for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QLDB) StreamJournalToKinesisWithContext(ctx aws.Context, input *StreamJournalToKinesisInput, opts ...request.Option) (*StreamJournalToKinesisOutput, error) { + req, out := c.StreamJournalToKinesisRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the @@ -1462,6 +1891,87 @@ func (c *QLDB) UpdateLedgerWithContext(ctx aws.Context, input *UpdateLedgerInput return out, req.Send() } +type CancelJournalKinesisStreamInput struct { + _ struct{} `type:"structure"` + + // The name of the ledger. + // + // LedgerName is a required field + LedgerName *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` + + // The unique ID that QLDB assigns to each QLDB journal stream. + // + // StreamId is a required field + StreamId *string `location:"uri" locationName:"streamId" min:"22" type:"string" required:"true"` +} + +// String returns the string representation +func (s CancelJournalKinesisStreamInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelJournalKinesisStreamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelJournalKinesisStreamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelJournalKinesisStreamInput"} + if s.LedgerName == nil { + invalidParams.Add(request.NewErrParamRequired("LedgerName")) + } + if s.LedgerName != nil && len(*s.LedgerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LedgerName", 1)) + } + if s.StreamId == nil { + invalidParams.Add(request.NewErrParamRequired("StreamId")) + } + if s.StreamId != nil && len(*s.StreamId) < 22 { + invalidParams.Add(request.NewErrParamMinLen("StreamId", 22)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLedgerName sets the LedgerName field's value. +func (s *CancelJournalKinesisStreamInput) SetLedgerName(v string) *CancelJournalKinesisStreamInput { + s.LedgerName = &v + return s +} + +// SetStreamId sets the StreamId field's value. +func (s *CancelJournalKinesisStreamInput) SetStreamId(v string) *CancelJournalKinesisStreamInput { + s.StreamId = &v + return s +} + +type CancelJournalKinesisStreamOutput struct { + _ struct{} `type:"structure"` + + // The unique ID that QLDB assigns to each QLDB journal stream. + StreamId *string `min:"22" type:"string"` +} + +// String returns the string representation +func (s CancelJournalKinesisStreamOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelJournalKinesisStreamOutput) GoString() string { + return s.String() +} + +// SetStreamId sets the StreamId field's value. +func (s *CancelJournalKinesisStreamOutput) SetStreamId(v string) *CancelJournalKinesisStreamOutput { + s.StreamId = &v + return s +} + type CreateLedgerInput struct { _ struct{} `type:"structure"` @@ -1478,6 +1988,10 @@ type CreateLedgerInput struct { // The name of the ledger that you want to create. The name must be unique among // all of your ledgers in the current AWS Region. // + // Naming constraints for ledger names are defined in Quotas in Amazon QLDB + // (https://docs.aws.amazon.com/qldb/latest/developerguide/limits.html#limits.naming) + // in the Amazon QLDB Developer Guide. + // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -1667,6 +2181,88 @@ func (s DeleteLedgerOutput) GoString() string { return s.String() } +type DescribeJournalKinesisStreamInput struct { + _ struct{} `type:"structure"` + + // The name of the ledger. + // + // LedgerName is a required field + LedgerName *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` + + // The unique ID that QLDB assigns to each QLDB journal stream. + // + // StreamId is a required field + StreamId *string `location:"uri" locationName:"streamId" min:"22" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeJournalKinesisStreamInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeJournalKinesisStreamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeJournalKinesisStreamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeJournalKinesisStreamInput"} + if s.LedgerName == nil { + invalidParams.Add(request.NewErrParamRequired("LedgerName")) + } + if s.LedgerName != nil && len(*s.LedgerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LedgerName", 1)) + } + if s.StreamId == nil { + invalidParams.Add(request.NewErrParamRequired("StreamId")) + } + if s.StreamId != nil && len(*s.StreamId) < 22 { + invalidParams.Add(request.NewErrParamMinLen("StreamId", 22)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLedgerName sets the LedgerName field's value. +func (s *DescribeJournalKinesisStreamInput) SetLedgerName(v string) *DescribeJournalKinesisStreamInput { + s.LedgerName = &v + return s +} + +// SetStreamId sets the StreamId field's value. +func (s *DescribeJournalKinesisStreamInput) SetStreamId(v string) *DescribeJournalKinesisStreamInput { + s.StreamId = &v + return s +} + +type DescribeJournalKinesisStreamOutput struct { + _ struct{} `type:"structure"` + + // Information about the QLDB journal stream returned by a DescribeJournalS3Export + // request. + Stream *JournalKinesisStreamDescription `type:"structure"` +} + +// String returns the string representation +func (s DescribeJournalKinesisStreamOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeJournalKinesisStreamOutput) GoString() string { + return s.String() +} + +// SetStream sets the Stream field's value. +func (s *DescribeJournalKinesisStreamOutput) SetStream(v *JournalKinesisStreamDescription) *DescribeJournalKinesisStreamOutput { + s.Stream = v + return s +} + type DescribeJournalS3ExportInput struct { _ struct{} `type:"structure"` @@ -2378,31 +2974,166 @@ func (s *InvalidParameterException) Code() string { return "InvalidParameterException" } -// Message returns the exception's message. -func (s *InvalidParameterException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// Message returns the exception's message. +func (s *InvalidParameterException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidParameterException) OrigErr() error { + return nil +} + +func (s *InvalidParameterException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidParameterException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidParameterException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The information about an Amazon QLDB journal stream, including the Amazon +// Resource Name (ARN), stream name, creation time, current status, and the +// parameters of your original stream creation request. +type JournalKinesisStreamDescription struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the QLDB journal stream. + Arn *string `min:"20" type:"string"` + + // The date and time, in epoch time format, when the QLDB journal stream was + // created. (Epoch time format is the number of seconds elapsed since 12:00:00 + // AM January 1, 1970 UTC.) + CreationTime *time.Time `type:"timestamp"` + + // The error message that describes the reason that a stream has a status of + // IMPAIRED or FAILED. This is not applicable to streams that have other status + // values. + ErrorCause *string `type:"string" enum:"ErrorCause"` + + // The exclusive date and time that specifies when the stream ends. If this + // parameter is blank, the stream runs indefinitely until you cancel it. + ExclusiveEndTime *time.Time `type:"timestamp"` + + // The inclusive start date and time from which to start streaming journal data. + InclusiveStartTime *time.Time `type:"timestamp"` + + // The configuration settings of the Amazon Kinesis Data Streams destination + // for your QLDB journal stream. + // + // KinesisConfiguration is a required field + KinesisConfiguration *KinesisConfiguration `type:"structure" required:"true"` + + // The name of the ledger. + // + // LedgerName is a required field + LedgerName *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions + // for a journal stream to write data records to a Kinesis Data Streams resource. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` + + // The current state of the QLDB journal stream. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"StreamStatus"` + + // The unique ID that QLDB assigns to each QLDB journal stream. + // + // StreamId is a required field + StreamId *string `min:"22" type:"string" required:"true"` + + // The user-defined name of the QLDB journal stream. + // + // StreamName is a required field + StreamName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s JournalKinesisStreamDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s JournalKinesisStreamDescription) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *JournalKinesisStreamDescription) SetArn(v string) *JournalKinesisStreamDescription { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *JournalKinesisStreamDescription) SetCreationTime(v time.Time) *JournalKinesisStreamDescription { + s.CreationTime = &v + return s +} + +// SetErrorCause sets the ErrorCause field's value. +func (s *JournalKinesisStreamDescription) SetErrorCause(v string) *JournalKinesisStreamDescription { + s.ErrorCause = &v + return s +} + +// SetExclusiveEndTime sets the ExclusiveEndTime field's value. +func (s *JournalKinesisStreamDescription) SetExclusiveEndTime(v time.Time) *JournalKinesisStreamDescription { + s.ExclusiveEndTime = &v + return s +} + +// SetInclusiveStartTime sets the InclusiveStartTime field's value. +func (s *JournalKinesisStreamDescription) SetInclusiveStartTime(v time.Time) *JournalKinesisStreamDescription { + s.InclusiveStartTime = &v + return s +} + +// SetKinesisConfiguration sets the KinesisConfiguration field's value. +func (s *JournalKinesisStreamDescription) SetKinesisConfiguration(v *KinesisConfiguration) *JournalKinesisStreamDescription { + s.KinesisConfiguration = v + return s +} + +// SetLedgerName sets the LedgerName field's value. +func (s *JournalKinesisStreamDescription) SetLedgerName(v string) *JournalKinesisStreamDescription { + s.LedgerName = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidParameterException) OrigErr() error { - return nil +// SetRoleArn sets the RoleArn field's value. +func (s *JournalKinesisStreamDescription) SetRoleArn(v string) *JournalKinesisStreamDescription { + s.RoleArn = &v + return s } -func (s *InvalidParameterException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetStatus sets the Status field's value. +func (s *JournalKinesisStreamDescription) SetStatus(v string) *JournalKinesisStreamDescription { + s.Status = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidParameterException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetStreamId sets the StreamId field's value. +func (s *JournalKinesisStreamDescription) SetStreamId(v string) *JournalKinesisStreamDescription { + s.StreamId = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidParameterException) RequestID() string { - return s.RespMetadata.RequestID +// SetStreamName sets the StreamName field's value. +func (s *JournalKinesisStreamDescription) SetStreamName(v string) *JournalKinesisStreamDescription { + s.StreamName = &v + return s } // The information about a journal export job, including the ledger name, export @@ -2521,6 +3252,60 @@ func (s *JournalS3ExportDescription) SetStatus(v string) *JournalS3ExportDescrip return s } +// The configuration settings of the Amazon Kinesis Data Streams destination +// for your Amazon QLDB journal stream. +type KinesisConfiguration struct { + _ struct{} `type:"structure"` + + // Enables QLDB to publish multiple data records in a single Kinesis Data Streams + // record. To learn more, see KPL Key Concepts (https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-concepts.html) + // in the Amazon Kinesis Data Streams Developer Guide. + AggregationEnabled *bool `type:"boolean"` + + // The Amazon Resource Name (ARN) of the Kinesis data stream resource. + // + // StreamArn is a required field + StreamArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s KinesisConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s KinesisConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KinesisConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KinesisConfiguration"} + if s.StreamArn == nil { + invalidParams.Add(request.NewErrParamRequired("StreamArn")) + } + if s.StreamArn != nil && len(*s.StreamArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("StreamArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAggregationEnabled sets the AggregationEnabled field's value. +func (s *KinesisConfiguration) SetAggregationEnabled(v bool) *KinesisConfiguration { + s.AggregationEnabled = &v + return s +} + +// SetStreamArn sets the StreamArn field's value. +func (s *KinesisConfiguration) SetStreamArn(v string) *KinesisConfiguration { + s.StreamArn = &v + return s +} + // Information about a ledger, including its name, state, and when it was created. type LedgerSummary struct { _ struct{} `type:"structure"` @@ -2624,6 +3409,113 @@ func (s *LimitExceededException) RequestID() string { return s.RespMetadata.RequestID } +type ListJournalKinesisStreamsForLedgerInput struct { + _ struct{} `type:"structure"` + + // The name of the ledger. + // + // LedgerName is a required field + LedgerName *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` + + // The maximum number of results to return in a single ListJournalKinesisStreamsForLedger + // request. (The actual number of results returned might be fewer.) + MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"` + + // A pagination token, indicating that you want to retrieve the next page of + // results. If you received a value for NextToken in the response from a previous + // ListJournalKinesisStreamsForLedger call, you should use that value as input + // here. + NextToken *string `location:"querystring" locationName:"next_token" min:"4" type:"string"` +} + +// String returns the string representation +func (s ListJournalKinesisStreamsForLedgerInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListJournalKinesisStreamsForLedgerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListJournalKinesisStreamsForLedgerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListJournalKinesisStreamsForLedgerInput"} + if s.LedgerName == nil { + invalidParams.Add(request.NewErrParamRequired("LedgerName")) + } + if s.LedgerName != nil && len(*s.LedgerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LedgerName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 4 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLedgerName sets the LedgerName field's value. +func (s *ListJournalKinesisStreamsForLedgerInput) SetLedgerName(v string) *ListJournalKinesisStreamsForLedgerInput { + s.LedgerName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListJournalKinesisStreamsForLedgerInput) SetMaxResults(v int64) *ListJournalKinesisStreamsForLedgerInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListJournalKinesisStreamsForLedgerInput) SetNextToken(v string) *ListJournalKinesisStreamsForLedgerInput { + s.NextToken = &v + return s +} + +type ListJournalKinesisStreamsForLedgerOutput struct { + _ struct{} `type:"structure"` + + // * If NextToken is empty, the last page of results has been processed and + // there are no more results to be retrieved. + // + // * If NextToken is not empty, more results are available. To retrieve the + // next page of results, use the value of NextToken in a subsequent ListJournalKinesisStreamsForLedger + // call. + NextToken *string `min:"4" type:"string"` + + // The array of QLDB journal stream descriptors that are associated with the + // given ledger. + Streams []*JournalKinesisStreamDescription `type:"list"` +} + +// String returns the string representation +func (s ListJournalKinesisStreamsForLedgerOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListJournalKinesisStreamsForLedgerOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListJournalKinesisStreamsForLedgerOutput) SetNextToken(v string) *ListJournalKinesisStreamsForLedgerOutput { + s.NextToken = &v + return s +} + +// SetStreams sets the Streams field's value. +func (s *ListJournalKinesisStreamsForLedgerOutput) SetStreams(v []*JournalKinesisStreamDescription) *ListJournalKinesisStreamsForLedgerOutput { + s.Streams = v + return s +} + type ListJournalS3ExportsForLedgerInput struct { _ struct{} `type:"structure"` @@ -3230,8 +4122,9 @@ func (s *ResourcePreconditionNotMetException) RequestID() string { type S3EncryptionConfiguration struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for a customer master key (CMK) in AWS Key - // Management Service (AWS KMS). + // The Amazon Resource Name (ARN) for a symmetric customer master key (CMK) + // in AWS Key Management Service (AWS KMS). Amazon QLDB does not support asymmetric + // CMKs. // // You must provide a KmsKeyArn if you specify SSE_KMS as the ObjectEncryptionType. // @@ -3381,6 +4274,175 @@ func (s *S3ExportConfiguration) SetPrefix(v string) *S3ExportConfiguration { return s } +type StreamJournalToKinesisInput struct { + _ struct{} `type:"structure"` + + // The exclusive date and time that specifies when the stream ends. If you don't + // define this parameter, the stream runs indefinitely until you cancel it. + // + // The ExclusiveEndTime must be in ISO 8601 date and time format and in Universal + // Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z + ExclusiveEndTime *time.Time `type:"timestamp"` + + // The inclusive start date and time from which to start streaming journal data. + // This parameter must be in ISO 8601 date and time format and in Universal + // Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z + // + // The InclusiveStartTime cannot be in the future and must be before ExclusiveEndTime. + // + // If you provide an InclusiveStartTime that is before the ledger's CreationDateTime, + // QLDB effectively defaults it to the ledger's CreationDateTime. + // + // InclusiveStartTime is a required field + InclusiveStartTime *time.Time `type:"timestamp" required:"true"` + + // The configuration settings of the Kinesis Data Streams destination for your + // stream request. + // + // KinesisConfiguration is a required field + KinesisConfiguration *KinesisConfiguration `type:"structure" required:"true"` + + // The name of the ledger. + // + // LedgerName is a required field + LedgerName *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions + // for a journal stream to write data records to a Kinesis Data Streams resource. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` + + // The name that you want to assign to the QLDB journal stream. User-defined + // names can help identify and indicate the purpose of a stream. + // + // Your stream name must be unique among other active streams for a given ledger. + // Stream names have the same naming constraints as ledger names, as defined + // in Quotas in Amazon QLDB (https://docs.aws.amazon.com/qldb/latest/developerguide/limits.html#limits.naming) + // in the Amazon QLDB Developer Guide. + // + // StreamName is a required field + StreamName *string `min:"1" type:"string" required:"true"` + + // The key-value pairs to add as tags to the stream that you want to create. + // Tag keys are case sensitive. Tag values are case sensitive and can be null. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation +func (s StreamJournalToKinesisInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StreamJournalToKinesisInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StreamJournalToKinesisInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StreamJournalToKinesisInput"} + if s.InclusiveStartTime == nil { + invalidParams.Add(request.NewErrParamRequired("InclusiveStartTime")) + } + if s.KinesisConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("KinesisConfiguration")) + } + if s.LedgerName == nil { + invalidParams.Add(request.NewErrParamRequired("LedgerName")) + } + if s.LedgerName != nil && len(*s.LedgerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LedgerName", 1)) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) + } + if s.StreamName == nil { + invalidParams.Add(request.NewErrParamRequired("StreamName")) + } + if s.StreamName != nil && len(*s.StreamName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StreamName", 1)) + } + if s.KinesisConfiguration != nil { + if err := s.KinesisConfiguration.Validate(); err != nil { + invalidParams.AddNested("KinesisConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExclusiveEndTime sets the ExclusiveEndTime field's value. +func (s *StreamJournalToKinesisInput) SetExclusiveEndTime(v time.Time) *StreamJournalToKinesisInput { + s.ExclusiveEndTime = &v + return s +} + +// SetInclusiveStartTime sets the InclusiveStartTime field's value. +func (s *StreamJournalToKinesisInput) SetInclusiveStartTime(v time.Time) *StreamJournalToKinesisInput { + s.InclusiveStartTime = &v + return s +} + +// SetKinesisConfiguration sets the KinesisConfiguration field's value. +func (s *StreamJournalToKinesisInput) SetKinesisConfiguration(v *KinesisConfiguration) *StreamJournalToKinesisInput { + s.KinesisConfiguration = v + return s +} + +// SetLedgerName sets the LedgerName field's value. +func (s *StreamJournalToKinesisInput) SetLedgerName(v string) *StreamJournalToKinesisInput { + s.LedgerName = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *StreamJournalToKinesisInput) SetRoleArn(v string) *StreamJournalToKinesisInput { + s.RoleArn = &v + return s +} + +// SetStreamName sets the StreamName field's value. +func (s *StreamJournalToKinesisInput) SetStreamName(v string) *StreamJournalToKinesisInput { + s.StreamName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StreamJournalToKinesisInput) SetTags(v map[string]*string) *StreamJournalToKinesisInput { + s.Tags = v + return s +} + +type StreamJournalToKinesisOutput struct { + _ struct{} `type:"structure"` + + // The unique ID that QLDB assigns to each QLDB journal stream. + StreamId *string `min:"22" type:"string"` +} + +// String returns the string representation +func (s StreamJournalToKinesisOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StreamJournalToKinesisOutput) GoString() string { + return s.String() +} + +// SetStreamId sets the StreamId field's value. +func (s *StreamJournalToKinesisOutput) SetStreamId(v string) *StreamJournalToKinesisOutput { + s.StreamId = &v + return s +} + type TagResourceInput struct { _ struct{} `type:"structure"` @@ -3652,7 +4714,7 @@ func (s *UpdateLedgerOutput) SetState(v string) *UpdateLedgerOutput { return s } -// A structure that can contain an Amazon Ion value in multiple encoding formats. +// A structure that can contain a value in multiple encoding formats. type ValueHolder struct { _ struct{} `type:"structure" sensitive:"true"` @@ -3689,6 +4751,14 @@ func (s *ValueHolder) SetIonText(v string) *ValueHolder { return s } +const ( + // ErrorCauseKinesisStreamNotFound is a ErrorCause enum value + ErrorCauseKinesisStreamNotFound = "KINESIS_STREAM_NOT_FOUND" + + // ErrorCauseIamPermissionRevoked is a ErrorCause enum value + ErrorCauseIamPermissionRevoked = "IAM_PERMISSION_REVOKED" +) + const ( // ExportStatusInProgress is a ExportStatus enum value ExportStatusInProgress = "IN_PROGRESS" @@ -3729,3 +4799,20 @@ const ( // S3ObjectEncryptionTypeNoEncryption is a S3ObjectEncryptionType enum value S3ObjectEncryptionTypeNoEncryption = "NO_ENCRYPTION" ) + +const ( + // StreamStatusActive is a StreamStatus enum value + StreamStatusActive = "ACTIVE" + + // StreamStatusCompleted is a StreamStatus enum value + StreamStatusCompleted = "COMPLETED" + + // StreamStatusCanceled is a StreamStatus enum value + StreamStatusCanceled = "CANCELED" + + // StreamStatusFailed is a StreamStatus enum value + StreamStatusFailed = "FAILED" + + // StreamStatusImpaired is a StreamStatus enum value + StreamStatusImpaired = "IMPAIRED" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/quicksight/api.go b/vendor/github.com/aws/aws-sdk-go/service/quicksight/api.go index 9fe23e9cd6f..27b560dc0c1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/quicksight/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/quicksight/api.go @@ -110,6 +110,108 @@ func (c *QuickSight) CancelIngestionWithContext(ctx aws.Context, input *CancelIn return out, req.Send() } +const opCreateAccountCustomization = "CreateAccountCustomization" + +// CreateAccountCustomizationRequest generates a "aws/request.Request" representing the +// client's request for the CreateAccountCustomization operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateAccountCustomization for more information on using the CreateAccountCustomization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateAccountCustomizationRequest method. +// req, resp := client.CreateAccountCustomizationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateAccountCustomization +func (c *QuickSight) CreateAccountCustomizationRequest(input *CreateAccountCustomizationInput) (req *request.Request, output *CreateAccountCustomizationOutput) { + op := &request.Operation{ + Name: opCreateAccountCustomization, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/customizations", + } + + if input == nil { + input = &CreateAccountCustomizationInput{} + } + + output = &CreateAccountCustomizationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateAccountCustomization API operation for Amazon QuickSight. +// +// Creates a customization for the Amazon QuickSight subscription associated +// with your AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation CreateAccountCustomization for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateAccountCustomization +func (c *QuickSight) CreateAccountCustomization(input *CreateAccountCustomizationInput) (*CreateAccountCustomizationOutput, error) { + req, out := c.CreateAccountCustomizationRequest(input) + return out, req.Send() +} + +// CreateAccountCustomizationWithContext is the same as CreateAccountCustomization with the addition of +// the ability to pass a context and additional request options. +// +// See CreateAccountCustomization for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) CreateAccountCustomizationWithContext(ctx aws.Context, input *CreateAccountCustomizationInput, opts ...request.Option) (*CreateAccountCustomizationOutput, error) { + req, out := c.CreateAccountCustomizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDashboard = "CreateDashboard" // CreateDashboardRequest generates a "aws/request.Request" representing the @@ -796,7 +898,7 @@ func (c *QuickSight) CreateIngestionRequest(input *CreateIngestionInput) (req *r // // Any ingestions operating on tagged datasets inherit the same tags automatically // for use in access control. For an example, see How do I create an IAM policy -// to control access to Amazon EC2 resources using tags? (https://aws.example.com/premiumsupport/knowledge-center/iam-ec2-resource-tags/) +// to control access to Amazon EC2 resources using tags? (https://aws.amazon.com/premiumsupport/knowledge-center/iam-ec2-resource-tags/) // in the AWS Knowledge Center. Tags are visible on the tagged dataset, but // not on the ingestion resource. // @@ -855,6 +957,125 @@ func (c *QuickSight) CreateIngestionWithContext(ctx aws.Context, input *CreateIn return out, req.Send() } +const opCreateNamespace = "CreateNamespace" + +// CreateNamespaceRequest generates a "aws/request.Request" representing the +// client's request for the CreateNamespace operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateNamespace for more information on using the CreateNamespace +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateNamespaceRequest method. +// req, resp := client.CreateNamespaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateNamespace +func (c *QuickSight) CreateNamespaceRequest(input *CreateNamespaceInput) (req *request.Request, output *CreateNamespaceOutput) { + op := &request.Operation{ + Name: opCreateNamespace, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}", + } + + if input == nil { + input = &CreateNamespaceInput{} + } + + output = &CreateNamespaceOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateNamespace API operation for Amazon QuickSight. +// +// (Enterprise edition only) Creates a new namespace for you to use with Amazon +// QuickSight. +// +// A namespace allows you to isolate the QuickSight users and groups that are +// registered for that namespace. Users that access the namespace can share +// assets only with other users or groups in the same namespace. They can't +// see users and groups in other namespaces. You can create a namespace after +// your AWS account is subscribed to QuickSight. The namespace must be unique +// within the AWS account. By default, there is a limit of 100 namespaces per +// AWS account. To increase your limit, create a ticket with AWS 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 QuickSight's +// API operation CreateNamespace for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * LimitExceededException +// A limit is exceeded. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateNamespace +func (c *QuickSight) CreateNamespace(input *CreateNamespaceInput) (*CreateNamespaceOutput, error) { + req, out := c.CreateNamespaceRequest(input) + return out, req.Send() +} + +// CreateNamespaceWithContext is the same as CreateNamespace with the addition of +// the ability to pass a context and additional request options. +// +// See CreateNamespace for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) CreateNamespaceWithContext(ctx aws.Context, input *CreateNamespaceInput, opts ...request.Option) (*CreateNamespaceOutput, error) { + req, out := c.CreateNamespaceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateTemplate = "CreateTemplate" // CreateTemplateRequest generates a "aws/request.Request" representing the @@ -945,6 +1166,9 @@ func (c *QuickSight) CreateTemplateRequest(input *CreateTemplateInput) (req *req // Amazon QuickSight currently has Standard Edition and Enterprise Edition. // Not every operation and capability is available in every edition. // +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// // * InternalFailureException // An internal failure occurred. // @@ -1045,6 +1269,9 @@ func (c *QuickSight) CreateTemplateAliasRequest(input *CreateTemplateAliasInput) // Amazon QuickSight currently has Standard Edition and Enterprise Edition. // Not every operation and capability is available in every edition. // +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// // * InternalFailureException // An internal failure occurred. // @@ -1070,251 +1297,273 @@ func (c *QuickSight) CreateTemplateAliasWithContext(ctx aws.Context, input *Crea return out, req.Send() } -const opDeleteDashboard = "DeleteDashboard" +const opCreateTheme = "CreateTheme" -// DeleteDashboardRequest generates a "aws/request.Request" representing the -// client's request for the DeleteDashboard operation. The "output" return +// CreateThemeRequest generates a "aws/request.Request" representing the +// client's request for the CreateTheme operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteDashboard for more information on using the DeleteDashboard +// See CreateTheme for more information on using the CreateTheme // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteDashboardRequest method. -// req, resp := client.DeleteDashboardRequest(params) +// // Example sending a request using the CreateThemeRequest method. +// req, resp := client.CreateThemeRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDashboard -func (c *QuickSight) DeleteDashboardRequest(input *DeleteDashboardInput) (req *request.Request, output *DeleteDashboardOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateTheme +func (c *QuickSight) CreateThemeRequest(input *CreateThemeInput) (req *request.Request, output *CreateThemeOutput) { op := &request.Operation{ - Name: opDeleteDashboard, - HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", + Name: opCreateTheme, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}", } if input == nil { - input = &DeleteDashboardInput{} + input = &CreateThemeInput{} } - output = &DeleteDashboardOutput{} + output = &CreateThemeOutput{} req = c.newRequest(op, input, output) return } -// DeleteDashboard API operation for Amazon QuickSight. +// CreateTheme API operation for Amazon QuickSight. // -// Deletes a dashboard. +// Creates a theme. +// +// A theme is set of configuration options for color and layout. Themes apply +// to analyses and dashboards. For more information, see Using Themes in Amazon +// QuickSight (https://docs.aws.amazon.com/quicksight/latest/user/themes-in-quicksight.html) +// in the Amazon QuickSight 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 QuickSight's -// API operation DeleteDashboard for usage and error information. +// API operation CreateTheme for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. +// * ResourceExistsException +// The resource specified already exists. // // * ResourceNotFoundException // One or more resources can't be found. // +// * ThrottlingException +// Access is throttled. +// // * UnsupportedUserEditionException // This error indicates that you are calling an operation on an Amazon QuickSight // subscription where the edition doesn't include support for that operation. // Amazon QuickSight currently has Standard Edition and Enterprise Edition. // Not every operation and capability is available in every edition. // +// * LimitExceededException +// A limit is exceeded. +// // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDashboard -func (c *QuickSight) DeleteDashboard(input *DeleteDashboardInput) (*DeleteDashboardOutput, error) { - req, out := c.DeleteDashboardRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateTheme +func (c *QuickSight) CreateTheme(input *CreateThemeInput) (*CreateThemeOutput, error) { + req, out := c.CreateThemeRequest(input) return out, req.Send() } -// DeleteDashboardWithContext is the same as DeleteDashboard with the addition of +// CreateThemeWithContext is the same as CreateTheme with the addition of // the ability to pass a context and additional request options. // -// See DeleteDashboard for details on how to use this API operation. +// See CreateTheme for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DeleteDashboardWithContext(ctx aws.Context, input *DeleteDashboardInput, opts ...request.Option) (*DeleteDashboardOutput, error) { - req, out := c.DeleteDashboardRequest(input) +func (c *QuickSight) CreateThemeWithContext(ctx aws.Context, input *CreateThemeInput, opts ...request.Option) (*CreateThemeOutput, error) { + req, out := c.CreateThemeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteDataSet = "DeleteDataSet" +const opCreateThemeAlias = "CreateThemeAlias" -// DeleteDataSetRequest generates a "aws/request.Request" representing the -// client's request for the DeleteDataSet operation. The "output" return +// CreateThemeAliasRequest generates a "aws/request.Request" representing the +// client's request for the CreateThemeAlias operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteDataSet for more information on using the DeleteDataSet +// See CreateThemeAlias for more information on using the CreateThemeAlias // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteDataSetRequest method. -// req, resp := client.DeleteDataSetRequest(params) +// // Example sending a request using the CreateThemeAliasRequest method. +// req, resp := client.CreateThemeAliasRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDataSet -func (c *QuickSight) DeleteDataSetRequest(input *DeleteDataSetInput) (req *request.Request, output *DeleteDataSetOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateThemeAlias +func (c *QuickSight) CreateThemeAliasRequest(input *CreateThemeAliasInput) (req *request.Request, output *CreateThemeAliasOutput) { op := &request.Operation{ - Name: opDeleteDataSet, - HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}", + Name: opCreateThemeAlias, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/aliases/{AliasName}", } if input == nil { - input = &DeleteDataSetInput{} + input = &CreateThemeAliasInput{} } - output = &DeleteDataSetOutput{} + output = &CreateThemeAliasOutput{} req = c.newRequest(op, input, output) return } -// DeleteDataSet API operation for Amazon QuickSight. +// CreateThemeAlias API operation for Amazon QuickSight. // -// Deletes a dataset. +// Creates a theme alias for a theme. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DeleteDataSet for usage and error information. +// API operation CreateThemeAlias for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// that your account is authorized to use the Amazon QuickSight service, that -// your policies have the correct permissions, and that you are using the correct -// access keys. +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ThrottlingException -// Access is throttled. +// * LimitExceededException +// A limit is exceeded. +// +// * ResourceExistsException +// The resource specified already exists. // // * ResourceNotFoundException // One or more resources can't be found. // -// * InternalFailureException -// An internal failure occurred. +// * ThrottlingException +// Access is throttled. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDataSet -func (c *QuickSight) DeleteDataSet(input *DeleteDataSetInput) (*DeleteDataSetOutput, error) { - req, out := c.DeleteDataSetRequest(input) +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateThemeAlias +func (c *QuickSight) CreateThemeAlias(input *CreateThemeAliasInput) (*CreateThemeAliasOutput, error) { + req, out := c.CreateThemeAliasRequest(input) return out, req.Send() } -// DeleteDataSetWithContext is the same as DeleteDataSet with the addition of +// CreateThemeAliasWithContext is the same as CreateThemeAlias with the addition of // the ability to pass a context and additional request options. // -// See DeleteDataSet for details on how to use this API operation. +// See CreateThemeAlias for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DeleteDataSetWithContext(ctx aws.Context, input *DeleteDataSetInput, opts ...request.Option) (*DeleteDataSetOutput, error) { - req, out := c.DeleteDataSetRequest(input) +func (c *QuickSight) CreateThemeAliasWithContext(ctx aws.Context, input *CreateThemeAliasInput, opts ...request.Option) (*CreateThemeAliasOutput, error) { + req, out := c.CreateThemeAliasRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteDataSource = "DeleteDataSource" +const opDeleteAccountCustomization = "DeleteAccountCustomization" -// DeleteDataSourceRequest generates a "aws/request.Request" representing the -// client's request for the DeleteDataSource operation. The "output" return +// DeleteAccountCustomizationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAccountCustomization operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteDataSource for more information on using the DeleteDataSource +// See DeleteAccountCustomization for more information on using the DeleteAccountCustomization // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteDataSourceRequest method. -// req, resp := client.DeleteDataSourceRequest(params) +// // Example sending a request using the DeleteAccountCustomizationRequest method. +// req, resp := client.DeleteAccountCustomizationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDataSource -func (c *QuickSight) DeleteDataSourceRequest(input *DeleteDataSourceInput) (req *request.Request, output *DeleteDataSourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteAccountCustomization +func (c *QuickSight) DeleteAccountCustomizationRequest(input *DeleteAccountCustomizationInput) (req *request.Request, output *DeleteAccountCustomizationOutput) { op := &request.Operation{ - Name: opDeleteDataSource, + Name: opDeleteAccountCustomization, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", + HTTPPath: "/accounts/{AwsAccountId}/customizations", } if input == nil { - input = &DeleteDataSourceInput{} + input = &DeleteAccountCustomizationInput{} } - output = &DeleteDataSourceOutput{} + output = &DeleteAccountCustomizationOutput{} req = c.newRequest(op, input, output) return } -// DeleteDataSource API operation for Amazon QuickSight. +// DeleteAccountCustomization API operation for Amazon QuickSight. // -// Deletes the data source permanently. This action breaks all the datasets -// that reference the deleted data source. +// Deletes customizations for the QuickSight subscription on your AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DeleteDataSource for usage and error information. +// API operation DeleteAccountCustomization for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -1327,191 +1576,189 @@ func (c *QuickSight) DeleteDataSourceRequest(input *DeleteDataSourceInput) (req // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ThrottlingException -// Access is throttled. -// // * ResourceNotFoundException // One or more resources can't be found. // +// * ThrottlingException +// Access is throttled. +// // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDataSource -func (c *QuickSight) DeleteDataSource(input *DeleteDataSourceInput) (*DeleteDataSourceOutput, error) { - req, out := c.DeleteDataSourceRequest(input) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteAccountCustomization +func (c *QuickSight) DeleteAccountCustomization(input *DeleteAccountCustomizationInput) (*DeleteAccountCustomizationOutput, error) { + req, out := c.DeleteAccountCustomizationRequest(input) return out, req.Send() } -// DeleteDataSourceWithContext is the same as DeleteDataSource with the addition of +// DeleteAccountCustomizationWithContext is the same as DeleteAccountCustomization with the addition of // the ability to pass a context and additional request options. // -// See DeleteDataSource for details on how to use this API operation. +// See DeleteAccountCustomization for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DeleteDataSourceWithContext(ctx aws.Context, input *DeleteDataSourceInput, opts ...request.Option) (*DeleteDataSourceOutput, error) { - req, out := c.DeleteDataSourceRequest(input) +func (c *QuickSight) DeleteAccountCustomizationWithContext(ctx aws.Context, input *DeleteAccountCustomizationInput, opts ...request.Option) (*DeleteAccountCustomizationOutput, error) { + req, out := c.DeleteAccountCustomizationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteGroup = "DeleteGroup" +const opDeleteDashboard = "DeleteDashboard" -// DeleteGroupRequest generates a "aws/request.Request" representing the -// client's request for the DeleteGroup operation. The "output" return +// DeleteDashboardRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDashboard operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteGroup for more information on using the DeleteGroup +// See DeleteDashboard for more information on using the DeleteDashboard // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteGroupRequest method. -// req, resp := client.DeleteGroupRequest(params) +// // Example sending a request using the DeleteDashboardRequest method. +// req, resp := client.DeleteDashboardRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroup -func (c *QuickSight) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDashboard +func (c *QuickSight) DeleteDashboardRequest(input *DeleteDashboardInput) (req *request.Request, output *DeleteDashboardOutput) { op := &request.Operation{ - Name: opDeleteGroup, + Name: opDeleteDashboard, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", } if input == nil { - input = &DeleteGroupInput{} + input = &DeleteDashboardInput{} } - output = &DeleteGroupOutput{} + output = &DeleteDashboardOutput{} req = c.newRequest(op, input, output) return } -// DeleteGroup API operation for Amazon QuickSight. +// DeleteDashboard API operation for Amazon QuickSight. // -// Removes a user group from Amazon QuickSight. +// Deletes a dashboard. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DeleteGroup for usage and error information. +// API operation DeleteDashboard for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// that your account is authorized to use the Amazon QuickSight service, that -// your policies have the correct permissions, and that you are using the correct -// access keys. +// * ThrottlingException +// Access is throttled. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// // * ResourceNotFoundException // One or more resources can't be found. // -// * ThrottlingException -// Access is throttled. -// -// * PreconditionNotMetException -// One or more preconditions aren't met. +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * InternalFailureException // An internal failure occurred. // -// * ResourceUnavailableException -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroup -func (c *QuickSight) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) { - req, out := c.DeleteGroupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDashboard +func (c *QuickSight) DeleteDashboard(input *DeleteDashboardInput) (*DeleteDashboardOutput, error) { + req, out := c.DeleteDashboardRequest(input) return out, req.Send() } -// DeleteGroupWithContext is the same as DeleteGroup with the addition of +// DeleteDashboardWithContext is the same as DeleteDashboard with the addition of // the ability to pass a context and additional request options. // -// See DeleteGroup for details on how to use this API operation. +// See DeleteDashboard for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInput, opts ...request.Option) (*DeleteGroupOutput, error) { - req, out := c.DeleteGroupRequest(input) +func (c *QuickSight) DeleteDashboardWithContext(ctx aws.Context, input *DeleteDashboardInput, opts ...request.Option) (*DeleteDashboardOutput, error) { + req, out := c.DeleteDashboardRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteGroupMembership = "DeleteGroupMembership" +const opDeleteDataSet = "DeleteDataSet" -// DeleteGroupMembershipRequest generates a "aws/request.Request" representing the -// client's request for the DeleteGroupMembership operation. The "output" return +// DeleteDataSetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDataSet operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteGroupMembership for more information on using the DeleteGroupMembership +// See DeleteDataSet for more information on using the DeleteDataSet // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteGroupMembershipRequest method. -// req, resp := client.DeleteGroupMembershipRequest(params) +// // Example sending a request using the DeleteDataSetRequest method. +// req, resp := client.DeleteDataSetRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroupMembership -func (c *QuickSight) DeleteGroupMembershipRequest(input *DeleteGroupMembershipInput) (req *request.Request, output *DeleteGroupMembershipOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDataSet +func (c *QuickSight) DeleteDataSetRequest(input *DeleteDataSetInput) (req *request.Request, output *DeleteDataSetOutput) { op := &request.Operation{ - Name: opDeleteGroupMembership, + Name: opDeleteDataSet, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members/{MemberName}", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}", } if input == nil { - input = &DeleteGroupMembershipInput{} + input = &DeleteDataSetInput{} } - output = &DeleteGroupMembershipOutput{} + output = &DeleteDataSetOutput{} req = c.newRequest(op, input, output) return } -// DeleteGroupMembership API operation for Amazon QuickSight. +// DeleteDataSet API operation for Amazon QuickSight. // -// Removes a user from a group so that the user is no longer a member of the -// group. +// Deletes a dataset. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DeleteGroupMembership for usage and error information. +// API operation DeleteDataSet for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -1524,95 +1771,90 @@ func (c *QuickSight) DeleteGroupMembershipRequest(input *DeleteGroupMembershipIn // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // -// * PreconditionNotMetException -// One or more preconditions aren't met. +// * ResourceNotFoundException +// One or more resources can't be found. // // * InternalFailureException // An internal failure occurred. // -// * ResourceUnavailableException -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroupMembership -func (c *QuickSight) DeleteGroupMembership(input *DeleteGroupMembershipInput) (*DeleteGroupMembershipOutput, error) { - req, out := c.DeleteGroupMembershipRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDataSet +func (c *QuickSight) DeleteDataSet(input *DeleteDataSetInput) (*DeleteDataSetOutput, error) { + req, out := c.DeleteDataSetRequest(input) return out, req.Send() } -// DeleteGroupMembershipWithContext is the same as DeleteGroupMembership with the addition of +// DeleteDataSetWithContext is the same as DeleteDataSet with the addition of // the ability to pass a context and additional request options. // -// See DeleteGroupMembership for details on how to use this API operation. +// See DeleteDataSet for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DeleteGroupMembershipWithContext(ctx aws.Context, input *DeleteGroupMembershipInput, opts ...request.Option) (*DeleteGroupMembershipOutput, error) { - req, out := c.DeleteGroupMembershipRequest(input) +func (c *QuickSight) DeleteDataSetWithContext(ctx aws.Context, input *DeleteDataSetInput, opts ...request.Option) (*DeleteDataSetOutput, error) { + req, out := c.DeleteDataSetRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteIAMPolicyAssignment = "DeleteIAMPolicyAssignment" +const opDeleteDataSource = "DeleteDataSource" -// DeleteIAMPolicyAssignmentRequest generates a "aws/request.Request" representing the -// client's request for the DeleteIAMPolicyAssignment operation. The "output" return +// DeleteDataSourceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDataSource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteIAMPolicyAssignment for more information on using the DeleteIAMPolicyAssignment +// See DeleteDataSource for more information on using the DeleteDataSource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteIAMPolicyAssignmentRequest method. -// req, resp := client.DeleteIAMPolicyAssignmentRequest(params) +// // Example sending a request using the DeleteDataSourceRequest method. +// req, resp := client.DeleteDataSourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteIAMPolicyAssignment -func (c *QuickSight) DeleteIAMPolicyAssignmentRequest(input *DeleteIAMPolicyAssignmentInput) (req *request.Request, output *DeleteIAMPolicyAssignmentOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDataSource +func (c *QuickSight) DeleteDataSourceRequest(input *DeleteDataSourceInput) (req *request.Request, output *DeleteDataSourceOutput) { op := &request.Operation{ - Name: opDeleteIAMPolicyAssignment, + Name: opDeleteDataSource, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/namespace/{Namespace}/iam-policy-assignments/{AssignmentName}", + HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", } if input == nil { - input = &DeleteIAMPolicyAssignmentInput{} + input = &DeleteDataSourceInput{} } - output = &DeleteIAMPolicyAssignmentOutput{} + output = &DeleteDataSourceOutput{} req = c.newRequest(op, input, output) return } -// DeleteIAMPolicyAssignment API operation for Amazon QuickSight. +// DeleteDataSource API operation for Amazon QuickSight. // -// Deletes an existing IAM policy assignment. +// Deletes the data source permanently. This action breaks all the datasets +// that reference the deleted 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 QuickSight's -// API operation DeleteIAMPolicyAssignment for usage and error information. +// API operation DeleteDataSource for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -1625,100 +1867,100 @@ func (c *QuickSight) DeleteIAMPolicyAssignmentRequest(input *DeleteIAMPolicyAssi // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceExistsException -// The resource specified already exists. -// -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // -// * ConcurrentUpdatingException -// A resource is already in a state that indicates an action is happening that -// must complete before a new update can be applied. +// * ResourceNotFoundException +// One or more resources can't be found. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteIAMPolicyAssignment -func (c *QuickSight) DeleteIAMPolicyAssignment(input *DeleteIAMPolicyAssignmentInput) (*DeleteIAMPolicyAssignmentOutput, error) { - req, out := c.DeleteIAMPolicyAssignmentRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteDataSource +func (c *QuickSight) DeleteDataSource(input *DeleteDataSourceInput) (*DeleteDataSourceOutput, error) { + req, out := c.DeleteDataSourceRequest(input) return out, req.Send() } -// DeleteIAMPolicyAssignmentWithContext is the same as DeleteIAMPolicyAssignment with the addition of +// DeleteDataSourceWithContext is the same as DeleteDataSource with the addition of // the ability to pass a context and additional request options. // -// See DeleteIAMPolicyAssignment for details on how to use this API operation. +// See DeleteDataSource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DeleteIAMPolicyAssignmentWithContext(ctx aws.Context, input *DeleteIAMPolicyAssignmentInput, opts ...request.Option) (*DeleteIAMPolicyAssignmentOutput, error) { - req, out := c.DeleteIAMPolicyAssignmentRequest(input) +func (c *QuickSight) DeleteDataSourceWithContext(ctx aws.Context, input *DeleteDataSourceInput, opts ...request.Option) (*DeleteDataSourceOutput, error) { + req, out := c.DeleteDataSourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteTemplate = "DeleteTemplate" +const opDeleteGroup = "DeleteGroup" -// DeleteTemplateRequest generates a "aws/request.Request" representing the -// client's request for the DeleteTemplate operation. The "output" return +// DeleteGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteGroup operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteTemplate for more information on using the DeleteTemplate +// See DeleteGroup for more information on using the DeleteGroup // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteTemplateRequest method. -// req, resp := client.DeleteTemplateRequest(params) +// // Example sending a request using the DeleteGroupRequest method. +// req, resp := client.DeleteGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTemplate -func (c *QuickSight) DeleteTemplateRequest(input *DeleteTemplateInput) (req *request.Request, output *DeleteTemplateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroup +func (c *QuickSight) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) { op := &request.Operation{ - Name: opDeleteTemplate, + Name: opDeleteGroup, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", } if input == nil { - input = &DeleteTemplateInput{} + input = &DeleteGroupInput{} } - output = &DeleteTemplateOutput{} + output = &DeleteGroupOutput{} req = c.newRequest(op, input, output) return } -// DeleteTemplate API operation for Amazon QuickSight. +// DeleteGroup API operation for Amazon QuickSight. // -// Deletes a template. +// Removes a user group from Amazon QuickSight. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DeleteTemplate for usage and error information. +// API operation DeleteGroup for usage and error information. // // Returned Error Types: -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. // // * ResourceNotFoundException // One or more resources can't be found. @@ -1726,190 +1968,191 @@ func (c *QuickSight) DeleteTemplateRequest(input *DeleteTemplateInput) (req *req // * ThrottlingException // Access is throttled. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// -// * LimitExceededException -// A limit is exceeded. -// -// * UnsupportedUserEditionException -// This error indicates that you are calling an operation on an Amazon QuickSight -// subscription where the edition doesn't include support for that operation. -// Amazon QuickSight currently has Standard Edition and Enterprise Edition. -// Not every operation and capability is available in every edition. +// * PreconditionNotMetException +// One or more preconditions aren't met. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTemplate -func (c *QuickSight) DeleteTemplate(input *DeleteTemplateInput) (*DeleteTemplateOutput, error) { - req, out := c.DeleteTemplateRequest(input) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroup +func (c *QuickSight) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) { + req, out := c.DeleteGroupRequest(input) return out, req.Send() } -// DeleteTemplateWithContext is the same as DeleteTemplate with the addition of +// DeleteGroupWithContext is the same as DeleteGroup with the addition of // the ability to pass a context and additional request options. // -// See DeleteTemplate for details on how to use this API operation. +// See DeleteGroup for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DeleteTemplateWithContext(ctx aws.Context, input *DeleteTemplateInput, opts ...request.Option) (*DeleteTemplateOutput, error) { - req, out := c.DeleteTemplateRequest(input) +func (c *QuickSight) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInput, opts ...request.Option) (*DeleteGroupOutput, error) { + req, out := c.DeleteGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteTemplateAlias = "DeleteTemplateAlias" +const opDeleteGroupMembership = "DeleteGroupMembership" -// DeleteTemplateAliasRequest generates a "aws/request.Request" representing the -// client's request for the DeleteTemplateAlias operation. The "output" return +// DeleteGroupMembershipRequest generates a "aws/request.Request" representing the +// client's request for the DeleteGroupMembership operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteTemplateAlias for more information on using the DeleteTemplateAlias +// See DeleteGroupMembership for more information on using the DeleteGroupMembership // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteTemplateAliasRequest method. -// req, resp := client.DeleteTemplateAliasRequest(params) +// // Example sending a request using the DeleteGroupMembershipRequest method. +// req, resp := client.DeleteGroupMembershipRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTemplateAlias -func (c *QuickSight) DeleteTemplateAliasRequest(input *DeleteTemplateAliasInput) (req *request.Request, output *DeleteTemplateAliasOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroupMembership +func (c *QuickSight) DeleteGroupMembershipRequest(input *DeleteGroupMembershipInput) (req *request.Request, output *DeleteGroupMembershipOutput) { op := &request.Operation{ - Name: opDeleteTemplateAlias, + Name: opDeleteGroupMembership, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members/{MemberName}", } if input == nil { - input = &DeleteTemplateAliasInput{} + input = &DeleteGroupMembershipInput{} } - output = &DeleteTemplateAliasOutput{} + output = &DeleteGroupMembershipOutput{} req = c.newRequest(op, input, output) return } -// DeleteTemplateAlias API operation for Amazon QuickSight. +// DeleteGroupMembership API operation for Amazon QuickSight. // -// Deletes the item that the specified template alias points to. If you provide -// a specific alias, you delete the version of the template that the alias points -// to. +// Removes a user from a group so that the user is no longer a member of the +// group. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DeleteTemplateAlias for usage and error information. +// API operation DeleteGroupMembership for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. // // * ResourceNotFoundException // One or more resources can't be found. // -// * UnsupportedUserEditionException -// This error indicates that you are calling an operation on an Amazon QuickSight -// subscription where the edition doesn't include support for that operation. -// Amazon QuickSight currently has Standard Edition and Enterprise Edition. -// Not every operation and capability is available in every edition. +// * ThrottlingException +// Access is throttled. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTemplateAlias -func (c *QuickSight) DeleteTemplateAlias(input *DeleteTemplateAliasInput) (*DeleteTemplateAliasOutput, error) { - req, out := c.DeleteTemplateAliasRequest(input) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteGroupMembership +func (c *QuickSight) DeleteGroupMembership(input *DeleteGroupMembershipInput) (*DeleteGroupMembershipOutput, error) { + req, out := c.DeleteGroupMembershipRequest(input) return out, req.Send() } -// DeleteTemplateAliasWithContext is the same as DeleteTemplateAlias with the addition of +// DeleteGroupMembershipWithContext is the same as DeleteGroupMembership with the addition of // the ability to pass a context and additional request options. // -// See DeleteTemplateAlias for details on how to use this API operation. +// See DeleteGroupMembership for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DeleteTemplateAliasWithContext(ctx aws.Context, input *DeleteTemplateAliasInput, opts ...request.Option) (*DeleteTemplateAliasOutput, error) { - req, out := c.DeleteTemplateAliasRequest(input) +func (c *QuickSight) DeleteGroupMembershipWithContext(ctx aws.Context, input *DeleteGroupMembershipInput, opts ...request.Option) (*DeleteGroupMembershipOutput, error) { + req, out := c.DeleteGroupMembershipRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteUser = "DeleteUser" +const opDeleteIAMPolicyAssignment = "DeleteIAMPolicyAssignment" -// DeleteUserRequest generates a "aws/request.Request" representing the -// client's request for the DeleteUser operation. The "output" return +// DeleteIAMPolicyAssignmentRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIAMPolicyAssignment operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteUser for more information on using the DeleteUser +// See DeleteIAMPolicyAssignment for more information on using the DeleteIAMPolicyAssignment // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteUserRequest method. -// req, resp := client.DeleteUserRequest(params) +// // Example sending a request using the DeleteIAMPolicyAssignmentRequest method. +// req, resp := client.DeleteIAMPolicyAssignmentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUser -func (c *QuickSight) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteIAMPolicyAssignment +func (c *QuickSight) DeleteIAMPolicyAssignmentRequest(input *DeleteIAMPolicyAssignmentInput) (req *request.Request, output *DeleteIAMPolicyAssignmentOutput) { op := &request.Operation{ - Name: opDeleteUser, + Name: opDeleteIAMPolicyAssignment, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", + HTTPPath: "/accounts/{AwsAccountId}/namespace/{Namespace}/iam-policy-assignments/{AssignmentName}", } if input == nil { - input = &DeleteUserInput{} + input = &DeleteIAMPolicyAssignmentInput{} } - output = &DeleteUserOutput{} + output = &DeleteIAMPolicyAssignmentOutput{} req = c.newRequest(op, input, output) return } -// DeleteUser API operation for Amazon QuickSight. +// DeleteIAMPolicyAssignment API operation for Amazon QuickSight. // -// Deletes the Amazon QuickSight user that is associated with the identity of -// the AWS Identity and Access Management (IAM) user or role that's making the -// call. The IAM user isn't deleted as a result of this call. +// Deletes an existing IAM policy assignment. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DeleteUser for usage and error information. +// API operation DeleteIAMPolicyAssignment for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -1922,92 +2165,99 @@ func (c *QuickSight) DeleteUserRequest(input *DeleteUserInput) (req *request.Req // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceExistsException +// The resource specified already exists. +// // * ResourceNotFoundException // One or more resources can't be found. // // * ThrottlingException // Access is throttled. // +// * ConcurrentUpdatingException +// A resource is already in a state that indicates an action is happening that +// must complete before a new update can be applied. +// // * InternalFailureException // An internal failure occurred. // -// * ResourceUnavailableException -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUser -func (c *QuickSight) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) { - req, out := c.DeleteUserRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteIAMPolicyAssignment +func (c *QuickSight) DeleteIAMPolicyAssignment(input *DeleteIAMPolicyAssignmentInput) (*DeleteIAMPolicyAssignmentOutput, error) { + req, out := c.DeleteIAMPolicyAssignmentRequest(input) return out, req.Send() } -// DeleteUserWithContext is the same as DeleteUser with the addition of +// DeleteIAMPolicyAssignmentWithContext is the same as DeleteIAMPolicyAssignment with the addition of // the ability to pass a context and additional request options. // -// See DeleteUser for details on how to use this API operation. +// See DeleteIAMPolicyAssignment for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) { - req, out := c.DeleteUserRequest(input) +func (c *QuickSight) DeleteIAMPolicyAssignmentWithContext(ctx aws.Context, input *DeleteIAMPolicyAssignmentInput, opts ...request.Option) (*DeleteIAMPolicyAssignmentOutput, error) { + req, out := c.DeleteIAMPolicyAssignmentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteUserByPrincipalId = "DeleteUserByPrincipalId" +const opDeleteNamespace = "DeleteNamespace" -// DeleteUserByPrincipalIdRequest generates a "aws/request.Request" representing the -// client's request for the DeleteUserByPrincipalId operation. The "output" return +// DeleteNamespaceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteNamespace operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteUserByPrincipalId for more information on using the DeleteUserByPrincipalId +// See DeleteNamespace for more information on using the DeleteNamespace // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteUserByPrincipalIdRequest method. -// req, resp := client.DeleteUserByPrincipalIdRequest(params) +// // Example sending a request using the DeleteNamespaceRequest method. +// req, resp := client.DeleteNamespaceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUserByPrincipalId -func (c *QuickSight) DeleteUserByPrincipalIdRequest(input *DeleteUserByPrincipalIdInput) (req *request.Request, output *DeleteUserByPrincipalIdOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteNamespace +func (c *QuickSight) DeleteNamespaceRequest(input *DeleteNamespaceInput) (req *request.Request, output *DeleteNamespaceOutput) { op := &request.Operation{ - Name: opDeleteUserByPrincipalId, + Name: opDeleteNamespace, HTTPMethod: "DELETE", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/user-principals/{PrincipalId}", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}", } if input == nil { - input = &DeleteUserByPrincipalIdInput{} + input = &DeleteNamespaceInput{} } - output = &DeleteUserByPrincipalIdOutput{} + output = &DeleteNamespaceOutput{} req = c.newRequest(op, input, output) return } -// DeleteUserByPrincipalId API operation for Amazon QuickSight. +// DeleteNamespace API operation for Amazon QuickSight. // -// Deletes a user identified by its principal ID. +// Deletes a namespace and the users and groups that are associated with the +// namespace. This is an asynchronous process. Assets including dashboards, +// analyses, datasets and data sources are not deleted. To delete these assets, +// you use the APIs for the relevant asset. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DeleteUserByPrincipalId for usage and error information. +// API operation DeleteNamespace for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -2026,86 +2276,89 @@ func (c *QuickSight) DeleteUserByPrincipalIdRequest(input *DeleteUserByPrincipal // * ThrottlingException // Access is throttled. // +// * PreconditionNotMetException +// One or more preconditions aren't met. +// // * InternalFailureException // An internal failure occurred. // // * ResourceUnavailableException // This resource is currently unavailable. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUserByPrincipalId -func (c *QuickSight) DeleteUserByPrincipalId(input *DeleteUserByPrincipalIdInput) (*DeleteUserByPrincipalIdOutput, error) { - req, out := c.DeleteUserByPrincipalIdRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteNamespace +func (c *QuickSight) DeleteNamespace(input *DeleteNamespaceInput) (*DeleteNamespaceOutput, error) { + req, out := c.DeleteNamespaceRequest(input) return out, req.Send() } -// DeleteUserByPrincipalIdWithContext is the same as DeleteUserByPrincipalId with the addition of +// DeleteNamespaceWithContext is the same as DeleteNamespace with the addition of // the ability to pass a context and additional request options. // -// See DeleteUserByPrincipalId for details on how to use this API operation. +// See DeleteNamespace for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DeleteUserByPrincipalIdWithContext(ctx aws.Context, input *DeleteUserByPrincipalIdInput, opts ...request.Option) (*DeleteUserByPrincipalIdOutput, error) { - req, out := c.DeleteUserByPrincipalIdRequest(input) +func (c *QuickSight) DeleteNamespaceWithContext(ctx aws.Context, input *DeleteNamespaceInput, opts ...request.Option) (*DeleteNamespaceOutput, error) { + req, out := c.DeleteNamespaceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeDashboard = "DescribeDashboard" +const opDeleteTemplate = "DeleteTemplate" -// DescribeDashboardRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDashboard operation. The "output" return +// DeleteTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTemplate operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeDashboard for more information on using the DescribeDashboard +// See DeleteTemplate for more information on using the DeleteTemplate // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeDashboardRequest method. -// req, resp := client.DescribeDashboardRequest(params) +// // Example sending a request using the DeleteTemplateRequest method. +// req, resp := client.DeleteTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboard -func (c *QuickSight) DescribeDashboardRequest(input *DescribeDashboardInput) (req *request.Request, output *DescribeDashboardOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTemplate +func (c *QuickSight) DeleteTemplateRequest(input *DeleteTemplateInput) (req *request.Request, output *DeleteTemplateOutput) { op := &request.Operation{ - Name: opDescribeDashboard, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", + Name: opDeleteTemplate, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}", } if input == nil { - input = &DescribeDashboardInput{} + input = &DeleteTemplateInput{} } - output = &DescribeDashboardOutput{} + output = &DeleteTemplateOutput{} req = c.newRequest(op, input, output) return } -// DescribeDashboard API operation for Amazon QuickSight. +// DeleteTemplate API operation for Amazon QuickSight. // -// Provides a summary for a dashboard. +// Deletes a 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 QuickSight's -// API operation DescribeDashboard for usage and error information. +// API operation DeleteTemplate for usage and error information. // // Returned Error Types: // * InvalidParameterValueException @@ -2114,16 +2367,15 @@ func (c *QuickSight) DescribeDashboardRequest(input *DescribeDashboardInput) (re // * ResourceNotFoundException // One or more resources can't be found. // -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// that your account is authorized to use the Amazon QuickSight service, that -// your policies have the correct permissions, and that you are using the correct -// access keys. -// // * ThrottlingException // Access is throttled. // +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * LimitExceededException +// A limit is exceeded. +// // * UnsupportedUserEditionException // This error indicates that you are calling an operation on an Amazon QuickSight // subscription where the edition doesn't include support for that operation. @@ -2133,174 +2385,176 @@ func (c *QuickSight) DescribeDashboardRequest(input *DescribeDashboardInput) (re // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboard -func (c *QuickSight) DescribeDashboard(input *DescribeDashboardInput) (*DescribeDashboardOutput, error) { - req, out := c.DescribeDashboardRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTemplate +func (c *QuickSight) DeleteTemplate(input *DeleteTemplateInput) (*DeleteTemplateOutput, error) { + req, out := c.DeleteTemplateRequest(input) return out, req.Send() } -// DescribeDashboardWithContext is the same as DescribeDashboard with the addition of +// DeleteTemplateWithContext is the same as DeleteTemplate with the addition of // the ability to pass a context and additional request options. // -// See DescribeDashboard for details on how to use this API operation. +// See DeleteTemplate for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DescribeDashboardWithContext(ctx aws.Context, input *DescribeDashboardInput, opts ...request.Option) (*DescribeDashboardOutput, error) { - req, out := c.DescribeDashboardRequest(input) +func (c *QuickSight) DeleteTemplateWithContext(ctx aws.Context, input *DeleteTemplateInput, opts ...request.Option) (*DeleteTemplateOutput, error) { + req, out := c.DeleteTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeDashboardPermissions = "DescribeDashboardPermissions" +const opDeleteTemplateAlias = "DeleteTemplateAlias" -// DescribeDashboardPermissionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDashboardPermissions operation. The "output" return +// DeleteTemplateAliasRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTemplateAlias operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeDashboardPermissions for more information on using the DescribeDashboardPermissions +// See DeleteTemplateAlias for more information on using the DeleteTemplateAlias // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeDashboardPermissionsRequest method. -// req, resp := client.DescribeDashboardPermissionsRequest(params) +// // Example sending a request using the DeleteTemplateAliasRequest method. +// req, resp := client.DeleteTemplateAliasRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboardPermissions -func (c *QuickSight) DescribeDashboardPermissionsRequest(input *DescribeDashboardPermissionsInput) (req *request.Request, output *DescribeDashboardPermissionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTemplateAlias +func (c *QuickSight) DeleteTemplateAliasRequest(input *DeleteTemplateAliasInput) (req *request.Request, output *DeleteTemplateAliasOutput) { op := &request.Operation{ - Name: opDescribeDashboardPermissions, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions", + Name: opDeleteTemplateAlias, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", } if input == nil { - input = &DescribeDashboardPermissionsInput{} + input = &DeleteTemplateAliasInput{} } - output = &DescribeDashboardPermissionsOutput{} + output = &DeleteTemplateAliasOutput{} req = c.newRequest(op, input, output) return } -// DescribeDashboardPermissions API operation for Amazon QuickSight. +// DeleteTemplateAlias API operation for Amazon QuickSight. // -// Describes read and write permissions for a dashboard. +// Deletes the item that the specified template alias points to. If you provide +// a specific alias, you delete the version of the template that the alias points +// to. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DescribeDashboardPermissions for usage and error information. +// API operation DeleteTemplateAlias for usage and error information. // // Returned Error Types: -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. +// * ThrottlingException +// Access is throttled. // // * ResourceNotFoundException // One or more resources can't be found. // -// * ThrottlingException -// Access is throttled. -// // * UnsupportedUserEditionException // This error indicates that you are calling an operation on an Amazon QuickSight // subscription where the edition doesn't include support for that operation. // Amazon QuickSight currently has Standard Edition and Enterprise Edition. // Not every operation and capability is available in every edition. // +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboardPermissions -func (c *QuickSight) DescribeDashboardPermissions(input *DescribeDashboardPermissionsInput) (*DescribeDashboardPermissionsOutput, error) { - req, out := c.DescribeDashboardPermissionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTemplateAlias +func (c *QuickSight) DeleteTemplateAlias(input *DeleteTemplateAliasInput) (*DeleteTemplateAliasOutput, error) { + req, out := c.DeleteTemplateAliasRequest(input) return out, req.Send() } -// DescribeDashboardPermissionsWithContext is the same as DescribeDashboardPermissions with the addition of +// DeleteTemplateAliasWithContext is the same as DeleteTemplateAlias with the addition of // the ability to pass a context and additional request options. // -// See DescribeDashboardPermissions for details on how to use this API operation. +// See DeleteTemplateAlias for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DescribeDashboardPermissionsWithContext(ctx aws.Context, input *DescribeDashboardPermissionsInput, opts ...request.Option) (*DescribeDashboardPermissionsOutput, error) { - req, out := c.DescribeDashboardPermissionsRequest(input) +func (c *QuickSight) DeleteTemplateAliasWithContext(ctx aws.Context, input *DeleteTemplateAliasInput, opts ...request.Option) (*DeleteTemplateAliasOutput, error) { + req, out := c.DeleteTemplateAliasRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeDataSet = "DescribeDataSet" +const opDeleteTheme = "DeleteTheme" -// DescribeDataSetRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDataSet operation. The "output" return +// DeleteThemeRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTheme operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeDataSet for more information on using the DescribeDataSet +// See DeleteTheme for more information on using the DeleteTheme // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeDataSetRequest method. -// req, resp := client.DescribeDataSetRequest(params) +// // Example sending a request using the DeleteThemeRequest method. +// req, resp := client.DeleteThemeRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSet -func (c *QuickSight) DescribeDataSetRequest(input *DescribeDataSetInput) (req *request.Request, output *DescribeDataSetOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTheme +func (c *QuickSight) DeleteThemeRequest(input *DeleteThemeInput) (req *request.Request, output *DeleteThemeOutput) { op := &request.Operation{ - Name: opDescribeDataSet, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}", + Name: opDeleteTheme, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}", } if input == nil { - input = &DescribeDataSetInput{} + input = &DeleteThemeInput{} } - output = &DescribeDataSetOutput{} + output = &DeleteThemeOutput{} req = c.newRequest(op, input, output) return } -// DescribeDataSet API operation for Amazon QuickSight. +// DeleteTheme API operation for Amazon QuickSight. // -// Describes a dataset. +// Deletes a theme. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DescribeDataSet for usage and error information. +// API operation DeleteTheme for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -2310,189 +2564,202 @@ func (c *QuickSight) DescribeDataSetRequest(input *DescribeDataSetInput) (req *r // your policies have the correct permissions, and that you are using the correct // access keys. // +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // -// * ResourceNotFoundException -// One or more resources can't be found. +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSet -func (c *QuickSight) DescribeDataSet(input *DescribeDataSetInput) (*DescribeDataSetOutput, error) { - req, out := c.DescribeDataSetRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteTheme +func (c *QuickSight) DeleteTheme(input *DeleteThemeInput) (*DeleteThemeOutput, error) { + req, out := c.DeleteThemeRequest(input) return out, req.Send() } -// DescribeDataSetWithContext is the same as DescribeDataSet with the addition of +// DeleteThemeWithContext is the same as DeleteTheme with the addition of // the ability to pass a context and additional request options. // -// See DescribeDataSet for details on how to use this API operation. +// See DeleteTheme for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DescribeDataSetWithContext(ctx aws.Context, input *DescribeDataSetInput, opts ...request.Option) (*DescribeDataSetOutput, error) { - req, out := c.DescribeDataSetRequest(input) +func (c *QuickSight) DeleteThemeWithContext(ctx aws.Context, input *DeleteThemeInput, opts ...request.Option) (*DeleteThemeOutput, error) { + req, out := c.DeleteThemeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeDataSetPermissions = "DescribeDataSetPermissions" +const opDeleteThemeAlias = "DeleteThemeAlias" -// DescribeDataSetPermissionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDataSetPermissions operation. The "output" return +// DeleteThemeAliasRequest generates a "aws/request.Request" representing the +// client's request for the DeleteThemeAlias operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeDataSetPermissions for more information on using the DescribeDataSetPermissions +// See DeleteThemeAlias for more information on using the DeleteThemeAlias // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeDataSetPermissionsRequest method. -// req, resp := client.DescribeDataSetPermissionsRequest(params) +// // Example sending a request using the DeleteThemeAliasRequest method. +// req, resp := client.DeleteThemeAliasRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSetPermissions -func (c *QuickSight) DescribeDataSetPermissionsRequest(input *DescribeDataSetPermissionsInput) (req *request.Request, output *DescribeDataSetPermissionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteThemeAlias +func (c *QuickSight) DeleteThemeAliasRequest(input *DeleteThemeAliasInput) (req *request.Request, output *DeleteThemeAliasOutput) { op := &request.Operation{ - Name: opDescribeDataSetPermissions, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/permissions", + Name: opDeleteThemeAlias, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/aliases/{AliasName}", } if input == nil { - input = &DescribeDataSetPermissionsInput{} + input = &DeleteThemeAliasInput{} } - output = &DescribeDataSetPermissionsOutput{} + output = &DeleteThemeAliasOutput{} req = c.newRequest(op, input, output) return } -// DescribeDataSetPermissions API operation for Amazon QuickSight. +// DeleteThemeAlias API operation for Amazon QuickSight. // -// Describes the permissions on a dataset. -// -// The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/data-set-id. +// Deletes the version of the theme that the specified theme alias points to. +// If you provide a specific alias, you delete the version of the theme that +// the alias points to. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DescribeDataSetPermissions for usage and error information. +// API operation DeleteThemeAlias for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// that your account is authorized to use the Amazon QuickSight service, that -// your policies have the correct permissions, and that you are using the correct -// access keys. +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // -// * ResourceNotFoundException -// One or more resources can't be found. +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSetPermissions -func (c *QuickSight) DescribeDataSetPermissions(input *DescribeDataSetPermissionsInput) (*DescribeDataSetPermissionsOutput, error) { - req, out := c.DescribeDataSetPermissionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteThemeAlias +func (c *QuickSight) DeleteThemeAlias(input *DeleteThemeAliasInput) (*DeleteThemeAliasOutput, error) { + req, out := c.DeleteThemeAliasRequest(input) return out, req.Send() } -// DescribeDataSetPermissionsWithContext is the same as DescribeDataSetPermissions with the addition of +// DeleteThemeAliasWithContext is the same as DeleteThemeAlias with the addition of // the ability to pass a context and additional request options. // -// See DescribeDataSetPermissions for details on how to use this API operation. +// See DeleteThemeAlias for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DescribeDataSetPermissionsWithContext(ctx aws.Context, input *DescribeDataSetPermissionsInput, opts ...request.Option) (*DescribeDataSetPermissionsOutput, error) { - req, out := c.DescribeDataSetPermissionsRequest(input) +func (c *QuickSight) DeleteThemeAliasWithContext(ctx aws.Context, input *DeleteThemeAliasInput, opts ...request.Option) (*DeleteThemeAliasOutput, error) { + req, out := c.DeleteThemeAliasRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeDataSource = "DescribeDataSource" +const opDeleteUser = "DeleteUser" -// DescribeDataSourceRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDataSource operation. The "output" return +// DeleteUserRequest generates a "aws/request.Request" representing the +// client's request for the DeleteUser operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeDataSource for more information on using the DescribeDataSource +// See DeleteUser for more information on using the DeleteUser // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeDataSourceRequest method. -// req, resp := client.DescribeDataSourceRequest(params) +// // Example sending a request using the DeleteUserRequest method. +// req, resp := client.DeleteUserRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSource -func (c *QuickSight) DescribeDataSourceRequest(input *DescribeDataSourceInput) (req *request.Request, output *DescribeDataSourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUser +func (c *QuickSight) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) { op := &request.Operation{ - Name: opDescribeDataSource, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", + Name: opDeleteUser, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", } if input == nil { - input = &DescribeDataSourceInput{} + input = &DeleteUserInput{} } - output = &DescribeDataSourceOutput{} + output = &DeleteUserOutput{} req = c.newRequest(op, input, output) return } -// DescribeDataSource API operation for Amazon QuickSight. +// DeleteUser API operation for Amazon QuickSight. // -// Describes a data source. +// Deletes the Amazon QuickSight user that is associated with the identity of +// the AWS Identity and Access Management (IAM) user or role that's making the +// call. The IAM user isn't deleted as a result of this 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 QuickSight's -// API operation DescribeDataSource for usage and error information. +// API operation DeleteUser for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -2505,89 +2772,95 @@ func (c *QuickSight) DescribeDataSourceRequest(input *DescribeDataSourceInput) ( // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // -// * ResourceNotFoundException -// One or more resources can't be found. +// * PreconditionNotMetException +// One or more preconditions aren't met. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSource -func (c *QuickSight) DescribeDataSource(input *DescribeDataSourceInput) (*DescribeDataSourceOutput, error) { - req, out := c.DescribeDataSourceRequest(input) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUser +func (c *QuickSight) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) { + req, out := c.DeleteUserRequest(input) return out, req.Send() } -// DescribeDataSourceWithContext is the same as DescribeDataSource with the addition of +// DeleteUserWithContext is the same as DeleteUser with the addition of // the ability to pass a context and additional request options. // -// See DescribeDataSource for details on how to use this API operation. +// See DeleteUser for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DescribeDataSourceWithContext(ctx aws.Context, input *DescribeDataSourceInput, opts ...request.Option) (*DescribeDataSourceOutput, error) { - req, out := c.DescribeDataSourceRequest(input) +func (c *QuickSight) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) { + req, out := c.DeleteUserRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeDataSourcePermissions = "DescribeDataSourcePermissions" +const opDeleteUserByPrincipalId = "DeleteUserByPrincipalId" -// DescribeDataSourcePermissionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDataSourcePermissions operation. The "output" return +// DeleteUserByPrincipalIdRequest generates a "aws/request.Request" representing the +// client's request for the DeleteUserByPrincipalId operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeDataSourcePermissions for more information on using the DescribeDataSourcePermissions +// See DeleteUserByPrincipalId for more information on using the DeleteUserByPrincipalId // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeDataSourcePermissionsRequest method. -// req, resp := client.DescribeDataSourcePermissionsRequest(params) +// // Example sending a request using the DeleteUserByPrincipalIdRequest method. +// req, resp := client.DeleteUserByPrincipalIdRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSourcePermissions -func (c *QuickSight) DescribeDataSourcePermissionsRequest(input *DescribeDataSourcePermissionsInput) (req *request.Request, output *DescribeDataSourcePermissionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUserByPrincipalId +func (c *QuickSight) DeleteUserByPrincipalIdRequest(input *DeleteUserByPrincipalIdInput) (req *request.Request, output *DeleteUserByPrincipalIdOutput) { op := &request.Operation{ - Name: opDescribeDataSourcePermissions, - HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}/permissions", + Name: opDeleteUserByPrincipalId, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/user-principals/{PrincipalId}", } if input == nil { - input = &DescribeDataSourcePermissionsInput{} + input = &DeleteUserByPrincipalIdInput{} } - output = &DescribeDataSourcePermissionsOutput{} + output = &DeleteUserByPrincipalIdOutput{} req = c.newRequest(op, input, output) return } -// DescribeDataSourcePermissions API operation for Amazon QuickSight. +// DeleteUserByPrincipalId API operation for Amazon QuickSight. // -// Describes the resource permissions for a data source. +// Deletes a user identified by its principal 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 QuickSight's -// API operation DescribeDataSourcePermissions for usage and error information. +// API operation DeleteUserByPrincipalId for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -2600,90 +2873,95 @@ func (c *QuickSight) DescribeDataSourcePermissionsRequest(input *DescribeDataSou // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // -// * ResourceNotFoundException -// One or more resources can't be found. +// * PreconditionNotMetException +// One or more preconditions aren't met. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSourcePermissions -func (c *QuickSight) DescribeDataSourcePermissions(input *DescribeDataSourcePermissionsInput) (*DescribeDataSourcePermissionsOutput, error) { - req, out := c.DescribeDataSourcePermissionsRequest(input) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteUserByPrincipalId +func (c *QuickSight) DeleteUserByPrincipalId(input *DeleteUserByPrincipalIdInput) (*DeleteUserByPrincipalIdOutput, error) { + req, out := c.DeleteUserByPrincipalIdRequest(input) return out, req.Send() } -// DescribeDataSourcePermissionsWithContext is the same as DescribeDataSourcePermissions with the addition of +// DeleteUserByPrincipalIdWithContext is the same as DeleteUserByPrincipalId with the addition of // the ability to pass a context and additional request options. // -// See DescribeDataSourcePermissions for details on how to use this API operation. +// See DeleteUserByPrincipalId for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DescribeDataSourcePermissionsWithContext(ctx aws.Context, input *DescribeDataSourcePermissionsInput, opts ...request.Option) (*DescribeDataSourcePermissionsOutput, error) { - req, out := c.DescribeDataSourcePermissionsRequest(input) +func (c *QuickSight) DeleteUserByPrincipalIdWithContext(ctx aws.Context, input *DeleteUserByPrincipalIdInput, opts ...request.Option) (*DeleteUserByPrincipalIdOutput, error) { + req, out := c.DeleteUserByPrincipalIdRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeGroup = "DescribeGroup" +const opDescribeAccountCustomization = "DescribeAccountCustomization" -// DescribeGroupRequest generates a "aws/request.Request" representing the -// client's request for the DescribeGroup operation. The "output" return +// DescribeAccountCustomizationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAccountCustomization operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeGroup for more information on using the DescribeGroup +// See DescribeAccountCustomization for more information on using the DescribeAccountCustomization // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeGroupRequest method. -// req, resp := client.DescribeGroupRequest(params) +// // Example sending a request using the DescribeAccountCustomizationRequest method. +// req, resp := client.DescribeAccountCustomizationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeGroup -func (c *QuickSight) DescribeGroupRequest(input *DescribeGroupInput) (req *request.Request, output *DescribeGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeAccountCustomization +func (c *QuickSight) DescribeAccountCustomizationRequest(input *DescribeAccountCustomizationInput) (req *request.Request, output *DescribeAccountCustomizationOutput) { op := &request.Operation{ - Name: opDescribeGroup, + Name: opDescribeAccountCustomization, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", + HTTPPath: "/accounts/{AwsAccountId}/customizations", } if input == nil { - input = &DescribeGroupInput{} + input = &DescribeAccountCustomizationInput{} } - output = &DescribeGroupOutput{} + output = &DescribeAccountCustomizationOutput{} req = c.newRequest(op, input, output) return } -// DescribeGroup API operation for Amazon QuickSight. +// DescribeAccountCustomization API operation for Amazon QuickSight. // -// Returns an Amazon QuickSight group's description and Amazon Resource Name -// (ARN). +// Describes the customizations associated with your AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DescribeGroup for usage and error information. +// API operation DescribeAccountCustomization for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -2702,90 +2980,87 @@ func (c *QuickSight) DescribeGroupRequest(input *DescribeGroupInput) (req *reque // * ThrottlingException // Access is throttled. // -// * PreconditionNotMetException -// One or more preconditions aren't met. -// // * InternalFailureException // An internal failure occurred. // // * ResourceUnavailableException // This resource is currently unavailable. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeGroup -func (c *QuickSight) DescribeGroup(input *DescribeGroupInput) (*DescribeGroupOutput, error) { - req, out := c.DescribeGroupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeAccountCustomization +func (c *QuickSight) DescribeAccountCustomization(input *DescribeAccountCustomizationInput) (*DescribeAccountCustomizationOutput, error) { + req, out := c.DescribeAccountCustomizationRequest(input) return out, req.Send() } -// DescribeGroupWithContext is the same as DescribeGroup with the addition of +// DescribeAccountCustomizationWithContext is the same as DescribeAccountCustomization with the addition of // the ability to pass a context and additional request options. // -// See DescribeGroup for details on how to use this API operation. +// See DescribeAccountCustomization for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DescribeGroupWithContext(ctx aws.Context, input *DescribeGroupInput, opts ...request.Option) (*DescribeGroupOutput, error) { - req, out := c.DescribeGroupRequest(input) +func (c *QuickSight) DescribeAccountCustomizationWithContext(ctx aws.Context, input *DescribeAccountCustomizationInput, opts ...request.Option) (*DescribeAccountCustomizationOutput, error) { + req, out := c.DescribeAccountCustomizationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeIAMPolicyAssignment = "DescribeIAMPolicyAssignment" +const opDescribeAccountSettings = "DescribeAccountSettings" -// DescribeIAMPolicyAssignmentRequest generates a "aws/request.Request" representing the -// client's request for the DescribeIAMPolicyAssignment operation. The "output" return +// DescribeAccountSettingsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAccountSettings operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeIAMPolicyAssignment for more information on using the DescribeIAMPolicyAssignment +// See DescribeAccountSettings for more information on using the DescribeAccountSettings // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeIAMPolicyAssignmentRequest method. -// req, resp := client.DescribeIAMPolicyAssignmentRequest(params) +// // Example sending a request using the DescribeAccountSettingsRequest method. +// req, resp := client.DescribeAccountSettingsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeIAMPolicyAssignment -func (c *QuickSight) DescribeIAMPolicyAssignmentRequest(input *DescribeIAMPolicyAssignmentInput) (req *request.Request, output *DescribeIAMPolicyAssignmentOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeAccountSettings +func (c *QuickSight) DescribeAccountSettingsRequest(input *DescribeAccountSettingsInput) (req *request.Request, output *DescribeAccountSettingsOutput) { op := &request.Operation{ - Name: opDescribeIAMPolicyAssignment, + Name: opDescribeAccountSettings, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}", + HTTPPath: "/accounts/{AwsAccountId}/settings", } if input == nil { - input = &DescribeIAMPolicyAssignmentInput{} + input = &DescribeAccountSettingsInput{} } - output = &DescribeIAMPolicyAssignmentOutput{} + output = &DescribeAccountSettingsOutput{} req = c.newRequest(op, input, output) return } -// DescribeIAMPolicyAssignment API operation for Amazon QuickSight. +// DescribeAccountSettings API operation for Amazon QuickSight. // -// Describes an existing IAM policy assignment, as specified by the assignment -// name. +// Describes the settings that were used when your QuickSight subscription was +// first created in this AWS Account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DescribeIAMPolicyAssignment for usage and error information. +// API operation DescribeAccountSettings for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -2804,88 +3079,94 @@ func (c *QuickSight) DescribeIAMPolicyAssignmentRequest(input *DescribeIAMPolicy // * ThrottlingException // Access is throttled. // -// * InvalidNextTokenException -// The NextToken value isn't valid. -// // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeIAMPolicyAssignment -func (c *QuickSight) DescribeIAMPolicyAssignment(input *DescribeIAMPolicyAssignmentInput) (*DescribeIAMPolicyAssignmentOutput, error) { - req, out := c.DescribeIAMPolicyAssignmentRequest(input) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeAccountSettings +func (c *QuickSight) DescribeAccountSettings(input *DescribeAccountSettingsInput) (*DescribeAccountSettingsOutput, error) { + req, out := c.DescribeAccountSettingsRequest(input) return out, req.Send() } -// DescribeIAMPolicyAssignmentWithContext is the same as DescribeIAMPolicyAssignment with the addition of +// DescribeAccountSettingsWithContext is the same as DescribeAccountSettings with the addition of // the ability to pass a context and additional request options. // -// See DescribeIAMPolicyAssignment for details on how to use this API operation. +// See DescribeAccountSettings for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DescribeIAMPolicyAssignmentWithContext(ctx aws.Context, input *DescribeIAMPolicyAssignmentInput, opts ...request.Option) (*DescribeIAMPolicyAssignmentOutput, error) { - req, out := c.DescribeIAMPolicyAssignmentRequest(input) +func (c *QuickSight) DescribeAccountSettingsWithContext(ctx aws.Context, input *DescribeAccountSettingsInput, opts ...request.Option) (*DescribeAccountSettingsOutput, error) { + req, out := c.DescribeAccountSettingsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeIngestion = "DescribeIngestion" +const opDescribeDashboard = "DescribeDashboard" -// DescribeIngestionRequest generates a "aws/request.Request" representing the -// client's request for the DescribeIngestion operation. The "output" return +// DescribeDashboardRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDashboard operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeIngestion for more information on using the DescribeIngestion +// See DescribeDashboard for more information on using the DescribeDashboard // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeIngestionRequest method. -// req, resp := client.DescribeIngestionRequest(params) +// // Example sending a request using the DescribeDashboardRequest method. +// req, resp := client.DescribeDashboardRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeIngestion -func (c *QuickSight) DescribeIngestionRequest(input *DescribeIngestionInput) (req *request.Request, output *DescribeIngestionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboard +func (c *QuickSight) DescribeDashboardRequest(input *DescribeDashboardInput) (req *request.Request, output *DescribeDashboardOutput) { op := &request.Operation{ - Name: opDescribeIngestion, + Name: opDescribeDashboard, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions/{IngestionId}", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", } if input == nil { - input = &DescribeIngestionInput{} + input = &DescribeDashboardInput{} } - output = &DescribeIngestionOutput{} + output = &DescribeDashboardOutput{} req = c.newRequest(op, input, output) return } -// DescribeIngestion API operation for Amazon QuickSight. +// DescribeDashboard API operation for Amazon QuickSight. // -// Describes a SPICE ingestion. +// Provides a summary for a dashboard. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DescribeIngestion for usage and error information. +// API operation DescribeDashboard for usage and error information. // // Returned Error Types: +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// // * AccessDeniedException // You don't have access to this item. The provided credentials couldn't be // validated. You might not be authorized to carry out the request. Make sure @@ -2893,119 +3174,103 @@ func (c *QuickSight) DescribeIngestionRequest(input *DescribeIngestionInput) (re // your policies have the correct permissions, and that you are using the correct // access keys. // -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. -// -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // -// * ResourceExistsException -// The resource specified already exists. +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeIngestion -func (c *QuickSight) DescribeIngestion(input *DescribeIngestionInput) (*DescribeIngestionOutput, error) { - req, out := c.DescribeIngestionRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboard +func (c *QuickSight) DescribeDashboard(input *DescribeDashboardInput) (*DescribeDashboardOutput, error) { + req, out := c.DescribeDashboardRequest(input) return out, req.Send() } -// DescribeIngestionWithContext is the same as DescribeIngestion with the addition of +// DescribeDashboardWithContext is the same as DescribeDashboard with the addition of // the ability to pass a context and additional request options. // -// See DescribeIngestion for details on how to use this API operation. +// See DescribeDashboard for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DescribeIngestionWithContext(ctx aws.Context, input *DescribeIngestionInput, opts ...request.Option) (*DescribeIngestionOutput, error) { - req, out := c.DescribeIngestionRequest(input) +func (c *QuickSight) DescribeDashboardWithContext(ctx aws.Context, input *DescribeDashboardInput, opts ...request.Option) (*DescribeDashboardOutput, error) { + req, out := c.DescribeDashboardRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeTemplate = "DescribeTemplate" +const opDescribeDashboardPermissions = "DescribeDashboardPermissions" -// DescribeTemplateRequest generates a "aws/request.Request" representing the -// client's request for the DescribeTemplate operation. The "output" return +// DescribeDashboardPermissionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDashboardPermissions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeTemplate for more information on using the DescribeTemplate +// See DescribeDashboardPermissions for more information on using the DescribeDashboardPermissions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeTemplateRequest method. -// req, resp := client.DescribeTemplateRequest(params) +// // Example sending a request using the DescribeDashboardPermissionsRequest method. +// req, resp := client.DescribeDashboardPermissionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplate -func (c *QuickSight) DescribeTemplateRequest(input *DescribeTemplateInput) (req *request.Request, output *DescribeTemplateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboardPermissions +func (c *QuickSight) DescribeDashboardPermissionsRequest(input *DescribeDashboardPermissionsInput) (req *request.Request, output *DescribeDashboardPermissionsOutput) { op := &request.Operation{ - Name: opDescribeTemplate, + Name: opDescribeDashboardPermissions, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions", } if input == nil { - input = &DescribeTemplateInput{} + input = &DescribeDashboardPermissionsInput{} } - output = &DescribeTemplateOutput{} + output = &DescribeDashboardPermissionsOutput{} req = c.newRequest(op, input, output) return } -// DescribeTemplate API operation for Amazon QuickSight. +// DescribeDashboardPermissions API operation for Amazon QuickSight. // -// Describes a template's metadata. +// Describes read and write permissions for a dashboard. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DescribeTemplate for usage and error information. +// API operation DescribeDashboardPermissions for usage and error information. // // Returned Error Types: // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// that your account is authorized to use the Amazon QuickSight service, that -// your policies have the correct permissions, and that you are using the correct -// access keys. -// -// * ResourceExistsException -// The resource specified already exists. -// // * ResourceNotFoundException // One or more resources can't be found. // // * ThrottlingException // Access is throttled. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// // * UnsupportedUserEditionException // This error indicates that you are calling an operation on an Amazon QuickSight // subscription where the edition doesn't include support for that operation. @@ -3015,268 +3280,272 @@ func (c *QuickSight) DescribeTemplateRequest(input *DescribeTemplateInput) (req // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplate -func (c *QuickSight) DescribeTemplate(input *DescribeTemplateInput) (*DescribeTemplateOutput, error) { - req, out := c.DescribeTemplateRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboardPermissions +func (c *QuickSight) DescribeDashboardPermissions(input *DescribeDashboardPermissionsInput) (*DescribeDashboardPermissionsOutput, error) { + req, out := c.DescribeDashboardPermissionsRequest(input) return out, req.Send() } -// DescribeTemplateWithContext is the same as DescribeTemplate with the addition of +// DescribeDashboardPermissionsWithContext is the same as DescribeDashboardPermissions with the addition of // the ability to pass a context and additional request options. // -// See DescribeTemplate for details on how to use this API operation. +// See DescribeDashboardPermissions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DescribeTemplateWithContext(ctx aws.Context, input *DescribeTemplateInput, opts ...request.Option) (*DescribeTemplateOutput, error) { - req, out := c.DescribeTemplateRequest(input) +func (c *QuickSight) DescribeDashboardPermissionsWithContext(ctx aws.Context, input *DescribeDashboardPermissionsInput, opts ...request.Option) (*DescribeDashboardPermissionsOutput, error) { + req, out := c.DescribeDashboardPermissionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeTemplateAlias = "DescribeTemplateAlias" +const opDescribeDataSet = "DescribeDataSet" -// DescribeTemplateAliasRequest generates a "aws/request.Request" representing the -// client's request for the DescribeTemplateAlias operation. The "output" return +// DescribeDataSetRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDataSet operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeTemplateAlias for more information on using the DescribeTemplateAlias +// See DescribeDataSet for more information on using the DescribeDataSet // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeTemplateAliasRequest method. -// req, resp := client.DescribeTemplateAliasRequest(params) +// // Example sending a request using the DescribeDataSetRequest method. +// req, resp := client.DescribeDataSetRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplateAlias -func (c *QuickSight) DescribeTemplateAliasRequest(input *DescribeTemplateAliasInput) (req *request.Request, output *DescribeTemplateAliasOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSet +func (c *QuickSight) DescribeDataSetRequest(input *DescribeDataSetInput) (req *request.Request, output *DescribeDataSetOutput) { op := &request.Operation{ - Name: opDescribeTemplateAlias, + Name: opDescribeDataSet, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}", } if input == nil { - input = &DescribeTemplateAliasInput{} + input = &DescribeDataSetInput{} } - output = &DescribeTemplateAliasOutput{} + output = &DescribeDataSetOutput{} req = c.newRequest(op, input, output) return } -// DescribeTemplateAlias API operation for Amazon QuickSight. +// DescribeDataSet API operation for Amazon QuickSight. // -// Describes the template alias for a template. +// Describes a dataset. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation DescribeTemplateAlias for usage and error information. +// API operation DescribeDataSet for usage and error information. // // Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// // * ThrottlingException // Access is throttled. // // * ResourceNotFoundException // One or more resources can't be found. // -// * UnsupportedUserEditionException -// This error indicates that you are calling an operation on an Amazon QuickSight -// subscription where the edition doesn't include support for that operation. -// Amazon QuickSight currently has Standard Edition and Enterprise Edition. -// Not every operation and capability is available in every edition. -// // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplateAlias -func (c *QuickSight) DescribeTemplateAlias(input *DescribeTemplateAliasInput) (*DescribeTemplateAliasOutput, error) { - req, out := c.DescribeTemplateAliasRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSet +func (c *QuickSight) DescribeDataSet(input *DescribeDataSetInput) (*DescribeDataSetOutput, error) { + req, out := c.DescribeDataSetRequest(input) return out, req.Send() } -// DescribeTemplateAliasWithContext is the same as DescribeTemplateAlias with the addition of +// DescribeDataSetWithContext is the same as DescribeDataSet with the addition of // the ability to pass a context and additional request options. // -// See DescribeTemplateAlias for details on how to use this API operation. +// See DescribeDataSet for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DescribeTemplateAliasWithContext(ctx aws.Context, input *DescribeTemplateAliasInput, opts ...request.Option) (*DescribeTemplateAliasOutput, error) { - req, out := c.DescribeTemplateAliasRequest(input) +func (c *QuickSight) DescribeDataSetWithContext(ctx aws.Context, input *DescribeDataSetInput, opts ...request.Option) (*DescribeDataSetOutput, error) { + req, out := c.DescribeDataSetRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeTemplatePermissions = "DescribeTemplatePermissions" +const opDescribeDataSetPermissions = "DescribeDataSetPermissions" -// DescribeTemplatePermissionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeTemplatePermissions operation. The "output" return +// DescribeDataSetPermissionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDataSetPermissions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeTemplatePermissions for more information on using the DescribeTemplatePermissions +// See DescribeDataSetPermissions for more information on using the DescribeDataSetPermissions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeTemplatePermissionsRequest method. -// req, resp := client.DescribeTemplatePermissionsRequest(params) +// // Example sending a request using the DescribeDataSetPermissionsRequest method. +// req, resp := client.DescribeDataSetPermissionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplatePermissions -func (c *QuickSight) DescribeTemplatePermissionsRequest(input *DescribeTemplatePermissionsInput) (req *request.Request, output *DescribeTemplatePermissionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSetPermissions +func (c *QuickSight) DescribeDataSetPermissionsRequest(input *DescribeDataSetPermissionsInput) (req *request.Request, output *DescribeDataSetPermissionsOutput) { op := &request.Operation{ - Name: opDescribeTemplatePermissions, + Name: opDescribeDataSetPermissions, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/permissions", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/permissions", } if input == nil { - input = &DescribeTemplatePermissionsInput{} + input = &DescribeDataSetPermissionsInput{} } - output = &DescribeTemplatePermissionsOutput{} + output = &DescribeDataSetPermissionsOutput{} req = c.newRequest(op, input, output) return } -// DescribeTemplatePermissions API operation for Amazon QuickSight. +// DescribeDataSetPermissions API operation for Amazon QuickSight. // -// Describes read and write permissions on a template. +// Describes the permissions on a dataset. +// +// The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/data-set-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 QuickSight's -// API operation DescribeTemplatePermissions for usage and error information. +// API operation DescribeDataSetPermissions for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. +// * ThrottlingException +// Access is throttled. // // * ResourceNotFoundException // One or more resources can't be found. // -// * UnsupportedUserEditionException -// This error indicates that you are calling an operation on an Amazon QuickSight -// subscription where the edition doesn't include support for that operation. -// Amazon QuickSight currently has Standard Edition and Enterprise Edition. -// Not every operation and capability is available in every edition. -// // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplatePermissions -func (c *QuickSight) DescribeTemplatePermissions(input *DescribeTemplatePermissionsInput) (*DescribeTemplatePermissionsOutput, error) { - req, out := c.DescribeTemplatePermissionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSetPermissions +func (c *QuickSight) DescribeDataSetPermissions(input *DescribeDataSetPermissionsInput) (*DescribeDataSetPermissionsOutput, error) { + req, out := c.DescribeDataSetPermissionsRequest(input) return out, req.Send() } -// DescribeTemplatePermissionsWithContext is the same as DescribeTemplatePermissions with the addition of +// DescribeDataSetPermissionsWithContext is the same as DescribeDataSetPermissions with the addition of // the ability to pass a context and additional request options. // -// See DescribeTemplatePermissions for details on how to use this API operation. +// See DescribeDataSetPermissions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DescribeTemplatePermissionsWithContext(ctx aws.Context, input *DescribeTemplatePermissionsInput, opts ...request.Option) (*DescribeTemplatePermissionsOutput, error) { - req, out := c.DescribeTemplatePermissionsRequest(input) +func (c *QuickSight) DescribeDataSetPermissionsWithContext(ctx aws.Context, input *DescribeDataSetPermissionsInput, opts ...request.Option) (*DescribeDataSetPermissionsOutput, error) { + req, out := c.DescribeDataSetPermissionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeUser = "DescribeUser" +const opDescribeDataSource = "DescribeDataSource" -// DescribeUserRequest generates a "aws/request.Request" representing the -// client's request for the DescribeUser operation. The "output" return +// DescribeDataSourceRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDataSource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeUser for more information on using the DescribeUser +// See DescribeDataSource for more information on using the DescribeDataSource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeUserRequest method. -// req, resp := client.DescribeUserRequest(params) +// // Example sending a request using the DescribeDataSourceRequest method. +// req, resp := client.DescribeDataSourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeUser -func (c *QuickSight) DescribeUserRequest(input *DescribeUserInput) (req *request.Request, output *DescribeUserOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSource +func (c *QuickSight) DescribeDataSourceRequest(input *DescribeDataSourceInput) (req *request.Request, output *DescribeDataSourceOutput) { op := &request.Operation{ - Name: opDescribeUser, + Name: opDescribeDataSource, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", + HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", } if input == nil { - input = &DescribeUserInput{} + input = &DescribeDataSourceInput{} } - output = &DescribeUserOutput{} + output = &DescribeDataSourceOutput{} req = c.newRequest(op, input, output) return } -// DescribeUser API operation for Amazon QuickSight. +// DescribeDataSource API operation for Amazon QuickSight. // -// Returns information about a user, given the user name. +// Describes a 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 QuickSight's -// API operation DescribeUser for usage and error information. +// API operation DescribeDataSource for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -3289,100 +3558,89 @@ func (c *QuickSight) DescribeUserRequest(input *DescribeUserInput) (req *request // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * InternalFailureException // An internal failure occurred. // -// * ResourceUnavailableException -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeUser -func (c *QuickSight) DescribeUser(input *DescribeUserInput) (*DescribeUserOutput, error) { - req, out := c.DescribeUserRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSource +func (c *QuickSight) DescribeDataSource(input *DescribeDataSourceInput) (*DescribeDataSourceOutput, error) { + req, out := c.DescribeDataSourceRequest(input) return out, req.Send() } -// DescribeUserWithContext is the same as DescribeUser with the addition of +// DescribeDataSourceWithContext is the same as DescribeDataSource with the addition of // the ability to pass a context and additional request options. // -// See DescribeUser for details on how to use this API operation. +// See DescribeDataSource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) DescribeUserWithContext(ctx aws.Context, input *DescribeUserInput, opts ...request.Option) (*DescribeUserOutput, error) { - req, out := c.DescribeUserRequest(input) +func (c *QuickSight) DescribeDataSourceWithContext(ctx aws.Context, input *DescribeDataSourceInput, opts ...request.Option) (*DescribeDataSourceOutput, error) { + req, out := c.DescribeDataSourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetDashboardEmbedUrl = "GetDashboardEmbedUrl" +const opDescribeDataSourcePermissions = "DescribeDataSourcePermissions" -// GetDashboardEmbedUrlRequest generates a "aws/request.Request" representing the -// client's request for the GetDashboardEmbedUrl operation. The "output" return +// DescribeDataSourcePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDataSourcePermissions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetDashboardEmbedUrl for more information on using the GetDashboardEmbedUrl +// See DescribeDataSourcePermissions for more information on using the DescribeDataSourcePermissions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetDashboardEmbedUrlRequest method. -// req, resp := client.GetDashboardEmbedUrlRequest(params) +// // Example sending a request using the DescribeDataSourcePermissionsRequest method. +// req, resp := client.DescribeDataSourcePermissionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/GetDashboardEmbedUrl -func (c *QuickSight) GetDashboardEmbedUrlRequest(input *GetDashboardEmbedUrlInput) (req *request.Request, output *GetDashboardEmbedUrlOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSourcePermissions +func (c *QuickSight) DescribeDataSourcePermissionsRequest(input *DescribeDataSourcePermissionsInput) (req *request.Request, output *DescribeDataSourcePermissionsOutput) { op := &request.Operation{ - Name: opGetDashboardEmbedUrl, + Name: opDescribeDataSourcePermissions, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/embed-url", + HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}/permissions", } if input == nil { - input = &GetDashboardEmbedUrlInput{} + input = &DescribeDataSourcePermissionsInput{} } - output = &GetDashboardEmbedUrlOutput{} + output = &DescribeDataSourcePermissionsOutput{} req = c.newRequest(op, input, output) return } -// GetDashboardEmbedUrl API operation for Amazon QuickSight. -// -// Generates a server-side embeddable URL and authorization code. For this process -// to work properly, first configure the dashboards and user permissions. For -// more information, see Embedding Amazon QuickSight Dashboards (https://docs.aws.amazon.com/quicksight/latest/user/embedding-dashboards.html) -// in the Amazon QuickSight User Guide or Embedding Amazon QuickSight Dashboards -// (https://docs.aws.amazon.com/quicksight/latest/APIReference/qs-dev-embedded-dashboards.html) -// in the Amazon QuickSight API Reference. +// DescribeDataSourcePermissions API operation for Amazon QuickSight. // -// Currently, you can use GetDashboardEmbedURL only from the server, not from -// the user’s browser. +// Describes the resource permissions for a 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 QuickSight's -// API operation GetDashboardEmbedUrl for usage and error information. +// API operation DescribeDataSourcePermissions for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -3395,123 +3653,99 @@ func (c *QuickSight) GetDashboardEmbedUrlRequest(input *GetDashboardEmbedUrlInpu // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceExistsException -// The resource specified already exists. -// -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // -// * DomainNotWhitelistedException -// The domain specified isn't on the allow list. All domains for embedded dashboards -// must be added to the approved list by an Amazon QuickSight admin. -// -// * UserNotFoundException -// The user with the provided name isn't found. This error can happen in any -// operation that requires finding a user based on a provided user name, such -// as DeleteUser, DescribeUser, and so on. -// -// * IdentityTypeNotSupportedException -// The identity type specified isn't supported. Supported identity types include -// IAM and QUICKSIGHT. -// -// * SessionLifetimeInMinutesInvalidException -// The number of minutes specified for the lifetime of a session isn't valid. -// The session lifetime must be 15-600 minutes. -// -// * UnsupportedUserEditionException -// This error indicates that you are calling an operation on an Amazon QuickSight -// subscription where the edition doesn't include support for that operation. -// Amazon QuickSight currently has Standard Edition and Enterprise Edition. -// Not every operation and capability is available in every edition. +// * ResourceNotFoundException +// One or more resources can't be found. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/GetDashboardEmbedUrl -func (c *QuickSight) GetDashboardEmbedUrl(input *GetDashboardEmbedUrlInput) (*GetDashboardEmbedUrlOutput, error) { - req, out := c.GetDashboardEmbedUrlRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSourcePermissions +func (c *QuickSight) DescribeDataSourcePermissions(input *DescribeDataSourcePermissionsInput) (*DescribeDataSourcePermissionsOutput, error) { + req, out := c.DescribeDataSourcePermissionsRequest(input) return out, req.Send() } -// GetDashboardEmbedUrlWithContext is the same as GetDashboardEmbedUrl with the addition of +// DescribeDataSourcePermissionsWithContext is the same as DescribeDataSourcePermissions with the addition of // the ability to pass a context and additional request options. // -// See GetDashboardEmbedUrl for details on how to use this API operation. +// See DescribeDataSourcePermissions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) GetDashboardEmbedUrlWithContext(ctx aws.Context, input *GetDashboardEmbedUrlInput, opts ...request.Option) (*GetDashboardEmbedUrlOutput, error) { - req, out := c.GetDashboardEmbedUrlRequest(input) +func (c *QuickSight) DescribeDataSourcePermissionsWithContext(ctx aws.Context, input *DescribeDataSourcePermissionsInput, opts ...request.Option) (*DescribeDataSourcePermissionsOutput, error) { + req, out := c.DescribeDataSourcePermissionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListDashboardVersions = "ListDashboardVersions" +const opDescribeGroup = "DescribeGroup" -// ListDashboardVersionsRequest generates a "aws/request.Request" representing the -// client's request for the ListDashboardVersions operation. The "output" return +// DescribeGroupRequest generates a "aws/request.Request" representing the +// client's request for the DescribeGroup operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListDashboardVersions for more information on using the ListDashboardVersions +// See DescribeGroup for more information on using the DescribeGroup // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListDashboardVersionsRequest method. -// req, resp := client.ListDashboardVersionsRequest(params) +// // Example sending a request using the DescribeGroupRequest method. +// req, resp := client.DescribeGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboardVersions -func (c *QuickSight) ListDashboardVersionsRequest(input *ListDashboardVersionsInput) (req *request.Request, output *ListDashboardVersionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeGroup +func (c *QuickSight) DescribeGroupRequest(input *DescribeGroupInput) (req *request.Request, output *DescribeGroupOutput) { op := &request.Operation{ - Name: opListDashboardVersions, + Name: opDescribeGroup, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", } if input == nil { - input = &ListDashboardVersionsInput{} + input = &DescribeGroupInput{} } - output = &ListDashboardVersionsOutput{} + output = &DescribeGroupOutput{} req = c.newRequest(op, input, output) return } -// ListDashboardVersions API operation for Amazon QuickSight. +// DescribeGroup API operation for Amazon QuickSight. // -// Lists all the versions of the dashboards in the QuickSight subscription. +// Returns an Amazon QuickSight group's description and Amazon Resource Name +// (ARN). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListDashboardVersions for usage and error information. +// API operation DescribeGroup for usage and error information. // // Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // @@ -3521,302 +3755,188 @@ func (c *QuickSight) ListDashboardVersionsRequest(input *ListDashboardVersionsIn // * ThrottlingException // Access is throttled. // -// * InvalidNextTokenException -// The NextToken value isn't valid. -// -// * UnsupportedUserEditionException -// This error indicates that you are calling an operation on an Amazon QuickSight -// subscription where the edition doesn't include support for that operation. -// Amazon QuickSight currently has Standard Edition and Enterprise Edition. -// Not every operation and capability is available in every edition. +// * PreconditionNotMetException +// One or more preconditions aren't met. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboardVersions -func (c *QuickSight) ListDashboardVersions(input *ListDashboardVersionsInput) (*ListDashboardVersionsOutput, error) { - req, out := c.ListDashboardVersionsRequest(input) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeGroup +func (c *QuickSight) DescribeGroup(input *DescribeGroupInput) (*DescribeGroupOutput, error) { + req, out := c.DescribeGroupRequest(input) return out, req.Send() } -// ListDashboardVersionsWithContext is the same as ListDashboardVersions with the addition of +// DescribeGroupWithContext is the same as DescribeGroup with the addition of // the ability to pass a context and additional request options. // -// See ListDashboardVersions for details on how to use this API operation. +// See DescribeGroup for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) ListDashboardVersionsWithContext(ctx aws.Context, input *ListDashboardVersionsInput, opts ...request.Option) (*ListDashboardVersionsOutput, error) { - req, out := c.ListDashboardVersionsRequest(input) +func (c *QuickSight) DescribeGroupWithContext(ctx aws.Context, input *DescribeGroupInput, opts ...request.Option) (*DescribeGroupOutput, error) { + req, out := c.DescribeGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListDashboardVersionsPages iterates over the pages of a ListDashboardVersions operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opDescribeIAMPolicyAssignment = "DescribeIAMPolicyAssignment" + +// DescribeIAMPolicyAssignmentRequest generates a "aws/request.Request" representing the +// client's request for the DescribeIAMPolicyAssignment operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListDashboardVersions method for more information on how to use this operation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListDashboardVersions operation. -// pageNum := 0 -// err := client.ListDashboardVersionsPages(params, -// func(page *quicksight.ListDashboardVersionsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *QuickSight) ListDashboardVersionsPages(input *ListDashboardVersionsInput, fn func(*ListDashboardVersionsOutput, bool) bool) error { - return c.ListDashboardVersionsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListDashboardVersionsPagesWithContext same as ListDashboardVersionsPages 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 *QuickSight) ListDashboardVersionsPagesWithContext(ctx aws.Context, input *ListDashboardVersionsInput, fn func(*ListDashboardVersionsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListDashboardVersionsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListDashboardVersionsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListDashboardVersionsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListDashboards = "ListDashboards" - -// ListDashboardsRequest generates a "aws/request.Request" representing the -// client's request for the ListDashboards operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListDashboards for more information on using the ListDashboards -// API call, and error handling. +// See DescribeIAMPolicyAssignment for more information on using the DescribeIAMPolicyAssignment +// API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListDashboardsRequest method. -// req, resp := client.ListDashboardsRequest(params) +// // Example sending a request using the DescribeIAMPolicyAssignmentRequest method. +// req, resp := client.DescribeIAMPolicyAssignmentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboards -func (c *QuickSight) ListDashboardsRequest(input *ListDashboardsInput) (req *request.Request, output *ListDashboardsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeIAMPolicyAssignment +func (c *QuickSight) DescribeIAMPolicyAssignmentRequest(input *DescribeIAMPolicyAssignmentInput) (req *request.Request, output *DescribeIAMPolicyAssignmentOutput) { op := &request.Operation{ - Name: opListDashboards, + Name: opDescribeIAMPolicyAssignment, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/dashboards", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}", } if input == nil { - input = &ListDashboardsInput{} + input = &DescribeIAMPolicyAssignmentInput{} } - output = &ListDashboardsOutput{} + output = &DescribeIAMPolicyAssignmentOutput{} req = c.newRequest(op, input, output) return } -// ListDashboards API operation for Amazon QuickSight. +// DescribeIAMPolicyAssignment API operation for Amazon QuickSight. // -// Lists dashboards in an AWS account. +// Describes an existing IAM policy assignment, as specified by the assignment +// name. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListDashboards for usage and error information. +// API operation DescribeIAMPolicyAssignment for usage and error information. // // Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // // * InvalidNextTokenException // The NextToken value isn't valid. // -// * UnsupportedUserEditionException -// This error indicates that you are calling an operation on an Amazon QuickSight -// subscription where the edition doesn't include support for that operation. -// Amazon QuickSight currently has Standard Edition and Enterprise Edition. -// Not every operation and capability is available in every edition. -// // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboards -func (c *QuickSight) ListDashboards(input *ListDashboardsInput) (*ListDashboardsOutput, error) { - req, out := c.ListDashboardsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeIAMPolicyAssignment +func (c *QuickSight) DescribeIAMPolicyAssignment(input *DescribeIAMPolicyAssignmentInput) (*DescribeIAMPolicyAssignmentOutput, error) { + req, out := c.DescribeIAMPolicyAssignmentRequest(input) return out, req.Send() } -// ListDashboardsWithContext is the same as ListDashboards with the addition of +// DescribeIAMPolicyAssignmentWithContext is the same as DescribeIAMPolicyAssignment with the addition of // the ability to pass a context and additional request options. // -// See ListDashboards for details on how to use this API operation. +// See DescribeIAMPolicyAssignment for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) ListDashboardsWithContext(ctx aws.Context, input *ListDashboardsInput, opts ...request.Option) (*ListDashboardsOutput, error) { - req, out := c.ListDashboardsRequest(input) +func (c *QuickSight) DescribeIAMPolicyAssignmentWithContext(ctx aws.Context, input *DescribeIAMPolicyAssignmentInput, opts ...request.Option) (*DescribeIAMPolicyAssignmentOutput, error) { + req, out := c.DescribeIAMPolicyAssignmentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListDashboardsPages iterates over the pages of a ListDashboards operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListDashboards 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 ListDashboards operation. -// pageNum := 0 -// err := client.ListDashboardsPages(params, -// func(page *quicksight.ListDashboardsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *QuickSight) ListDashboardsPages(input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool) error { - return c.ListDashboardsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListDashboardsPagesWithContext same as ListDashboardsPages 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 *QuickSight) ListDashboardsPagesWithContext(ctx aws.Context, input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListDashboardsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListDashboardsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListDashboardsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListDataSets = "ListDataSets" +const opDescribeIngestion = "DescribeIngestion" -// ListDataSetsRequest generates a "aws/request.Request" representing the -// client's request for the ListDataSets operation. The "output" return +// DescribeIngestionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeIngestion operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListDataSets for more information on using the ListDataSets +// See DescribeIngestion for more information on using the DescribeIngestion // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListDataSetsRequest method. -// req, resp := client.ListDataSetsRequest(params) +// // Example sending a request using the DescribeIngestionRequest method. +// req, resp := client.DescribeIngestionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDataSets -func (c *QuickSight) ListDataSetsRequest(input *ListDataSetsInput) (req *request.Request, output *ListDataSetsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeIngestion +func (c *QuickSight) DescribeIngestionRequest(input *DescribeIngestionInput) (req *request.Request, output *DescribeIngestionOutput) { op := &request.Operation{ - Name: opListDataSets, + Name: opDescribeIngestion, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sets", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions/{IngestionId}", } if input == nil { - input = &ListDataSetsInput{} + input = &DescribeIngestionInput{} } - output = &ListDataSetsOutput{} + output = &DescribeIngestionOutput{} req = c.newRequest(op, input, output) return } -// ListDataSets API operation for Amazon QuickSight. -// -// Lists all of the datasets belonging to the current AWS account in an AWS -// Region. +// DescribeIngestion API operation for Amazon QuickSight. // -// The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/*. +// Describes a SPICE ingestion. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListDataSets for usage and error information. +// API operation DescribeIngestion for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -3829,147 +3949,92 @@ func (c *QuickSight) ListDataSetsRequest(input *ListDataSetsInput) (req *request // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // -// * InvalidNextTokenException -// The NextToken value isn't valid. +// * ResourceExistsException +// The resource specified already exists. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDataSets -func (c *QuickSight) ListDataSets(input *ListDataSetsInput) (*ListDataSetsOutput, error) { - req, out := c.ListDataSetsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeIngestion +func (c *QuickSight) DescribeIngestion(input *DescribeIngestionInput) (*DescribeIngestionOutput, error) { + req, out := c.DescribeIngestionRequest(input) return out, req.Send() } -// ListDataSetsWithContext is the same as ListDataSets with the addition of +// DescribeIngestionWithContext is the same as DescribeIngestion with the addition of // the ability to pass a context and additional request options. // -// See ListDataSets for details on how to use this API operation. +// See DescribeIngestion for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) ListDataSetsWithContext(ctx aws.Context, input *ListDataSetsInput, opts ...request.Option) (*ListDataSetsOutput, error) { - req, out := c.ListDataSetsRequest(input) +func (c *QuickSight) DescribeIngestionWithContext(ctx aws.Context, input *DescribeIngestionInput, opts ...request.Option) (*DescribeIngestionOutput, error) { + req, out := c.DescribeIngestionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListDataSetsPages iterates over the pages of a ListDataSets operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opDescribeNamespace = "DescribeNamespace" + +// DescribeNamespaceRequest generates a "aws/request.Request" representing the +// client's request for the DescribeNamespace operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListDataSets method for more information on how to use this operation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Note: This operation can generate multiple requests to a service. +// See DescribeNamespace for more information on using the DescribeNamespace +// API call, and error handling. // -// // Example iterating over at most 3 pages of a ListDataSets operation. -// pageNum := 0 -// err := client.ListDataSetsPages(params, -// func(page *quicksight.ListDataSetsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -func (c *QuickSight) ListDataSetsPages(input *ListDataSetsInput, fn func(*ListDataSetsOutput, bool) bool) error { - return c.ListDataSetsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListDataSetsPagesWithContext same as ListDataSetsPages 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 *QuickSight) ListDataSetsPagesWithContext(ctx aws.Context, input *ListDataSetsInput, fn func(*ListDataSetsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListDataSetsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListDataSetsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListDataSetsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListDataSources = "ListDataSources" - -// ListDataSourcesRequest generates a "aws/request.Request" representing the -// client's request for the ListDataSources operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListDataSources for more information on using the ListDataSources -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// -// // Example sending a request using the ListDataSourcesRequest method. -// req, resp := client.ListDataSourcesRequest(params) +// // Example sending a request using the DescribeNamespaceRequest method. +// req, resp := client.DescribeNamespaceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDataSources -func (c *QuickSight) ListDataSourcesRequest(input *ListDataSourcesInput) (req *request.Request, output *ListDataSourcesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeNamespace +func (c *QuickSight) DescribeNamespaceRequest(input *DescribeNamespaceInput) (req *request.Request, output *DescribeNamespaceOutput) { op := &request.Operation{ - Name: opListDataSources, + Name: opDescribeNamespace, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sources", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}", } if input == nil { - input = &ListDataSourcesInput{} + input = &DescribeNamespaceInput{} } - output = &ListDataSourcesOutput{} + output = &DescribeNamespaceOutput{} req = c.newRequest(op, input, output) return } -// ListDataSources API operation for Amazon QuickSight. +// DescribeNamespace API operation for Amazon QuickSight. // -// Lists data sources in current AWS Region that belong to this AWS account. +// Describes the current namespace. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListDataSources for usage and error information. +// API operation DescribeNamespace for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -3982,143 +4047,97 @@ func (c *QuickSight) ListDataSourcesRequest(input *ListDataSourcesInput) (req *r // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // -// * InvalidNextTokenException -// The NextToken value isn't valid. -// // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDataSources -func (c *QuickSight) ListDataSources(input *ListDataSourcesInput) (*ListDataSourcesOutput, error) { - req, out := c.ListDataSourcesRequest(input) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeNamespace +func (c *QuickSight) DescribeNamespace(input *DescribeNamespaceInput) (*DescribeNamespaceOutput, error) { + req, out := c.DescribeNamespaceRequest(input) return out, req.Send() } -// ListDataSourcesWithContext is the same as ListDataSources with the addition of +// DescribeNamespaceWithContext is the same as DescribeNamespace with the addition of // the ability to pass a context and additional request options. // -// See ListDataSources for details on how to use this API operation. +// See DescribeNamespace for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) ListDataSourcesWithContext(ctx aws.Context, input *ListDataSourcesInput, opts ...request.Option) (*ListDataSourcesOutput, error) { - req, out := c.ListDataSourcesRequest(input) +func (c *QuickSight) DescribeNamespaceWithContext(ctx aws.Context, input *DescribeNamespaceInput, opts ...request.Option) (*DescribeNamespaceOutput, error) { + req, out := c.DescribeNamespaceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListDataSourcesPages iterates over the pages of a ListDataSources operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListDataSources 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 ListDataSources operation. -// pageNum := 0 -// err := client.ListDataSourcesPages(params, -// func(page *quicksight.ListDataSourcesOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *QuickSight) ListDataSourcesPages(input *ListDataSourcesInput, fn func(*ListDataSourcesOutput, bool) bool) error { - return c.ListDataSourcesPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListDataSourcesPagesWithContext same as ListDataSourcesPages 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 *QuickSight) ListDataSourcesPagesWithContext(ctx aws.Context, input *ListDataSourcesInput, fn func(*ListDataSourcesOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListDataSourcesInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListDataSourcesRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListDataSourcesOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListGroupMemberships = "ListGroupMemberships" +const opDescribeTemplate = "DescribeTemplate" -// ListGroupMembershipsRequest generates a "aws/request.Request" representing the -// client's request for the ListGroupMemberships operation. The "output" return +// DescribeTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTemplate operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListGroupMemberships for more information on using the ListGroupMemberships +// See DescribeTemplate for more information on using the DescribeTemplate // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListGroupMembershipsRequest method. -// req, resp := client.ListGroupMembershipsRequest(params) +// // Example sending a request using the DescribeTemplateRequest method. +// req, resp := client.DescribeTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroupMemberships -func (c *QuickSight) ListGroupMembershipsRequest(input *ListGroupMembershipsInput) (req *request.Request, output *ListGroupMembershipsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplate +func (c *QuickSight) DescribeTemplateRequest(input *DescribeTemplateInput) (req *request.Request, output *DescribeTemplateOutput) { op := &request.Operation{ - Name: opListGroupMemberships, + Name: opDescribeTemplate, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}", } if input == nil { - input = &ListGroupMembershipsInput{} + input = &DescribeTemplateInput{} } - output = &ListGroupMembershipsOutput{} + output = &DescribeTemplateOutput{} req = c.newRequest(op, input, output) return } -// ListGroupMemberships API operation for Amazon QuickSight. +// DescribeTemplate API operation for Amazon QuickSight. // -// Lists member users in a group. +// Describes a template's metadata. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListGroupMemberships for usage and error information. +// API operation DescribeTemplate for usage and error information. // // Returned Error Types: +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// // * AccessDeniedException // You don't have access to this item. The provided credentials couldn't be // validated. You might not be authorized to carry out the request. Make sure @@ -4126,8 +4145,8 @@ func (c *QuickSight) ListGroupMembershipsRequest(input *ListGroupMembershipsInpu // your policies have the correct permissions, and that you are using the correct // access keys. // -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. +// * ResourceExistsException +// The resource specified already exists. // // * ResourceNotFoundException // One or more resources can't be found. @@ -4135,296 +4154,280 @@ func (c *QuickSight) ListGroupMembershipsRequest(input *ListGroupMembershipsInpu // * ThrottlingException // Access is throttled. // -// * InvalidNextTokenException -// The NextToken value isn't valid. +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. // -// * PreconditionNotMetException -// One or more preconditions aren't met. +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * InternalFailureException // An internal failure occurred. // -// * ResourceUnavailableException -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroupMemberships -func (c *QuickSight) ListGroupMemberships(input *ListGroupMembershipsInput) (*ListGroupMembershipsOutput, error) { - req, out := c.ListGroupMembershipsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplate +func (c *QuickSight) DescribeTemplate(input *DescribeTemplateInput) (*DescribeTemplateOutput, error) { + req, out := c.DescribeTemplateRequest(input) return out, req.Send() } -// ListGroupMembershipsWithContext is the same as ListGroupMemberships with the addition of +// DescribeTemplateWithContext is the same as DescribeTemplate with the addition of // the ability to pass a context and additional request options. // -// See ListGroupMemberships for details on how to use this API operation. +// See DescribeTemplate for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) ListGroupMembershipsWithContext(ctx aws.Context, input *ListGroupMembershipsInput, opts ...request.Option) (*ListGroupMembershipsOutput, error) { - req, out := c.ListGroupMembershipsRequest(input) +func (c *QuickSight) DescribeTemplateWithContext(ctx aws.Context, input *DescribeTemplateInput, opts ...request.Option) (*DescribeTemplateOutput, error) { + req, out := c.DescribeTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListGroups = "ListGroups" +const opDescribeTemplateAlias = "DescribeTemplateAlias" -// ListGroupsRequest generates a "aws/request.Request" representing the -// client's request for the ListGroups operation. The "output" return +// DescribeTemplateAliasRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTemplateAlias operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListGroups for more information on using the ListGroups +// See DescribeTemplateAlias for more information on using the DescribeTemplateAlias // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListGroupsRequest method. -// req, resp := client.ListGroupsRequest(params) +// // Example sending a request using the DescribeTemplateAliasRequest method. +// req, resp := client.DescribeTemplateAliasRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroups -func (c *QuickSight) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplateAlias +func (c *QuickSight) DescribeTemplateAliasRequest(input *DescribeTemplateAliasInput) (req *request.Request, output *DescribeTemplateAliasOutput) { op := &request.Operation{ - Name: opListGroups, + Name: opDescribeTemplateAlias, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", } if input == nil { - input = &ListGroupsInput{} + input = &DescribeTemplateAliasInput{} } - output = &ListGroupsOutput{} + output = &DescribeTemplateAliasOutput{} req = c.newRequest(op, input, output) return } -// ListGroups API operation for Amazon QuickSight. +// DescribeTemplateAlias API operation for Amazon QuickSight. // -// Lists all user groups in Amazon QuickSight. +// Describes the template alias for a 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 QuickSight's -// API operation ListGroups for usage and error information. +// API operation DescribeTemplateAlias for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// that your account is authorized to use the Amazon QuickSight service, that -// your policies have the correct permissions, and that you are using the correct -// access keys. -// -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. -// -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // -// * InvalidNextTokenException -// The NextToken value isn't valid. +// * ResourceNotFoundException +// One or more resources can't be found. // -// * PreconditionNotMetException -// One or more preconditions aren't met. +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * InternalFailureException // An internal failure occurred. // -// * ResourceUnavailableException -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroups -func (c *QuickSight) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) { - req, out := c.ListGroupsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplateAlias +func (c *QuickSight) DescribeTemplateAlias(input *DescribeTemplateAliasInput) (*DescribeTemplateAliasOutput, error) { + req, out := c.DescribeTemplateAliasRequest(input) return out, req.Send() } -// ListGroupsWithContext is the same as ListGroups with the addition of +// DescribeTemplateAliasWithContext is the same as DescribeTemplateAlias with the addition of // the ability to pass a context and additional request options. // -// See ListGroups for details on how to use this API operation. +// See DescribeTemplateAlias for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) ListGroupsWithContext(ctx aws.Context, input *ListGroupsInput, opts ...request.Option) (*ListGroupsOutput, error) { - req, out := c.ListGroupsRequest(input) +func (c *QuickSight) DescribeTemplateAliasWithContext(ctx aws.Context, input *DescribeTemplateAliasInput, opts ...request.Option) (*DescribeTemplateAliasOutput, error) { + req, out := c.DescribeTemplateAliasRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListIAMPolicyAssignments = "ListIAMPolicyAssignments" +const opDescribeTemplatePermissions = "DescribeTemplatePermissions" -// ListIAMPolicyAssignmentsRequest generates a "aws/request.Request" representing the -// client's request for the ListIAMPolicyAssignments operation. The "output" return +// DescribeTemplatePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTemplatePermissions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListIAMPolicyAssignments for more information on using the ListIAMPolicyAssignments +// See DescribeTemplatePermissions for more information on using the DescribeTemplatePermissions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListIAMPolicyAssignmentsRequest method. -// req, resp := client.ListIAMPolicyAssignmentsRequest(params) +// // Example sending a request using the DescribeTemplatePermissionsRequest method. +// req, resp := client.DescribeTemplatePermissionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIAMPolicyAssignments -func (c *QuickSight) ListIAMPolicyAssignmentsRequest(input *ListIAMPolicyAssignmentsInput) (req *request.Request, output *ListIAMPolicyAssignmentsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplatePermissions +func (c *QuickSight) DescribeTemplatePermissionsRequest(input *DescribeTemplatePermissionsInput) (req *request.Request, output *DescribeTemplatePermissionsOutput) { op := &request.Operation{ - Name: opListIAMPolicyAssignments, + Name: opDescribeTemplatePermissions, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/permissions", } if input == nil { - input = &ListIAMPolicyAssignmentsInput{} + input = &DescribeTemplatePermissionsInput{} } - output = &ListIAMPolicyAssignmentsOutput{} + output = &DescribeTemplatePermissionsOutput{} req = c.newRequest(op, input, output) return } -// ListIAMPolicyAssignments API operation for Amazon QuickSight. +// DescribeTemplatePermissions API operation for Amazon QuickSight. // -// Lists IAM policy assignments in the current Amazon QuickSight account. +// Describes read and write permissions on a 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 QuickSight's -// API operation ListIAMPolicyAssignments for usage and error information. +// API operation DescribeTemplatePermissions for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// that your account is authorized to use the Amazon QuickSight service, that -// your policies have the correct permissions, and that you are using the correct -// access keys. +// * ThrottlingException +// Access is throttled. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// // * ResourceNotFoundException // One or more resources can't be found. // -// * ThrottlingException -// Access is throttled. -// -// * InvalidNextTokenException -// The NextToken value isn't valid. +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIAMPolicyAssignments -func (c *QuickSight) ListIAMPolicyAssignments(input *ListIAMPolicyAssignmentsInput) (*ListIAMPolicyAssignmentsOutput, error) { - req, out := c.ListIAMPolicyAssignmentsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTemplatePermissions +func (c *QuickSight) DescribeTemplatePermissions(input *DescribeTemplatePermissionsInput) (*DescribeTemplatePermissionsOutput, error) { + req, out := c.DescribeTemplatePermissionsRequest(input) return out, req.Send() } -// ListIAMPolicyAssignmentsWithContext is the same as ListIAMPolicyAssignments with the addition of +// DescribeTemplatePermissionsWithContext is the same as DescribeTemplatePermissions with the addition of // the ability to pass a context and additional request options. // -// See ListIAMPolicyAssignments for details on how to use this API operation. +// See DescribeTemplatePermissions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) ListIAMPolicyAssignmentsWithContext(ctx aws.Context, input *ListIAMPolicyAssignmentsInput, opts ...request.Option) (*ListIAMPolicyAssignmentsOutput, error) { - req, out := c.ListIAMPolicyAssignmentsRequest(input) +func (c *QuickSight) DescribeTemplatePermissionsWithContext(ctx aws.Context, input *DescribeTemplatePermissionsInput, opts ...request.Option) (*DescribeTemplatePermissionsOutput, error) { + req, out := c.DescribeTemplatePermissionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListIAMPolicyAssignmentsForUser = "ListIAMPolicyAssignmentsForUser" +const opDescribeTheme = "DescribeTheme" -// ListIAMPolicyAssignmentsForUserRequest generates a "aws/request.Request" representing the -// client's request for the ListIAMPolicyAssignmentsForUser operation. The "output" return +// DescribeThemeRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTheme operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListIAMPolicyAssignmentsForUser for more information on using the ListIAMPolicyAssignmentsForUser +// See DescribeTheme for more information on using the DescribeTheme // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListIAMPolicyAssignmentsForUserRequest method. -// req, resp := client.ListIAMPolicyAssignmentsForUserRequest(params) +// // Example sending a request using the DescribeThemeRequest method. +// req, resp := client.DescribeThemeRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIAMPolicyAssignmentsForUser -func (c *QuickSight) ListIAMPolicyAssignmentsForUserRequest(input *ListIAMPolicyAssignmentsForUserInput) (req *request.Request, output *ListIAMPolicyAssignmentsForUserOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTheme +func (c *QuickSight) DescribeThemeRequest(input *DescribeThemeInput) (req *request.Request, output *DescribeThemeOutput) { op := &request.Operation{ - Name: opListIAMPolicyAssignmentsForUser, + Name: opDescribeTheme, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/iam-policy-assignments", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}", } if input == nil { - input = &ListIAMPolicyAssignmentsForUserInput{} + input = &DescribeThemeInput{} } - output = &ListIAMPolicyAssignmentsForUserOutput{} + output = &DescribeThemeOutput{} req = c.newRequest(op, input, output) return } -// ListIAMPolicyAssignmentsForUser API operation for Amazon QuickSight. +// DescribeTheme API operation for Amazon QuickSight. // -// Lists all the IAM policy assignments, including the Amazon Resource Names -// (ARNs) for the IAM policies assigned to the specified user and group or groups -// that the user belongs to. +// Describes a theme. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListIAMPolicyAssignmentsForUser for usage and error information. +// API operation DescribeTheme for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -4446,101 +4449,93 @@ func (c *QuickSight) ListIAMPolicyAssignmentsForUserRequest(input *ListIAMPolicy // * ThrottlingException // Access is throttled. // -// * ConcurrentUpdatingException -// A resource is already in a state that indicates an action is happening that -// must complete before a new update can be applied. +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIAMPolicyAssignmentsForUser -func (c *QuickSight) ListIAMPolicyAssignmentsForUser(input *ListIAMPolicyAssignmentsForUserInput) (*ListIAMPolicyAssignmentsForUserOutput, error) { - req, out := c.ListIAMPolicyAssignmentsForUserRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeTheme +func (c *QuickSight) DescribeTheme(input *DescribeThemeInput) (*DescribeThemeOutput, error) { + req, out := c.DescribeThemeRequest(input) return out, req.Send() } -// ListIAMPolicyAssignmentsForUserWithContext is the same as ListIAMPolicyAssignmentsForUser with the addition of +// DescribeThemeWithContext is the same as DescribeTheme with the addition of // the ability to pass a context and additional request options. // -// See ListIAMPolicyAssignmentsForUser for details on how to use this API operation. +// See DescribeTheme for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) ListIAMPolicyAssignmentsForUserWithContext(ctx aws.Context, input *ListIAMPolicyAssignmentsForUserInput, opts ...request.Option) (*ListIAMPolicyAssignmentsForUserOutput, error) { - req, out := c.ListIAMPolicyAssignmentsForUserRequest(input) +func (c *QuickSight) DescribeThemeWithContext(ctx aws.Context, input *DescribeThemeInput, opts ...request.Option) (*DescribeThemeOutput, error) { + req, out := c.DescribeThemeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListIngestions = "ListIngestions" +const opDescribeThemeAlias = "DescribeThemeAlias" -// ListIngestionsRequest generates a "aws/request.Request" representing the -// client's request for the ListIngestions operation. The "output" return +// DescribeThemeAliasRequest generates a "aws/request.Request" representing the +// client's request for the DescribeThemeAlias operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListIngestions for more information on using the ListIngestions +// See DescribeThemeAlias for more information on using the DescribeThemeAlias // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListIngestionsRequest method. -// req, resp := client.ListIngestionsRequest(params) +// // Example sending a request using the DescribeThemeAliasRequest method. +// req, resp := client.DescribeThemeAliasRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIngestions -func (c *QuickSight) ListIngestionsRequest(input *ListIngestionsInput) (req *request.Request, output *ListIngestionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeThemeAlias +func (c *QuickSight) DescribeThemeAliasRequest(input *DescribeThemeAliasInput) (req *request.Request, output *DescribeThemeAliasOutput) { op := &request.Operation{ - Name: opListIngestions, + Name: opDescribeThemeAlias, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/aliases/{AliasName}", } if input == nil { - input = &ListIngestionsInput{} + input = &DescribeThemeAliasInput{} } - output = &ListIngestionsOutput{} + output = &DescribeThemeAliasOutput{} req = c.newRequest(op, input, output) return } -// ListIngestions API operation for Amazon QuickSight. +// DescribeThemeAlias API operation for Amazon QuickSight. // -// Lists the history of SPICE ingestions for a dataset. +// Describes the alias for a theme. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListIngestions for usage and error information. +// API operation DescribeThemeAlias for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// that your account is authorized to use the Amazon QuickSight service, that -// your policies have the correct permissions, and that you are using the correct -// access keys. +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. @@ -4551,141 +4546,89 @@ func (c *QuickSight) ListIngestionsRequest(input *ListIngestionsInput) (req *req // * ThrottlingException // Access is throttled. // -// * ResourceExistsException -// The resource specified already exists. -// -// * InvalidNextTokenException -// The NextToken value isn't valid. +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIngestions -func (c *QuickSight) ListIngestions(input *ListIngestionsInput) (*ListIngestionsOutput, error) { - req, out := c.ListIngestionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeThemeAlias +func (c *QuickSight) DescribeThemeAlias(input *DescribeThemeAliasInput) (*DescribeThemeAliasOutput, error) { + req, out := c.DescribeThemeAliasRequest(input) return out, req.Send() } -// ListIngestionsWithContext is the same as ListIngestions with the addition of +// DescribeThemeAliasWithContext is the same as DescribeThemeAlias with the addition of // the ability to pass a context and additional request options. // -// See ListIngestions for details on how to use this API operation. +// See DescribeThemeAlias for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) ListIngestionsWithContext(ctx aws.Context, input *ListIngestionsInput, opts ...request.Option) (*ListIngestionsOutput, error) { - req, out := c.ListIngestionsRequest(input) +func (c *QuickSight) DescribeThemeAliasWithContext(ctx aws.Context, input *DescribeThemeAliasInput, opts ...request.Option) (*DescribeThemeAliasOutput, error) { + req, out := c.DescribeThemeAliasRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListIngestionsPages iterates over the pages of a ListIngestions operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListIngestions 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 ListIngestions operation. -// pageNum := 0 -// err := client.ListIngestionsPages(params, -// func(page *quicksight.ListIngestionsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *QuickSight) ListIngestionsPages(input *ListIngestionsInput, fn func(*ListIngestionsOutput, bool) bool) error { - return c.ListIngestionsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListIngestionsPagesWithContext same as ListIngestionsPages 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 *QuickSight) ListIngestionsPagesWithContext(ctx aws.Context, input *ListIngestionsInput, fn func(*ListIngestionsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListIngestionsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListIngestionsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListIngestionsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListTagsForResource = "ListTagsForResource" +const opDescribeThemePermissions = "DescribeThemePermissions" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// DescribeThemePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeThemePermissions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTagsForResource for more information on using the ListTagsForResource +// See DescribeThemePermissions for more information on using the DescribeThemePermissions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the DescribeThemePermissionsRequest method. +// req, resp := client.DescribeThemePermissionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTagsForResource -func (c *QuickSight) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeThemePermissions +func (c *QuickSight) DescribeThemePermissionsRequest(input *DescribeThemePermissionsInput) (req *request.Request, output *DescribeThemePermissionsOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opDescribeThemePermissions, HTTPMethod: "GET", - HTTPPath: "/resources/{ResourceArn}/tags", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/permissions", } if input == nil { - input = &ListTagsForResourceInput{} + input = &DescribeThemePermissionsInput{} } - output = &ListTagsForResourceOutput{} + output = &DescribeThemePermissionsOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for Amazon QuickSight. +// DescribeThemePermissions API operation for Amazon QuickSight. // -// Lists the tags assigned to a resource. +// Describes the read and write permissions for a theme. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListTagsForResource for usage and error information. +// API operation DescribeThemePermissions for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -4704,252 +4647,246 @@ func (c *QuickSight) ListTagsForResourceRequest(input *ListTagsForResourceInput) // * ThrottlingException // Access is throttled. // +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTagsForResource -func (c *QuickSight) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeThemePermissions +func (c *QuickSight) DescribeThemePermissions(input *DescribeThemePermissionsInput) (*DescribeThemePermissionsOutput, error) { + req, out := c.DescribeThemePermissionsRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// DescribeThemePermissionsWithContext is the same as DescribeThemePermissions with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See DescribeThemePermissions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *QuickSight) DescribeThemePermissionsWithContext(ctx aws.Context, input *DescribeThemePermissionsInput, opts ...request.Option) (*DescribeThemePermissionsOutput, error) { + req, out := c.DescribeThemePermissionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListTemplateAliases = "ListTemplateAliases" +const opDescribeUser = "DescribeUser" -// ListTemplateAliasesRequest generates a "aws/request.Request" representing the -// client's request for the ListTemplateAliases operation. The "output" return +// DescribeUserRequest generates a "aws/request.Request" representing the +// client's request for the DescribeUser operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTemplateAliases for more information on using the ListTemplateAliases +// See DescribeUser for more information on using the DescribeUser // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListTemplateAliasesRequest method. -// req, resp := client.ListTemplateAliasesRequest(params) +// // Example sending a request using the DescribeUserRequest method. +// req, resp := client.DescribeUserRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplateAliases -func (c *QuickSight) ListTemplateAliasesRequest(input *ListTemplateAliasesInput) (req *request.Request, output *ListTemplateAliasesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeUser +func (c *QuickSight) DescribeUserRequest(input *DescribeUserInput) (req *request.Request, output *DescribeUserOutput) { op := &request.Operation{ - Name: opListTemplateAliases, + Name: opDescribeUser, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", } if input == nil { - input = &ListTemplateAliasesInput{} + input = &DescribeUserInput{} } - output = &ListTemplateAliasesOutput{} + output = &DescribeUserOutput{} req = c.newRequest(op, input, output) return } -// ListTemplateAliases API operation for Amazon QuickSight. +// DescribeUser API operation for Amazon QuickSight. // -// Lists all the aliases of a template. +// Returns information about a user, given the user name. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListTemplateAliases for usage and error information. +// API operation DescribeUser for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. // // * ResourceNotFoundException // One or more resources can't be found. // -// * UnsupportedUserEditionException -// This error indicates that you are calling an operation on an Amazon QuickSight -// subscription where the edition doesn't include support for that operation. -// Amazon QuickSight currently has Standard Edition and Enterprise Edition. -// Not every operation and capability is available in every edition. +// * ThrottlingException +// Access is throttled. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplateAliases -func (c *QuickSight) ListTemplateAliases(input *ListTemplateAliasesInput) (*ListTemplateAliasesOutput, error) { - req, out := c.ListTemplateAliasesRequest(input) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeUser +func (c *QuickSight) DescribeUser(input *DescribeUserInput) (*DescribeUserOutput, error) { + req, out := c.DescribeUserRequest(input) return out, req.Send() } -// ListTemplateAliasesWithContext is the same as ListTemplateAliases with the addition of +// DescribeUserWithContext is the same as DescribeUser with the addition of // the ability to pass a context and additional request options. // -// See ListTemplateAliases for details on how to use this API operation. +// See DescribeUser for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) ListTemplateAliasesWithContext(ctx aws.Context, input *ListTemplateAliasesInput, opts ...request.Option) (*ListTemplateAliasesOutput, error) { - req, out := c.ListTemplateAliasesRequest(input) +func (c *QuickSight) DescribeUserWithContext(ctx aws.Context, input *DescribeUserInput, opts ...request.Option) (*DescribeUserOutput, error) { + req, out := c.DescribeUserRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListTemplateAliasesPages iterates over the pages of a ListTemplateAliases operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListTemplateAliases 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 ListTemplateAliases operation. -// pageNum := 0 -// err := client.ListTemplateAliasesPages(params, -// func(page *quicksight.ListTemplateAliasesOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *QuickSight) ListTemplateAliasesPages(input *ListTemplateAliasesInput, fn func(*ListTemplateAliasesOutput, bool) bool) error { - return c.ListTemplateAliasesPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListTemplateAliasesPagesWithContext same as ListTemplateAliasesPages 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 *QuickSight) ListTemplateAliasesPagesWithContext(ctx aws.Context, input *ListTemplateAliasesInput, fn func(*ListTemplateAliasesOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListTemplateAliasesInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListTemplateAliasesRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListTemplateAliasesOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListTemplateVersions = "ListTemplateVersions" +const opGetDashboardEmbedUrl = "GetDashboardEmbedUrl" -// ListTemplateVersionsRequest generates a "aws/request.Request" representing the -// client's request for the ListTemplateVersions operation. The "output" return +// GetDashboardEmbedUrlRequest generates a "aws/request.Request" representing the +// client's request for the GetDashboardEmbedUrl operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTemplateVersions for more information on using the ListTemplateVersions +// See GetDashboardEmbedUrl for more information on using the GetDashboardEmbedUrl // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListTemplateVersionsRequest method. -// req, resp := client.ListTemplateVersionsRequest(params) +// // Example sending a request using the GetDashboardEmbedUrlRequest method. +// req, resp := client.GetDashboardEmbedUrlRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplateVersions -func (c *QuickSight) ListTemplateVersionsRequest(input *ListTemplateVersionsInput) (req *request.Request, output *ListTemplateVersionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/GetDashboardEmbedUrl +func (c *QuickSight) GetDashboardEmbedUrlRequest(input *GetDashboardEmbedUrlInput) (req *request.Request, output *GetDashboardEmbedUrlOutput) { op := &request.Operation{ - Name: opListTemplateVersions, + Name: opGetDashboardEmbedUrl, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/versions", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/embed-url", } if input == nil { - input = &ListTemplateVersionsInput{} + input = &GetDashboardEmbedUrlInput{} } - output = &ListTemplateVersionsOutput{} + output = &GetDashboardEmbedUrlOutput{} req = c.newRequest(op, input, output) return } -// ListTemplateVersions API operation for Amazon QuickSight. +// GetDashboardEmbedUrl API operation for Amazon QuickSight. // -// Lists all the versions of the templates in the current Amazon QuickSight -// account. +// Generates a URL and authorization code that you can embed in your web server +// code. Before you use this command, make sure that you have configured the +// dashboards and permissions. +// +// Currently, you can use GetDashboardEmbedURL only from the server, not from +// the user's browser. The following rules apply to the combination of URL and +// authorization code: +// +// * They must be used together. +// +// * They can be used one time only. +// +// * They are valid for 5 minutes after you run this command. +// +// * The resulting user session is valid for 10 hours. +// +// For more information, see Embedding Amazon QuickSight Dashboards (https://docs.aws.amazon.com/quicksight/latest/user/embedding-dashboards.html) +// in the Amazon QuickSight User Guide or Embedding Amazon QuickSight Dashboards +// (https://docs.aws.amazon.com/quicksight/latest/APIReference/qs-dev-embedded-dashboards.html) +// in the Amazon QuickSight API Reference. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListTemplateVersions for usage and error information. +// API operation GetDashboardEmbedUrl for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceExistsException +// The resource specified already exists. +// // * ResourceNotFoundException // One or more resources can't be found. // -// * InvalidNextTokenException -// The NextToken value isn't valid. +// * ThrottlingException +// Access is throttled. +// +// * DomainNotWhitelistedException +// The domain specified isn't on the allow list. All domains for embedded dashboards +// must be added to the approved list by an Amazon QuickSight admin. +// +// * UserNotFoundException +// The user with the provided name isn't found. This error can happen in any +// operation that requires finding a user based on a provided user name, such +// as DeleteUser, DescribeUser, and so on. +// +// * IdentityTypeNotSupportedException +// The identity type specified isn't supported. Supported identity types include +// IAM and QUICKSIGHT. +// +// * SessionLifetimeInMinutesInvalidException +// The number of minutes specified for the lifetime of a session isn't valid. +// The session lifetime must be 15-600 minutes. // // * UnsupportedUserEditionException // This error indicates that you are calling an operation on an Amazon QuickSight @@ -4960,113 +4897,175 @@ func (c *QuickSight) ListTemplateVersionsRequest(input *ListTemplateVersionsInpu // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplateVersions -func (c *QuickSight) ListTemplateVersions(input *ListTemplateVersionsInput) (*ListTemplateVersionsOutput, error) { - req, out := c.ListTemplateVersionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/GetDashboardEmbedUrl +func (c *QuickSight) GetDashboardEmbedUrl(input *GetDashboardEmbedUrlInput) (*GetDashboardEmbedUrlOutput, error) { + req, out := c.GetDashboardEmbedUrlRequest(input) return out, req.Send() } -// ListTemplateVersionsWithContext is the same as ListTemplateVersions with the addition of +// GetDashboardEmbedUrlWithContext is the same as GetDashboardEmbedUrl with the addition of // the ability to pass a context and additional request options. // -// See ListTemplateVersions for details on how to use this API operation. +// See GetDashboardEmbedUrl for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) ListTemplateVersionsWithContext(ctx aws.Context, input *ListTemplateVersionsInput, opts ...request.Option) (*ListTemplateVersionsOutput, error) { - req, out := c.ListTemplateVersionsRequest(input) +func (c *QuickSight) GetDashboardEmbedUrlWithContext(ctx aws.Context, input *GetDashboardEmbedUrlInput, opts ...request.Option) (*GetDashboardEmbedUrlOutput, error) { + req, out := c.GetDashboardEmbedUrlRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListTemplateVersionsPages iterates over the pages of a ListTemplateVersions operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListTemplateVersions 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 ListTemplateVersions operation. -// pageNum := 0 -// err := client.ListTemplateVersionsPages(params, -// func(page *quicksight.ListTemplateVersionsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *QuickSight) ListTemplateVersionsPages(input *ListTemplateVersionsInput, fn func(*ListTemplateVersionsOutput, bool) bool) error { - return c.ListTemplateVersionsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListTemplateVersionsPagesWithContext same as ListTemplateVersionsPages 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 *QuickSight) ListTemplateVersionsPagesWithContext(ctx aws.Context, input *ListTemplateVersionsInput, fn func(*ListTemplateVersionsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListTemplateVersionsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListTemplateVersionsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListTemplateVersionsOutput), !p.HasNextPage()) { - break - } - } +const opGetSessionEmbedUrl = "GetSessionEmbedUrl" - return p.Err() -} - -const opListTemplates = "ListTemplates" - -// ListTemplatesRequest generates a "aws/request.Request" representing the -// client's request for the ListTemplates operation. The "output" return +// GetSessionEmbedUrlRequest generates a "aws/request.Request" representing the +// client's request for the GetSessionEmbedUrl operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTemplates for more information on using the ListTemplates +// See GetSessionEmbedUrl for more information on using the GetSessionEmbedUrl // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListTemplatesRequest method. -// req, resp := client.ListTemplatesRequest(params) +// // Example sending a request using the GetSessionEmbedUrlRequest method. +// req, resp := client.GetSessionEmbedUrlRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplates -func (c *QuickSight) ListTemplatesRequest(input *ListTemplatesInput) (req *request.Request, output *ListTemplatesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/GetSessionEmbedUrl +func (c *QuickSight) GetSessionEmbedUrlRequest(input *GetSessionEmbedUrlInput) (req *request.Request, output *GetSessionEmbedUrlOutput) { op := &request.Operation{ - Name: opListTemplates, + Name: opGetSessionEmbedUrl, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/templates", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, + HTTPPath: "/accounts/{AwsAccountId}/session-embed-url", + } + + if input == nil { + input = &GetSessionEmbedUrlInput{} + } + + output = &GetSessionEmbedUrlOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSessionEmbedUrl API operation for Amazon QuickSight. +// +// Generates a session URL and authorization code that you can embed in your +// web server code. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation GetSessionEmbedUrl for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * UserNotFoundException +// The user with the provided name isn't found. This error can happen in any +// operation that requires finding a user based on a provided user name, such +// as DeleteUser, DescribeUser, and so on. +// +// * SessionLifetimeInMinutesInvalidException +// The number of minutes specified for the lifetime of a session isn't valid. +// The session lifetime must be 15-600 minutes. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/GetSessionEmbedUrl +func (c *QuickSight) GetSessionEmbedUrl(input *GetSessionEmbedUrlInput) (*GetSessionEmbedUrlOutput, error) { + req, out := c.GetSessionEmbedUrlRequest(input) + return out, req.Send() +} + +// GetSessionEmbedUrlWithContext is the same as GetSessionEmbedUrl with the addition of +// the ability to pass a context and additional request options. +// +// See GetSessionEmbedUrl for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) GetSessionEmbedUrlWithContext(ctx aws.Context, input *GetSessionEmbedUrlInput, opts ...request.Option) (*GetSessionEmbedUrlOutput, error) { + req, out := c.GetSessionEmbedUrlRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListDashboardVersions = "ListDashboardVersions" + +// ListDashboardVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListDashboardVersions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDashboardVersions for more information on using the ListDashboardVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDashboardVersionsRequest method. +// req, resp := client.ListDashboardVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboardVersions +func (c *QuickSight) ListDashboardVersionsRequest(input *ListDashboardVersionsInput) (req *request.Request, output *ListDashboardVersionsOutput) { + op := &request.Operation{ + Name: opListDashboardVersions, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", @@ -5074,35 +5073,35 @@ func (c *QuickSight) ListTemplatesRequest(input *ListTemplatesInput) (req *reque } if input == nil { - input = &ListTemplatesInput{} + input = &ListDashboardVersionsInput{} } - output = &ListTemplatesOutput{} + output = &ListDashboardVersionsOutput{} req = c.newRequest(op, input, output) return } -// ListTemplates API operation for Amazon QuickSight. +// ListDashboardVersions API operation for Amazon QuickSight. // -// Lists all the templates in the current Amazon QuickSight account. +// Lists all the versions of the dashboards in the QuickSight subscription. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListTemplates for usage and error information. +// API operation ListDashboardVersions for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. -// // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // // * ResourceNotFoundException // One or more resources can't be found. // +// * ThrottlingException +// Access is throttled. +// // * InvalidNextTokenException // The NextToken value isn't valid. // @@ -5115,65 +5114,65 @@ func (c *QuickSight) ListTemplatesRequest(input *ListTemplatesInput) (req *reque // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplates -func (c *QuickSight) ListTemplates(input *ListTemplatesInput) (*ListTemplatesOutput, error) { - req, out := c.ListTemplatesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboardVersions +func (c *QuickSight) ListDashboardVersions(input *ListDashboardVersionsInput) (*ListDashboardVersionsOutput, error) { + req, out := c.ListDashboardVersionsRequest(input) return out, req.Send() } -// ListTemplatesWithContext is the same as ListTemplates with the addition of +// ListDashboardVersionsWithContext is the same as ListDashboardVersions with the addition of // the ability to pass a context and additional request options. // -// See ListTemplates for details on how to use this API operation. +// See ListDashboardVersions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) ListTemplatesWithContext(ctx aws.Context, input *ListTemplatesInput, opts ...request.Option) (*ListTemplatesOutput, error) { - req, out := c.ListTemplatesRequest(input) +func (c *QuickSight) ListDashboardVersionsWithContext(ctx aws.Context, input *ListDashboardVersionsInput, opts ...request.Option) (*ListDashboardVersionsOutput, error) { + req, out := c.ListDashboardVersionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListTemplatesPages iterates over the pages of a ListTemplates operation, +// ListDashboardVersionsPages iterates over the pages of a ListDashboardVersions operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListTemplates method for more information on how to use this operation. +// See ListDashboardVersions 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 ListTemplates operation. +// // Example iterating over at most 3 pages of a ListDashboardVersions operation. // pageNum := 0 -// err := client.ListTemplatesPages(params, -// func(page *quicksight.ListTemplatesOutput, lastPage bool) bool { +// err := client.ListDashboardVersionsPages(params, +// func(page *quicksight.ListDashboardVersionsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *QuickSight) ListTemplatesPages(input *ListTemplatesInput, fn func(*ListTemplatesOutput, bool) bool) error { - return c.ListTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *QuickSight) ListDashboardVersionsPages(input *ListDashboardVersionsInput, fn func(*ListDashboardVersionsOutput, bool) bool) error { + return c.ListDashboardVersionsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListTemplatesPagesWithContext same as ListTemplatesPages except +// ListDashboardVersionsPagesWithContext same as ListDashboardVersionsPages 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 *QuickSight) ListTemplatesPagesWithContext(ctx aws.Context, input *ListTemplatesInput, fn func(*ListTemplatesOutput, bool) bool, opts ...request.Option) error { +func (c *QuickSight) ListDashboardVersionsPagesWithContext(ctx aws.Context, input *ListDashboardVersionsInput, fn func(*ListDashboardVersionsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListTemplatesInput + var inCpy *ListDashboardVersionsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListTemplatesRequest(inCpy) + req, _ := c.ListDashboardVersionsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5181,7 +5180,7 @@ func (c *QuickSight) ListTemplatesPagesWithContext(ctx aws.Context, input *ListT } for p.Next() { - if !fn(p.Page().(*ListTemplatesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListDashboardVersionsOutput), !p.HasNextPage()) { break } } @@ -5189,157 +5188,216 @@ func (c *QuickSight) ListTemplatesPagesWithContext(ctx aws.Context, input *ListT return p.Err() } -const opListUserGroups = "ListUserGroups" +const opListDashboards = "ListDashboards" -// ListUserGroupsRequest generates a "aws/request.Request" representing the -// client's request for the ListUserGroups operation. The "output" return +// ListDashboardsRequest generates a "aws/request.Request" representing the +// client's request for the ListDashboards operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListUserGroups for more information on using the ListUserGroups +// See ListDashboards for more information on using the ListDashboards // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListUserGroupsRequest method. -// req, resp := client.ListUserGroupsRequest(params) +// // Example sending a request using the ListDashboardsRequest method. +// req, resp := client.ListDashboardsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUserGroups -func (c *QuickSight) ListUserGroupsRequest(input *ListUserGroupsInput) (req *request.Request, output *ListUserGroupsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboards +func (c *QuickSight) ListDashboardsRequest(input *ListDashboardsInput) (req *request.Request, output *ListDashboardsOutput) { op := &request.Operation{ - Name: opListUserGroups, + Name: opListDashboards, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/groups", + HTTPPath: "/accounts/{AwsAccountId}/dashboards", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListUserGroupsInput{} + input = &ListDashboardsInput{} } - output = &ListUserGroupsOutput{} + output = &ListDashboardsOutput{} req = c.newRequest(op, input, output) return } -// ListUserGroups API operation for Amazon QuickSight. +// ListDashboards API operation for Amazon QuickSight. // -// Lists the Amazon QuickSight groups that an Amazon QuickSight user is a member -// of. +// Lists dashboards in an AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListUserGroups for usage and error information. +// API operation ListDashboards for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// that your account is authorized to use the Amazon QuickSight service, that -// your policies have the correct permissions, and that you are using the correct -// access keys. -// -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. -// -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// // * InternalFailureException // An internal failure occurred. // -// * ResourceUnavailableException -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUserGroups -func (c *QuickSight) ListUserGroups(input *ListUserGroupsInput) (*ListUserGroupsOutput, error) { - req, out := c.ListUserGroupsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboards +func (c *QuickSight) ListDashboards(input *ListDashboardsInput) (*ListDashboardsOutput, error) { + req, out := c.ListDashboardsRequest(input) return out, req.Send() } -// ListUserGroupsWithContext is the same as ListUserGroups with the addition of +// ListDashboardsWithContext is the same as ListDashboards with the addition of // the ability to pass a context and additional request options. // -// See ListUserGroups for details on how to use this API operation. +// See ListDashboards for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) ListUserGroupsWithContext(ctx aws.Context, input *ListUserGroupsInput, opts ...request.Option) (*ListUserGroupsOutput, error) { - req, out := c.ListUserGroupsRequest(input) +func (c *QuickSight) ListDashboardsWithContext(ctx aws.Context, input *ListDashboardsInput, opts ...request.Option) (*ListDashboardsOutput, error) { + req, out := c.ListDashboardsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListUsers = "ListUsers" - -// ListUsersRequest generates a "aws/request.Request" representing the -// client's request for the ListUsers operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListUsers for more information on using the ListUsers -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// ListDashboardsPages iterates over the pages of a ListDashboards operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // +// See ListDashboards method for more information on how to use this operation. // -// // Example sending a request using the ListUsersRequest method. -// req, resp := client.ListUsersRequest(params) +// Note: This operation can generate multiple requests to a service. // -// err := req.Send() +// // Example iterating over at most 3 pages of a ListDashboards operation. +// pageNum := 0 +// err := client.ListDashboardsPages(params, +// func(page *quicksight.ListDashboardsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListDashboardsPages(input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool) error { + return c.ListDashboardsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDashboardsPagesWithContext same as ListDashboardsPages 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 *QuickSight) ListDashboardsPagesWithContext(ctx aws.Context, input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDashboardsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDashboardsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDashboardsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListDataSets = "ListDataSets" + +// ListDataSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListDataSets operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDataSets for more information on using the ListDataSets +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDataSetsRequest method. +// req, resp := client.ListDataSetsRequest(params) +// +// err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUsers -func (c *QuickSight) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDataSets +func (c *QuickSight) ListDataSetsRequest(input *ListDataSetsInput) (req *request.Request, output *ListDataSetsOutput) { op := &request.Operation{ - Name: opListUsers, + Name: opListDataSets, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users", + HTTPPath: "/accounts/{AwsAccountId}/data-sets", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListUsersInput{} + input = &ListDataSetsInput{} } - output = &ListUsersOutput{} + output = &ListDataSetsOutput{} req = c.newRequest(op, input, output) return } -// ListUsers API operation for Amazon QuickSight. +// ListDataSets API operation for Amazon QuickSight. // -// Returns a list of all of the Amazon QuickSight users belonging to this account. +// Lists all of the datasets belonging to the current AWS account in an AWS +// Region. +// +// The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/*. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListUsers for usage and error information. +// API operation ListDataSets for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -5352,9 +5410,6 @@ func (c *QuickSight) ListUsersRequest(input *ListUsersInput) (req *request.Reque // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // @@ -5364,85 +5419,138 @@ func (c *QuickSight) ListUsersRequest(input *ListUsersInput) (req *request.Reque // * InternalFailureException // An internal failure occurred. // -// * ResourceUnavailableException -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUsers -func (c *QuickSight) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) { - req, out := c.ListUsersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDataSets +func (c *QuickSight) ListDataSets(input *ListDataSetsInput) (*ListDataSetsOutput, error) { + req, out := c.ListDataSetsRequest(input) return out, req.Send() } -// ListUsersWithContext is the same as ListUsers with the addition of +// ListDataSetsWithContext is the same as ListDataSets with the addition of // the ability to pass a context and additional request options. // -// See ListUsers for details on how to use this API operation. +// See ListDataSets for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) { - req, out := c.ListUsersRequest(input) +func (c *QuickSight) ListDataSetsWithContext(ctx aws.Context, input *ListDataSetsInput, opts ...request.Option) (*ListDataSetsOutput, error) { + req, out := c.ListDataSetsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRegisterUser = "RegisterUser" +// ListDataSetsPages iterates over the pages of a ListDataSets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDataSets 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 ListDataSets operation. +// pageNum := 0 +// err := client.ListDataSetsPages(params, +// func(page *quicksight.ListDataSetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListDataSetsPages(input *ListDataSetsInput, fn func(*ListDataSetsOutput, bool) bool) error { + return c.ListDataSetsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// RegisterUserRequest generates a "aws/request.Request" representing the -// client's request for the RegisterUser operation. The "output" return +// ListDataSetsPagesWithContext same as ListDataSetsPages 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 *QuickSight) ListDataSetsPagesWithContext(ctx aws.Context, input *ListDataSetsInput, fn func(*ListDataSetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDataSetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDataSetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDataSetsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListDataSources = "ListDataSources" + +// ListDataSourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListDataSources operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See RegisterUser for more information on using the RegisterUser +// See ListDataSources for more information on using the ListDataSources // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the RegisterUserRequest method. -// req, resp := client.RegisterUserRequest(params) +// // Example sending a request using the ListDataSourcesRequest method. +// req, resp := client.ListDataSourcesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/RegisterUser -func (c *QuickSight) RegisterUserRequest(input *RegisterUserInput) (req *request.Request, output *RegisterUserOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDataSources +func (c *QuickSight) ListDataSourcesRequest(input *ListDataSourcesInput) (req *request.Request, output *ListDataSourcesOutput) { op := &request.Operation{ - Name: opRegisterUser, - HTTPMethod: "POST", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users", + Name: opListDataSources, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/data-sources", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &RegisterUserInput{} + input = &ListDataSourcesInput{} } - output = &RegisterUserOutput{} + output = &ListDataSourcesOutput{} req = c.newRequest(op, input, output) return } -// RegisterUser API operation for Amazon QuickSight. +// ListDataSources API operation for Amazon QuickSight. // -// Creates an Amazon QuickSight user, whose identity is associated with the -// AWS Identity and Access Management (IAM) identity or role specified in the -// request. +// Lists data sources in current AWS Region that belong to this AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation RegisterUser for usage and error information. +// API operation ListDataSources for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -5455,189 +5563,74 @@ func (c *QuickSight) RegisterUserRequest(input *RegisterUserInput) (req *request // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // -// * LimitExceededException -// A limit is exceeded. -// -// * ResourceExistsException -// The resource specified already exists. -// -// * PreconditionNotMetException -// One or more preconditions aren't met. +// * InvalidNextTokenException +// The NextToken value isn't valid. // // * InternalFailureException // An internal failure occurred. // -// * ResourceUnavailableException -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/RegisterUser -func (c *QuickSight) RegisterUser(input *RegisterUserInput) (*RegisterUserOutput, error) { - req, out := c.RegisterUserRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDataSources +func (c *QuickSight) ListDataSources(input *ListDataSourcesInput) (*ListDataSourcesOutput, error) { + req, out := c.ListDataSourcesRequest(input) return out, req.Send() } -// RegisterUserWithContext is the same as RegisterUser with the addition of +// ListDataSourcesWithContext is the same as ListDataSources with the addition of // the ability to pass a context and additional request options. // -// See RegisterUser for details on how to use this API operation. +// See ListDataSources for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) RegisterUserWithContext(ctx aws.Context, input *RegisterUserInput, opts ...request.Option) (*RegisterUserOutput, error) { - req, out := c.RegisterUserRequest(input) +func (c *QuickSight) ListDataSourcesWithContext(ctx aws.Context, input *ListDataSourcesInput, opts ...request.Option) (*ListDataSourcesOutput, error) { + req, out := c.ListDataSourcesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opSearchDashboards = "SearchDashboards" - -// SearchDashboardsRequest generates a "aws/request.Request" representing the -// client's request for the SearchDashboards operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See SearchDashboards for more information on using the SearchDashboards -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// ListDataSourcesPages iterates over the pages of a ListDataSources operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // +// See ListDataSources method for more information on how to use this operation. // -// // Example sending a request using the SearchDashboardsRequest method. -// req, resp := client.SearchDashboardsRequest(params) +// Note: This operation can generate multiple requests to a service. // -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/SearchDashboards -func (c *QuickSight) SearchDashboardsRequest(input *SearchDashboardsInput) (req *request.Request, output *SearchDashboardsOutput) { - op := &request.Operation{ - Name: opSearchDashboards, - HTTPMethod: "POST", - HTTPPath: "/accounts/{AwsAccountId}/search/dashboards", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, - } - - if input == nil { - input = &SearchDashboardsInput{} - } - - output = &SearchDashboardsOutput{} - req = c.newRequest(op, input, output) - return -} - -// SearchDashboards API operation for Amazon QuickSight. -// -// Searchs for dashboards that belong to a user. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for Amazon QuickSight's -// API operation SearchDashboards for usage and error information. -// -// Returned Error Types: -// * ThrottlingException -// Access is throttled. -// -// * ResourceNotFoundException -// One or more resources can't be found. -// -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. -// -// * UnsupportedUserEditionException -// This error indicates that you are calling an operation on an Amazon QuickSight -// subscription where the edition doesn't include support for that operation. -// Amazon QuickSight currently has Standard Edition and Enterprise Edition. -// Not every operation and capability is available in every edition. -// -// * InvalidNextTokenException -// The NextToken value isn't valid. -// -// * InternalFailureException -// An internal failure occurred. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/SearchDashboards -func (c *QuickSight) SearchDashboards(input *SearchDashboardsInput) (*SearchDashboardsOutput, error) { - req, out := c.SearchDashboardsRequest(input) - return out, req.Send() -} - -// SearchDashboardsWithContext is the same as SearchDashboards with the addition of -// the ability to pass a context and additional request options. -// -// See SearchDashboards for details on how to use this API operation. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *QuickSight) SearchDashboardsWithContext(ctx aws.Context, input *SearchDashboardsInput, opts ...request.Option) (*SearchDashboardsOutput, error) { - req, out := c.SearchDashboardsRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() -} - -// SearchDashboardsPages iterates over the pages of a SearchDashboards operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See SearchDashboards 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 SearchDashboards operation. +// // Example iterating over at most 3 pages of a ListDataSources operation. // pageNum := 0 -// err := client.SearchDashboardsPages(params, -// func(page *quicksight.SearchDashboardsOutput, lastPage bool) bool { +// err := client.ListDataSourcesPages(params, +// func(page *quicksight.ListDataSourcesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *QuickSight) SearchDashboardsPages(input *SearchDashboardsInput, fn func(*SearchDashboardsOutput, bool) bool) error { - return c.SearchDashboardsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *QuickSight) ListDataSourcesPages(input *ListDataSourcesInput, fn func(*ListDataSourcesOutput, bool) bool) error { + return c.ListDataSourcesPagesWithContext(aws.BackgroundContext(), input, fn) } -// SearchDashboardsPagesWithContext same as SearchDashboardsPages except +// ListDataSourcesPagesWithContext same as ListDataSourcesPages 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 *QuickSight) SearchDashboardsPagesWithContext(ctx aws.Context, input *SearchDashboardsInput, fn func(*SearchDashboardsOutput, bool) bool, opts ...request.Option) error { +func (c *QuickSight) ListDataSourcesPagesWithContext(ctx aws.Context, input *ListDataSourcesInput, fn func(*ListDataSourcesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *SearchDashboardsInput + var inCpy *ListDataSourcesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.SearchDashboardsRequest(inCpy) + req, _ := c.ListDataSourcesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5645,7 +5638,7 @@ func (c *QuickSight) SearchDashboardsPagesWithContext(ctx aws.Context, input *Se } for p.Next() { - if !fn(p.Page().(*SearchDashboardsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListDataSourcesOutput), !p.HasNextPage()) { break } } @@ -5653,85 +5646,60 @@ func (c *QuickSight) SearchDashboardsPagesWithContext(ctx aws.Context, input *Se return p.Err() } -const opTagResource = "TagResource" +const opListGroupMemberships = "ListGroupMemberships" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// ListGroupMembershipsRequest generates a "aws/request.Request" representing the +// client's request for the ListGroupMemberships operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TagResource for more information on using the TagResource +// See ListGroupMemberships for more information on using the ListGroupMemberships // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the ListGroupMembershipsRequest method. +// req, resp := client.ListGroupMembershipsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/TagResource -func (c *QuickSight) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroupMemberships +func (c *QuickSight) ListGroupMembershipsRequest(input *ListGroupMembershipsInput) (req *request.Request, output *ListGroupMembershipsOutput) { op := &request.Operation{ - Name: opTagResource, - HTTPMethod: "POST", - HTTPPath: "/resources/{ResourceArn}/tags", + Name: opListGroupMemberships, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members", } if input == nil { - input = &TagResourceInput{} + input = &ListGroupMembershipsInput{} } - output = &TagResourceOutput{} + output = &ListGroupMembershipsOutput{} req = c.newRequest(op, input, output) return } -// TagResource API operation for Amazon QuickSight. -// -// Assigns one or more tags (key-value pairs) to the specified QuickSight resource. -// -// Tags can help you organize and categorize your resources. You can also use -// them to scope user permissions, by granting a user permission to access or -// change only resources with certain tag values. You can use the TagResource -// operation with a resource that already has tags. If you specify a new tag -// key for the resource, this tag is appended to the list of tags associated -// with the resource. If you specify a tag key that is already associated with -// the resource, the new tag value that you specify replaces the previous value -// for that tag. -// -// You can associate as many as 50 tags with a resource. QuickSight supports -// tagging on data set, data source, dashboard, and template. -// -// Tagging for QuickSight works in a similar way to tagging for other AWS services, -// except for the following: -// -// * You can't use tags to track AWS costs for QuickSight. This restriction -// is because QuickSight costs are based on users and SPICE capacity, which -// aren't taggable resources. +// ListGroupMemberships API operation for Amazon QuickSight. // -// * QuickSight doesn't currently support the Tag Editor for AWS Resource -// Groups. +// Lists member users in a group. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation TagResource for usage and error information. +// API operation ListGroupMemberships for usage and error information. // // Returned Error Types: -// * LimitExceededException -// A limit is exceeded. -// // * AccessDeniedException // You don't have access to this item. The provided credentials couldn't be // validated. You might not be authorized to carry out the request. Make sure @@ -5748,83 +5716,92 @@ func (c *QuickSight) TagResourceRequest(input *TagResourceInput) (req *request.R // * ThrottlingException // Access is throttled. // +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/TagResource -func (c *QuickSight) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroupMemberships +func (c *QuickSight) ListGroupMemberships(input *ListGroupMembershipsInput) (*ListGroupMembershipsOutput, error) { + req, out := c.ListGroupMembershipsRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// ListGroupMembershipsWithContext is the same as ListGroupMemberships with the addition of // the ability to pass a context and additional request options. // -// See TagResource for details on how to use this API operation. +// See ListGroupMemberships for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *QuickSight) ListGroupMembershipsWithContext(ctx aws.Context, input *ListGroupMembershipsInput, opts ...request.Option) (*ListGroupMembershipsOutput, error) { + req, out := c.ListGroupMembershipsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opListGroups = "ListGroups" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// ListGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListGroups operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UntagResource for more information on using the UntagResource +// See ListGroups for more information on using the ListGroups // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // Example sending a request using the ListGroupsRequest method. +// req, resp := client.ListGroupsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UntagResource -func (c *QuickSight) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroups +func (c *QuickSight) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) { op := &request.Operation{ - Name: opUntagResource, - HTTPMethod: "DELETE", - HTTPPath: "/resources/{ResourceArn}/tags", + Name: opListGroups, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups", } if input == nil { - input = &UntagResourceInput{} + input = &ListGroupsInput{} } - output = &UntagResourceOutput{} + output = &ListGroupsOutput{} req = c.newRequest(op, input, output) return } -// UntagResource API operation for Amazon QuickSight. +// ListGroups API operation for Amazon QuickSight. // -// Removes a tag or tags from a resource. +// Lists all user groups in Amazon QuickSight. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UntagResource for usage and error information. +// API operation ListGroups for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -5843,87 +5820,100 @@ func (c *QuickSight) UntagResourceRequest(input *UntagResourceInput) (req *reque // * ThrottlingException // Access is throttled. // +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UntagResource -func (c *QuickSight) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListGroups +func (c *QuickSight) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) { + req, out := c.ListGroupsRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// ListGroupsWithContext is the same as ListGroups with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See ListGroups for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *QuickSight) ListGroupsWithContext(ctx aws.Context, input *ListGroupsInput, opts ...request.Option) (*ListGroupsOutput, error) { + req, out := c.ListGroupsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDashboard = "UpdateDashboard" +const opListIAMPolicyAssignments = "ListIAMPolicyAssignments" -// UpdateDashboardRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDashboard operation. The "output" return +// ListIAMPolicyAssignmentsRequest generates a "aws/request.Request" representing the +// client's request for the ListIAMPolicyAssignments operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateDashboard for more information on using the UpdateDashboard +// See ListIAMPolicyAssignments for more information on using the ListIAMPolicyAssignments // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateDashboardRequest method. -// req, resp := client.UpdateDashboardRequest(params) +// // Example sending a request using the ListIAMPolicyAssignmentsRequest method. +// req, resp := client.ListIAMPolicyAssignmentsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboard -func (c *QuickSight) UpdateDashboardRequest(input *UpdateDashboardInput) (req *request.Request, output *UpdateDashboardOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIAMPolicyAssignments +func (c *QuickSight) ListIAMPolicyAssignmentsRequest(input *ListIAMPolicyAssignmentsInput) (req *request.Request, output *ListIAMPolicyAssignmentsOutput) { op := &request.Operation{ - Name: opUpdateDashboard, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", + Name: opListIAMPolicyAssignments, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments", } if input == nil { - input = &UpdateDashboardInput{} + input = &ListIAMPolicyAssignmentsInput{} } - output = &UpdateDashboardOutput{} + output = &ListIAMPolicyAssignmentsOutput{} req = c.newRequest(op, input, output) return } -// UpdateDashboard API operation for Amazon QuickSight. +// ListIAMPolicyAssignments API operation for Amazon QuickSight. // -// Updates a dashboard in an AWS account. +// Lists IAM policy assignments in the current Amazon QuickSight 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 QuickSight's -// API operation UpdateDashboard for usage and error information. +// API operation ListIAMPolicyAssignments for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. @@ -5931,398 +5921,358 @@ func (c *QuickSight) UpdateDashboardRequest(input *UpdateDashboardInput) (req *r // * ResourceNotFoundException // One or more resources can't be found. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// -// * LimitExceededException -// A limit is exceeded. +// * ThrottlingException +// Access is throttled. // -// * UnsupportedUserEditionException -// This error indicates that you are calling an operation on an Amazon QuickSight -// subscription where the edition doesn't include support for that operation. -// Amazon QuickSight currently has Standard Edition and Enterprise Edition. -// Not every operation and capability is available in every edition. +// * InvalidNextTokenException +// The NextToken value isn't valid. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboard -func (c *QuickSight) UpdateDashboard(input *UpdateDashboardInput) (*UpdateDashboardOutput, error) { - req, out := c.UpdateDashboardRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIAMPolicyAssignments +func (c *QuickSight) ListIAMPolicyAssignments(input *ListIAMPolicyAssignmentsInput) (*ListIAMPolicyAssignmentsOutput, error) { + req, out := c.ListIAMPolicyAssignmentsRequest(input) return out, req.Send() } -// UpdateDashboardWithContext is the same as UpdateDashboard with the addition of +// ListIAMPolicyAssignmentsWithContext is the same as ListIAMPolicyAssignments with the addition of // the ability to pass a context and additional request options. // -// See UpdateDashboard for details on how to use this API operation. +// See ListIAMPolicyAssignments for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) UpdateDashboardWithContext(ctx aws.Context, input *UpdateDashboardInput, opts ...request.Option) (*UpdateDashboardOutput, error) { - req, out := c.UpdateDashboardRequest(input) +func (c *QuickSight) ListIAMPolicyAssignmentsWithContext(ctx aws.Context, input *ListIAMPolicyAssignmentsInput, opts ...request.Option) (*ListIAMPolicyAssignmentsOutput, error) { + req, out := c.ListIAMPolicyAssignmentsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDashboardPermissions = "UpdateDashboardPermissions" +const opListIAMPolicyAssignmentsForUser = "ListIAMPolicyAssignmentsForUser" -// UpdateDashboardPermissionsRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDashboardPermissions operation. The "output" return +// ListIAMPolicyAssignmentsForUserRequest generates a "aws/request.Request" representing the +// client's request for the ListIAMPolicyAssignmentsForUser operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateDashboardPermissions for more information on using the UpdateDashboardPermissions +// See ListIAMPolicyAssignmentsForUser for more information on using the ListIAMPolicyAssignmentsForUser // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateDashboardPermissionsRequest method. -// req, resp := client.UpdateDashboardPermissionsRequest(params) +// // Example sending a request using the ListIAMPolicyAssignmentsForUserRequest method. +// req, resp := client.ListIAMPolicyAssignmentsForUserRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboardPermissions -func (c *QuickSight) UpdateDashboardPermissionsRequest(input *UpdateDashboardPermissionsInput) (req *request.Request, output *UpdateDashboardPermissionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIAMPolicyAssignmentsForUser +func (c *QuickSight) ListIAMPolicyAssignmentsForUserRequest(input *ListIAMPolicyAssignmentsForUserInput) (req *request.Request, output *ListIAMPolicyAssignmentsForUserOutput) { op := &request.Operation{ - Name: opUpdateDashboardPermissions, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions", + Name: opListIAMPolicyAssignmentsForUser, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/iam-policy-assignments", } if input == nil { - input = &UpdateDashboardPermissionsInput{} + input = &ListIAMPolicyAssignmentsForUserInput{} } - output = &UpdateDashboardPermissionsOutput{} + output = &ListIAMPolicyAssignmentsForUserOutput{} req = c.newRequest(op, input, output) return } -// UpdateDashboardPermissions API operation for Amazon QuickSight. +// ListIAMPolicyAssignmentsForUser API operation for Amazon QuickSight. // -// Updates read and write permissions on a dashboard. +// Lists all the IAM policy assignments, including the Amazon Resource Names +// (ARNs) for the IAM policies assigned to the specified user and group or groups +// that the user belongs to. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateDashboardPermissions for usage and error information. +// API operation ListIAMPolicyAssignmentsForUser for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceExistsException +// The resource specified already exists. +// // * ResourceNotFoundException // One or more resources can't be found. // -// * UnsupportedUserEditionException -// This error indicates that you are calling an operation on an Amazon QuickSight -// subscription where the edition doesn't include support for that operation. -// Amazon QuickSight currently has Standard Edition and Enterprise Edition. -// Not every operation and capability is available in every edition. +// * ThrottlingException +// Access is throttled. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. +// * ConcurrentUpdatingException +// A resource is already in a state that indicates an action is happening that +// must complete before a new update can be applied. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboardPermissions -func (c *QuickSight) UpdateDashboardPermissions(input *UpdateDashboardPermissionsInput) (*UpdateDashboardPermissionsOutput, error) { - req, out := c.UpdateDashboardPermissionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIAMPolicyAssignmentsForUser +func (c *QuickSight) ListIAMPolicyAssignmentsForUser(input *ListIAMPolicyAssignmentsForUserInput) (*ListIAMPolicyAssignmentsForUserOutput, error) { + req, out := c.ListIAMPolicyAssignmentsForUserRequest(input) return out, req.Send() } -// UpdateDashboardPermissionsWithContext is the same as UpdateDashboardPermissions with the addition of +// ListIAMPolicyAssignmentsForUserWithContext is the same as ListIAMPolicyAssignmentsForUser with the addition of // the ability to pass a context and additional request options. // -// See UpdateDashboardPermissions for details on how to use this API operation. +// See ListIAMPolicyAssignmentsForUser for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) UpdateDashboardPermissionsWithContext(ctx aws.Context, input *UpdateDashboardPermissionsInput, opts ...request.Option) (*UpdateDashboardPermissionsOutput, error) { - req, out := c.UpdateDashboardPermissionsRequest(input) +func (c *QuickSight) ListIAMPolicyAssignmentsForUserWithContext(ctx aws.Context, input *ListIAMPolicyAssignmentsForUserInput, opts ...request.Option) (*ListIAMPolicyAssignmentsForUserOutput, error) { + req, out := c.ListIAMPolicyAssignmentsForUserRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDashboardPublishedVersion = "UpdateDashboardPublishedVersion" +const opListIngestions = "ListIngestions" -// UpdateDashboardPublishedVersionRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDashboardPublishedVersion operation. The "output" return +// ListIngestionsRequest generates a "aws/request.Request" representing the +// client's request for the ListIngestions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateDashboardPublishedVersion for more information on using the UpdateDashboardPublishedVersion +// See ListIngestions for more information on using the ListIngestions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateDashboardPublishedVersionRequest method. -// req, resp := client.UpdateDashboardPublishedVersionRequest(params) +// // Example sending a request using the ListIngestionsRequest method. +// req, resp := client.ListIngestionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboardPublishedVersion -func (c *QuickSight) UpdateDashboardPublishedVersionRequest(input *UpdateDashboardPublishedVersionInput) (req *request.Request, output *UpdateDashboardPublishedVersionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIngestions +func (c *QuickSight) ListIngestionsRequest(input *ListIngestionsInput) (req *request.Request, output *ListIngestionsOutput) { op := &request.Operation{ - Name: opUpdateDashboardPublishedVersion, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions/{VersionNumber}", + Name: opListIngestions, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateDashboardPublishedVersionInput{} + input = &ListIngestionsInput{} } - output = &UpdateDashboardPublishedVersionOutput{} + output = &ListIngestionsOutput{} req = c.newRequest(op, input, output) return } -// UpdateDashboardPublishedVersion API operation for Amazon QuickSight. +// ListIngestions API operation for Amazon QuickSight. // -// Updates the published version of a dashboard. +// Lists the history of SPICE ingestions for a dataset. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateDashboardPublishedVersion for usage and error information. +// API operation ListIngestions for usage and error information. // // Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ResourceNotFoundException +// One or more resources can't be found. +// // * ThrottlingException // Access is throttled. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// -// * ResourceNotFoundException -// One or more resources can't be found. +// * ResourceExistsException +// The resource specified already exists. // -// * UnsupportedUserEditionException -// This error indicates that you are calling an operation on an Amazon QuickSight -// subscription where the edition doesn't include support for that operation. -// Amazon QuickSight currently has Standard Edition and Enterprise Edition. -// Not every operation and capability is available in every edition. +// * InvalidNextTokenException +// The NextToken value isn't valid. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboardPublishedVersion -func (c *QuickSight) UpdateDashboardPublishedVersion(input *UpdateDashboardPublishedVersionInput) (*UpdateDashboardPublishedVersionOutput, error) { - req, out := c.UpdateDashboardPublishedVersionRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListIngestions +func (c *QuickSight) ListIngestions(input *ListIngestionsInput) (*ListIngestionsOutput, error) { + req, out := c.ListIngestionsRequest(input) return out, req.Send() } -// UpdateDashboardPublishedVersionWithContext is the same as UpdateDashboardPublishedVersion with the addition of +// ListIngestionsWithContext is the same as ListIngestions with the addition of // the ability to pass a context and additional request options. // -// See UpdateDashboardPublishedVersion for details on how to use this API operation. +// See ListIngestions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) UpdateDashboardPublishedVersionWithContext(ctx aws.Context, input *UpdateDashboardPublishedVersionInput, opts ...request.Option) (*UpdateDashboardPublishedVersionOutput, error) { - req, out := c.UpdateDashboardPublishedVersionRequest(input) +func (c *QuickSight) ListIngestionsWithContext(ctx aws.Context, input *ListIngestionsInput, opts ...request.Option) (*ListIngestionsOutput, error) { + req, out := c.ListIngestionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDataSet = "UpdateDataSet" - -// UpdateDataSetRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDataSet operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See UpdateDataSet for more information on using the UpdateDataSet -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// ListIngestionsPages iterates over the pages of a ListIngestions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // +// See ListIngestions method for more information on how to use this operation. // -// // Example sending a request using the UpdateDataSetRequest method. -// req, resp := client.UpdateDataSetRequest(params) +// Note: This operation can generate multiple requests to a service. // -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } +// // Example iterating over at most 3 pages of a ListIngestions operation. +// pageNum := 0 +// err := client.ListIngestionsPages(params, +// func(page *quicksight.ListIngestionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSet -func (c *QuickSight) UpdateDataSetRequest(input *UpdateDataSetInput) (req *request.Request, output *UpdateDataSetOutput) { - op := &request.Operation{ - Name: opUpdateDataSet, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}", - } - - if input == nil { - input = &UpdateDataSetInput{} - } - - output = &UpdateDataSetOutput{} - req = c.newRequest(op, input, output) - return +func (c *QuickSight) ListIngestionsPages(input *ListIngestionsInput, fn func(*ListIngestionsOutput, bool) bool) error { + return c.ListIngestionsPagesWithContext(aws.BackgroundContext(), input, fn) } -// UpdateDataSet API operation for Amazon QuickSight. -// -// Updates a dataset. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateDataSet for usage and error information. -// -// Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// that your account is authorized to use the Amazon QuickSight service, that -// your policies have the correct permissions, and that you are using the correct -// access keys. -// -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. -// -// * LimitExceededException -// A limit is exceeded. -// -// * ThrottlingException -// Access is throttled. -// -// * ResourceNotFoundException -// One or more resources can't be found. -// -// * UnsupportedUserEditionException -// This error indicates that you are calling an operation on an Amazon QuickSight -// subscription where the edition doesn't include support for that operation. -// Amazon QuickSight currently has Standard Edition and Enterprise Edition. -// Not every operation and capability is available in every edition. -// -// * InternalFailureException -// An internal failure occurred. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSet -func (c *QuickSight) UpdateDataSet(input *UpdateDataSetInput) (*UpdateDataSetOutput, error) { - req, out := c.UpdateDataSetRequest(input) - return out, req.Send() -} - -// UpdateDataSetWithContext is the same as UpdateDataSet with the addition of -// the ability to pass a context and additional request options. -// -// See UpdateDataSet for details on how to use this API operation. +// ListIngestionsPagesWithContext same as ListIngestionsPages 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 *QuickSight) UpdateDataSetWithContext(ctx aws.Context, input *UpdateDataSetInput, opts ...request.Option) (*UpdateDataSetOutput, error) { - req, out := c.UpdateDataSetRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() +func (c *QuickSight) ListIngestionsPagesWithContext(ctx aws.Context, input *ListIngestionsInput, fn func(*ListIngestionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListIngestionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListIngestionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListIngestionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() } -const opUpdateDataSetPermissions = "UpdateDataSetPermissions" +const opListNamespaces = "ListNamespaces" -// UpdateDataSetPermissionsRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDataSetPermissions operation. The "output" return +// ListNamespacesRequest generates a "aws/request.Request" representing the +// client's request for the ListNamespaces operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateDataSetPermissions for more information on using the UpdateDataSetPermissions +// See ListNamespaces for more information on using the ListNamespaces // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateDataSetPermissionsRequest method. -// req, resp := client.UpdateDataSetPermissionsRequest(params) +// // Example sending a request using the ListNamespacesRequest method. +// req, resp := client.ListNamespacesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSetPermissions -func (c *QuickSight) UpdateDataSetPermissionsRequest(input *UpdateDataSetPermissionsInput) (req *request.Request, output *UpdateDataSetPermissionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListNamespaces +func (c *QuickSight) ListNamespacesRequest(input *ListNamespacesInput) (req *request.Request, output *ListNamespacesOutput) { op := &request.Operation{ - Name: opUpdateDataSetPermissions, - HTTPMethod: "POST", - HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/permissions", + Name: opListNamespaces, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateDataSetPermissionsInput{} + input = &ListNamespacesInput{} } - output = &UpdateDataSetPermissionsOutput{} + output = &ListNamespacesOutput{} req = c.newRequest(op, input, output) return } -// UpdateDataSetPermissions API operation for Amazon QuickSight. -// -// Updates the permissions on a dataset. +// ListNamespaces API operation for Amazon QuickSight. // -// The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/data-set-id. +// Lists the namespaces for the specified AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateDataSetPermissions for usage and error information. +// API operation ListNamespaces for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -6332,9 +6282,6 @@ func (c *QuickSight) UpdateDataSetPermissionsRequest(input *UpdateDataSetPermiss // your policies have the correct permissions, and that you are using the correct // access keys. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // @@ -6344,83 +6291,144 @@ func (c *QuickSight) UpdateDataSetPermissionsRequest(input *UpdateDataSetPermiss // * ThrottlingException // Access is throttled. // +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSetPermissions -func (c *QuickSight) UpdateDataSetPermissions(input *UpdateDataSetPermissionsInput) (*UpdateDataSetPermissionsOutput, error) { - req, out := c.UpdateDataSetPermissionsRequest(input) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListNamespaces +func (c *QuickSight) ListNamespaces(input *ListNamespacesInput) (*ListNamespacesOutput, error) { + req, out := c.ListNamespacesRequest(input) return out, req.Send() } -// UpdateDataSetPermissionsWithContext is the same as UpdateDataSetPermissions with the addition of +// ListNamespacesWithContext is the same as ListNamespaces with the addition of // the ability to pass a context and additional request options. // -// See UpdateDataSetPermissions for details on how to use this API operation. +// See ListNamespaces for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) UpdateDataSetPermissionsWithContext(ctx aws.Context, input *UpdateDataSetPermissionsInput, opts ...request.Option) (*UpdateDataSetPermissionsOutput, error) { - req, out := c.UpdateDataSetPermissionsRequest(input) +func (c *QuickSight) ListNamespacesWithContext(ctx aws.Context, input *ListNamespacesInput, opts ...request.Option) (*ListNamespacesOutput, error) { + req, out := c.ListNamespacesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDataSource = "UpdateDataSource" +// ListNamespacesPages iterates over the pages of a ListNamespaces operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListNamespaces 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 ListNamespaces operation. +// pageNum := 0 +// err := client.ListNamespacesPages(params, +// func(page *quicksight.ListNamespacesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListNamespacesPages(input *ListNamespacesInput, fn func(*ListNamespacesOutput, bool) bool) error { + return c.ListNamespacesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateDataSourceRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDataSource operation. The "output" return +// ListNamespacesPagesWithContext same as ListNamespacesPages 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 *QuickSight) ListNamespacesPagesWithContext(ctx aws.Context, input *ListNamespacesInput, fn func(*ListNamespacesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListNamespacesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListNamespacesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListNamespacesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateDataSource for more information on using the UpdateDataSource +// See ListTagsForResource for more information on using the ListTagsForResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateDataSourceRequest method. -// req, resp := client.UpdateDataSourceRequest(params) +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSource -func (c *QuickSight) UpdateDataSourceRequest(input *UpdateDataSourceInput) (req *request.Request, output *UpdateDataSourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTagsForResource +func (c *QuickSight) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ - Name: opUpdateDataSource, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/resources/{ResourceArn}/tags", } if input == nil { - input = &UpdateDataSourceInput{} + input = &ListTagsForResourceInput{} } - output = &UpdateDataSourceOutput{} + output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) return } -// UpdateDataSource API operation for Amazon QuickSight. +// ListTagsForResource API operation for Amazon QuickSight. // -// Updates a data source. +// Lists the tags assigned to a resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateDataSource for usage and error information. +// API operation ListTagsForResource for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -6430,201 +6438,255 @@ func (c *QuickSight) UpdateDataSourceRequest(input *UpdateDataSourceInput) (req // your policies have the correct permissions, and that you are using the correct // access keys. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ThrottlingException -// Access is throttled. -// // * ResourceNotFoundException // One or more resources can't be found. // +// * ThrottlingException +// Access is throttled. +// // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSource -func (c *QuickSight) UpdateDataSource(input *UpdateDataSourceInput) (*UpdateDataSourceOutput, error) { - req, out := c.UpdateDataSourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTagsForResource +func (c *QuickSight) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } -// UpdateDataSourceWithContext is the same as UpdateDataSource with the addition of +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateDataSource for details on how to use this API operation. +// See ListTagsForResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) UpdateDataSourceWithContext(ctx aws.Context, input *UpdateDataSourceInput, opts ...request.Option) (*UpdateDataSourceOutput, error) { - req, out := c.UpdateDataSourceRequest(input) +func (c *QuickSight) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDataSourcePermissions = "UpdateDataSourcePermissions" +const opListTemplateAliases = "ListTemplateAliases" -// UpdateDataSourcePermissionsRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDataSourcePermissions operation. The "output" return +// ListTemplateAliasesRequest generates a "aws/request.Request" representing the +// client's request for the ListTemplateAliases operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateDataSourcePermissions for more information on using the UpdateDataSourcePermissions +// See ListTemplateAliases for more information on using the ListTemplateAliases // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateDataSourcePermissionsRequest method. -// req, resp := client.UpdateDataSourcePermissionsRequest(params) +// // Example sending a request using the ListTemplateAliasesRequest method. +// req, resp := client.ListTemplateAliasesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSourcePermissions -func (c *QuickSight) UpdateDataSourcePermissionsRequest(input *UpdateDataSourcePermissionsInput) (req *request.Request, output *UpdateDataSourcePermissionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplateAliases +func (c *QuickSight) ListTemplateAliasesRequest(input *ListTemplateAliasesInput) (req *request.Request, output *ListTemplateAliasesOutput) { op := &request.Operation{ - Name: opUpdateDataSourcePermissions, - HTTPMethod: "POST", - HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}/permissions", + Name: opListTemplateAliases, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateDataSourcePermissionsInput{} + input = &ListTemplateAliasesInput{} } - output = &UpdateDataSourcePermissionsOutput{} + output = &ListTemplateAliasesOutput{} req = c.newRequest(op, input, output) return } -// UpdateDataSourcePermissions API operation for Amazon QuickSight. +// ListTemplateAliases API operation for Amazon QuickSight. // -// Updates the permissions to a data source. +// Lists all the aliases of a 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 QuickSight's -// API operation UpdateDataSourcePermissions for usage and error information. +// API operation ListTemplateAliases for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// that your account is authorized to use the Amazon QuickSight service, that -// your policies have the correct permissions, and that you are using the correct -// access keys. -// -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. +// * InvalidNextTokenException +// The NextToken value isn't valid. // -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. +// * ThrottlingException +// Access is throttled. // // * ResourceNotFoundException // One or more resources can't be found. // -// * ThrottlingException -// Access is throttled. +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSourcePermissions -func (c *QuickSight) UpdateDataSourcePermissions(input *UpdateDataSourcePermissionsInput) (*UpdateDataSourcePermissionsOutput, error) { - req, out := c.UpdateDataSourcePermissionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplateAliases +func (c *QuickSight) ListTemplateAliases(input *ListTemplateAliasesInput) (*ListTemplateAliasesOutput, error) { + req, out := c.ListTemplateAliasesRequest(input) return out, req.Send() } -// UpdateDataSourcePermissionsWithContext is the same as UpdateDataSourcePermissions with the addition of +// ListTemplateAliasesWithContext is the same as ListTemplateAliases with the addition of // the ability to pass a context and additional request options. // -// See UpdateDataSourcePermissions for details on how to use this API operation. +// See ListTemplateAliases for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) UpdateDataSourcePermissionsWithContext(ctx aws.Context, input *UpdateDataSourcePermissionsInput, opts ...request.Option) (*UpdateDataSourcePermissionsOutput, error) { - req, out := c.UpdateDataSourcePermissionsRequest(input) +func (c *QuickSight) ListTemplateAliasesWithContext(ctx aws.Context, input *ListTemplateAliasesInput, opts ...request.Option) (*ListTemplateAliasesOutput, error) { + req, out := c.ListTemplateAliasesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateGroup = "UpdateGroup" +// ListTemplateAliasesPages iterates over the pages of a ListTemplateAliases operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTemplateAliases 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 ListTemplateAliases operation. +// pageNum := 0 +// err := client.ListTemplateAliasesPages(params, +// func(page *quicksight.ListTemplateAliasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListTemplateAliasesPages(input *ListTemplateAliasesInput, fn func(*ListTemplateAliasesOutput, bool) bool) error { + return c.ListTemplateAliasesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateGroupRequest generates a "aws/request.Request" representing the -// client's request for the UpdateGroup operation. The "output" return +// ListTemplateAliasesPagesWithContext same as ListTemplateAliasesPages 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 *QuickSight) ListTemplateAliasesPagesWithContext(ctx aws.Context, input *ListTemplateAliasesInput, fn func(*ListTemplateAliasesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTemplateAliasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTemplateAliasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTemplateAliasesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTemplateVersions = "ListTemplateVersions" + +// ListTemplateVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListTemplateVersions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateGroup for more information on using the UpdateGroup +// See ListTemplateVersions for more information on using the ListTemplateVersions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateGroupRequest method. -// req, resp := client.UpdateGroupRequest(params) +// // Example sending a request using the ListTemplateVersionsRequest method. +// req, resp := client.ListTemplateVersionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateGroup -func (c *QuickSight) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplateVersions +func (c *QuickSight) ListTemplateVersionsRequest(input *ListTemplateVersionsInput) (req *request.Request, output *ListTemplateVersionsOutput) { op := &request.Operation{ - Name: opUpdateGroup, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", + Name: opListTemplateVersions, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/versions", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateGroupInput{} + input = &ListTemplateVersionsInput{} } - output = &UpdateGroupOutput{} + output = &ListTemplateVersionsOutput{} req = c.newRequest(op, input, output) return } -// UpdateGroup API operation for Amazon QuickSight. +// ListTemplateVersions API operation for Amazon QuickSight. // -// Changes a group description. +// Lists all the versions of the templates in the current Amazon QuickSight +// 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 QuickSight's -// API operation UpdateGroup for usage and error information. +// API operation ListTemplateVersions for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// that your account is authorized to use the Amazon QuickSight service, that -// your policies have the correct permissions, and that you are using the correct -// access keys. +// * ThrottlingException +// Access is throttled. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. @@ -6632,216 +6694,316 @@ func (c *QuickSight) UpdateGroupRequest(input *UpdateGroupInput) (req *request.R // * ResourceNotFoundException // One or more resources can't be found. // -// * ThrottlingException -// Access is throttled. +// * InvalidNextTokenException +// The NextToken value isn't valid. // -// * PreconditionNotMetException -// One or more preconditions aren't met. +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * InternalFailureException // An internal failure occurred. // -// * ResourceUnavailableException -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateGroup -func (c *QuickSight) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) { - req, out := c.UpdateGroupRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplateVersions +func (c *QuickSight) ListTemplateVersions(input *ListTemplateVersionsInput) (*ListTemplateVersionsOutput, error) { + req, out := c.ListTemplateVersionsRequest(input) return out, req.Send() } -// UpdateGroupWithContext is the same as UpdateGroup with the addition of +// ListTemplateVersionsWithContext is the same as ListTemplateVersions with the addition of // the ability to pass a context and additional request options. // -// See UpdateGroup for details on how to use this API operation. +// See ListTemplateVersions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) { - req, out := c.UpdateGroupRequest(input) +func (c *QuickSight) ListTemplateVersionsWithContext(ctx aws.Context, input *ListTemplateVersionsInput, opts ...request.Option) (*ListTemplateVersionsOutput, error) { + req, out := c.ListTemplateVersionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateIAMPolicyAssignment = "UpdateIAMPolicyAssignment" +// ListTemplateVersionsPages iterates over the pages of a ListTemplateVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTemplateVersions 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 ListTemplateVersions operation. +// pageNum := 0 +// err := client.ListTemplateVersionsPages(params, +// func(page *quicksight.ListTemplateVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListTemplateVersionsPages(input *ListTemplateVersionsInput, fn func(*ListTemplateVersionsOutput, bool) bool) error { + return c.ListTemplateVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateIAMPolicyAssignmentRequest generates a "aws/request.Request" representing the -// client's request for the UpdateIAMPolicyAssignment operation. The "output" return +// ListTemplateVersionsPagesWithContext same as ListTemplateVersionsPages 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 *QuickSight) ListTemplateVersionsPagesWithContext(ctx aws.Context, input *ListTemplateVersionsInput, fn func(*ListTemplateVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTemplateVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTemplateVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTemplateVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTemplates = "ListTemplates" + +// ListTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListTemplates operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateIAMPolicyAssignment for more information on using the UpdateIAMPolicyAssignment +// See ListTemplates for more information on using the ListTemplates // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateIAMPolicyAssignmentRequest method. -// req, resp := client.UpdateIAMPolicyAssignmentRequest(params) +// // Example sending a request using the ListTemplatesRequest method. +// req, resp := client.ListTemplatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateIAMPolicyAssignment -func (c *QuickSight) UpdateIAMPolicyAssignmentRequest(input *UpdateIAMPolicyAssignmentInput) (req *request.Request, output *UpdateIAMPolicyAssignmentOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplates +func (c *QuickSight) ListTemplatesRequest(input *ListTemplatesInput) (req *request.Request, output *ListTemplatesOutput) { op := &request.Operation{ - Name: opUpdateIAMPolicyAssignment, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}", + Name: opListTemplates, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/templates", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateIAMPolicyAssignmentInput{} + input = &ListTemplatesInput{} } - output = &UpdateIAMPolicyAssignmentOutput{} + output = &ListTemplatesOutput{} req = c.newRequest(op, input, output) return } -// UpdateIAMPolicyAssignment API operation for Amazon QuickSight. +// ListTemplates API operation for Amazon QuickSight. // -// Updates an existing IAM policy assignment. This operation updates only the -// optional parameter or parameters that are specified in the request. +// Lists all the templates in the current Amazon QuickSight 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 QuickSight's -// API operation UpdateIAMPolicyAssignment for usage and error information. +// API operation ListTemplates for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// that your account is authorized to use the Amazon QuickSight service, that -// your policies have the correct permissions, and that you are using the correct -// access keys. +// * ThrottlingException +// Access is throttled. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceExistsException -// The resource specified already exists. -// // * ResourceNotFoundException // One or more resources can't be found. // -// * ThrottlingException -// Access is throttled. +// * InvalidNextTokenException +// The NextToken value isn't valid. // -// * ConcurrentUpdatingException -// A resource is already in a state that indicates an action is happening that -// must complete before a new update can be applied. +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateIAMPolicyAssignment -func (c *QuickSight) UpdateIAMPolicyAssignment(input *UpdateIAMPolicyAssignmentInput) (*UpdateIAMPolicyAssignmentOutput, error) { - req, out := c.UpdateIAMPolicyAssignmentRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListTemplates +func (c *QuickSight) ListTemplates(input *ListTemplatesInput) (*ListTemplatesOutput, error) { + req, out := c.ListTemplatesRequest(input) return out, req.Send() } -// UpdateIAMPolicyAssignmentWithContext is the same as UpdateIAMPolicyAssignment with the addition of +// ListTemplatesWithContext is the same as ListTemplates with the addition of // the ability to pass a context and additional request options. // -// See UpdateIAMPolicyAssignment for details on how to use this API operation. +// See ListTemplates for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) UpdateIAMPolicyAssignmentWithContext(ctx aws.Context, input *UpdateIAMPolicyAssignmentInput, opts ...request.Option) (*UpdateIAMPolicyAssignmentOutput, error) { - req, out := c.UpdateIAMPolicyAssignmentRequest(input) +func (c *QuickSight) ListTemplatesWithContext(ctx aws.Context, input *ListTemplatesInput, opts ...request.Option) (*ListTemplatesOutput, error) { + req, out := c.ListTemplatesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateTemplate = "UpdateTemplate" +// ListTemplatesPages iterates over the pages of a ListTemplates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTemplates 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 ListTemplates operation. +// pageNum := 0 +// err := client.ListTemplatesPages(params, +// func(page *quicksight.ListTemplatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListTemplatesPages(input *ListTemplatesInput, fn func(*ListTemplatesOutput, bool) bool) error { + return c.ListTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateTemplateRequest generates a "aws/request.Request" representing the -// client's request for the UpdateTemplate operation. The "output" return +// ListTemplatesPagesWithContext same as ListTemplatesPages 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 *QuickSight) ListTemplatesPagesWithContext(ctx aws.Context, input *ListTemplatesInput, fn func(*ListTemplatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTemplatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTemplatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTemplatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListThemeAliases = "ListThemeAliases" + +// ListThemeAliasesRequest generates a "aws/request.Request" representing the +// client's request for the ListThemeAliases operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateTemplate for more information on using the UpdateTemplate +// See ListThemeAliases for more information on using the ListThemeAliases // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateTemplateRequest method. -// req, resp := client.UpdateTemplateRequest(params) +// // Example sending a request using the ListThemeAliasesRequest method. +// req, resp := client.ListThemeAliasesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplate -func (c *QuickSight) UpdateTemplateRequest(input *UpdateTemplateInput) (req *request.Request, output *UpdateTemplateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListThemeAliases +func (c *QuickSight) ListThemeAliasesRequest(input *ListThemeAliasesInput) (req *request.Request, output *ListThemeAliasesOutput) { op := &request.Operation{ - Name: opUpdateTemplate, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}", + Name: opListThemeAliases, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/aliases", } if input == nil { - input = &UpdateTemplateInput{} + input = &ListThemeAliasesInput{} } - output = &UpdateTemplateOutput{} + output = &ListThemeAliasesOutput{} req = c.newRequest(op, input, output) return } -// UpdateTemplate API operation for Amazon QuickSight. +// ListThemeAliases API operation for Amazon QuickSight. // -// Updates a template from an existing Amazon QuickSight analysis or another -// template. +// Lists all the aliases of a theme. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateTemplate for usage and error information. +// API operation ListThemeAliases for usage and error information. // // Returned Error Types: +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InvalidNextTokenException +// The NextToken value isn't valid. +// // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ResourceExistsException -// The resource specified already exists. -// // * ResourceNotFoundException // One or more resources can't be found. // // * ThrottlingException // Access is throttled. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// -// * LimitExceededException -// A limit is exceeded. -// // * UnsupportedUserEditionException // This error indicates that you are calling an operation on an Amazon QuickSight // subscription where the edition doesn't include support for that operation. @@ -6851,90 +7013,100 @@ func (c *QuickSight) UpdateTemplateRequest(input *UpdateTemplateInput) (req *req // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplate -func (c *QuickSight) UpdateTemplate(input *UpdateTemplateInput) (*UpdateTemplateOutput, error) { - req, out := c.UpdateTemplateRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListThemeAliases +func (c *QuickSight) ListThemeAliases(input *ListThemeAliasesInput) (*ListThemeAliasesOutput, error) { + req, out := c.ListThemeAliasesRequest(input) return out, req.Send() } -// UpdateTemplateWithContext is the same as UpdateTemplate with the addition of +// ListThemeAliasesWithContext is the same as ListThemeAliases with the addition of // the ability to pass a context and additional request options. // -// See UpdateTemplate for details on how to use this API operation. +// See ListThemeAliases for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) UpdateTemplateWithContext(ctx aws.Context, input *UpdateTemplateInput, opts ...request.Option) (*UpdateTemplateOutput, error) { - req, out := c.UpdateTemplateRequest(input) +func (c *QuickSight) ListThemeAliasesWithContext(ctx aws.Context, input *ListThemeAliasesInput, opts ...request.Option) (*ListThemeAliasesOutput, error) { + req, out := c.ListThemeAliasesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateTemplateAlias = "UpdateTemplateAlias" +const opListThemeVersions = "ListThemeVersions" -// UpdateTemplateAliasRequest generates a "aws/request.Request" representing the -// client's request for the UpdateTemplateAlias operation. The "output" return +// ListThemeVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListThemeVersions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateTemplateAlias for more information on using the UpdateTemplateAlias +// See ListThemeVersions for more information on using the ListThemeVersions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateTemplateAliasRequest method. -// req, resp := client.UpdateTemplateAliasRequest(params) +// // Example sending a request using the ListThemeVersionsRequest method. +// req, resp := client.ListThemeVersionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplateAlias -func (c *QuickSight) UpdateTemplateAliasRequest(input *UpdateTemplateAliasInput) (req *request.Request, output *UpdateTemplateAliasOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListThemeVersions +func (c *QuickSight) ListThemeVersionsRequest(input *ListThemeVersionsInput) (req *request.Request, output *ListThemeVersionsOutput) { op := &request.Operation{ - Name: opUpdateTemplateAlias, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", + Name: opListThemeVersions, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/versions", } if input == nil { - input = &UpdateTemplateAliasInput{} + input = &ListThemeVersionsInput{} } - output = &UpdateTemplateAliasOutput{} + output = &ListThemeVersionsOutput{} req = c.newRequest(op, input, output) return } -// UpdateTemplateAlias API operation for Amazon QuickSight. +// ListThemeVersions API operation for Amazon QuickSight. // -// Updates the template alias of a template. +// Lists all the versions of the themes in the current AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateTemplateAlias for usage and error information. +// API operation ListThemeVersions for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. // // * ResourceNotFoundException // One or more resources can't be found. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. +// * ThrottlingException +// Access is throttled. // // * UnsupportedUserEditionException // This error indicates that you are calling an operation on an Amazon QuickSight @@ -6945,94 +7117,101 @@ func (c *QuickSight) UpdateTemplateAliasRequest(input *UpdateTemplateAliasInput) // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplateAlias -func (c *QuickSight) UpdateTemplateAlias(input *UpdateTemplateAliasInput) (*UpdateTemplateAliasOutput, error) { - req, out := c.UpdateTemplateAliasRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListThemeVersions +func (c *QuickSight) ListThemeVersions(input *ListThemeVersionsInput) (*ListThemeVersionsOutput, error) { + req, out := c.ListThemeVersionsRequest(input) return out, req.Send() } -// UpdateTemplateAliasWithContext is the same as UpdateTemplateAlias with the addition of +// ListThemeVersionsWithContext is the same as ListThemeVersions with the addition of // the ability to pass a context and additional request options. // -// See UpdateTemplateAlias for details on how to use this API operation. +// See ListThemeVersions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) UpdateTemplateAliasWithContext(ctx aws.Context, input *UpdateTemplateAliasInput, opts ...request.Option) (*UpdateTemplateAliasOutput, error) { - req, out := c.UpdateTemplateAliasRequest(input) +func (c *QuickSight) ListThemeVersionsWithContext(ctx aws.Context, input *ListThemeVersionsInput, opts ...request.Option) (*ListThemeVersionsOutput, error) { + req, out := c.ListThemeVersionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateTemplatePermissions = "UpdateTemplatePermissions" +const opListThemes = "ListThemes" -// UpdateTemplatePermissionsRequest generates a "aws/request.Request" representing the -// client's request for the UpdateTemplatePermissions operation. The "output" return +// ListThemesRequest generates a "aws/request.Request" representing the +// client's request for the ListThemes operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateTemplatePermissions for more information on using the UpdateTemplatePermissions +// See ListThemes for more information on using the ListThemes // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateTemplatePermissionsRequest method. -// req, resp := client.UpdateTemplatePermissionsRequest(params) +// // Example sending a request using the ListThemesRequest method. +// req, resp := client.ListThemesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplatePermissions -func (c *QuickSight) UpdateTemplatePermissionsRequest(input *UpdateTemplatePermissionsInput) (req *request.Request, output *UpdateTemplatePermissionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListThemes +func (c *QuickSight) ListThemesRequest(input *ListThemesInput) (req *request.Request, output *ListThemesOutput) { op := &request.Operation{ - Name: opUpdateTemplatePermissions, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/permissions", + Name: opListThemes, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/themes", } if input == nil { - input = &UpdateTemplatePermissionsInput{} + input = &ListThemesInput{} } - output = &UpdateTemplatePermissionsOutput{} + output = &ListThemesOutput{} req = c.newRequest(op, input, output) return } -// UpdateTemplatePermissions API operation for Amazon QuickSight. +// ListThemes API operation for Amazon QuickSight. // -// Updates the resource permissions for a template. +// Lists all the themes in the current AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateTemplatePermissions for usage and error information. +// API operation ListThemes for usage and error information. // // Returned Error Types: -// * ThrottlingException -// Access is throttled. +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // -// * ConflictException -// Updating or deleting a resource can cause an inconsistent state. +// * InvalidNextTokenException +// The NextToken value isn't valid. // // * ResourceNotFoundException // One or more resources can't be found. // +// * ThrottlingException +// Access is throttled. +// // * UnsupportedUserEditionException // This error indicates that you are calling an operation on an Amazon QuickSight // subscription where the edition doesn't include support for that operation. @@ -7042,80 +7221,81 @@ func (c *QuickSight) UpdateTemplatePermissionsRequest(input *UpdateTemplatePermi // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplatePermissions -func (c *QuickSight) UpdateTemplatePermissions(input *UpdateTemplatePermissionsInput) (*UpdateTemplatePermissionsOutput, error) { - req, out := c.UpdateTemplatePermissionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListThemes +func (c *QuickSight) ListThemes(input *ListThemesInput) (*ListThemesOutput, error) { + req, out := c.ListThemesRequest(input) return out, req.Send() } -// UpdateTemplatePermissionsWithContext is the same as UpdateTemplatePermissions with the addition of +// ListThemesWithContext is the same as ListThemes with the addition of // the ability to pass a context and additional request options. // -// See UpdateTemplatePermissions for details on how to use this API operation. +// See ListThemes for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) UpdateTemplatePermissionsWithContext(ctx aws.Context, input *UpdateTemplatePermissionsInput, opts ...request.Option) (*UpdateTemplatePermissionsOutput, error) { - req, out := c.UpdateTemplatePermissionsRequest(input) +func (c *QuickSight) ListThemesWithContext(ctx aws.Context, input *ListThemesInput, opts ...request.Option) (*ListThemesOutput, error) { + req, out := c.ListThemesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateUser = "UpdateUser" +const opListUserGroups = "ListUserGroups" -// UpdateUserRequest generates a "aws/request.Request" representing the -// client's request for the UpdateUser operation. The "output" return +// ListUserGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListUserGroups operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateUser for more information on using the UpdateUser +// See ListUserGroups for more information on using the ListUserGroups // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateUserRequest method. -// req, resp := client.UpdateUserRequest(params) +// // Example sending a request using the ListUserGroupsRequest method. +// req, resp := client.ListUserGroupsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateUser -func (c *QuickSight) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUserGroups +func (c *QuickSight) ListUserGroupsRequest(input *ListUserGroupsInput) (req *request.Request, output *ListUserGroupsOutput) { op := &request.Operation{ - Name: opUpdateUser, - HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", + Name: opListUserGroups, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/groups", } if input == nil { - input = &UpdateUserInput{} + input = &ListUserGroupsInput{} } - output = &UpdateUserOutput{} + output = &ListUserGroupsOutput{} req = c.newRequest(op, input, output) return } -// UpdateUser API operation for Amazon QuickSight. +// ListUserGroups API operation for Amazon QuickSight. // -// Updates an Amazon QuickSight user. +// Lists the Amazon QuickSight groups that an Amazon QuickSight user is a member +// of. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation UpdateUser for usage and error information. +// API operation ListUserGroups for usage and error information. // // Returned Error Types: // * AccessDeniedException @@ -7134,479 +7314,6984 @@ func (c *QuickSight) UpdateUserRequest(input *UpdateUserInput) (req *request.Req // * ThrottlingException // Access is throttled. // +// * PreconditionNotMetException +// One or more preconditions aren't met. +// // * InternalFailureException // An internal failure occurred. // // * ResourceUnavailableException // This resource is currently unavailable. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateUser -func (c *QuickSight) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) { - req, out := c.UpdateUserRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUserGroups +func (c *QuickSight) ListUserGroups(input *ListUserGroupsInput) (*ListUserGroupsOutput, error) { + req, out := c.ListUserGroupsRequest(input) return out, req.Send() } -// UpdateUserWithContext is the same as UpdateUser with the addition of +// ListUserGroupsWithContext is the same as ListUserGroups with the addition of // the ability to pass a context and additional request options. // -// See UpdateUser for details on how to use this API operation. +// See ListUserGroups for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *QuickSight) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput, opts ...request.Option) (*UpdateUserOutput, error) { - req, out := c.UpdateUserRequest(input) +func (c *QuickSight) ListUserGroupsWithContext(ctx aws.Context, input *ListUserGroupsInput, opts ...request.Option) (*ListUserGroupsOutput, error) { + req, out := c.ListUserGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListUsers = "ListUsers" + +// ListUsersRequest generates a "aws/request.Request" representing the +// client's request for the ListUsers operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListUsers for more information on using the ListUsers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListUsersRequest method. +// req, resp := client.ListUsersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUsers +func (c *QuickSight) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) { + op := &request.Operation{ + Name: opListUsers, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users", + } + + if input == nil { + input = &ListUsersInput{} + } + + output = &ListUsersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListUsers API operation for Amazon QuickSight. +// +// Returns a list of all of the Amazon QuickSight users belonging to this account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation ListUsers for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListUsers +func (c *QuickSight) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) { + req, out := c.ListUsersRequest(input) + return out, req.Send() +} + +// ListUsersWithContext is the same as ListUsers with the addition of +// the ability to pass a context and additional request options. +// +// See ListUsers for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) { + req, out := c.ListUsersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRegisterUser = "RegisterUser" + +// RegisterUserRequest generates a "aws/request.Request" representing the +// client's request for the RegisterUser operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See RegisterUser for more information on using the RegisterUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the RegisterUserRequest method. +// req, resp := client.RegisterUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/RegisterUser +func (c *QuickSight) RegisterUserRequest(input *RegisterUserInput) (req *request.Request, output *RegisterUserOutput) { + op := &request.Operation{ + Name: opRegisterUser, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users", + } + + if input == nil { + input = &RegisterUserInput{} + } + + output = &RegisterUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// RegisterUser API operation for Amazon QuickSight. +// +// Creates an Amazon QuickSight user, whose identity is associated with the +// AWS Identity and Access Management (IAM) identity or role specified in the +// request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation RegisterUser for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * LimitExceededException +// A limit is exceeded. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/RegisterUser +func (c *QuickSight) RegisterUser(input *RegisterUserInput) (*RegisterUserOutput, error) { + req, out := c.RegisterUserRequest(input) + return out, req.Send() +} + +// RegisterUserWithContext is the same as RegisterUser with the addition of +// the ability to pass a context and additional request options. +// +// See RegisterUser for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) RegisterUserWithContext(ctx aws.Context, input *RegisterUserInput, opts ...request.Option) (*RegisterUserOutput, error) { + req, out := c.RegisterUserRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// that your account is authorized to use the Amazon QuickSight service, that -// your policies have the correct permissions, and that you are using the correct -// access keys. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +const opSearchDashboards = "SearchDashboards" + +// SearchDashboardsRequest generates a "aws/request.Request" representing the +// client's request for the SearchDashboards operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SearchDashboards for more information on using the SearchDashboards +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the SearchDashboardsRequest method. +// req, resp := client.SearchDashboardsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/SearchDashboards +func (c *QuickSight) SearchDashboardsRequest(input *SearchDashboardsInput) (req *request.Request, output *SearchDashboardsOutput) { + op := &request.Operation{ + Name: opSearchDashboards, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/search/dashboards", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchDashboardsInput{} + } + + output = &SearchDashboardsOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchDashboards API operation for Amazon QuickSight. +// +// Searchs for dashboards that belong to a user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation SearchDashboards for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Access is throttled. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/SearchDashboards +func (c *QuickSight) SearchDashboards(input *SearchDashboardsInput) (*SearchDashboardsOutput, error) { + req, out := c.SearchDashboardsRequest(input) + return out, req.Send() +} + +// SearchDashboardsWithContext is the same as SearchDashboards with the addition of +// the ability to pass a context and additional request options. +// +// See SearchDashboards for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) SearchDashboardsWithContext(ctx aws.Context, input *SearchDashboardsInput, opts ...request.Option) (*SearchDashboardsOutput, error) { + req, out := c.SearchDashboardsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchDashboardsPages iterates over the pages of a SearchDashboards operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchDashboards 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 SearchDashboards operation. +// pageNum := 0 +// err := client.SearchDashboardsPages(params, +// func(page *quicksight.SearchDashboardsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) SearchDashboardsPages(input *SearchDashboardsInput, fn func(*SearchDashboardsOutput, bool) bool) error { + return c.SearchDashboardsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchDashboardsPagesWithContext same as SearchDashboardsPages 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 *QuickSight) SearchDashboardsPagesWithContext(ctx aws.Context, input *SearchDashboardsInput, fn func(*SearchDashboardsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchDashboardsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchDashboardsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchDashboardsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/TagResource +func (c *QuickSight) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/resources/{ResourceArn}/tags", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// TagResource API operation for Amazon QuickSight. +// +// Assigns one or more tags (key-value pairs) to the specified QuickSight resource. +// +// Tags can help you organize and categorize your resources. You can also use +// them to scope user permissions, by granting a user permission to access or +// change only resources with certain tag values. You can use the TagResource +// operation with a resource that already has tags. If you specify a new tag +// key for the resource, this tag is appended to the list of tags associated +// with the resource. If you specify a tag key that is already associated with +// the resource, the new tag value that you specify replaces the previous value +// for that tag. +// +// You can associate as many as 50 tags with a resource. QuickSight supports +// tagging on data set, data source, dashboard, and template. +// +// Tagging for QuickSight works in a similar way to tagging for other AWS services, +// except for the following: +// +// * You can't use tags to track AWS costs for QuickSight. This restriction +// is because QuickSight costs are based on users and SPICE capacity, which +// aren't taggable resources. +// +// * QuickSight doesn't currently support the Tag Editor for AWS Resource +// Groups. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * LimitExceededException +// A limit is exceeded. +// +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/TagResource +func (c *QuickSight) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UntagResource +func (c *QuickSight) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/resources/{ResourceArn}/tags", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// UntagResource API operation for Amazon QuickSight. +// +// Removes a tag or tags from a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UntagResource +func (c *QuickSight) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAccountCustomization = "UpdateAccountCustomization" + +// UpdateAccountCustomizationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAccountCustomization operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateAccountCustomization for more information on using the UpdateAccountCustomization +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateAccountCustomizationRequest method. +// req, resp := client.UpdateAccountCustomizationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAccountCustomization +func (c *QuickSight) UpdateAccountCustomizationRequest(input *UpdateAccountCustomizationInput) (req *request.Request, output *UpdateAccountCustomizationOutput) { + op := &request.Operation{ + Name: opUpdateAccountCustomization, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/customizations", + } + + if input == nil { + input = &UpdateAccountCustomizationInput{} + } + + output = &UpdateAccountCustomizationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAccountCustomization API operation for Amazon QuickSight. +// +// Updates customizations associated with the QuickSight subscription on your +// AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateAccountCustomization for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAccountCustomization +func (c *QuickSight) UpdateAccountCustomization(input *UpdateAccountCustomizationInput) (*UpdateAccountCustomizationOutput, error) { + req, out := c.UpdateAccountCustomizationRequest(input) + return out, req.Send() +} + +// UpdateAccountCustomizationWithContext is the same as UpdateAccountCustomization with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAccountCustomization for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateAccountCustomizationWithContext(ctx aws.Context, input *UpdateAccountCustomizationInput, opts ...request.Option) (*UpdateAccountCustomizationOutput, error) { + req, out := c.UpdateAccountCustomizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAccountSettings = "UpdateAccountSettings" + +// UpdateAccountSettingsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAccountSettings operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateAccountSettings for more information on using the UpdateAccountSettings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateAccountSettingsRequest method. +// req, resp := client.UpdateAccountSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAccountSettings +func (c *QuickSight) UpdateAccountSettingsRequest(input *UpdateAccountSettingsInput) (req *request.Request, output *UpdateAccountSettingsOutput) { + op := &request.Operation{ + Name: opUpdateAccountSettings, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/settings", + } + + if input == nil { + input = &UpdateAccountSettingsInput{} + } + + output = &UpdateAccountSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAccountSettings API operation for Amazon QuickSight. +// +// Updates the settings for the Amazon QuickSight subscription in your AWS Account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateAccountSettings for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAccountSettings +func (c *QuickSight) UpdateAccountSettings(input *UpdateAccountSettingsInput) (*UpdateAccountSettingsOutput, error) { + req, out := c.UpdateAccountSettingsRequest(input) + return out, req.Send() +} + +// UpdateAccountSettingsWithContext is the same as UpdateAccountSettings with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAccountSettings for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateAccountSettingsWithContext(ctx aws.Context, input *UpdateAccountSettingsInput, opts ...request.Option) (*UpdateAccountSettingsOutput, error) { + req, out := c.UpdateAccountSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDashboard = "UpdateDashboard" + +// UpdateDashboardRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDashboard operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDashboard for more information on using the UpdateDashboard +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDashboardRequest method. +// req, resp := client.UpdateDashboardRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboard +func (c *QuickSight) UpdateDashboardRequest(input *UpdateDashboardInput) (req *request.Request, output *UpdateDashboardOutput) { + op := &request.Operation{ + Name: opUpdateDashboard, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", + } + + if input == nil { + input = &UpdateDashboardInput{} + } + + output = &UpdateDashboardOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDashboard API operation for Amazon QuickSight. +// +// Updates a dashboard in an AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateDashboard for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Access is throttled. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * LimitExceededException +// A limit is exceeded. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboard +func (c *QuickSight) UpdateDashboard(input *UpdateDashboardInput) (*UpdateDashboardOutput, error) { + req, out := c.UpdateDashboardRequest(input) + return out, req.Send() +} + +// UpdateDashboardWithContext is the same as UpdateDashboard with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDashboard for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateDashboardWithContext(ctx aws.Context, input *UpdateDashboardInput, opts ...request.Option) (*UpdateDashboardOutput, error) { + req, out := c.UpdateDashboardRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDashboardPermissions = "UpdateDashboardPermissions" + +// UpdateDashboardPermissionsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDashboardPermissions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDashboardPermissions for more information on using the UpdateDashboardPermissions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDashboardPermissionsRequest method. +// req, resp := client.UpdateDashboardPermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboardPermissions +func (c *QuickSight) UpdateDashboardPermissionsRequest(input *UpdateDashboardPermissionsInput) (req *request.Request, output *UpdateDashboardPermissionsOutput) { + op := &request.Operation{ + Name: opUpdateDashboardPermissions, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions", + } + + if input == nil { + input = &UpdateDashboardPermissionsInput{} + } + + output = &UpdateDashboardPermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDashboardPermissions API operation for Amazon QuickSight. +// +// Updates read and write permissions on a dashboard. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateDashboardPermissions for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Access is throttled. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboardPermissions +func (c *QuickSight) UpdateDashboardPermissions(input *UpdateDashboardPermissionsInput) (*UpdateDashboardPermissionsOutput, error) { + req, out := c.UpdateDashboardPermissionsRequest(input) + return out, req.Send() +} + +// UpdateDashboardPermissionsWithContext is the same as UpdateDashboardPermissions with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDashboardPermissions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateDashboardPermissionsWithContext(ctx aws.Context, input *UpdateDashboardPermissionsInput, opts ...request.Option) (*UpdateDashboardPermissionsOutput, error) { + req, out := c.UpdateDashboardPermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDashboardPublishedVersion = "UpdateDashboardPublishedVersion" + +// UpdateDashboardPublishedVersionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDashboardPublishedVersion operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDashboardPublishedVersion for more information on using the UpdateDashboardPublishedVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDashboardPublishedVersionRequest method. +// req, resp := client.UpdateDashboardPublishedVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboardPublishedVersion +func (c *QuickSight) UpdateDashboardPublishedVersionRequest(input *UpdateDashboardPublishedVersionInput) (req *request.Request, output *UpdateDashboardPublishedVersionOutput) { + op := &request.Operation{ + Name: opUpdateDashboardPublishedVersion, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions/{VersionNumber}", + } + + if input == nil { + input = &UpdateDashboardPublishedVersionInput{} + } + + output = &UpdateDashboardPublishedVersionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDashboardPublishedVersion API operation for Amazon QuickSight. +// +// Updates the published version of a dashboard. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateDashboardPublishedVersion for usage and error information. +// +// Returned Error Types: +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ThrottlingException +// Access is throttled. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDashboardPublishedVersion +func (c *QuickSight) UpdateDashboardPublishedVersion(input *UpdateDashboardPublishedVersionInput) (*UpdateDashboardPublishedVersionOutput, error) { + req, out := c.UpdateDashboardPublishedVersionRequest(input) + return out, req.Send() +} + +// UpdateDashboardPublishedVersionWithContext is the same as UpdateDashboardPublishedVersion with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDashboardPublishedVersion for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateDashboardPublishedVersionWithContext(ctx aws.Context, input *UpdateDashboardPublishedVersionInput, opts ...request.Option) (*UpdateDashboardPublishedVersionOutput, error) { + req, out := c.UpdateDashboardPublishedVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDataSet = "UpdateDataSet" + +// UpdateDataSetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDataSet operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDataSet for more information on using the UpdateDataSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDataSetRequest method. +// req, resp := client.UpdateDataSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSet +func (c *QuickSight) UpdateDataSetRequest(input *UpdateDataSetInput) (req *request.Request, output *UpdateDataSetOutput) { + op := &request.Operation{ + Name: opUpdateDataSet, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}", + } + + if input == nil { + input = &UpdateDataSetInput{} + } + + output = &UpdateDataSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDataSet API operation for Amazon QuickSight. +// +// Updates a dataset. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateDataSet for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * LimitExceededException +// A limit is exceeded. +// +// * ThrottlingException +// Access is throttled. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSet +func (c *QuickSight) UpdateDataSet(input *UpdateDataSetInput) (*UpdateDataSetOutput, error) { + req, out := c.UpdateDataSetRequest(input) + return out, req.Send() +} + +// UpdateDataSetWithContext is the same as UpdateDataSet with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDataSet for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateDataSetWithContext(ctx aws.Context, input *UpdateDataSetInput, opts ...request.Option) (*UpdateDataSetOutput, error) { + req, out := c.UpdateDataSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDataSetPermissions = "UpdateDataSetPermissions" + +// UpdateDataSetPermissionsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDataSetPermissions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDataSetPermissions for more information on using the UpdateDataSetPermissions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDataSetPermissionsRequest method. +// req, resp := client.UpdateDataSetPermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSetPermissions +func (c *QuickSight) UpdateDataSetPermissionsRequest(input *UpdateDataSetPermissionsInput) (req *request.Request, output *UpdateDataSetPermissionsOutput) { + op := &request.Operation{ + Name: opUpdateDataSetPermissions, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}/permissions", + } + + if input == nil { + input = &UpdateDataSetPermissionsInput{} + } + + output = &UpdateDataSetPermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDataSetPermissions API operation for Amazon QuickSight. +// +// Updates the permissions on a dataset. +// +// The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/data-set-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 QuickSight's +// API operation UpdateDataSetPermissions for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSetPermissions +func (c *QuickSight) UpdateDataSetPermissions(input *UpdateDataSetPermissionsInput) (*UpdateDataSetPermissionsOutput, error) { + req, out := c.UpdateDataSetPermissionsRequest(input) + return out, req.Send() +} + +// UpdateDataSetPermissionsWithContext is the same as UpdateDataSetPermissions with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDataSetPermissions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateDataSetPermissionsWithContext(ctx aws.Context, input *UpdateDataSetPermissionsInput, opts ...request.Option) (*UpdateDataSetPermissionsOutput, error) { + req, out := c.UpdateDataSetPermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDataSource = "UpdateDataSource" + +// UpdateDataSourceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDataSource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDataSource for more information on using the UpdateDataSource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDataSourceRequest method. +// req, resp := client.UpdateDataSourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSource +func (c *QuickSight) UpdateDataSourceRequest(input *UpdateDataSourceInput) (req *request.Request, output *UpdateDataSourceOutput) { + op := &request.Operation{ + Name: opUpdateDataSource, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}", + } + + if input == nil { + input = &UpdateDataSourceInput{} + } + + output = &UpdateDataSourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDataSource API operation for Amazon QuickSight. +// +// Updates a 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 QuickSight's +// API operation UpdateDataSource for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ThrottlingException +// Access is throttled. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSource +func (c *QuickSight) UpdateDataSource(input *UpdateDataSourceInput) (*UpdateDataSourceOutput, error) { + req, out := c.UpdateDataSourceRequest(input) + return out, req.Send() +} + +// UpdateDataSourceWithContext is the same as UpdateDataSource with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDataSource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateDataSourceWithContext(ctx aws.Context, input *UpdateDataSourceInput, opts ...request.Option) (*UpdateDataSourceOutput, error) { + req, out := c.UpdateDataSourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDataSourcePermissions = "UpdateDataSourcePermissions" + +// UpdateDataSourcePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDataSourcePermissions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDataSourcePermissions for more information on using the UpdateDataSourcePermissions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDataSourcePermissionsRequest method. +// req, resp := client.UpdateDataSourcePermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSourcePermissions +func (c *QuickSight) UpdateDataSourcePermissionsRequest(input *UpdateDataSourcePermissionsInput) (req *request.Request, output *UpdateDataSourcePermissionsOutput) { + op := &request.Operation{ + Name: opUpdateDataSourcePermissions, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/data-sources/{DataSourceId}/permissions", + } + + if input == nil { + input = &UpdateDataSourcePermissionsInput{} + } + + output = &UpdateDataSourcePermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDataSourcePermissions API operation for Amazon QuickSight. +// +// Updates the permissions to a 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 QuickSight's +// API operation UpdateDataSourcePermissions for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateDataSourcePermissions +func (c *QuickSight) UpdateDataSourcePermissions(input *UpdateDataSourcePermissionsInput) (*UpdateDataSourcePermissionsOutput, error) { + req, out := c.UpdateDataSourcePermissionsRequest(input) + return out, req.Send() +} + +// UpdateDataSourcePermissionsWithContext is the same as UpdateDataSourcePermissions with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDataSourcePermissions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateDataSourcePermissionsWithContext(ctx aws.Context, input *UpdateDataSourcePermissionsInput, opts ...request.Option) (*UpdateDataSourcePermissionsOutput, error) { + req, out := c.UpdateDataSourcePermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateGroup = "UpdateGroup" + +// UpdateGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGroup operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateGroup for more information on using the UpdateGroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateGroupRequest method. +// req, resp := client.UpdateGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateGroup +func (c *QuickSight) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) { + op := &request.Operation{ + Name: opUpdateGroup, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}", + } + + if input == nil { + input = &UpdateGroupInput{} + } + + output = &UpdateGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateGroup API operation for Amazon QuickSight. +// +// Changes a group description. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateGroup for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateGroup +func (c *QuickSight) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) { + req, out := c.UpdateGroupRequest(input) + return out, req.Send() +} + +// UpdateGroupWithContext is the same as UpdateGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateGroup for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) { + req, out := c.UpdateGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateIAMPolicyAssignment = "UpdateIAMPolicyAssignment" + +// UpdateIAMPolicyAssignmentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateIAMPolicyAssignment operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateIAMPolicyAssignment for more information on using the UpdateIAMPolicyAssignment +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateIAMPolicyAssignmentRequest method. +// req, resp := client.UpdateIAMPolicyAssignmentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateIAMPolicyAssignment +func (c *QuickSight) UpdateIAMPolicyAssignmentRequest(input *UpdateIAMPolicyAssignmentInput) (req *request.Request, output *UpdateIAMPolicyAssignmentOutput) { + op := &request.Operation{ + Name: opUpdateIAMPolicyAssignment, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}", + } + + if input == nil { + input = &UpdateIAMPolicyAssignmentInput{} + } + + output = &UpdateIAMPolicyAssignmentOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateIAMPolicyAssignment API operation for Amazon QuickSight. +// +// Updates an existing IAM policy assignment. This operation updates only the +// optional parameter or parameters that are specified in the request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateIAMPolicyAssignment for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * ConcurrentUpdatingException +// A resource is already in a state that indicates an action is happening that +// must complete before a new update can be applied. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateIAMPolicyAssignment +func (c *QuickSight) UpdateIAMPolicyAssignment(input *UpdateIAMPolicyAssignmentInput) (*UpdateIAMPolicyAssignmentOutput, error) { + req, out := c.UpdateIAMPolicyAssignmentRequest(input) + return out, req.Send() +} + +// UpdateIAMPolicyAssignmentWithContext is the same as UpdateIAMPolicyAssignment with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateIAMPolicyAssignment for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateIAMPolicyAssignmentWithContext(ctx aws.Context, input *UpdateIAMPolicyAssignmentInput, opts ...request.Option) (*UpdateIAMPolicyAssignmentOutput, error) { + req, out := c.UpdateIAMPolicyAssignmentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTemplate = "UpdateTemplate" + +// UpdateTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateTemplate for more information on using the UpdateTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateTemplateRequest method. +// req, resp := client.UpdateTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplate +func (c *QuickSight) UpdateTemplateRequest(input *UpdateTemplateInput) (req *request.Request, output *UpdateTemplateOutput) { + op := &request.Operation{ + Name: opUpdateTemplate, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}", + } + + if input == nil { + input = &UpdateTemplateInput{} + } + + output = &UpdateTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTemplate API operation for Amazon QuickSight. +// +// Updates a template from an existing Amazon QuickSight analysis or another +// 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 QuickSight's +// API operation UpdateTemplate for usage and error information. +// +// Returned Error Types: +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * LimitExceededException +// A limit is exceeded. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplate +func (c *QuickSight) UpdateTemplate(input *UpdateTemplateInput) (*UpdateTemplateOutput, error) { + req, out := c.UpdateTemplateRequest(input) + return out, req.Send() +} + +// UpdateTemplateWithContext is the same as UpdateTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateTemplateWithContext(ctx aws.Context, input *UpdateTemplateInput, opts ...request.Option) (*UpdateTemplateOutput, error) { + req, out := c.UpdateTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTemplateAlias = "UpdateTemplateAlias" + +// UpdateTemplateAliasRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTemplateAlias operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateTemplateAlias for more information on using the UpdateTemplateAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateTemplateAliasRequest method. +// req, resp := client.UpdateTemplateAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplateAlias +func (c *QuickSight) UpdateTemplateAliasRequest(input *UpdateTemplateAliasInput) (req *request.Request, output *UpdateTemplateAliasOutput) { + op := &request.Operation{ + Name: opUpdateTemplateAlias, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}", + } + + if input == nil { + input = &UpdateTemplateAliasInput{} + } + + output = &UpdateTemplateAliasOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTemplateAlias API operation for Amazon QuickSight. +// +// Updates the template alias of a 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 QuickSight's +// API operation UpdateTemplateAlias for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Access is throttled. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplateAlias +func (c *QuickSight) UpdateTemplateAlias(input *UpdateTemplateAliasInput) (*UpdateTemplateAliasOutput, error) { + req, out := c.UpdateTemplateAliasRequest(input) + return out, req.Send() +} + +// UpdateTemplateAliasWithContext is the same as UpdateTemplateAlias with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTemplateAlias for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateTemplateAliasWithContext(ctx aws.Context, input *UpdateTemplateAliasInput, opts ...request.Option) (*UpdateTemplateAliasOutput, error) { + req, out := c.UpdateTemplateAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTemplatePermissions = "UpdateTemplatePermissions" + +// UpdateTemplatePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTemplatePermissions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateTemplatePermissions for more information on using the UpdateTemplatePermissions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateTemplatePermissionsRequest method. +// req, resp := client.UpdateTemplatePermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplatePermissions +func (c *QuickSight) UpdateTemplatePermissionsRequest(input *UpdateTemplatePermissionsInput) (req *request.Request, output *UpdateTemplatePermissionsOutput) { + op := &request.Operation{ + Name: opUpdateTemplatePermissions, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/templates/{TemplateId}/permissions", + } + + if input == nil { + input = &UpdateTemplatePermissionsInput{} + } + + output = &UpdateTemplatePermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTemplatePermissions API operation for Amazon QuickSight. +// +// Updates the resource permissions for a 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 QuickSight's +// API operation UpdateTemplatePermissions for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Access is throttled. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTemplatePermissions +func (c *QuickSight) UpdateTemplatePermissions(input *UpdateTemplatePermissionsInput) (*UpdateTemplatePermissionsOutput, error) { + req, out := c.UpdateTemplatePermissionsRequest(input) + return out, req.Send() +} + +// UpdateTemplatePermissionsWithContext is the same as UpdateTemplatePermissions with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTemplatePermissions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateTemplatePermissionsWithContext(ctx aws.Context, input *UpdateTemplatePermissionsInput, opts ...request.Option) (*UpdateTemplatePermissionsOutput, error) { + req, out := c.UpdateTemplatePermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTheme = "UpdateTheme" + +// UpdateThemeRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTheme operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateTheme for more information on using the UpdateTheme +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateThemeRequest method. +// req, resp := client.UpdateThemeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTheme +func (c *QuickSight) UpdateThemeRequest(input *UpdateThemeInput) (req *request.Request, output *UpdateThemeOutput) { + op := &request.Operation{ + Name: opUpdateTheme, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}", + } + + if input == nil { + input = &UpdateThemeInput{} + } + + output = &UpdateThemeOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTheme API operation for Amazon QuickSight. +// +// Updates a theme. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateTheme for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * LimitExceededException +// A limit is exceeded. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateTheme +func (c *QuickSight) UpdateTheme(input *UpdateThemeInput) (*UpdateThemeOutput, error) { + req, out := c.UpdateThemeRequest(input) + return out, req.Send() +} + +// UpdateThemeWithContext is the same as UpdateTheme with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTheme for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateThemeWithContext(ctx aws.Context, input *UpdateThemeInput, opts ...request.Option) (*UpdateThemeOutput, error) { + req, out := c.UpdateThemeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateThemeAlias = "UpdateThemeAlias" + +// UpdateThemeAliasRequest generates a "aws/request.Request" representing the +// client's request for the UpdateThemeAlias operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateThemeAlias for more information on using the UpdateThemeAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateThemeAliasRequest method. +// req, resp := client.UpdateThemeAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateThemeAlias +func (c *QuickSight) UpdateThemeAliasRequest(input *UpdateThemeAliasInput) (req *request.Request, output *UpdateThemeAliasOutput) { + op := &request.Operation{ + Name: opUpdateThemeAlias, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/aliases/{AliasName}", + } + + if input == nil { + input = &UpdateThemeAliasInput{} + } + + output = &UpdateThemeAliasOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateThemeAlias API operation for Amazon QuickSight. +// +// Updates an alias of a theme. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateThemeAlias for usage and error information. +// +// Returned Error Types: +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateThemeAlias +func (c *QuickSight) UpdateThemeAlias(input *UpdateThemeAliasInput) (*UpdateThemeAliasOutput, error) { + req, out := c.UpdateThemeAliasRequest(input) + return out, req.Send() +} + +// UpdateThemeAliasWithContext is the same as UpdateThemeAlias with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateThemeAlias for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateThemeAliasWithContext(ctx aws.Context, input *UpdateThemeAliasInput, opts ...request.Option) (*UpdateThemeAliasOutput, error) { + req, out := c.UpdateThemeAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateThemePermissions = "UpdateThemePermissions" + +// UpdateThemePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateThemePermissions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateThemePermissions for more information on using the UpdateThemePermissions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateThemePermissionsRequest method. +// req, resp := client.UpdateThemePermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateThemePermissions +func (c *QuickSight) UpdateThemePermissionsRequest(input *UpdateThemePermissionsInput) (req *request.Request, output *UpdateThemePermissionsOutput) { + op := &request.Operation{ + Name: opUpdateThemePermissions, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/themes/{ThemeId}/permissions", + } + + if input == nil { + input = &UpdateThemePermissionsInput{} + } + + output = &UpdateThemePermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateThemePermissions API operation for Amazon QuickSight. +// +// Updates the resource permissions for a theme. Permissions apply to the action +// to grant or revoke permissions on, for example "quicksight:DescribeTheme". +// +// Theme permissions apply in groupings. Valid groupings include the following +// for the three levels of permissions, which are user, owner, or no permissions: +// +// * User "quicksight:DescribeTheme" "quicksight:DescribeThemeAlias" "quicksight:ListThemeAliases" +// "quicksight:ListThemeVersions" +// +// * Owner "quicksight:DescribeTheme" "quicksight:DescribeThemeAlias" "quicksight:ListThemeAliases" +// "quicksight:ListThemeVersions" "quicksight:DeleteTheme" "quicksight:UpdateTheme" +// "quicksight:CreateThemeAlias" "quicksight:DeleteThemeAlias" "quicksight:UpdateThemeAlias" +// "quicksight:UpdateThemePermissions" "quicksight:DescribeThemePermissions" +// +// * To specify no permissions, omit the permissions list. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateThemePermissions for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateThemePermissions +func (c *QuickSight) UpdateThemePermissions(input *UpdateThemePermissionsInput) (*UpdateThemePermissionsOutput, error) { + req, out := c.UpdateThemePermissionsRequest(input) + return out, req.Send() +} + +// UpdateThemePermissionsWithContext is the same as UpdateThemePermissions with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateThemePermissions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateThemePermissionsWithContext(ctx aws.Context, input *UpdateThemePermissionsInput, opts ...request.Option) (*UpdateThemePermissionsOutput, error) { + req, out := c.UpdateThemePermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateUser = "UpdateUser" + +// UpdateUserRequest generates a "aws/request.Request" representing the +// client's request for the UpdateUser operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateUser for more information on using the UpdateUser +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateUserRequest method. +// req, resp := client.UpdateUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateUser +func (c *QuickSight) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) { + op := &request.Operation{ + Name: opUpdateUser, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}", + } + + if input == nil { + input = &UpdateUserInput{} + } + + output = &UpdateUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateUser API operation for Amazon QuickSight. +// +// Updates an Amazon QuickSight user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateUser for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * PreconditionNotMetException +// One or more preconditions aren't met. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateUser +func (c *QuickSight) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) { + req, out := c.UpdateUserRequest(input) + return out, req.Send() +} + +// UpdateUserWithContext is the same as UpdateUser with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateUser for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *QuickSight) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput, opts ...request.Option) (*UpdateUserOutput, error) { + req, out := c.UpdateUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // The AWS request ID for this request. + RequestId *string `type:"string"` +} + +// String returns the string representation +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The customizations associated with your AWS account for QuickSight. +type AccountCustomization struct { + _ struct{} `type:"structure"` + + // The default theme for this QuickSight subscription. + DefaultTheme *string `type:"string"` +} + +// String returns the string representation +func (s AccountCustomization) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountCustomization) GoString() string { + return s.String() +} + +// SetDefaultTheme sets the DefaultTheme field's value. +func (s *AccountCustomization) SetDefaultTheme(v string) *AccountCustomization { + s.DefaultTheme = &v + return s +} + +// The QuickSight settings associated with your AWS account. +type AccountSettings struct { + _ struct{} `type:"structure"` + + // The name associated with the QuickSight subscription in your AWS account. + AccountName *string `type:"string"` + + // The default QuickSight namespace for your AWS account. + DefaultNamespace *string `type:"string"` + + // The edition of QuickSight that you're currently subscribed to. + Edition *string `type:"string" enum:"Edition"` + + // The main notification email for your QuickSight subscription. + NotificationEmail *string `type:"string"` +} + +// String returns the string representation +func (s AccountSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountSettings) GoString() string { + return s.String() +} + +// SetAccountName sets the AccountName field's value. +func (s *AccountSettings) SetAccountName(v string) *AccountSettings { + s.AccountName = &v + return s +} + +// SetDefaultNamespace sets the DefaultNamespace field's value. +func (s *AccountSettings) SetDefaultNamespace(v string) *AccountSettings { + s.DefaultNamespace = &v + return s +} + +// SetEdition sets the Edition field's value. +func (s *AccountSettings) SetEdition(v string) *AccountSettings { + s.Edition = &v + return s +} + +// SetNotificationEmail sets the NotificationEmail field's value. +func (s *AccountSettings) SetNotificationEmail(v string) *AccountSettings { + s.NotificationEmail = &v + return s +} + +// The active AWS Identity and Access Management (IAM) policy assignment. +type ActiveIAMPolicyAssignment struct { + _ struct{} `type:"structure"` + + // A name for the IAM policy assignment. + AssignmentName *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the resource. + PolicyArn *string `type:"string"` +} + +// String returns the string representation +func (s ActiveIAMPolicyAssignment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ActiveIAMPolicyAssignment) GoString() string { + return s.String() +} + +// SetAssignmentName sets the AssignmentName field's value. +func (s *ActiveIAMPolicyAssignment) SetAssignmentName(v string) *ActiveIAMPolicyAssignment { + s.AssignmentName = &v + return s +} + +// SetPolicyArn sets the PolicyArn field's value. +func (s *ActiveIAMPolicyAssignment) SetPolicyArn(v string) *ActiveIAMPolicyAssignment { + s.PolicyArn = &v + return s +} + +// Ad hoc (one-time) filtering option. +type AdHocFilteringOption struct { + _ struct{} `type:"structure"` + + // Availability status. + AvailabilityStatus *string `type:"string" enum:"DashboardBehavior"` +} + +// String returns the string representation +func (s AdHocFilteringOption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdHocFilteringOption) GoString() string { + return s.String() +} + +// SetAvailabilityStatus sets the AvailabilityStatus field's value. +func (s *AdHocFilteringOption) SetAvailabilityStatus(v string) *AdHocFilteringOption { + s.AvailabilityStatus = &v + return s +} + +// Amazon Elasticsearch Service parameters. +type AmazonElasticsearchParameters struct { + _ struct{} `type:"structure"` + + // The Amazon Elasticsearch Service domain. + // + // Domain is a required field + Domain *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AmazonElasticsearchParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AmazonElasticsearchParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AmazonElasticsearchParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AmazonElasticsearchParameters"} + if s.Domain == nil { + invalidParams.Add(request.NewErrParamRequired("Domain")) + } + if s.Domain != nil && len(*s.Domain) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Domain", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomain sets the Domain field's value. +func (s *AmazonElasticsearchParameters) SetDomain(v string) *AmazonElasticsearchParameters { + s.Domain = &v + return s +} + +// Amazon Athena parameters. +type AthenaParameters struct { + _ struct{} `type:"structure"` + + // The workgroup that Amazon Athena uses. + WorkGroup *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s AthenaParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AthenaParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AthenaParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AthenaParameters"} + if s.WorkGroup != nil && len(*s.WorkGroup) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkGroup", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWorkGroup sets the WorkGroup field's value. +func (s *AthenaParameters) SetWorkGroup(v string) *AthenaParameters { + s.WorkGroup = &v + return s +} + +// Amazon Aurora parameters. +type AuroraParameters struct { + _ struct{} `type:"structure"` + + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` + + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` + + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s AuroraParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AuroraParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AuroraParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AuroraParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + } + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabase sets the Database field's value. +func (s *AuroraParameters) SetDatabase(v string) *AuroraParameters { + s.Database = &v + return s +} + +// SetHost sets the Host field's value. +func (s *AuroraParameters) SetHost(v string) *AuroraParameters { + s.Host = &v + return s +} + +// SetPort sets the Port field's value. +func (s *AuroraParameters) SetPort(v int64) *AuroraParameters { + s.Port = &v + return s +} + +// Amazon Aurora with PostgreSQL compatibility parameters. +type AuroraPostgreSqlParameters struct { + _ struct{} `type:"structure"` + + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` + + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` + + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` +} + +// String returns the string representation +func (s AuroraPostgreSqlParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AuroraPostgreSqlParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AuroraPostgreSqlParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AuroraPostgreSqlParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + } + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabase sets the Database field's value. +func (s *AuroraPostgreSqlParameters) SetDatabase(v string) *AuroraPostgreSqlParameters { + s.Database = &v + return s +} + +// SetHost sets the Host field's value. +func (s *AuroraPostgreSqlParameters) SetHost(v string) *AuroraPostgreSqlParameters { + s.Host = &v + return s +} + +// SetPort sets the Port field's value. +func (s *AuroraPostgreSqlParameters) SetPort(v int64) *AuroraPostgreSqlParameters { + s.Port = &v + return s +} + +// AWS IoT Analytics parameters. +type AwsIotAnalyticsParameters struct { + _ struct{} `type:"structure"` + + // Dataset name. + // + // DataSetName is a required field + DataSetName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AwsIotAnalyticsParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsIotAnalyticsParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AwsIotAnalyticsParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AwsIotAnalyticsParameters"} + if s.DataSetName == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetName")) + } + if s.DataSetName != nil && len(*s.DataSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataSetName sets the DataSetName field's value. +func (s *AwsIotAnalyticsParameters) SetDataSetName(v string) *AwsIotAnalyticsParameters { + s.DataSetName = &v + return s +} + +// The display options for tile borders for visuals. +type BorderStyle struct { + _ struct{} `type:"structure"` + + // The option to enable display of borders for visuals. + Show *bool `type:"boolean"` +} + +// String returns the string representation +func (s BorderStyle) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BorderStyle) GoString() string { + return s.String() +} + +// SetShow sets the Show field's value. +func (s *BorderStyle) SetShow(v bool) *BorderStyle { + s.Show = &v + return s +} + +// A calculated column for a dataset. +type CalculatedColumn struct { + _ struct{} `type:"structure"` + + // A unique ID to identify a calculated column. During a dataset update, if + // the column ID of a calculated column matches that of an existing calculated + // column, Amazon QuickSight preserves the existing calculated column. + // + // ColumnId is a required field + ColumnId *string `min:"1" type:"string" required:"true"` + + // Column name. + // + // ColumnName is a required field + ColumnName *string `min:"1" type:"string" required:"true"` + + // An expression that defines the calculated column. + // + // Expression is a required field + Expression *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CalculatedColumn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CalculatedColumn) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CalculatedColumn) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CalculatedColumn"} + if s.ColumnId == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnId")) + } + if s.ColumnId != nil && len(*s.ColumnId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnId", 1)) + } + if s.ColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnName")) + } + if s.ColumnName != nil && len(*s.ColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) + } + if s.Expression == nil { + invalidParams.Add(request.NewErrParamRequired("Expression")) + } + if s.Expression != nil && len(*s.Expression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumnId sets the ColumnId field's value. +func (s *CalculatedColumn) SetColumnId(v string) *CalculatedColumn { + s.ColumnId = &v + return s +} + +// SetColumnName sets the ColumnName field's value. +func (s *CalculatedColumn) SetColumnName(v string) *CalculatedColumn { + s.ColumnName = &v + return s +} + +// SetExpression sets the Expression field's value. +func (s *CalculatedColumn) SetExpression(v string) *CalculatedColumn { + s.Expression = &v + return s +} + +type CancelIngestionInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID of the dataset used in the ingestion. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + + // An ID for the ingestion. + // + // IngestionId is a required field + IngestionId *string `location:"uri" locationName:"IngestionId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CancelIngestionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelIngestionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelIngestionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelIngestionInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + } + if s.IngestionId == nil { + invalidParams.Add(request.NewErrParamRequired("IngestionId")) + } + if s.IngestionId != nil && len(*s.IngestionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IngestionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CancelIngestionInput) SetAwsAccountId(v string) *CancelIngestionInput { + s.AwsAccountId = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *CancelIngestionInput) SetDataSetId(v string) *CancelIngestionInput { + s.DataSetId = &v + return s +} + +// SetIngestionId sets the IngestionId field's value. +func (s *CancelIngestionInput) SetIngestionId(v string) *CancelIngestionInput { + s.IngestionId = &v + return s +} + +type CancelIngestionOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the data ingestion. + Arn *string `type:"string"` + + // An ID for the ingestion. + IngestionId *string `min:"1" type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CancelIngestionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CancelIngestionOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CancelIngestionOutput) SetArn(v string) *CancelIngestionOutput { + s.Arn = &v + return s +} + +// SetIngestionId sets the IngestionId field's value. +func (s *CancelIngestionOutput) SetIngestionId(v string) *CancelIngestionOutput { + s.IngestionId = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CancelIngestionOutput) SetRequestId(v string) *CancelIngestionOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CancelIngestionOutput) SetStatus(v int64) *CancelIngestionOutput { + s.Status = &v + return s +} + +// A transform operation that casts a column to a different type. +type CastColumnTypeOperation struct { + _ struct{} `type:"structure"` + + // Column name. + // + // ColumnName is a required field + ColumnName *string `min:"1" type:"string" required:"true"` + + // When casting a column from string to datetime type, you can supply a string + // in a format supported by Amazon QuickSight to denote the source data format. + Format *string `type:"string"` + + // New column data type. + // + // NewColumnType is a required field + NewColumnType *string `type:"string" required:"true" enum:"ColumnDataType"` +} + +// String returns the string representation +func (s CastColumnTypeOperation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CastColumnTypeOperation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CastColumnTypeOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CastColumnTypeOperation"} + if s.ColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnName")) + } + if s.ColumnName != nil && len(*s.ColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) + } + if s.NewColumnType == nil { + invalidParams.Add(request.NewErrParamRequired("NewColumnType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumnName sets the ColumnName field's value. +func (s *CastColumnTypeOperation) SetColumnName(v string) *CastColumnTypeOperation { + s.ColumnName = &v + return s +} + +// SetFormat sets the Format field's value. +func (s *CastColumnTypeOperation) SetFormat(v string) *CastColumnTypeOperation { + s.Format = &v + return s +} + +// SetNewColumnType sets the NewColumnType field's value. +func (s *CastColumnTypeOperation) SetNewColumnType(v string) *CastColumnTypeOperation { + s.NewColumnType = &v + return s +} + +// Groupings of columns that work together in certain Amazon QuickSight features. +// This is a variant type structure. For this structure to be valid, only one +// of the attributes can be non-null. +type ColumnGroup struct { + _ struct{} `type:"structure"` + + // Geospatial column group that denotes a hierarchy. + GeoSpatialColumnGroup *GeoSpatialColumnGroup `type:"structure"` +} + +// String returns the string representation +func (s ColumnGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColumnGroup) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ColumnGroup) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ColumnGroup"} + if s.GeoSpatialColumnGroup != nil { + if err := s.GeoSpatialColumnGroup.Validate(); err != nil { + invalidParams.AddNested("GeoSpatialColumnGroup", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGeoSpatialColumnGroup sets the GeoSpatialColumnGroup field's value. +func (s *ColumnGroup) SetGeoSpatialColumnGroup(v *GeoSpatialColumnGroup) *ColumnGroup { + s.GeoSpatialColumnGroup = v + return s +} + +// A structure describing the name, data type, and geographic role of the columns. +type ColumnGroupColumnSchema struct { + _ struct{} `type:"structure"` + + // The name of the column group's column schema. + Name *string `type:"string"` +} + +// String returns the string representation +func (s ColumnGroupColumnSchema) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColumnGroupColumnSchema) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *ColumnGroupColumnSchema) SetName(v string) *ColumnGroupColumnSchema { + s.Name = &v + return s +} + +// The column group schema. +type ColumnGroupSchema struct { + _ struct{} `type:"structure"` + + // A structure containing the list of schemas for column group columns. + ColumnGroupColumnSchemaList []*ColumnGroupColumnSchema `type:"list"` + + // The name of the column group schema. + Name *string `type:"string"` +} + +// String returns the string representation +func (s ColumnGroupSchema) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColumnGroupSchema) GoString() string { + return s.String() +} + +// SetColumnGroupColumnSchemaList sets the ColumnGroupColumnSchemaList field's value. +func (s *ColumnGroupSchema) SetColumnGroupColumnSchemaList(v []*ColumnGroupColumnSchema) *ColumnGroupSchema { + s.ColumnGroupColumnSchemaList = v + return s +} + +// SetName sets the Name field's value. +func (s *ColumnGroupSchema) SetName(v string) *ColumnGroupSchema { + s.Name = &v + return s +} + +// The column schema. +type ColumnSchema struct { + _ struct{} `type:"structure"` + + // The data type of the column schema. + DataType *string `type:"string"` + + // The geographic role of the column schema. + GeographicRole *string `type:"string"` + + // The name of the column schema. + Name *string `type:"string"` +} + +// String returns the string representation +func (s ColumnSchema) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColumnSchema) GoString() string { + return s.String() +} + +// SetDataType sets the DataType field's value. +func (s *ColumnSchema) SetDataType(v string) *ColumnSchema { + s.DataType = &v + return s +} + +// SetGeographicRole sets the GeographicRole field's value. +func (s *ColumnSchema) SetGeographicRole(v string) *ColumnSchema { + s.GeographicRole = &v + return s +} + +// SetName sets the Name field's value. +func (s *ColumnSchema) SetName(v string) *ColumnSchema { + s.Name = &v + return s +} + +// A tag for a column in a TagColumnOperation structure. This is a variant type +// structure. For this structure to be valid, only one of the attributes can +// be non-null. +type ColumnTag struct { + _ struct{} `type:"structure"` + + // A geospatial role for a column. + ColumnGeographicRole *string `type:"string" enum:"GeoSpatialDataRole"` +} + +// String returns the string representation +func (s ColumnTag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ColumnTag) GoString() string { + return s.String() +} + +// SetColumnGeographicRole sets the ColumnGeographicRole field's value. +func (s *ColumnTag) SetColumnGeographicRole(v string) *ColumnTag { + s.ColumnGeographicRole = &v + return s +} + +// A resource is already in a state that indicates an action is happening that +// must complete before a new update can be applied. +type ConcurrentUpdatingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + RequestId *string `type:"string"` +} + +// String returns the string representation +func (s ConcurrentUpdatingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConcurrentUpdatingException) GoString() string { + return s.String() +} + +func newErrorConcurrentUpdatingException(v protocol.ResponseMetadata) error { + return &ConcurrentUpdatingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConcurrentUpdatingException) Code() string { + return "ConcurrentUpdatingException" +} + +// Message returns the exception's message. +func (s *ConcurrentUpdatingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConcurrentUpdatingException) OrigErr() error { + return nil +} + +func (s *ConcurrentUpdatingException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConcurrentUpdatingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConcurrentUpdatingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Updating or deleting a resource can cause an inconsistent state. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // The AWS request ID for this request. + RequestId *string `type:"string"` +} + +// String returns the string representation +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateAccountCustomizationInput struct { + _ struct{} `type:"structure"` + + // The customizations you're adding to the QuickSight subscription for the AWS + // account. For example, you could add a default theme by setting AccountCustomization + // to the midnight theme (DefaultTheme="arn:aws:quicksight::aws:theme/MIDNIGHT") + // or to a custom theme (DefaultTheme="arn:aws:quicksight:us-west-2:111122223333:theme/bdb844d0-0fe9-4d9d-b520-0fe602d93639"). + // + // AccountCustomization is a required field + AccountCustomization *AccountCustomization `type:"structure" required:"true"` + + // The ID for the AWS account that you want to customize QuickSight for. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The namespace associated with the customization that you're creating. + Namespace *string `location:"querystring" locationName:"namespace" type:"string"` +} + +// String returns the string representation +func (s CreateAccountCustomizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAccountCustomizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAccountCustomizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAccountCustomizationInput"} + if s.AccountCustomization == nil { + invalidParams.Add(request.NewErrParamRequired("AccountCustomization")) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountCustomization sets the AccountCustomization field's value. +func (s *CreateAccountCustomizationInput) SetAccountCustomization(v *AccountCustomization) *CreateAccountCustomizationInput { + s.AccountCustomization = v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateAccountCustomizationInput) SetAwsAccountId(v string) *CreateAccountCustomizationInput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *CreateAccountCustomizationInput) SetNamespace(v string) *CreateAccountCustomizationInput { + s.Namespace = &v + return s +} + +type CreateAccountCustomizationOutput struct { + _ struct{} `type:"structure"` + + // The customizations you're adding to the QuickSight subscription for the AWS + // account. + AccountCustomization *AccountCustomization `type:"structure"` + + // The ID for the AWS account that you want to customize QuickSight for. + AwsAccountId *string `min:"12" type:"string"` + + // The namespace associated with the customization you're creating. + Namespace *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CreateAccountCustomizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAccountCustomizationOutput) GoString() string { + return s.String() +} + +// SetAccountCustomization sets the AccountCustomization field's value. +func (s *CreateAccountCustomizationOutput) SetAccountCustomization(v *AccountCustomization) *CreateAccountCustomizationOutput { + s.AccountCustomization = v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateAccountCustomizationOutput) SetAwsAccountId(v string) *CreateAccountCustomizationOutput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *CreateAccountCustomizationOutput) SetNamespace(v string) *CreateAccountCustomizationOutput { + s.Namespace = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateAccountCustomizationOutput) SetRequestId(v string) *CreateAccountCustomizationOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateAccountCustomizationOutput) SetStatus(v int64) *CreateAccountCustomizationOutput { + s.Status = &v + return s +} + +// A transform operation that creates calculated columns. Columns created in +// one such operation form a lexical closure. +type CreateColumnsOperation struct { + _ struct{} `type:"structure"` + + // Calculated columns to create. + // + // Columns is a required field + Columns []*CalculatedColumn `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s CreateColumnsOperation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateColumnsOperation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateColumnsOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateColumnsOperation"} + if s.Columns == nil { + invalidParams.Add(request.NewErrParamRequired("Columns")) + } + if s.Columns != nil && len(s.Columns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Columns", 1)) + } + if s.Columns != nil { + for i, v := range s.Columns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Columns", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumns sets the Columns field's value. +func (s *CreateColumnsOperation) SetColumns(v []*CalculatedColumn) *CreateColumnsOperation { + s.Columns = v + return s +} + +type CreateDashboardInput struct { + _ struct{} `type:"structure"` + + // The ID of the AWS account where you want to create the dashboard. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID for the dashboard, also added to the IAM policy. + // + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + + // Options for publishing the dashboard when you create it: + // + // * AvailabilityStatus for AdHocFilteringOption - This status can be either + // ENABLED or DISABLED. When this is set to DISABLED, QuickSight disables + // the left filter pane on the published dashboard, which can be used for + // ad hoc (one-time) filtering. This option is ENABLED by default. + // + // * AvailabilityStatus for ExportToCSVOption - This status can be either + // ENABLED or DISABLED. The visual option to export data to .csv format isn't + // enabled when this is set to DISABLED. This option is ENABLED by default. + // + // * VisibilityState for SheetControlsOption - This visibility state can + // be either COLLAPSED or EXPANDED. This option is COLLAPSED by default. + DashboardPublishOptions *DashboardPublishOptions `type:"structure"` + + // The display name of the dashboard. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The parameters for the creation of the dashboard, which you want to use to + // override the default settings. A dashboard can have any type of parameters, + // and some parameters might accept multiple values. + Parameters *Parameters `type:"structure"` + + // A structure that contains the permissions of the dashboard. You can use this + // structure for granting permissions with principal and action information. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // The entity that you are using as a source when you create the dashboard. + // In SourceEntity, you specify the type of object you're using as source. You + // can only create a dashboard from a template, so you use a SourceTemplate + // entity. If you need to create a dashboard from an analysis, first convert + // the analysis to a template by using the CreateTemplate API operation. For + // SourceTemplate, specify the Amazon Resource Name (ARN) of the source template. + // The SourceTemplateARN can contain any AWS Account and any QuickSight-supported + // AWS Region. + // + // Use the DataSetReferences entity within SourceTemplate to list the replacement + // datasets for the placeholders listed in the original. The schema in each + // dataset must match its placeholder. + // + // SourceEntity is a required field + SourceEntity *DashboardSourceEntity `type:"structure" required:"true"` + + // Contains a map of the key-value pairs for the resource tag or tags assigned + // to the dashboard. + Tags []*Tag `min:"1" type:"list"` + + // The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. + // If you add a value for this field, it overrides the value that is used in + // the source entity. The theme ARN must exist in the same AWS account where + // you create the dashboard. + ThemeArn *string `type:"string"` + + // A description for the first version of the dashboard being created. + VersionDescription *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateDashboardInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDashboardInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDashboardInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDashboardInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) + } + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Permissions != nil && len(s.Permissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Permissions", 1)) + } + if s.SourceEntity == nil { + invalidParams.Add(request.NewErrParamRequired("SourceEntity")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.VersionDescription != nil && len(*s.VersionDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) + } + if s.Parameters != nil { + if err := s.Parameters.Validate(); err != nil { + invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams)) + } + } + if s.Permissions != nil { + for i, v := range s.Permissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SourceEntity != nil { + if err := s.SourceEntity.Validate(); err != nil { + invalidParams.AddNested("SourceEntity", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateDashboardInput) SetAwsAccountId(v string) *CreateDashboardInput { + s.AwsAccountId = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *CreateDashboardInput) SetDashboardId(v string) *CreateDashboardInput { + s.DashboardId = &v + return s +} + +// SetDashboardPublishOptions sets the DashboardPublishOptions field's value. +func (s *CreateDashboardInput) SetDashboardPublishOptions(v *DashboardPublishOptions) *CreateDashboardInput { + s.DashboardPublishOptions = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDashboardInput) SetName(v string) *CreateDashboardInput { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *CreateDashboardInput) SetParameters(v *Parameters) *CreateDashboardInput { + s.Parameters = v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *CreateDashboardInput) SetPermissions(v []*ResourcePermission) *CreateDashboardInput { + s.Permissions = v + return s +} + +// SetSourceEntity sets the SourceEntity field's value. +func (s *CreateDashboardInput) SetSourceEntity(v *DashboardSourceEntity) *CreateDashboardInput { + s.SourceEntity = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDashboardInput) SetTags(v []*Tag) *CreateDashboardInput { + s.Tags = v + return s +} + +// SetThemeArn sets the ThemeArn field's value. +func (s *CreateDashboardInput) SetThemeArn(v string) *CreateDashboardInput { + s.ThemeArn = &v + return s +} + +// SetVersionDescription sets the VersionDescription field's value. +func (s *CreateDashboardInput) SetVersionDescription(v string) *CreateDashboardInput { + s.VersionDescription = &v + return s +} + +type CreateDashboardOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the dashboard. + Arn *string `type:"string"` + + // The status of the dashboard creation request. + CreationStatus *string `type:"string" enum:"ResourceStatus"` + + // The ID for the dashboard. + DashboardId *string `min:"1" type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // The ARN of the dashboard, including the version number of the first version + // that is created. + VersionArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateDashboardOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDashboardOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateDashboardOutput) SetArn(v string) *CreateDashboardOutput { + s.Arn = &v + return s +} + +// SetCreationStatus sets the CreationStatus field's value. +func (s *CreateDashboardOutput) SetCreationStatus(v string) *CreateDashboardOutput { + s.CreationStatus = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *CreateDashboardOutput) SetDashboardId(v string) *CreateDashboardOutput { + s.DashboardId = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateDashboardOutput) SetRequestId(v string) *CreateDashboardOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateDashboardOutput) SetStatus(v int64) *CreateDashboardOutput { + s.Status = &v + return s +} + +// SetVersionArn sets the VersionArn field's value. +func (s *CreateDashboardOutput) SetVersionArn(v string) *CreateDashboardOutput { + s.VersionArn = &v + return s +} + +type CreateDataSetInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // Groupings of columns that work together in certain QuickSight features. Currently, + // only geospatial hierarchy is supported. + ColumnGroups []*ColumnGroup `min:"1" type:"list"` + + // An ID for the dataset that you want to create. This ID is unique per AWS + // Region for each AWS account. + // + // DataSetId is a required field + DataSetId *string `type:"string" required:"true"` + + // Indicates whether you want to import the data into SPICE. + // + // ImportMode is a required field + ImportMode *string `type:"string" required:"true" enum:"DataSetImportMode"` + + // Configures the combination and transformation of the data from the physical + // tables. + LogicalTableMap map[string]*LogicalTable `min:"1" type:"map"` + + // The display name for the dataset. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A list of resource permissions on the dataset. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // Declares the physical tables that are available in the underlying data sources. + // + // PhysicalTableMap is a required field + PhysicalTableMap map[string]*PhysicalTable `min:"1" type:"map" required:"true"` + + // The row-level security configuration for the data that you want to create. + RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` + + // Contains a map of the key-value pairs for the resource tag or tags assigned + // to the dataset. + Tags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation +func (s CreateDataSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDataSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDataSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDataSetInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.ColumnGroups != nil && len(s.ColumnGroups) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnGroups", 1)) + } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.ImportMode == nil { + invalidParams.Add(request.NewErrParamRequired("ImportMode")) + } + if s.LogicalTableMap != nil && len(s.LogicalTableMap) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogicalTableMap", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Permissions != nil && len(s.Permissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Permissions", 1)) + } + if s.PhysicalTableMap == nil { + invalidParams.Add(request.NewErrParamRequired("PhysicalTableMap")) + } + if s.PhysicalTableMap != nil && len(s.PhysicalTableMap) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PhysicalTableMap", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.ColumnGroups != nil { + for i, v := range s.ColumnGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ColumnGroups", i), err.(request.ErrInvalidParams)) + } + } + } + if s.LogicalTableMap != nil { + for i, v := range s.LogicalTableMap { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LogicalTableMap", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Permissions != nil { + for i, v := range s.Permissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PhysicalTableMap != nil { + for i, v := range s.PhysicalTableMap { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PhysicalTableMap", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RowLevelPermissionDataSet != nil { + if err := s.RowLevelPermissionDataSet.Validate(); err != nil { + invalidParams.AddNested("RowLevelPermissionDataSet", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateDataSetInput) SetAwsAccountId(v string) *CreateDataSetInput { + s.AwsAccountId = &v + return s +} + +// SetColumnGroups sets the ColumnGroups field's value. +func (s *CreateDataSetInput) SetColumnGroups(v []*ColumnGroup) *CreateDataSetInput { + s.ColumnGroups = v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *CreateDataSetInput) SetDataSetId(v string) *CreateDataSetInput { + s.DataSetId = &v + return s +} + +// SetImportMode sets the ImportMode field's value. +func (s *CreateDataSetInput) SetImportMode(v string) *CreateDataSetInput { + s.ImportMode = &v + return s +} + +// SetLogicalTableMap sets the LogicalTableMap field's value. +func (s *CreateDataSetInput) SetLogicalTableMap(v map[string]*LogicalTable) *CreateDataSetInput { + s.LogicalTableMap = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDataSetInput) SetName(v string) *CreateDataSetInput { + s.Name = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *CreateDataSetInput) SetPermissions(v []*ResourcePermission) *CreateDataSetInput { + s.Permissions = v + return s +} + +// SetPhysicalTableMap sets the PhysicalTableMap field's value. +func (s *CreateDataSetInput) SetPhysicalTableMap(v map[string]*PhysicalTable) *CreateDataSetInput { + s.PhysicalTableMap = v + return s +} + +// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. +func (s *CreateDataSetInput) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *CreateDataSetInput { + s.RowLevelPermissionDataSet = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDataSetInput) SetTags(v []*Tag) *CreateDataSetInput { + s.Tags = v + return s +} + +type CreateDataSetOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the dataset. + Arn *string `type:"string"` + + // The ID for the dataset that you want to create. This ID is unique per AWS + // Region for each AWS account. + DataSetId *string `type:"string"` + + // The ARN for the ingestion, which is triggered as a result of dataset creation + // if the import mode is SPICE. + IngestionArn *string `type:"string"` + + // The ID of the ingestion, which is triggered as a result of dataset creation + // if the import mode is SPICE. + IngestionId *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CreateDataSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDataSetOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateDataSetOutput) SetArn(v string) *CreateDataSetOutput { + s.Arn = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *CreateDataSetOutput) SetDataSetId(v string) *CreateDataSetOutput { + s.DataSetId = &v + return s +} + +// SetIngestionArn sets the IngestionArn field's value. +func (s *CreateDataSetOutput) SetIngestionArn(v string) *CreateDataSetOutput { + s.IngestionArn = &v + return s +} + +// SetIngestionId sets the IngestionId field's value. +func (s *CreateDataSetOutput) SetIngestionId(v string) *CreateDataSetOutput { + s.IngestionId = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateDataSetOutput) SetRequestId(v string) *CreateDataSetOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateDataSetOutput) SetStatus(v int64) *CreateDataSetOutput { + s.Status = &v + return s +} + +type CreateDataSourceInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The credentials QuickSight that uses to connect to your underlying source. + // Currently, only credentials based on user name and password are supported. + Credentials *DataSourceCredentials `type:"structure" sensitive:"true"` + + // An ID for the data source. This ID is unique per AWS Region for each AWS + // account. + // + // DataSourceId is a required field + DataSourceId *string `type:"string" required:"true"` + + // The parameters that QuickSight uses to connect to your underlying source. + DataSourceParameters *DataSourceParameters `type:"structure"` + + // A display name for the data source. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A list of resource permissions on the data source. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // Secure Socket Layer (SSL) properties that apply when QuickSight connects + // to your underlying source. + SslProperties *SslProperties `type:"structure"` + + // Contains a map of the key-value pairs for the resource tag or tags assigned + // to the data source. + Tags []*Tag `min:"1" type:"list"` + + // The type of the data source. Currently, the supported types for this operation + // are: ATHENA, AURORA, AURORA_POSTGRESQL, MARIADB, MYSQL, POSTGRESQL, PRESTO, + // REDSHIFT, S3, SNOWFLAKE, SPARK, SQLSERVER, TERADATA. Use ListDataSources + // to return a list of all data sources. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"DataSourceType"` + + // Use this parameter only when you want QuickSight to use a VPC connection + // when connecting to your underlying source. + VpcConnectionProperties *VpcConnectionProperties `type:"structure"` +} + +// String returns the string representation +func (s CreateDataSourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDataSourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDataSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDataSourceInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSourceId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceId")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Permissions != nil && len(s.Permissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Permissions", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Credentials != nil { + if err := s.Credentials.Validate(); err != nil { + invalidParams.AddNested("Credentials", err.(request.ErrInvalidParams)) + } + } + if s.DataSourceParameters != nil { + if err := s.DataSourceParameters.Validate(); err != nil { + invalidParams.AddNested("DataSourceParameters", err.(request.ErrInvalidParams)) + } + } + if s.Permissions != nil { + for i, v := range s.Permissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.VpcConnectionProperties != nil { + if err := s.VpcConnectionProperties.Validate(); err != nil { + invalidParams.AddNested("VpcConnectionProperties", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateDataSourceInput) SetAwsAccountId(v string) *CreateDataSourceInput { + s.AwsAccountId = &v + return s +} + +// SetCredentials sets the Credentials field's value. +func (s *CreateDataSourceInput) SetCredentials(v *DataSourceCredentials) *CreateDataSourceInput { + s.Credentials = v + return s +} + +// SetDataSourceId sets the DataSourceId field's value. +func (s *CreateDataSourceInput) SetDataSourceId(v string) *CreateDataSourceInput { + s.DataSourceId = &v + return s +} + +// SetDataSourceParameters sets the DataSourceParameters field's value. +func (s *CreateDataSourceInput) SetDataSourceParameters(v *DataSourceParameters) *CreateDataSourceInput { + s.DataSourceParameters = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateDataSourceInput) SetName(v string) *CreateDataSourceInput { + s.Name = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *CreateDataSourceInput) SetPermissions(v []*ResourcePermission) *CreateDataSourceInput { + s.Permissions = v + return s +} + +// SetSslProperties sets the SslProperties field's value. +func (s *CreateDataSourceInput) SetSslProperties(v *SslProperties) *CreateDataSourceInput { + s.SslProperties = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDataSourceInput) SetTags(v []*Tag) *CreateDataSourceInput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *CreateDataSourceInput) SetType(v string) *CreateDataSourceInput { + s.Type = &v + return s +} + +// SetVpcConnectionProperties sets the VpcConnectionProperties field's value. +func (s *CreateDataSourceInput) SetVpcConnectionProperties(v *VpcConnectionProperties) *CreateDataSourceInput { + s.VpcConnectionProperties = v + return s +} + +type CreateDataSourceOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the data source. + Arn *string `type:"string"` + + // The status of creating the data source. + CreationStatus *string `type:"string" enum:"ResourceStatus"` + + // The ID of the data source. This ID is unique per AWS Region for each AWS + // account. + DataSourceId *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CreateDataSourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDataSourceOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateDataSourceOutput) SetArn(v string) *CreateDataSourceOutput { + s.Arn = &v + return s +} + +// SetCreationStatus sets the CreationStatus field's value. +func (s *CreateDataSourceOutput) SetCreationStatus(v string) *CreateDataSourceOutput { + s.CreationStatus = &v + return s +} + +// SetDataSourceId sets the DataSourceId field's value. +func (s *CreateDataSourceOutput) SetDataSourceId(v string) *CreateDataSourceOutput { + s.DataSourceId = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateDataSourceOutput) SetRequestId(v string) *CreateDataSourceOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateDataSourceOutput) SetStatus(v int64) *CreateDataSourceOutput { + s.Status = &v + return s +} + +// The request object for this operation. +type CreateGroupInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the group is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // A description for the group that you want to create. + Description *string `min:"1" type:"string"` + + // A name for the group that you want to create. + // + // GroupName is a required field + GroupName *string `min:"1" type:"string" required:"true"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGroupInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateGroupInput) SetAwsAccountId(v string) *CreateGroupInput { + s.AwsAccountId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateGroupInput) SetDescription(v string) *CreateGroupInput { + s.Description = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *CreateGroupInput) SetGroupName(v string) *CreateGroupInput { + s.GroupName = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *CreateGroupInput) SetNamespace(v string) *CreateGroupInput { + s.Namespace = &v + return s +} + +type CreateGroupMembershipInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the group is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The name of the group that you want to add the user to. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + + // The name of the user that you want to add to the group membership. + // + // MemberName is a required field + MemberName *string `location:"uri" locationName:"MemberName" min:"1" type:"string" required:"true"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateGroupMembershipInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGroupMembershipInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateGroupMembershipInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGroupMembershipInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + if s.MemberName == nil { + invalidParams.Add(request.NewErrParamRequired("MemberName")) + } + if s.MemberName != nil && len(*s.MemberName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MemberName", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateGroupMembershipInput) SetAwsAccountId(v string) *CreateGroupMembershipInput { + s.AwsAccountId = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *CreateGroupMembershipInput) SetGroupName(v string) *CreateGroupMembershipInput { + s.GroupName = &v + return s +} + +// SetMemberName sets the MemberName field's value. +func (s *CreateGroupMembershipInput) SetMemberName(v string) *CreateGroupMembershipInput { + s.MemberName = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *CreateGroupMembershipInput) SetNamespace(v string) *CreateGroupMembershipInput { + s.Namespace = &v + return s +} + +type CreateGroupMembershipOutput struct { + _ struct{} `type:"structure"` + + // The group member. + GroupMember *GroupMember `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CreateGroupMembershipOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGroupMembershipOutput) GoString() string { + return s.String() +} + +// SetGroupMember sets the GroupMember field's value. +func (s *CreateGroupMembershipOutput) SetGroupMember(v *GroupMember) *CreateGroupMembershipOutput { + s.GroupMember = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateGroupMembershipOutput) SetRequestId(v string) *CreateGroupMembershipOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateGroupMembershipOutput) SetStatus(v int64) *CreateGroupMembershipOutput { + s.Status = &v + return s +} + +// The response object for this operation. +type CreateGroupOutput struct { + _ struct{} `type:"structure"` + + // The name of the group. + Group *Group `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CreateGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateGroupOutput) GoString() string { + return s.String() +} + +// SetGroup sets the Group field's value. +func (s *CreateGroupOutput) SetGroup(v *Group) *CreateGroupOutput { + s.Group = v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateGroupOutput) SetRequestId(v string) *CreateGroupOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateGroupOutput) SetStatus(v int64) *CreateGroupOutput { + s.Status = &v + return s +} + +type CreateIAMPolicyAssignmentInput struct { + _ struct{} `type:"structure"` + + // The name of the assignment. It must be unique within an AWS account. + // + // AssignmentName is a required field + AssignmentName *string `min:"1" type:"string" required:"true"` + + // The status of the assignment. Possible values are as follows: + // + // * ENABLED - Anything specified in this assignment is used when creating + // the data source. + // + // * DISABLED - This assignment isn't used when creating the data source. + // + // * DRAFT - This assignment is an unfinished draft and isn't used when creating + // the data source. + // + // AssignmentStatus is a required field + AssignmentStatus *string `type:"string" required:"true" enum:"AssignmentStatus"` + + // The ID of the AWS account where you want to assign an IAM policy to QuickSight + // users or groups. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The QuickSight users, groups, or both that you want to assign the policy + // to. + Identities map[string][]*string `type:"map"` + + // The namespace that contains the assignment. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // The ARN for the IAM policy to apply to the QuickSight users and groups specified + // in this assignment. + PolicyArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateIAMPolicyAssignmentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateIAMPolicyAssignmentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateIAMPolicyAssignmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateIAMPolicyAssignmentInput"} + if s.AssignmentName == nil { + invalidParams.Add(request.NewErrParamRequired("AssignmentName")) + } + if s.AssignmentName != nil && len(*s.AssignmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssignmentName", 1)) + } + if s.AssignmentStatus == nil { + invalidParams.Add(request.NewErrParamRequired("AssignmentStatus")) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssignmentName sets the AssignmentName field's value. +func (s *CreateIAMPolicyAssignmentInput) SetAssignmentName(v string) *CreateIAMPolicyAssignmentInput { + s.AssignmentName = &v + return s +} + +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *CreateIAMPolicyAssignmentInput) SetAssignmentStatus(v string) *CreateIAMPolicyAssignmentInput { + s.AssignmentStatus = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateIAMPolicyAssignmentInput) SetAwsAccountId(v string) *CreateIAMPolicyAssignmentInput { + s.AwsAccountId = &v + return s +} + +// SetIdentities sets the Identities field's value. +func (s *CreateIAMPolicyAssignmentInput) SetIdentities(v map[string][]*string) *CreateIAMPolicyAssignmentInput { + s.Identities = v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *CreateIAMPolicyAssignmentInput) SetNamespace(v string) *CreateIAMPolicyAssignmentInput { + s.Namespace = &v + return s +} + +// SetPolicyArn sets the PolicyArn field's value. +func (s *CreateIAMPolicyAssignmentInput) SetPolicyArn(v string) *CreateIAMPolicyAssignmentInput { + s.PolicyArn = &v + return s +} + +type CreateIAMPolicyAssignmentOutput struct { + _ struct{} `type:"structure"` + + // The ID for the assignment. + AssignmentId *string `type:"string"` + + // The name of the assignment. This name must be unique within the AWS account. + AssignmentName *string `min:"1" type:"string"` + + // The status of the assignment. Possible values are as follows: + // + // * ENABLED - Anything specified in this assignment is used when creating + // the data source. + // + // * DISABLED - This assignment isn't used when creating the data source. + // + // * DRAFT - This assignment is an unfinished draft and isn't used when creating + // the data source. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` + + // The QuickSight users, groups, or both that the IAM policy is assigned to. + Identities map[string][]*string `type:"map"` + + // The ARN for the IAM policy that is applied to the QuickSight users and groups + // specified in this assignment. + PolicyArn *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CreateIAMPolicyAssignmentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateIAMPolicyAssignmentOutput) GoString() string { + return s.String() +} + +// SetAssignmentId sets the AssignmentId field's value. +func (s *CreateIAMPolicyAssignmentOutput) SetAssignmentId(v string) *CreateIAMPolicyAssignmentOutput { + s.AssignmentId = &v + return s +} + +// SetAssignmentName sets the AssignmentName field's value. +func (s *CreateIAMPolicyAssignmentOutput) SetAssignmentName(v string) *CreateIAMPolicyAssignmentOutput { + s.AssignmentName = &v + return s +} + +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *CreateIAMPolicyAssignmentOutput) SetAssignmentStatus(v string) *CreateIAMPolicyAssignmentOutput { + s.AssignmentStatus = &v + return s +} + +// SetIdentities sets the Identities field's value. +func (s *CreateIAMPolicyAssignmentOutput) SetIdentities(v map[string][]*string) *CreateIAMPolicyAssignmentOutput { + s.Identities = v + return s +} + +// SetPolicyArn sets the PolicyArn field's value. +func (s *CreateIAMPolicyAssignmentOutput) SetPolicyArn(v string) *CreateIAMPolicyAssignmentOutput { + s.PolicyArn = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateIAMPolicyAssignmentOutput) SetRequestId(v string) *CreateIAMPolicyAssignmentOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateIAMPolicyAssignmentOutput) SetStatus(v int64) *CreateIAMPolicyAssignmentOutput { + s.Status = &v + return s +} + +type CreateIngestionInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID of the dataset used in the ingestion. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + + // An ID for the ingestion. + // + // IngestionId is a required field + IngestionId *string `location:"uri" locationName:"IngestionId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateIngestionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateIngestionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateIngestionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateIngestionInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + } + if s.IngestionId == nil { + invalidParams.Add(request.NewErrParamRequired("IngestionId")) + } + if s.IngestionId != nil && len(*s.IngestionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IngestionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateIngestionInput) SetAwsAccountId(v string) *CreateIngestionInput { + s.AwsAccountId = &v + return s +} + +// SetDataSetId sets the DataSetId field's value. +func (s *CreateIngestionInput) SetDataSetId(v string) *CreateIngestionInput { + s.DataSetId = &v + return s +} + +// SetIngestionId sets the IngestionId field's value. +func (s *CreateIngestionInput) SetIngestionId(v string) *CreateIngestionInput { + s.IngestionId = &v + return s +} + +type CreateIngestionOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the data ingestion. + Arn *string `type:"string"` + + // An ID for the ingestion. + IngestionId *string `min:"1" type:"string"` + + // The ingestion status. + IngestionStatus *string `type:"string" enum:"IngestionStatus"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CreateIngestionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateIngestionOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateIngestionOutput) SetArn(v string) *CreateIngestionOutput { + s.Arn = &v + return s +} + +// SetIngestionId sets the IngestionId field's value. +func (s *CreateIngestionOutput) SetIngestionId(v string) *CreateIngestionOutput { + s.IngestionId = &v + return s +} + +// SetIngestionStatus sets the IngestionStatus field's value. +func (s *CreateIngestionOutput) SetIngestionStatus(v string) *CreateIngestionOutput { + s.IngestionStatus = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateIngestionOutput) SetRequestId(v string) *CreateIngestionOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateIngestionOutput) SetStatus(v int64) *CreateIngestionOutput { + s.Status = &v + return s +} + +type CreateNamespaceInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that you want to create the QuickSight namespace + // in. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // Specifies the type of your user identity directory. Currently, this supports + // users with an identity type of QUICKSIGHT. + // + // IdentityStore is a required field + IdentityStore *string `type:"string" required:"true" enum:"IdentityStore"` + + // The name that you want to use to describe the new namespace. + // + // Namespace is a required field + Namespace *string `type:"string" required:"true"` + + // The tags that you want to associate with the namespace that you're creating. + Tags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation +func (s CreateNamespaceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateNamespaceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateNamespaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateNamespaceInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.IdentityStore == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityStore")) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateNamespaceInput) SetAwsAccountId(v string) *CreateNamespaceInput { + s.AwsAccountId = &v + return s +} + +// SetIdentityStore sets the IdentityStore field's value. +func (s *CreateNamespaceInput) SetIdentityStore(v string) *CreateNamespaceInput { + s.IdentityStore = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *CreateNamespaceInput) SetNamespace(v string) *CreateNamespaceInput { + s.Namespace = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateNamespaceInput) SetTags(v []*Tag) *CreateNamespaceInput { + s.Tags = v + return s +} + +type CreateNamespaceOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the QuickSight namespace you created. + Arn *string `type:"string"` + + // The AWS Region that you want to use for the free SPICE capacity for the new + // namespace. This is set to the region that you run CreateNamespace in. + CapacityRegion *string `type:"string"` + + // The status of the creation of the namespace. This is an asynchronous process. + // A status of CREATED means that your namespace is ready to use. If an error + // occurs, it indicates if the process is retryable or non-retryable. In the + // case of a non-retryable error, refer to the error message for follow-up actions. + CreationStatus *string `type:"string" enum:"NamespaceStatus"` + + // Specifies the type of your user identity directory. Currently, this supports + // users with an identity type of QUICKSIGHT. + IdentityStore *string `type:"string" enum:"IdentityStore"` + + // The name of the new namespace that you created. + Name *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CreateNamespaceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateNamespaceOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateNamespaceOutput) SetArn(v string) *CreateNamespaceOutput { + s.Arn = &v + return s +} + +// SetCapacityRegion sets the CapacityRegion field's value. +func (s *CreateNamespaceOutput) SetCapacityRegion(v string) *CreateNamespaceOutput { + s.CapacityRegion = &v + return s +} + +// SetCreationStatus sets the CreationStatus field's value. +func (s *CreateNamespaceOutput) SetCreationStatus(v string) *CreateNamespaceOutput { + s.CreationStatus = &v + return s +} + +// SetIdentityStore sets the IdentityStore field's value. +func (s *CreateNamespaceOutput) SetIdentityStore(v string) *CreateNamespaceOutput { + s.IdentityStore = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateNamespaceOutput) SetName(v string) *CreateNamespaceOutput { + s.Name = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateNamespaceOutput) SetRequestId(v string) *CreateNamespaceOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateNamespaceOutput) SetStatus(v int64) *CreateNamespaceOutput { + s.Status = &v + return s +} + +type CreateTemplateAliasInput struct { + _ struct{} `type:"structure"` + + // The name that you want to give to the template alias that you're creating. + // Don't start the alias name with the $ character. Alias names that start with + // $ are reserved by QuickSight. + // + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` + + // The ID of the AWS account that contains the template that you creating an + // alias for. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // An ID for the template. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + + // The version number of the template. + // + // TemplateVersionNumber is a required field + TemplateVersionNumber *int64 `min:"1" type:"long" required:"true"` +} + +// String returns the string representation +func (s CreateTemplateAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTemplateAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTemplateAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTemplateAliasInput"} + if s.AliasName == nil { + invalidParams.Add(request.NewErrParamRequired("AliasName")) + } + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + if s.TemplateVersionNumber == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateVersionNumber")) + } + if s.TemplateVersionNumber != nil && *s.TemplateVersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("TemplateVersionNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasName sets the AliasName field's value. +func (s *CreateTemplateAliasInput) SetAliasName(v string) *CreateTemplateAliasInput { + s.AliasName = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateTemplateAliasInput) SetAwsAccountId(v string) *CreateTemplateAliasInput { + s.AwsAccountId = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *CreateTemplateAliasInput) SetTemplateId(v string) *CreateTemplateAliasInput { + s.TemplateId = &v + return s +} + +// SetTemplateVersionNumber sets the TemplateVersionNumber field's value. +func (s *CreateTemplateAliasInput) SetTemplateVersionNumber(v int64) *CreateTemplateAliasInput { + s.TemplateVersionNumber = &v + return s +} + +type CreateTemplateAliasOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // Information about the template alias. + TemplateAlias *TemplateAlias `type:"structure"` +} + +// String returns the string representation +func (s CreateTemplateAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTemplateAliasOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateTemplateAliasOutput) SetRequestId(v string) *CreateTemplateAliasOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateTemplateAliasOutput) SetStatus(v int64) *CreateTemplateAliasOutput { + s.Status = &v + return s +} + +// SetTemplateAlias sets the TemplateAlias field's value. +func (s *CreateTemplateAliasOutput) SetTemplateAlias(v *TemplateAlias) *CreateTemplateAliasOutput { + s.TemplateAlias = v + return s +} + +type CreateTemplateInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the group is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // A display name for the template. + Name *string `min:"1" type:"string"` + + // A list of resource permissions to be set on the template. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // The entity that you are using as a source when you create the template. In + // SourceEntity, you specify the type of object you're using as source: SourceTemplate + // for a template or SourceAnalysis for an analysis. Both of these require an + // Amazon Resource Name (ARN). For SourceTemplate, specify the ARN of the source + // template. For SourceAnalysis, specify the ARN of the source analysis. The + // SourceTemplate ARN can contain any AWS Account and any QuickSight-supported + // AWS Region. + // + // Use the DataSetReferences entity within SourceTemplate or SourceAnalysis + // to list the replacement datasets for the placeholders listed in the original. + // The schema in each dataset must match its placeholder. + // + // SourceEntity is a required field + SourceEntity *TemplateSourceEntity `type:"structure" required:"true"` + + // Contains a map of the key-value pairs for the resource tag or tags assigned + // to the resource. + Tags []*Tag `min:"1" type:"list"` + + // An ID for the template that you want to create. This template is unique per + // AWS Region in each AWS account. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + + // A description of the current template version being created. This API operation + // creates the first version of the template. Every time UpdateTemplate is called, + // a new version is created. Each version of the template maintains a description + // of the version in the VersionDescription field. + VersionDescription *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTemplateInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Permissions != nil && len(s.Permissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Permissions", 1)) + } + if s.SourceEntity == nil { + invalidParams.Add(request.NewErrParamRequired("SourceEntity")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + if s.VersionDescription != nil && len(*s.VersionDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) + } + if s.Permissions != nil { + for i, v := range s.Permissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SourceEntity != nil { + if err := s.SourceEntity.Validate(); err != nil { + invalidParams.AddNested("SourceEntity", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateTemplateInput) SetAwsAccountId(v string) *CreateTemplateInput { + s.AwsAccountId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateTemplateInput) SetName(v string) *CreateTemplateInput { + s.Name = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *CreateTemplateInput) SetPermissions(v []*ResourcePermission) *CreateTemplateInput { + s.Permissions = v + return s +} + +// SetSourceEntity sets the SourceEntity field's value. +func (s *CreateTemplateInput) SetSourceEntity(v *TemplateSourceEntity) *CreateTemplateInput { + s.SourceEntity = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateTemplateInput) SetTags(v []*Tag) *CreateTemplateInput { + s.Tags = v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *CreateTemplateInput) SetTemplateId(v string) *CreateTemplateInput { + s.TemplateId = &v + return s +} + +// SetVersionDescription sets the VersionDescription field's value. +func (s *CreateTemplateInput) SetVersionDescription(v string) *CreateTemplateInput { + s.VersionDescription = &v + return s +} + +type CreateTemplateOutput struct { + _ struct{} `type:"structure"` + + // The ARN for the template. + Arn *string `type:"string"` + + // The template creation status. + CreationStatus *string `type:"string" enum:"ResourceStatus"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // The ID of the template. + TemplateId *string `min:"1" type:"string"` + + // The ARN for the template, including the version information of the first + // version. + VersionArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTemplateOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateTemplateOutput) SetArn(v string) *CreateTemplateOutput { + s.Arn = &v + return s +} + +// SetCreationStatus sets the CreationStatus field's value. +func (s *CreateTemplateOutput) SetCreationStatus(v string) *CreateTemplateOutput { + s.CreationStatus = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateTemplateOutput) SetRequestId(v string) *CreateTemplateOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateTemplateOutput) SetStatus(v int64) *CreateTemplateOutput { + s.Status = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *CreateTemplateOutput) SetTemplateId(v string) *CreateTemplateOutput { + s.TemplateId = &v + return s +} + +// SetVersionArn sets the VersionArn field's value. +func (s *CreateTemplateOutput) SetVersionArn(v string) *CreateTemplateOutput { + s.VersionArn = &v + return s +} + +type CreateThemeAliasInput struct { + _ struct{} `type:"structure"` + + // The name that you want to give to the theme alias that you are creating. + // The alias name can't begin with a $. Alias names that start with $ are reserved + // by Amazon QuickSight. + // + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` + + // The ID of the AWS account that contains the theme for the new theme alias. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // An ID for the theme alias. + // + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` + + // The version number of the theme. + // + // ThemeVersionNumber is a required field + ThemeVersionNumber *int64 `min:"1" type:"long" required:"true"` +} + +// String returns the string representation +func (s CreateThemeAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateThemeAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateThemeAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateThemeAliasInput"} + if s.AliasName == nil { + invalidParams.Add(request.NewErrParamRequired("AliasName")) + } + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) + } + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) + } + if s.ThemeVersionNumber == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeVersionNumber")) + } + if s.ThemeVersionNumber != nil && *s.ThemeVersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("ThemeVersionNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliasName sets the AliasName field's value. +func (s *CreateThemeAliasInput) SetAliasName(v string) *CreateThemeAliasInput { + s.AliasName = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateThemeAliasInput) SetAwsAccountId(v string) *CreateThemeAliasInput { + s.AwsAccountId = &v + return s +} + +// SetThemeId sets the ThemeId field's value. +func (s *CreateThemeAliasInput) SetThemeId(v string) *CreateThemeAliasInput { + s.ThemeId = &v + return s +} + +// SetThemeVersionNumber sets the ThemeVersionNumber field's value. +func (s *CreateThemeAliasInput) SetThemeVersionNumber(v int64) *CreateThemeAliasInput { + s.ThemeVersionNumber = &v + return s +} + +type CreateThemeAliasOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // Information about the theme alias. + ThemeAlias *ThemeAlias `type:"structure"` +} + +// String returns the string representation +func (s CreateThemeAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateThemeAliasOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateThemeAliasOutput) SetRequestId(v string) *CreateThemeAliasOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateThemeAliasOutput) SetStatus(v int64) *CreateThemeAliasOutput { + s.Status = &v + return s +} + +// SetThemeAlias sets the ThemeAlias field's value. +func (s *CreateThemeAliasOutput) SetThemeAlias(v *ThemeAlias) *CreateThemeAliasOutput { + s.ThemeAlias = v + return s +} + +type CreateThemeInput struct { + _ struct{} `type:"structure"` + + // The ID of the AWS account where you want to store the new theme. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID of the theme that a custom theme will inherit from. All themes inherit + // from one of the starting themes defined by Amazon QuickSight. For a list + // of the starting themes, use ListThemes or choose Themes from within a QuickSight + // analysis. + // + // BaseThemeId is a required field + BaseThemeId *string `min:"1" type:"string" required:"true"` + + // The theme configuration, which contains the theme display properties. + // + // Configuration is a required field + Configuration *ThemeConfiguration `type:"structure" required:"true"` + + // A display name for the theme. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A valid grouping of resource permissions to apply to the new theme. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // A map of the key-value pairs for the resource tag or tags that you want to + // add to the resource. + Tags []*Tag `min:"1" type:"list"` + + // An ID for the theme that you want to create. The theme ID is unique per AWS + // Region in each AWS account. + // + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` + + // A description of the first version of the theme that you're creating. Every + // time UpdateTheme is called, a new version is created. Each version of the + // theme has a description of the version in the VersionDescription field. + VersionDescription *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateThemeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateThemeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateThemeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateThemeInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.BaseThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("BaseThemeId")) + } + if s.BaseThemeId != nil && len(*s.BaseThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BaseThemeId", 1)) + } + if s.Configuration == nil { + invalidParams.Add(request.NewErrParamRequired("Configuration")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Permissions != nil && len(s.Permissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Permissions", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) + } + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) + } + if s.VersionDescription != nil && len(*s.VersionDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) + } + if s.Permissions != nil { + for i, v := range s.Permissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateThemeInput) SetAwsAccountId(v string) *CreateThemeInput { + s.AwsAccountId = &v + return s +} + +// SetBaseThemeId sets the BaseThemeId field's value. +func (s *CreateThemeInput) SetBaseThemeId(v string) *CreateThemeInput { + s.BaseThemeId = &v + return s +} + +// SetConfiguration sets the Configuration field's value. +func (s *CreateThemeInput) SetConfiguration(v *ThemeConfiguration) *CreateThemeInput { + s.Configuration = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateThemeInput) SetName(v string) *CreateThemeInput { + s.Name = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *CreateThemeInput) SetPermissions(v []*ResourcePermission) *CreateThemeInput { + s.Permissions = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateThemeInput) SetTags(v []*Tag) *CreateThemeInput { + s.Tags = v + return s +} + +// SetThemeId sets the ThemeId field's value. +func (s *CreateThemeInput) SetThemeId(v string) *CreateThemeInput { + s.ThemeId = &v + return s +} + +// SetVersionDescription sets the VersionDescription field's value. +func (s *CreateThemeInput) SetVersionDescription(v string) *CreateThemeInput { + s.VersionDescription = &v + return s +} + +type CreateThemeOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the theme. + Arn *string `type:"string"` + + // The theme creation status. + CreationStatus *string `type:"string" enum:"ResourceStatus"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // The ID of the theme. + ThemeId *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) for the new theme. + VersionArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateThemeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateThemeOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateThemeOutput) SetArn(v string) *CreateThemeOutput { + s.Arn = &v + return s +} + +// SetCreationStatus sets the CreationStatus field's value. +func (s *CreateThemeOutput) SetCreationStatus(v string) *CreateThemeOutput { + s.CreationStatus = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *CreateThemeOutput) SetRequestId(v string) *CreateThemeOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateThemeOutput) SetStatus(v int64) *CreateThemeOutput { + s.Status = &v + return s +} + +// SetThemeId sets the ThemeId field's value. +func (s *CreateThemeOutput) SetThemeId(v string) *CreateThemeOutput { + s.ThemeId = &v + return s +} + +// SetVersionArn sets the VersionArn field's value. +func (s *CreateThemeOutput) SetVersionArn(v string) *CreateThemeOutput { + s.VersionArn = &v + return s +} + +// The combination of user name and password that are used as credentials. +type CredentialPair struct { + _ struct{} `type:"structure"` + + // A set of alternate data source parameters that you want to share for these + // credentials. The credentials are applied in tandem with the data source parameters + // when you copy a data source by using a create or update request. The API + // compares the DataSourceParameters structure that's in the request with the + // structures in the AlternateDataSourceParameters allowlist. If the structures + // are an exact match, the request is allowed to use the new data source with + // the existing credentials. If the AlternateDataSourceParameters list is null, + // the DataSourceParameters originally used with these Credentials is automatically + // allowed. + AlternateDataSourceParameters []*DataSourceParameters `min:"1" type:"list"` + + // Password. + // + // Password is a required field + Password *string `min:"1" type:"string" required:"true"` + + // User name. + // + // Username is a required field + Username *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CredentialPair) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CredentialPair) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CredentialPair) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CredentialPair"} + if s.AlternateDataSourceParameters != nil && len(s.AlternateDataSourceParameters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlternateDataSourceParameters", 1)) + } + if s.Password == nil { + invalidParams.Add(request.NewErrParamRequired("Password")) + } + if s.Password != nil && len(*s.Password) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Password", 1)) + } + if s.Username == nil { + invalidParams.Add(request.NewErrParamRequired("Username")) + } + if s.Username != nil && len(*s.Username) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Username", 1)) + } + if s.AlternateDataSourceParameters != nil { + for i, v := range s.AlternateDataSourceParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AlternateDataSourceParameters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlternateDataSourceParameters sets the AlternateDataSourceParameters field's value. +func (s *CredentialPair) SetAlternateDataSourceParameters(v []*DataSourceParameters) *CredentialPair { + s.AlternateDataSourceParameters = v + return s +} + +// SetPassword sets the Password field's value. +func (s *CredentialPair) SetPassword(v string) *CredentialPair { + s.Password = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *CredentialPair) SetUsername(v string) *CredentialPair { + s.Username = &v + return s +} + +// A physical table type built from the results of the custom SQL query. +type CustomSql struct { + _ struct{} `type:"structure"` + + // The column schema from the SQL query result set. + Columns []*InputColumn `min:"1" type:"list"` + + // The Amazon Resource Name (ARN) of the data source. + // + // DataSourceArn is a required field + DataSourceArn *string `type:"string" required:"true"` + + // A display name for the SQL query result. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The SQL query. + // + // SqlQuery is a required field + SqlQuery *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CustomSql) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomSql) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CustomSql) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomSql"} + if s.Columns != nil && len(s.Columns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Columns", 1)) + } + if s.DataSourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceArn")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.SqlQuery == nil { + invalidParams.Add(request.NewErrParamRequired("SqlQuery")) + } + if s.SqlQuery != nil && len(*s.SqlQuery) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SqlQuery", 1)) + } + if s.Columns != nil { + for i, v := range s.Columns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Columns", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumns sets the Columns field's value. +func (s *CustomSql) SetColumns(v []*InputColumn) *CustomSql { + s.Columns = v + return s +} + +// SetDataSourceArn sets the DataSourceArn field's value. +func (s *CustomSql) SetDataSourceArn(v string) *CustomSql { + s.DataSourceArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *CustomSql) SetName(v string) *CustomSql { + s.Name = &v + return s +} + +// SetSqlQuery sets the SqlQuery field's value. +func (s *CustomSql) SetSqlQuery(v string) *CustomSql { + s.SqlQuery = &v + return s +} + +// Dashboard. +type Dashboard struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource. + Arn *string `type:"string"` + + // The time that this dataset was created. + CreatedTime *time.Time `type:"timestamp"` + + // Dashboard ID. + DashboardId *string `min:"1" type:"string"` + + // The last time that this dataset was published. + LastPublishedTime *time.Time `type:"timestamp"` + + // The last time that this dataset was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // A display name for the dashboard. + Name *string `min:"1" type:"string"` + + // Version. + Version *DashboardVersion `type:"structure"` +} + +// String returns the string representation +func (s Dashboard) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Dashboard) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Dashboard) SetArn(v string) *Dashboard { + s.Arn = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *Dashboard) SetCreatedTime(v time.Time) *Dashboard { + s.CreatedTime = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *Dashboard) SetDashboardId(v string) *Dashboard { + s.DashboardId = &v + return s +} + +// SetLastPublishedTime sets the LastPublishedTime field's value. +func (s *Dashboard) SetLastPublishedTime(v time.Time) *Dashboard { + s.LastPublishedTime = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *Dashboard) SetLastUpdatedTime(v time.Time) *Dashboard { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Dashboard) SetName(v string) *Dashboard { + s.Name = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *Dashboard) SetVersion(v *DashboardVersion) *Dashboard { + s.Version = v + return s +} + +// Dashboard error. +type DashboardError struct { + _ struct{} `type:"structure"` + + // Message. + Message *string `type:"string"` + + // Type. + Type *string `type:"string" enum:"DashboardErrorType"` +} + +// String returns the string representation +func (s DashboardError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashboardError) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *DashboardError) SetMessage(v string) *DashboardError { + s.Message = &v + return s +} + +// SetType sets the Type field's value. +func (s *DashboardError) SetType(v string) *DashboardError { + s.Type = &v + return s +} + +// Dashboard publish options. +type DashboardPublishOptions struct { + _ struct{} `type:"structure"` + + // Ad hoc (one-time) filtering option. + AdHocFilteringOption *AdHocFilteringOption `type:"structure"` + + // Export to .csv option. + ExportToCSVOption *ExportToCSVOption `type:"structure"` + + // Sheet controls option. + SheetControlsOption *SheetControlsOption `type:"structure"` +} + +// String returns the string representation +func (s DashboardPublishOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashboardPublishOptions) GoString() string { + return s.String() +} + +// SetAdHocFilteringOption sets the AdHocFilteringOption field's value. +func (s *DashboardPublishOptions) SetAdHocFilteringOption(v *AdHocFilteringOption) *DashboardPublishOptions { + s.AdHocFilteringOption = v + return s +} + +// SetExportToCSVOption sets the ExportToCSVOption field's value. +func (s *DashboardPublishOptions) SetExportToCSVOption(v *ExportToCSVOption) *DashboardPublishOptions { + s.ExportToCSVOption = v + return s +} + +// SetSheetControlsOption sets the SheetControlsOption field's value. +func (s *DashboardPublishOptions) SetSheetControlsOption(v *SheetControlsOption) *DashboardPublishOptions { + s.SheetControlsOption = v + return s +} + +// A filter that you apply when searching for dashboards. +type DashboardSearchFilter struct { + _ struct{} `type:"structure"` + + // The name of the value that you want to use as a filter, for example, "Name": + // "QUICKSIGHT_USER". + Name *string `type:"string" enum:"DashboardFilterAttribute"` + + // The comparison operator that you want to use as a filter, for example, "Operator": + // "StringEquals". + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"FilterOperator"` + + // The value of the named item, in this case QUICKSIGHT_USER, that you want + // to use as a filter, for example, "Value": "arn:aws:quicksight:us-east-1:1:user/default/UserName1". + Value *string `type:"string"` +} + +// String returns the string representation +func (s DashboardSearchFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashboardSearchFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DashboardSearchFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DashboardSearchFilter"} + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DashboardSearchFilter) SetName(v string) *DashboardSearchFilter { + s.Name = &v + return s +} + +// SetOperator sets the Operator field's value. +func (s *DashboardSearchFilter) SetOperator(v string) *DashboardSearchFilter { + s.Operator = &v + return s +} + +// SetValue sets the Value field's value. +func (s *DashboardSearchFilter) SetValue(v string) *DashboardSearchFilter { + s.Value = &v + return s +} + +// Dashboard source entity. +type DashboardSourceEntity struct { + _ struct{} `type:"structure"` + + // Source template. + SourceTemplate *DashboardSourceTemplate `type:"structure"` +} + +// String returns the string representation +func (s DashboardSourceEntity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashboardSourceEntity) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DashboardSourceEntity) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DashboardSourceEntity"} + if s.SourceTemplate != nil { + if err := s.SourceTemplate.Validate(); err != nil { + invalidParams.AddNested("SourceTemplate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceTemplate sets the SourceTemplate field's value. +func (s *DashboardSourceEntity) SetSourceTemplate(v *DashboardSourceTemplate) *DashboardSourceEntity { + s.SourceTemplate = v + return s +} + +// Dashboard source template. +type DashboardSourceTemplate struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` + + // Dataset references. + // + // DataSetReferences is a required field + DataSetReferences []*DataSetReference `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s DashboardSourceTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashboardSourceTemplate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DashboardSourceTemplate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DashboardSourceTemplate"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.DataSetReferences == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetReferences")) + } + if s.DataSetReferences != nil && len(s.DataSetReferences) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetReferences", 1)) + } + if s.DataSetReferences != nil { + for i, v := range s.DataSetReferences { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataSetReferences", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DashboardSourceTemplate) SetArn(v string) *DashboardSourceTemplate { + s.Arn = &v + return s +} + +// SetDataSetReferences sets the DataSetReferences field's value. +func (s *DashboardSourceTemplate) SetDataSetReferences(v []*DataSetReference) *DashboardSourceTemplate { + s.DataSetReferences = v + return s +} + +// Dashboard summary. +type DashboardSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource. + Arn *string `type:"string"` + + // The time that this dashboard was created. + CreatedTime *time.Time `type:"timestamp"` + + // Dashboard ID. + DashboardId *string `min:"1" type:"string"` + + // The last time that this dashboard was published. + LastPublishedTime *time.Time `type:"timestamp"` + + // The last time that this dashboard was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // A display name for the dashboard. + Name *string `min:"1" type:"string"` + + // Published version number. + PublishedVersionNumber *int64 `min:"1" type:"long"` +} + +// String returns the string representation +func (s DashboardSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DashboardSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DashboardSummary) SetArn(v string) *DashboardSummary { + s.Arn = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *DashboardSummary) SetCreatedTime(v time.Time) *DashboardSummary { + s.CreatedTime = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *DashboardSummary) SetDashboardId(v string) *DashboardSummary { + s.DashboardId = &v + return s +} + +// SetLastPublishedTime sets the LastPublishedTime field's value. +func (s *DashboardSummary) SetLastPublishedTime(v time.Time) *DashboardSummary { + s.LastPublishedTime = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DashboardSummary) SetLastUpdatedTime(v time.Time) *DashboardSummary { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *DashboardSummary) SetName(v string) *DashboardSummary { + s.Name = &v + return s +} + +// SetPublishedVersionNumber sets the PublishedVersionNumber field's value. +func (s *DashboardSummary) SetPublishedVersionNumber(v int64) *DashboardSummary { + s.PublishedVersionNumber = &v + return s +} + +// Dashboard version. +type DashboardVersion struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource. + Arn *string `type:"string"` + + // The time that this dashboard version was created. + CreatedTime *time.Time `type:"timestamp"` + + // The Amazon Resource Numbers (ARNs) for the datasets that are associated with + // a version of the dashboard. + DataSetArns []*string `type:"list"` + + // Description. + Description *string `min:"1" type:"string"` + + // Errors. + Errors []*DashboardError `min:"1" type:"list"` - Message_ *string `locationName:"Message" type:"string"` + // Source entity ARN. + SourceEntityArn *string `type:"string"` - // The AWS request ID for this request. - RequestId *string `type:"string"` + // The HTTP status of the request. + Status *string `type:"string" enum:"ResourceStatus"` + + // Version number. + VersionNumber *int64 `min:"1" type:"long"` } // String returns the string representation -func (s AccessDeniedException) String() string { +func (s DashboardVersion) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AccessDeniedException) GoString() string { +func (s DashboardVersion) GoString() string { return s.String() } -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, - } +// SetArn sets the Arn field's value. +func (s *DashboardVersion) SetArn(v string) *DashboardVersion { + s.Arn = &v + return s } -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" +// SetCreatedTime sets the CreatedTime field's value. +func (s *DashboardVersion) SetCreatedTime(v time.Time) *DashboardVersion { + s.CreatedTime = &v + return s } -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetDataSetArns sets the DataSetArns field's value. +func (s *DashboardVersion) SetDataSetArns(v []*string) *DashboardVersion { + s.DataSetArns = v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { - return nil +// SetDescription sets the Description field's value. +func (s *DashboardVersion) SetDescription(v string) *DashboardVersion { + s.Description = &v + return s } -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetErrors sets the Errors field's value. +func (s *DashboardVersion) SetErrors(v []*DashboardError) *DashboardVersion { + s.Errors = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetSourceEntityArn sets the SourceEntityArn field's value. +func (s *DashboardVersion) SetSourceEntityArn(v string) *DashboardVersion { + s.SourceEntityArn = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID +// SetStatus sets the Status field's value. +func (s *DashboardVersion) SetStatus(v string) *DashboardVersion { + s.Status = &v + return s } -// The active AWS Identity and Access Management (IAM) policy assignment. -type ActiveIAMPolicyAssignment struct { - _ struct{} `type:"structure"` +// SetVersionNumber sets the VersionNumber field's value. +func (s *DashboardVersion) SetVersionNumber(v int64) *DashboardVersion { + s.VersionNumber = &v + return s +} - // A name for the IAM policy assignment. - AssignmentName *string `min:"1" type:"string"` +// Dashboard version summary. +type DashboardVersionSummary struct { + _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the resource. - PolicyArn *string `type:"string"` + Arn *string `type:"string"` + + // The time that this dashboard version was created. + CreatedTime *time.Time `type:"timestamp"` + + // Description. + Description *string `min:"1" type:"string"` + + // Source entity ARN. + SourceEntityArn *string `type:"string"` + + // The HTTP status of the request. + Status *string `type:"string" enum:"ResourceStatus"` + + // Version number. + VersionNumber *int64 `min:"1" type:"long"` } // String returns the string representation -func (s ActiveIAMPolicyAssignment) String() string { +func (s DashboardVersionSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ActiveIAMPolicyAssignment) GoString() string { +func (s DashboardVersionSummary) GoString() string { return s.String() } -// SetAssignmentName sets the AssignmentName field's value. -func (s *ActiveIAMPolicyAssignment) SetAssignmentName(v string) *ActiveIAMPolicyAssignment { - s.AssignmentName = &v +// SetArn sets the Arn field's value. +func (s *DashboardVersionSummary) SetArn(v string) *DashboardVersionSummary { + s.Arn = &v return s } -// SetPolicyArn sets the PolicyArn field's value. -func (s *ActiveIAMPolicyAssignment) SetPolicyArn(v string) *ActiveIAMPolicyAssignment { - s.PolicyArn = &v +// SetCreatedTime sets the CreatedTime field's value. +func (s *DashboardVersionSummary) SetCreatedTime(v time.Time) *DashboardVersionSummary { + s.CreatedTime = &v return s } -// Ad hoc (one-time) filtering option. -type AdHocFilteringOption struct { - _ struct{} `type:"structure"` - - // Availability status. - AvailabilityStatus *string `type:"string" enum:"DashboardBehavior"` +// SetDescription sets the Description field's value. +func (s *DashboardVersionSummary) SetDescription(v string) *DashboardVersionSummary { + s.Description = &v + return s } -// String returns the string representation -func (s AdHocFilteringOption) String() string { - return awsutil.Prettify(s) +// SetSourceEntityArn sets the SourceEntityArn field's value. +func (s *DashboardVersionSummary) SetSourceEntityArn(v string) *DashboardVersionSummary { + s.SourceEntityArn = &v + return s } -// GoString returns the string representation -func (s AdHocFilteringOption) GoString() string { - return s.String() +// SetStatus sets the Status field's value. +func (s *DashboardVersionSummary) SetStatus(v string) *DashboardVersionSummary { + s.Status = &v + return s } -// SetAvailabilityStatus sets the AvailabilityStatus field's value. -func (s *AdHocFilteringOption) SetAvailabilityStatus(v string) *AdHocFilteringOption { - s.AvailabilityStatus = &v +// SetVersionNumber sets the VersionNumber field's value. +func (s *DashboardVersionSummary) SetVersionNumber(v int64) *DashboardVersionSummary { + s.VersionNumber = &v return s } -// Amazon Elasticsearch Service parameters. -type AmazonElasticsearchParameters struct { +// The theme colors that are used for data colors in charts. The colors description +// is a hexidecimal color code that consists of six alphanumerical characters, +// prefixed with #, for example #37BFF5. +type DataColorPalette struct { _ struct{} `type:"structure"` - // The Amazon Elasticsearch Service domain. - // - // Domain is a required field - Domain *string `min:"1" type:"string" required:"true"` + // The hexadecimal codes for the colors. + Colors []*string `type:"list"` + + // The hexadecimal code of a color that applies to charts where a lack of data + // is highlighted. + EmptyFillColor *string `type:"string"` + + // The minimum and maximum hexadecimal codes that describe a color gradient. + MinMaxGradient []*string `type:"list"` } // String returns the string representation -func (s AmazonElasticsearchParameters) String() string { +func (s DataColorPalette) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AmazonElasticsearchParameters) GoString() string { +func (s DataColorPalette) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AmazonElasticsearchParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AmazonElasticsearchParameters"} - if s.Domain == nil { - invalidParams.Add(request.NewErrParamRequired("Domain")) - } - if s.Domain != nil && len(*s.Domain) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Domain", 1)) - } +// SetColors sets the Colors field's value. +func (s *DataColorPalette) SetColors(v []*string) *DataColorPalette { + s.Colors = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetEmptyFillColor sets the EmptyFillColor field's value. +func (s *DataColorPalette) SetEmptyFillColor(v string) *DataColorPalette { + s.EmptyFillColor = &v + return s } -// SetDomain sets the Domain field's value. -func (s *AmazonElasticsearchParameters) SetDomain(v string) *AmazonElasticsearchParameters { - s.Domain = &v +// SetMinMaxGradient sets the MinMaxGradient field's value. +func (s *DataColorPalette) SetMinMaxGradient(v []*string) *DataColorPalette { + s.MinMaxGradient = v return s } -// Amazon Athena parameters. -type AthenaParameters struct { +// Dataset. +type DataSet struct { _ struct{} `type:"structure"` - // The workgroup that Amazon Athena uses. - WorkGroup *string `min:"1" type:"string"` -} + // The Amazon Resource Name (ARN) of the resource. + Arn *string `type:"string"` -// String returns the string representation -func (s AthenaParameters) String() string { - return awsutil.Prettify(s) -} + // Groupings of columns that work together in certain Amazon QuickSight features. + // Currently, only geospatial hierarchy is supported. + ColumnGroups []*ColumnGroup `min:"1" type:"list"` -// GoString returns the string representation -func (s AthenaParameters) GoString() string { - return s.String() -} + // The amount of SPICE capacity used by this dataset. This is 0 if the dataset + // isn't imported into SPICE. + ConsumedSpiceCapacityInBytes *int64 `type:"long"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *AthenaParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AthenaParameters"} - if s.WorkGroup != nil && len(*s.WorkGroup) < 1 { - invalidParams.Add(request.NewErrParamMinLen("WorkGroup", 1)) - } + // The time that this dataset was created. + CreatedTime *time.Time `type:"timestamp"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // The ID of the dataset. + DataSetId *string `type:"string"` -// SetWorkGroup sets the WorkGroup field's value. -func (s *AthenaParameters) SetWorkGroup(v string) *AthenaParameters { - s.WorkGroup = &v - return s -} + // Indicates whether you want to import the data into SPICE. + ImportMode *string `type:"string" enum:"DataSetImportMode"` -// Amazon Aurora parameters. -type AuroraParameters struct { - _ struct{} `type:"structure"` + // The last time that this dataset was updated. + LastUpdatedTime *time.Time `type:"timestamp"` - // Database. - // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` + // Configures the combination and transformation of the data from the physical + // tables. + LogicalTableMap map[string]*LogicalTable `min:"1" type:"map"` - // Host. - // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` + // A display name for the dataset. + Name *string `min:"1" type:"string"` - // Port. - // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` + // The list of columns after all transforms. These columns are available in + // templates, analyses, and dashboards. + OutputColumns []*OutputColumn `type:"list"` + + // Declares the physical tables that are available in the underlying data sources. + PhysicalTableMap map[string]*PhysicalTable `min:"1" type:"map"` + + // The row-level security configuration for the dataset. + RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` } // String returns the string representation -func (s AuroraParameters) String() string { +func (s DataSet) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AuroraParameters) GoString() string { +func (s DataSet) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AuroraParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AuroraParameters"} - if s.Database == nil { - invalidParams.Add(request.NewErrParamRequired("Database")) - } - if s.Database != nil && len(*s.Database) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Database", 1)) - } - if s.Host == nil { - invalidParams.Add(request.NewErrParamRequired("Host")) - } - if s.Host != nil && len(*s.Host) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Host", 1)) - } - if s.Port == nil { - invalidParams.Add(request.NewErrParamRequired("Port")) - } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *DataSet) SetArn(v string) *DataSet { + s.Arn = &v + return s } -// SetDatabase sets the Database field's value. -func (s *AuroraParameters) SetDatabase(v string) *AuroraParameters { - s.Database = &v +// SetColumnGroups sets the ColumnGroups field's value. +func (s *DataSet) SetColumnGroups(v []*ColumnGroup) *DataSet { + s.ColumnGroups = v return s } -// SetHost sets the Host field's value. -func (s *AuroraParameters) SetHost(v string) *AuroraParameters { - s.Host = &v +// SetConsumedSpiceCapacityInBytes sets the ConsumedSpiceCapacityInBytes field's value. +func (s *DataSet) SetConsumedSpiceCapacityInBytes(v int64) *DataSet { + s.ConsumedSpiceCapacityInBytes = &v return s } -// SetPort sets the Port field's value. -func (s *AuroraParameters) SetPort(v int64) *AuroraParameters { - s.Port = &v +// SetCreatedTime sets the CreatedTime field's value. +func (s *DataSet) SetCreatedTime(v time.Time) *DataSet { + s.CreatedTime = &v return s } -// Amazon Aurora with PostgreSQL compatibility parameters. -type AuroraPostgreSqlParameters struct { - _ struct{} `type:"structure"` - - // Database. - // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` - - // Host. - // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` - - // Port. - // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` +// SetDataSetId sets the DataSetId field's value. +func (s *DataSet) SetDataSetId(v string) *DataSet { + s.DataSetId = &v + return s } -// String returns the string representation -func (s AuroraPostgreSqlParameters) String() string { - return awsutil.Prettify(s) +// SetImportMode sets the ImportMode field's value. +func (s *DataSet) SetImportMode(v string) *DataSet { + s.ImportMode = &v + return s } -// GoString returns the string representation -func (s AuroraPostgreSqlParameters) GoString() string { - return s.String() +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DataSet) SetLastUpdatedTime(v time.Time) *DataSet { + s.LastUpdatedTime = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AuroraPostgreSqlParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AuroraPostgreSqlParameters"} - if s.Database == nil { - invalidParams.Add(request.NewErrParamRequired("Database")) - } - if s.Database != nil && len(*s.Database) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Database", 1)) - } - if s.Host == nil { - invalidParams.Add(request.NewErrParamRequired("Host")) - } - if s.Host != nil && len(*s.Host) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Host", 1)) - } - if s.Port == nil { - invalidParams.Add(request.NewErrParamRequired("Port")) - } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) - } +// SetLogicalTableMap sets the LogicalTableMap field's value. +func (s *DataSet) SetLogicalTableMap(v map[string]*LogicalTable) *DataSet { + s.LogicalTableMap = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetName sets the Name field's value. +func (s *DataSet) SetName(v string) *DataSet { + s.Name = &v + return s } -// SetDatabase sets the Database field's value. -func (s *AuroraPostgreSqlParameters) SetDatabase(v string) *AuroraPostgreSqlParameters { - s.Database = &v +// SetOutputColumns sets the OutputColumns field's value. +func (s *DataSet) SetOutputColumns(v []*OutputColumn) *DataSet { + s.OutputColumns = v return s } -// SetHost sets the Host field's value. -func (s *AuroraPostgreSqlParameters) SetHost(v string) *AuroraPostgreSqlParameters { - s.Host = &v +// SetPhysicalTableMap sets the PhysicalTableMap field's value. +func (s *DataSet) SetPhysicalTableMap(v map[string]*PhysicalTable) *DataSet { + s.PhysicalTableMap = v return s } -// SetPort sets the Port field's value. -func (s *AuroraPostgreSqlParameters) SetPort(v int64) *AuroraPostgreSqlParameters { - s.Port = &v +// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. +func (s *DataSet) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *DataSet { + s.RowLevelPermissionDataSet = v return s } -// AWS IoT Analytics parameters. -type AwsIotAnalyticsParameters struct { +// Dataset configuration. +type DataSetConfiguration struct { _ struct{} `type:"structure"` - // Dataset name. - // - // DataSetName is a required field - DataSetName *string `min:"1" type:"string" required:"true"` + // A structure containing the list of column group schemas. + ColumnGroupSchemaList []*ColumnGroupSchema `type:"list"` + + // Dataset schema. + DataSetSchema *DataSetSchema `type:"structure"` + + // Placeholder. + Placeholder *string `type:"string"` } // String returns the string representation -func (s AwsIotAnalyticsParameters) String() string { +func (s DataSetConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsIotAnalyticsParameters) GoString() string { +func (s DataSetConfiguration) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AwsIotAnalyticsParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AwsIotAnalyticsParameters"} - if s.DataSetName == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetName")) - } - if s.DataSetName != nil && len(*s.DataSetName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetName", 1)) - } +// SetColumnGroupSchemaList sets the ColumnGroupSchemaList field's value. +func (s *DataSetConfiguration) SetColumnGroupSchemaList(v []*ColumnGroupSchema) *DataSetConfiguration { + s.ColumnGroupSchemaList = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetDataSetSchema sets the DataSetSchema field's value. +func (s *DataSetConfiguration) SetDataSetSchema(v *DataSetSchema) *DataSetConfiguration { + s.DataSetSchema = v + return s } -// SetDataSetName sets the DataSetName field's value. -func (s *AwsIotAnalyticsParameters) SetDataSetName(v string) *AwsIotAnalyticsParameters { - s.DataSetName = &v +// SetPlaceholder sets the Placeholder field's value. +func (s *DataSetConfiguration) SetPlaceholder(v string) *DataSetConfiguration { + s.Placeholder = &v return s } -// A calculated column for a dataset. -type CalculatedColumn struct { +// Dataset reference. +type DataSetReference struct { _ struct{} `type:"structure"` - // A unique ID to identify a calculated column. During a dataset update, if - // the column ID of a calculated column matches that of an existing calculated - // column, Amazon QuickSight preserves the existing calculated column. - // - // ColumnId is a required field - ColumnId *string `min:"1" type:"string" required:"true"` - - // Column name. + // Dataset Amazon Resource Name (ARN). // - // ColumnName is a required field - ColumnName *string `min:"1" type:"string" required:"true"` + // DataSetArn is a required field + DataSetArn *string `type:"string" required:"true"` - // An expression that defines the calculated column. + // Dataset placeholder. // - // Expression is a required field - Expression *string `min:"1" type:"string" required:"true"` + // DataSetPlaceholder is a required field + DataSetPlaceholder *string `type:"string" required:"true"` } // String returns the string representation -func (s CalculatedColumn) String() string { +func (s DataSetReference) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CalculatedColumn) GoString() string { +func (s DataSetReference) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CalculatedColumn) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CalculatedColumn"} - if s.ColumnId == nil { - invalidParams.Add(request.NewErrParamRequired("ColumnId")) - } - if s.ColumnId != nil && len(*s.ColumnId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ColumnId", 1)) - } - if s.ColumnName == nil { - invalidParams.Add(request.NewErrParamRequired("ColumnName")) - } - if s.ColumnName != nil && len(*s.ColumnName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) - } - if s.Expression == nil { - invalidParams.Add(request.NewErrParamRequired("Expression")) +func (s *DataSetReference) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataSetReference"} + if s.DataSetArn == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetArn")) } - if s.Expression != nil && len(*s.Expression) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) + if s.DataSetPlaceholder == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetPlaceholder")) } if invalidParams.Len() > 0 { @@ -7615,241 +14300,289 @@ func (s *CalculatedColumn) Validate() error { return nil } -// SetColumnId sets the ColumnId field's value. -func (s *CalculatedColumn) SetColumnId(v string) *CalculatedColumn { - s.ColumnId = &v - return s +// SetDataSetArn sets the DataSetArn field's value. +func (s *DataSetReference) SetDataSetArn(v string) *DataSetReference { + s.DataSetArn = &v + return s +} + +// SetDataSetPlaceholder sets the DataSetPlaceholder field's value. +func (s *DataSetReference) SetDataSetPlaceholder(v string) *DataSetReference { + s.DataSetPlaceholder = &v + return s +} + +// Dataset schema. +type DataSetSchema struct { + _ struct{} `type:"structure"` + + // A structure containing the list of column schemas. + ColumnSchemaList []*ColumnSchema `type:"list"` +} + +// String returns the string representation +func (s DataSetSchema) String() string { + return awsutil.Prettify(s) } -// SetColumnName sets the ColumnName field's value. -func (s *CalculatedColumn) SetColumnName(v string) *CalculatedColumn { - s.ColumnName = &v - return s +// GoString returns the string representation +func (s DataSetSchema) GoString() string { + return s.String() } -// SetExpression sets the Expression field's value. -func (s *CalculatedColumn) SetExpression(v string) *CalculatedColumn { - s.Expression = &v +// SetColumnSchemaList sets the ColumnSchemaList field's value. +func (s *DataSetSchema) SetColumnSchemaList(v []*ColumnSchema) *DataSetSchema { + s.ColumnSchemaList = v return s } -type CancelIngestionInput struct { +// Dataset summary. +type DataSetSummary struct { _ struct{} `type:"structure"` - // The AWS account ID. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the dataset. + Arn *string `type:"string"` - // The ID of the dataset used in the ingestion. - // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + // The time that this dataset was created. + CreatedTime *time.Time `type:"timestamp"` - // An ID for the ingestion. - // - // IngestionId is a required field - IngestionId *string `location:"uri" locationName:"IngestionId" min:"1" type:"string" required:"true"` + // The ID of the dataset. + DataSetId *string `type:"string"` + + // Indicates whether you want to import the data into SPICE. + ImportMode *string `type:"string" enum:"DataSetImportMode"` + + // The last time that this dataset was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // A display name for the dataset. + Name *string `min:"1" type:"string"` + + // The row-level security configuration for the dataset. + RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` } // String returns the string representation -func (s CancelIngestionInput) String() string { +func (s DataSetSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CancelIngestionInput) GoString() string { +func (s DataSetSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CancelIngestionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CancelIngestionInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.DataSetId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetId")) - } - if s.DataSetId != nil && len(*s.DataSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) - } - if s.IngestionId == nil { - invalidParams.Add(request.NewErrParamRequired("IngestionId")) - } - if s.IngestionId != nil && len(*s.IngestionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("IngestionId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *DataSetSummary) SetArn(v string) *DataSetSummary { + s.Arn = &v + return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *CancelIngestionInput) SetAwsAccountId(v string) *CancelIngestionInput { - s.AwsAccountId = &v +// SetCreatedTime sets the CreatedTime field's value. +func (s *DataSetSummary) SetCreatedTime(v time.Time) *DataSetSummary { + s.CreatedTime = &v return s } // SetDataSetId sets the DataSetId field's value. -func (s *CancelIngestionInput) SetDataSetId(v string) *CancelIngestionInput { +func (s *DataSetSummary) SetDataSetId(v string) *DataSetSummary { s.DataSetId = &v return s } -// SetIngestionId sets the IngestionId field's value. -func (s *CancelIngestionInput) SetIngestionId(v string) *CancelIngestionInput { - s.IngestionId = &v +// SetImportMode sets the ImportMode field's value. +func (s *DataSetSummary) SetImportMode(v string) *DataSetSummary { + s.ImportMode = &v return s } -type CancelIngestionOutput struct { +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DataSetSummary) SetLastUpdatedTime(v time.Time) *DataSetSummary { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *DataSetSummary) SetName(v string) *DataSetSummary { + s.Name = &v + return s +} + +// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. +func (s *DataSetSummary) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *DataSetSummary { + s.RowLevelPermissionDataSet = v + return s +} + +// The structure of a data source. +type DataSource struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the data ingestion. + // A set of alternate data source parameters that you want to share for the + // credentials stored with this data source. The credentials are applied in + // tandem with the data source parameters when you copy a data source by using + // a create or update request. The API compares the DataSourceParameters structure + // that's in the request with the structures in the AlternateDataSourceParameters + // allowlist. If the structures are an exact match, the request is allowed to + // use the credentials from this existing data source. If the AlternateDataSourceParameters + // list is null, the Credentials originally used with this DataSourceParameters + // are automatically allowed. + AlternateDataSourceParameters []*DataSourceParameters `min:"1" type:"list"` + + // The Amazon Resource Name (ARN) of the data source. Arn *string `type:"string"` - // An ID for the ingestion. - IngestionId *string `min:"1" type:"string"` + // The time that this data source was created. + CreatedTime *time.Time `type:"timestamp"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // The ID of the data source. This ID is unique per AWS Region for each AWS + // account. + DataSourceId *string `type:"string"` + + // The parameters that Amazon QuickSight uses to connect to your underlying + // source. This is a variant type structure. For this structure to be valid, + // only one of the attributes can be non-null. + DataSourceParameters *DataSourceParameters `type:"structure"` + + // Error information from the last update or the creation of the data source. + ErrorInfo *DataSourceErrorInfo `type:"structure"` + + // The last time that this data source was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // A display name for the data source. + Name *string `min:"1" type:"string"` + + // Secure Socket Layer (SSL) properties that apply when QuickSight connects + // to your underlying source. + SslProperties *SslProperties `type:"structure"` // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + Status *string `type:"string" enum:"ResourceStatus"` + + // The type of the data source. This type indicates which database engine the + // data source connects to. + Type *string `type:"string" enum:"DataSourceType"` + + // The VPC connection information. You need to use this parameter only when + // you want QuickSight to use a VPC connection when connecting to your underlying + // source. + VpcConnectionProperties *VpcConnectionProperties `type:"structure"` } // String returns the string representation -func (s CancelIngestionOutput) String() string { +func (s DataSource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CancelIngestionOutput) GoString() string { +func (s DataSource) GoString() string { return s.String() } +// SetAlternateDataSourceParameters sets the AlternateDataSourceParameters field's value. +func (s *DataSource) SetAlternateDataSourceParameters(v []*DataSourceParameters) *DataSource { + s.AlternateDataSourceParameters = v + return s +} + // SetArn sets the Arn field's value. -func (s *CancelIngestionOutput) SetArn(v string) *CancelIngestionOutput { +func (s *DataSource) SetArn(v string) *DataSource { s.Arn = &v return s } -// SetIngestionId sets the IngestionId field's value. -func (s *CancelIngestionOutput) SetIngestionId(v string) *CancelIngestionOutput { - s.IngestionId = &v +// SetCreatedTime sets the CreatedTime field's value. +func (s *DataSource) SetCreatedTime(v time.Time) *DataSource { + s.CreatedTime = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *CancelIngestionOutput) SetRequestId(v string) *CancelIngestionOutput { - s.RequestId = &v +// SetDataSourceId sets the DataSourceId field's value. +func (s *DataSource) SetDataSourceId(v string) *DataSource { + s.DataSourceId = &v return s } -// SetStatus sets the Status field's value. -func (s *CancelIngestionOutput) SetStatus(v int64) *CancelIngestionOutput { - s.Status = &v +// SetDataSourceParameters sets the DataSourceParameters field's value. +func (s *DataSource) SetDataSourceParameters(v *DataSourceParameters) *DataSource { + s.DataSourceParameters = v return s } -// A transform operation that casts a column to a different type. -type CastColumnTypeOperation struct { - _ struct{} `type:"structure"` - - // Column name. - // - // ColumnName is a required field - ColumnName *string `min:"1" type:"string" required:"true"` - - // When casting a column from string to datetime type, you can supply a string - // in a format supported by Amazon QuickSight to denote the source data format. - Format *string `type:"string"` - - // New column data type. - // - // NewColumnType is a required field - NewColumnType *string `type:"string" required:"true" enum:"ColumnDataType"` +// SetErrorInfo sets the ErrorInfo field's value. +func (s *DataSource) SetErrorInfo(v *DataSourceErrorInfo) *DataSource { + s.ErrorInfo = v + return s } -// String returns the string representation -func (s CastColumnTypeOperation) String() string { - return awsutil.Prettify(s) +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DataSource) SetLastUpdatedTime(v time.Time) *DataSource { + s.LastUpdatedTime = &v + return s } -// GoString returns the string representation -func (s CastColumnTypeOperation) GoString() string { - return s.String() +// SetName sets the Name field's value. +func (s *DataSource) SetName(v string) *DataSource { + s.Name = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CastColumnTypeOperation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CastColumnTypeOperation"} - if s.ColumnName == nil { - invalidParams.Add(request.NewErrParamRequired("ColumnName")) - } - if s.ColumnName != nil && len(*s.ColumnName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) - } - if s.NewColumnType == nil { - invalidParams.Add(request.NewErrParamRequired("NewColumnType")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSslProperties sets the SslProperties field's value. +func (s *DataSource) SetSslProperties(v *SslProperties) *DataSource { + s.SslProperties = v + return s } -// SetColumnName sets the ColumnName field's value. -func (s *CastColumnTypeOperation) SetColumnName(v string) *CastColumnTypeOperation { - s.ColumnName = &v +// SetStatus sets the Status field's value. +func (s *DataSource) SetStatus(v string) *DataSource { + s.Status = &v return s } -// SetFormat sets the Format field's value. -func (s *CastColumnTypeOperation) SetFormat(v string) *CastColumnTypeOperation { - s.Format = &v +// SetType sets the Type field's value. +func (s *DataSource) SetType(v string) *DataSource { + s.Type = &v return s } -// SetNewColumnType sets the NewColumnType field's value. -func (s *CastColumnTypeOperation) SetNewColumnType(v string) *CastColumnTypeOperation { - s.NewColumnType = &v +// SetVpcConnectionProperties sets the VpcConnectionProperties field's value. +func (s *DataSource) SetVpcConnectionProperties(v *VpcConnectionProperties) *DataSource { + s.VpcConnectionProperties = v return s } -// Groupings of columns that work together in certain Amazon QuickSight features. -// This is a variant type structure. For this structure to be valid, only one -// of the attributes can be non-null. -type ColumnGroup struct { - _ struct{} `type:"structure"` +// Data source credentials. This is a variant type structure. For this structure +// to be valid, only one of the attributes can be non-null. +type DataSourceCredentials struct { + _ struct{} `type:"structure" sensitive:"true"` - // Geospatial column group that denotes a hierarchy. - GeoSpatialColumnGroup *GeoSpatialColumnGroup `type:"structure"` + // The Amazon Resource Name (ARN) of a data source that has the credential pair + // that you want to use. When CopySourceArn is not null, the credential pair + // from the data source in the ARN is used as the credentials for the DataSourceCredentials + // structure. + CopySourceArn *string `type:"string"` + + // Credential pair. For more information, see CredentialPair. + CredentialPair *CredentialPair `type:"structure"` } // String returns the string representation -func (s ColumnGroup) String() string { +func (s DataSourceCredentials) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ColumnGroup) GoString() string { +func (s DataSourceCredentials) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ColumnGroup) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ColumnGroup"} - if s.GeoSpatialColumnGroup != nil { - if err := s.GeoSpatialColumnGroup.Validate(); err != nil { - invalidParams.AddNested("GeoSpatialColumnGroup", err.(request.ErrInvalidParams)) +func (s *DataSourceCredentials) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataSourceCredentials"} + if s.CredentialPair != nil { + if err := s.CredentialPair.Validate(); err != nil { + invalidParams.AddNested("CredentialPair", err.(request.ErrInvalidParams)) } } @@ -7859,294 +14592,481 @@ func (s *ColumnGroup) Validate() error { return nil } -// SetGeoSpatialColumnGroup sets the GeoSpatialColumnGroup field's value. -func (s *ColumnGroup) SetGeoSpatialColumnGroup(v *GeoSpatialColumnGroup) *ColumnGroup { - s.GeoSpatialColumnGroup = v +// SetCopySourceArn sets the CopySourceArn field's value. +func (s *DataSourceCredentials) SetCopySourceArn(v string) *DataSourceCredentials { + s.CopySourceArn = &v return s } -// A structure describing the name, data type, and geographic role of the columns. -type ColumnGroupColumnSchema struct { +// SetCredentialPair sets the CredentialPair field's value. +func (s *DataSourceCredentials) SetCredentialPair(v *CredentialPair) *DataSourceCredentials { + s.CredentialPair = v + return s +} + +// Error information for the data source creation or update. +type DataSourceErrorInfo struct { _ struct{} `type:"structure"` - // The name of the column group's column schema. - Name *string `type:"string"` + // Error message. + Message *string `type:"string"` + + // Error type. + Type *string `type:"string" enum:"DataSourceErrorInfoType"` } // String returns the string representation -func (s ColumnGroupColumnSchema) String() string { +func (s DataSourceErrorInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ColumnGroupColumnSchema) GoString() string { +func (s DataSourceErrorInfo) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *ColumnGroupColumnSchema) SetName(v string) *ColumnGroupColumnSchema { - s.Name = &v +// SetMessage sets the Message field's value. +func (s *DataSourceErrorInfo) SetMessage(v string) *DataSourceErrorInfo { + s.Message = &v return s } -// The column group schema. -type ColumnGroupSchema struct { +// SetType sets the Type field's value. +func (s *DataSourceErrorInfo) SetType(v string) *DataSourceErrorInfo { + s.Type = &v + return s +} + +// The parameters that Amazon QuickSight uses to connect to your underlying +// data source. This is a variant type structure. For this structure to be valid, +// only one of the attributes can be non-null. +type DataSourceParameters struct { _ struct{} `type:"structure"` - // A structure containing the list of schemas for column group columns. - ColumnGroupColumnSchemaList []*ColumnGroupColumnSchema `type:"list"` + // Amazon Elasticsearch Service parameters. + AmazonElasticsearchParameters *AmazonElasticsearchParameters `type:"structure"` - // The name of the column group schema. - Name *string `type:"string"` + // Amazon Athena parameters. + AthenaParameters *AthenaParameters `type:"structure"` + + // Amazon Aurora MySQL parameters. + AuroraParameters *AuroraParameters `type:"structure"` + + // Aurora PostgreSQL parameters. + AuroraPostgreSqlParameters *AuroraPostgreSqlParameters `type:"structure"` + + // AWS IoT Analytics parameters. + AwsIotAnalyticsParameters *AwsIotAnalyticsParameters `type:"structure"` + + // Jira parameters. + JiraParameters *JiraParameters `type:"structure"` + + // MariaDB parameters. + MariaDbParameters *MariaDbParameters `type:"structure"` + + // MySQL parameters. + MySqlParameters *MySqlParameters `type:"structure"` + + // PostgreSQL parameters. + PostgreSqlParameters *PostgreSqlParameters `type:"structure"` + + // Presto parameters. + PrestoParameters *PrestoParameters `type:"structure"` + + // Amazon RDS parameters. + RdsParameters *RdsParameters `type:"structure"` + + // Amazon Redshift parameters. + RedshiftParameters *RedshiftParameters `type:"structure"` + + // S3 parameters. + S3Parameters *S3Parameters `type:"structure"` + + // ServiceNow parameters. + ServiceNowParameters *ServiceNowParameters `type:"structure"` + + // Snowflake parameters. + SnowflakeParameters *SnowflakeParameters `type:"structure"` + + // Spark parameters. + SparkParameters *SparkParameters `type:"structure"` + + // SQL Server parameters. + SqlServerParameters *SqlServerParameters `type:"structure"` + + // Teradata parameters. + TeradataParameters *TeradataParameters `type:"structure"` + + // Twitter parameters. + TwitterParameters *TwitterParameters `type:"structure"` +} + +// String returns the string representation +func (s DataSourceParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DataSourceParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataSourceParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataSourceParameters"} + if s.AmazonElasticsearchParameters != nil { + if err := s.AmazonElasticsearchParameters.Validate(); err != nil { + invalidParams.AddNested("AmazonElasticsearchParameters", err.(request.ErrInvalidParams)) + } + } + if s.AthenaParameters != nil { + if err := s.AthenaParameters.Validate(); err != nil { + invalidParams.AddNested("AthenaParameters", err.(request.ErrInvalidParams)) + } + } + if s.AuroraParameters != nil { + if err := s.AuroraParameters.Validate(); err != nil { + invalidParams.AddNested("AuroraParameters", err.(request.ErrInvalidParams)) + } + } + if s.AuroraPostgreSqlParameters != nil { + if err := s.AuroraPostgreSqlParameters.Validate(); err != nil { + invalidParams.AddNested("AuroraPostgreSqlParameters", err.(request.ErrInvalidParams)) + } + } + if s.AwsIotAnalyticsParameters != nil { + if err := s.AwsIotAnalyticsParameters.Validate(); err != nil { + invalidParams.AddNested("AwsIotAnalyticsParameters", err.(request.ErrInvalidParams)) + } + } + if s.JiraParameters != nil { + if err := s.JiraParameters.Validate(); err != nil { + invalidParams.AddNested("JiraParameters", err.(request.ErrInvalidParams)) + } + } + if s.MariaDbParameters != nil { + if err := s.MariaDbParameters.Validate(); err != nil { + invalidParams.AddNested("MariaDbParameters", err.(request.ErrInvalidParams)) + } + } + if s.MySqlParameters != nil { + if err := s.MySqlParameters.Validate(); err != nil { + invalidParams.AddNested("MySqlParameters", err.(request.ErrInvalidParams)) + } + } + if s.PostgreSqlParameters != nil { + if err := s.PostgreSqlParameters.Validate(); err != nil { + invalidParams.AddNested("PostgreSqlParameters", err.(request.ErrInvalidParams)) + } + } + if s.PrestoParameters != nil { + if err := s.PrestoParameters.Validate(); err != nil { + invalidParams.AddNested("PrestoParameters", err.(request.ErrInvalidParams)) + } + } + if s.RdsParameters != nil { + if err := s.RdsParameters.Validate(); err != nil { + invalidParams.AddNested("RdsParameters", err.(request.ErrInvalidParams)) + } + } + if s.RedshiftParameters != nil { + if err := s.RedshiftParameters.Validate(); err != nil { + invalidParams.AddNested("RedshiftParameters", err.(request.ErrInvalidParams)) + } + } + if s.S3Parameters != nil { + if err := s.S3Parameters.Validate(); err != nil { + invalidParams.AddNested("S3Parameters", err.(request.ErrInvalidParams)) + } + } + if s.ServiceNowParameters != nil { + if err := s.ServiceNowParameters.Validate(); err != nil { + invalidParams.AddNested("ServiceNowParameters", err.(request.ErrInvalidParams)) + } + } + if s.SnowflakeParameters != nil { + if err := s.SnowflakeParameters.Validate(); err != nil { + invalidParams.AddNested("SnowflakeParameters", err.(request.ErrInvalidParams)) + } + } + if s.SparkParameters != nil { + if err := s.SparkParameters.Validate(); err != nil { + invalidParams.AddNested("SparkParameters", err.(request.ErrInvalidParams)) + } + } + if s.SqlServerParameters != nil { + if err := s.SqlServerParameters.Validate(); err != nil { + invalidParams.AddNested("SqlServerParameters", err.(request.ErrInvalidParams)) + } + } + if s.TeradataParameters != nil { + if err := s.TeradataParameters.Validate(); err != nil { + invalidParams.AddNested("TeradataParameters", err.(request.ErrInvalidParams)) + } + } + if s.TwitterParameters != nil { + if err := s.TwitterParameters.Validate(); err != nil { + invalidParams.AddNested("TwitterParameters", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAmazonElasticsearchParameters sets the AmazonElasticsearchParameters field's value. +func (s *DataSourceParameters) SetAmazonElasticsearchParameters(v *AmazonElasticsearchParameters) *DataSourceParameters { + s.AmazonElasticsearchParameters = v + return s } -// String returns the string representation -func (s ColumnGroupSchema) String() string { - return awsutil.Prettify(s) +// SetAthenaParameters sets the AthenaParameters field's value. +func (s *DataSourceParameters) SetAthenaParameters(v *AthenaParameters) *DataSourceParameters { + s.AthenaParameters = v + return s } -// GoString returns the string representation -func (s ColumnGroupSchema) GoString() string { - return s.String() +// SetAuroraParameters sets the AuroraParameters field's value. +func (s *DataSourceParameters) SetAuroraParameters(v *AuroraParameters) *DataSourceParameters { + s.AuroraParameters = v + return s } -// SetColumnGroupColumnSchemaList sets the ColumnGroupColumnSchemaList field's value. -func (s *ColumnGroupSchema) SetColumnGroupColumnSchemaList(v []*ColumnGroupColumnSchema) *ColumnGroupSchema { - s.ColumnGroupColumnSchemaList = v +// SetAuroraPostgreSqlParameters sets the AuroraPostgreSqlParameters field's value. +func (s *DataSourceParameters) SetAuroraPostgreSqlParameters(v *AuroraPostgreSqlParameters) *DataSourceParameters { + s.AuroraPostgreSqlParameters = v return s } -// SetName sets the Name field's value. -func (s *ColumnGroupSchema) SetName(v string) *ColumnGroupSchema { - s.Name = &v +// SetAwsIotAnalyticsParameters sets the AwsIotAnalyticsParameters field's value. +func (s *DataSourceParameters) SetAwsIotAnalyticsParameters(v *AwsIotAnalyticsParameters) *DataSourceParameters { + s.AwsIotAnalyticsParameters = v return s } -// The column schema. -type ColumnSchema struct { - _ struct{} `type:"structure"` +// SetJiraParameters sets the JiraParameters field's value. +func (s *DataSourceParameters) SetJiraParameters(v *JiraParameters) *DataSourceParameters { + s.JiraParameters = v + return s +} - // The data type of the column schema. - DataType *string `type:"string"` +// SetMariaDbParameters sets the MariaDbParameters field's value. +func (s *DataSourceParameters) SetMariaDbParameters(v *MariaDbParameters) *DataSourceParameters { + s.MariaDbParameters = v + return s +} - // The geographic role of the column schema. - GeographicRole *string `type:"string"` +// SetMySqlParameters sets the MySqlParameters field's value. +func (s *DataSourceParameters) SetMySqlParameters(v *MySqlParameters) *DataSourceParameters { + s.MySqlParameters = v + return s +} - // The name of the column schema. - Name *string `type:"string"` +// SetPostgreSqlParameters sets the PostgreSqlParameters field's value. +func (s *DataSourceParameters) SetPostgreSqlParameters(v *PostgreSqlParameters) *DataSourceParameters { + s.PostgreSqlParameters = v + return s } -// String returns the string representation -func (s ColumnSchema) String() string { - return awsutil.Prettify(s) +// SetPrestoParameters sets the PrestoParameters field's value. +func (s *DataSourceParameters) SetPrestoParameters(v *PrestoParameters) *DataSourceParameters { + s.PrestoParameters = v + return s } -// GoString returns the string representation -func (s ColumnSchema) GoString() string { - return s.String() +// SetRdsParameters sets the RdsParameters field's value. +func (s *DataSourceParameters) SetRdsParameters(v *RdsParameters) *DataSourceParameters { + s.RdsParameters = v + return s } -// SetDataType sets the DataType field's value. -func (s *ColumnSchema) SetDataType(v string) *ColumnSchema { - s.DataType = &v +// SetRedshiftParameters sets the RedshiftParameters field's value. +func (s *DataSourceParameters) SetRedshiftParameters(v *RedshiftParameters) *DataSourceParameters { + s.RedshiftParameters = v return s } -// SetGeographicRole sets the GeographicRole field's value. -func (s *ColumnSchema) SetGeographicRole(v string) *ColumnSchema { - s.GeographicRole = &v +// SetS3Parameters sets the S3Parameters field's value. +func (s *DataSourceParameters) SetS3Parameters(v *S3Parameters) *DataSourceParameters { + s.S3Parameters = v return s } -// SetName sets the Name field's value. -func (s *ColumnSchema) SetName(v string) *ColumnSchema { - s.Name = &v +// SetServiceNowParameters sets the ServiceNowParameters field's value. +func (s *DataSourceParameters) SetServiceNowParameters(v *ServiceNowParameters) *DataSourceParameters { + s.ServiceNowParameters = v return s } -// A tag for a column in a TagColumnOperation structure. This is a variant type -// structure. For this structure to be valid, only one of the attributes can -// be non-null. -type ColumnTag struct { - _ struct{} `type:"structure"` +// SetSnowflakeParameters sets the SnowflakeParameters field's value. +func (s *DataSourceParameters) SetSnowflakeParameters(v *SnowflakeParameters) *DataSourceParameters { + s.SnowflakeParameters = v + return s +} - // A geospatial role for a column. - ColumnGeographicRole *string `type:"string" enum:"GeoSpatialDataRole"` +// SetSparkParameters sets the SparkParameters field's value. +func (s *DataSourceParameters) SetSparkParameters(v *SparkParameters) *DataSourceParameters { + s.SparkParameters = v + return s } -// String returns the string representation -func (s ColumnTag) String() string { - return awsutil.Prettify(s) +// SetSqlServerParameters sets the SqlServerParameters field's value. +func (s *DataSourceParameters) SetSqlServerParameters(v *SqlServerParameters) *DataSourceParameters { + s.SqlServerParameters = v + return s } -// GoString returns the string representation -func (s ColumnTag) GoString() string { - return s.String() +// SetTeradataParameters sets the TeradataParameters field's value. +func (s *DataSourceParameters) SetTeradataParameters(v *TeradataParameters) *DataSourceParameters { + s.TeradataParameters = v + return s } -// SetColumnGeographicRole sets the ColumnGeographicRole field's value. -func (s *ColumnTag) SetColumnGeographicRole(v string) *ColumnTag { - s.ColumnGeographicRole = &v +// SetTwitterParameters sets the TwitterParameters field's value. +func (s *DataSourceParameters) SetTwitterParameters(v *TwitterParameters) *DataSourceParameters { + s.TwitterParameters = v return s } -// A resource is already in a state that indicates an action is happening that -// must complete before a new update can be applied. -type ConcurrentUpdatingException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// Date time parameter. +type DateTimeParameter struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // A display name for the dataset. + // + // Name is a required field + Name *string `type:"string" required:"true"` - RequestId *string `type:"string"` + // Values. + // + // Values is a required field + Values []*time.Time `type:"list" required:"true"` } // String returns the string representation -func (s ConcurrentUpdatingException) String() string { +func (s DateTimeParameter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ConcurrentUpdatingException) GoString() string { +func (s DateTimeParameter) GoString() string { return s.String() } -func newErrorConcurrentUpdatingException(v protocol.ResponseMetadata) error { - return &ConcurrentUpdatingException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *DateTimeParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DateTimeParameter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } -} - -// Code returns the exception type name. -func (s *ConcurrentUpdatingException) Code() string { - return "ConcurrentUpdatingException" -} - -// Message returns the exception's message. -func (s *ConcurrentUpdatingException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConcurrentUpdatingException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *ConcurrentUpdatingException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ConcurrentUpdatingException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetName sets the Name field's value. +func (s *DateTimeParameter) SetName(v string) *DateTimeParameter { + s.Name = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ConcurrentUpdatingException) RequestID() string { - return s.RespMetadata.RequestID +// SetValues sets the Values field's value. +func (s *DateTimeParameter) SetValues(v []*time.Time) *DateTimeParameter { + s.Values = v + return s } -// Updating or deleting a resource can cause an inconsistent state. -type ConflictException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// Decimal parameter. +type DecimalParameter struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // A display name for the dataset. + // + // Name is a required field + Name *string `type:"string" required:"true"` - // The AWS request ID for this request. - RequestId *string `type:"string"` + // Values. + // + // Values is a required field + Values []*float64 `type:"list" required:"true"` } // String returns the string representation -func (s ConflictException) String() string { +func (s DecimalParameter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ConflictException) GoString() string { +func (s DecimalParameter) GoString() string { return s.String() } -func newErrorConflictException(v protocol.ResponseMetadata) error { - return &ConflictException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *DecimalParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DecimalParameter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } -} - -// Code returns the exception type name. -func (s *ConflictException) Code() string { - return "ConflictException" -} - -// Message returns the exception's message. -func (s *ConflictException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConflictException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *ConflictException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ConflictException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetName sets the Name field's value. +func (s *DecimalParameter) SetName(v string) *DecimalParameter { + s.Name = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ConflictException) RequestID() string { - return s.RespMetadata.RequestID +// SetValues sets the Values field's value. +func (s *DecimalParameter) SetValues(v []*float64) *DecimalParameter { + s.Values = v + return s } -// A transform operation that creates calculated columns. Columns created in -// one such operation form a lexical closure. -type CreateColumnsOperation struct { +type DeleteAccountCustomizationInput struct { _ struct{} `type:"structure"` - // Calculated columns to create. + // The ID for the AWS account that you want to delete QuickSight customizations + // from. // - // Columns is a required field - Columns []*CalculatedColumn `min:"1" type:"list" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The namespace associated with the customization that you're deleting. + Namespace *string `location:"querystring" locationName:"namespace" type:"string"` } // String returns the string representation -func (s CreateColumnsOperation) String() string { +func (s DeleteAccountCustomizationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateColumnsOperation) GoString() string { +func (s DeleteAccountCustomizationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateColumnsOperation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateColumnsOperation"} - if s.Columns == nil { - invalidParams.Add(request.NewErrParamRequired("Columns")) - } - if s.Columns != nil && len(s.Columns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Columns", 1)) +func (s *DeleteAccountCustomizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAccountCustomizationInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.Columns != nil { - for i, v := range s.Columns { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Columns", i), err.(request.ErrInvalidParams)) - } - } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } if invalidParams.Len() > 0 { @@ -8155,90 +15075,81 @@ func (s *CreateColumnsOperation) Validate() error { return nil } -// SetColumns sets the Columns field's value. -func (s *CreateColumnsOperation) SetColumns(v []*CalculatedColumn) *CreateColumnsOperation { - s.Columns = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteAccountCustomizationInput) SetAwsAccountId(v string) *DeleteAccountCustomizationInput { + s.AwsAccountId = &v return s } -type CreateDashboardInput struct { +// SetNamespace sets the Namespace field's value. +func (s *DeleteAccountCustomizationInput) SetNamespace(v string) *DeleteAccountCustomizationInput { + s.Namespace = &v + return s +} + +type DeleteAccountCustomizationOutput struct { _ struct{} `type:"structure"` - // The ID of the AWS account where you want to create the dashboard. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // The ID for the dashboard, also added to the IAM policy. - // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} - // Options for publishing the dashboard when you create it: - // - // * AvailabilityStatus for AdHocFilteringOption - This status can be either - // ENABLED or DISABLED. When this is set to DISABLED, QuickSight disables - // the left filter pane on the published dashboard, which can be used for - // ad hoc (one-time) filtering. This option is ENABLED by default. - // - // * AvailabilityStatus for ExportToCSVOption - This status can be either - // ENABLED or DISABLED. The visual option to export data to .csv format isn't - // enabled when this is set to DISABLED. This option is ENABLED by default. - // - // * VisibilityState for SheetControlsOption - This visibility state can - // be either COLLAPSED or EXPANDED. The sheet controls pane is collapsed - // by default when set to true. This option is COLLAPSED by default. - DashboardPublishOptions *DashboardPublishOptions `type:"structure"` +// String returns the string representation +func (s DeleteAccountCustomizationOutput) String() string { + return awsutil.Prettify(s) +} - // The display name of the dashboard. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` +// GoString returns the string representation +func (s DeleteAccountCustomizationOutput) GoString() string { + return s.String() +} - // A structure that contains the parameters of the dashboard. These are parameter - // overrides for a dashboard. A dashboard can have any type of parameters, and - // some parameters might accept multiple values. You can use the dashboard permissions - // structure described following to override two string parameters that accept - // multiple values. - Parameters *Parameters `type:"structure"` +// SetRequestId sets the RequestId field's value. +func (s *DeleteAccountCustomizationOutput) SetRequestId(v string) *DeleteAccountCustomizationOutput { + s.RequestId = &v + return s +} - // A structure that contains the permissions of the dashboard. You can use this - // structure for granting permissions with principal and action information. - Permissions []*ResourcePermission `min:"1" type:"list"` +// SetStatus sets the Status field's value. +func (s *DeleteAccountCustomizationOutput) SetStatus(v int64) *DeleteAccountCustomizationOutput { + s.Status = &v + return s +} - // The source entity from which the dashboard is created. The source entity - // accepts the Amazon Resource Name (ARN) of the source template or analysis - // and also references the replacement datasets for the placeholders set when - // creating the template. The replacement datasets need to follow the same schema - // as the datasets for which placeholders were created when creating the template. - // - // If you are creating a dashboard from a source entity in a different AWS account, - // use the ARN of the source template. +type DeleteDashboardInput struct { + _ struct{} `type:"structure"` + + // The ID of the AWS account that contains the dashboard that you're deleting. // - // SourceEntity is a required field - SourceEntity *DashboardSourceEntity `type:"structure" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Contains a map of the key-value pairs for the resource tag or tags assigned - // to the dashboard. - Tags []*Tag `min:"1" type:"list"` + // The ID for the dashboard. + // + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` - // A description for the first version of the dashboard being created. - VersionDescription *string `min:"1" type:"string"` + // The version number of the dashboard. If the version number property is provided, + // only the specified version of the dashboard is deleted. + VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` } // String returns the string representation -func (s CreateDashboardInput) String() string { +func (s DeleteDashboardInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDashboardInput) GoString() string { +func (s DeleteDashboardInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDashboardInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDashboardInput"} +func (s *DeleteDashboardInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDashboardInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } @@ -8251,53 +15162,8 @@ func (s *CreateDashboardInput) Validate() error { if s.DashboardId != nil && len(*s.DashboardId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Permissions != nil && len(s.Permissions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Permissions", 1)) - } - if s.SourceEntity == nil { - invalidParams.Add(request.NewErrParamRequired("SourceEntity")) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.VersionDescription != nil && len(*s.VersionDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) - } - if s.Parameters != nil { - if err := s.Parameters.Validate(); err != nil { - invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams)) - } - } - if s.Permissions != nil { - for i, v := range s.Permissions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), err.(request.ErrInvalidParams)) - } - } - } - if s.SourceEntity != nil { - if err := s.SourceEntity.Validate(); err != nil { - invalidParams.AddNested("SourceEntity", err.(request.ErrInvalidParams)) - } - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } + if s.VersionNumber != nil && *s.VersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) } if invalidParams.Len() > 0 { @@ -8307,69 +15173,30 @@ func (s *CreateDashboardInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateDashboardInput) SetAwsAccountId(v string) *CreateDashboardInput { +func (s *DeleteDashboardInput) SetAwsAccountId(v string) *DeleteDashboardInput { s.AwsAccountId = &v return s } // SetDashboardId sets the DashboardId field's value. -func (s *CreateDashboardInput) SetDashboardId(v string) *CreateDashboardInput { +func (s *DeleteDashboardInput) SetDashboardId(v string) *DeleteDashboardInput { s.DashboardId = &v return s } -// SetDashboardPublishOptions sets the DashboardPublishOptions field's value. -func (s *CreateDashboardInput) SetDashboardPublishOptions(v *DashboardPublishOptions) *CreateDashboardInput { - s.DashboardPublishOptions = v - return s -} - -// SetName sets the Name field's value. -func (s *CreateDashboardInput) SetName(v string) *CreateDashboardInput { - s.Name = &v - return s -} - -// SetParameters sets the Parameters field's value. -func (s *CreateDashboardInput) SetParameters(v *Parameters) *CreateDashboardInput { - s.Parameters = v - return s -} - -// SetPermissions sets the Permissions field's value. -func (s *CreateDashboardInput) SetPermissions(v []*ResourcePermission) *CreateDashboardInput { - s.Permissions = v - return s -} - -// SetSourceEntity sets the SourceEntity field's value. -func (s *CreateDashboardInput) SetSourceEntity(v *DashboardSourceEntity) *CreateDashboardInput { - s.SourceEntity = v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateDashboardInput) SetTags(v []*Tag) *CreateDashboardInput { - s.Tags = v - return s -} - -// SetVersionDescription sets the VersionDescription field's value. -func (s *CreateDashboardInput) SetVersionDescription(v string) *CreateDashboardInput { - s.VersionDescription = &v +// SetVersionNumber sets the VersionNumber field's value. +func (s *DeleteDashboardInput) SetVersionNumber(v int64) *DeleteDashboardInput { + s.VersionNumber = &v return s } -type CreateDashboardOutput struct { +type DeleteDashboardOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dashboard. + // The Secure Socket Layer (SSL) properties that apply for the resource. Arn *string `type:"string"` - // The status of the dashboard creation request. - CreationStatus *string `type:"string" enum:"ResourceStatus"` - - // The ID for the dashboard. + // The ID of the dashboard. DashboardId *string `min:"1" type:"string"` // The AWS request ID for this operation. @@ -8377,59 +15204,43 @@ type CreateDashboardOutput struct { // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - - // The ARN of the dashboard, including the version number of the first version - // that is created. - VersionArn *string `type:"string"` } // String returns the string representation -func (s CreateDashboardOutput) String() string { +func (s DeleteDashboardOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDashboardOutput) GoString() string { +func (s DeleteDashboardOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *CreateDashboardOutput) SetArn(v string) *CreateDashboardOutput { +func (s *DeleteDashboardOutput) SetArn(v string) *DeleteDashboardOutput { s.Arn = &v return s } -// SetCreationStatus sets the CreationStatus field's value. -func (s *CreateDashboardOutput) SetCreationStatus(v string) *CreateDashboardOutput { - s.CreationStatus = &v - return s -} - // SetDashboardId sets the DashboardId field's value. -func (s *CreateDashboardOutput) SetDashboardId(v string) *CreateDashboardOutput { +func (s *DeleteDashboardOutput) SetDashboardId(v string) *DeleteDashboardOutput { s.DashboardId = &v return s } // SetRequestId sets the RequestId field's value. -func (s *CreateDashboardOutput) SetRequestId(v string) *CreateDashboardOutput { +func (s *DeleteDashboardOutput) SetRequestId(v string) *DeleteDashboardOutput { s.RequestId = &v return s } -// SetStatus sets the Status field's value. -func (s *CreateDashboardOutput) SetStatus(v int64) *CreateDashboardOutput { - s.Status = &v - return s -} - -// SetVersionArn sets the VersionArn field's value. -func (s *CreateDashboardOutput) SetVersionArn(v string) *CreateDashboardOutput { - s.VersionArn = &v +// SetStatus sets the Status field's value. +func (s *DeleteDashboardOutput) SetStatus(v int64) *DeleteDashboardOutput { + s.Status = &v return s } -type CreateDataSetInput struct { +type DeleteDataSetInput struct { _ struct{} `type:"structure"` // The AWS account ID. @@ -8437,149 +15248,37 @@ type CreateDataSetInput struct { // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Groupings of columns that work together in certain QuickSight features. Currently, - // only geospatial hierarchy is supported. - ColumnGroups []*ColumnGroup `min:"1" type:"list"` - - // An ID for the dataset that you want to create. This ID is unique per AWS + // The ID for the dataset that you want to create. This ID is unique per AWS // Region for each AWS account. // // DataSetId is a required field - DataSetId *string `type:"string" required:"true"` - - // Indicates whether you want to import the data into SPICE. - // - // ImportMode is a required field - ImportMode *string `type:"string" required:"true" enum:"DataSetImportMode"` - - // Configures the combination and transformation of the data from the physical - // tables. - LogicalTableMap map[string]*LogicalTable `min:"1" type:"map"` - - // The display name for the dataset. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` - - // A list of resource permissions on the dataset. - Permissions []*ResourcePermission `min:"1" type:"list"` - - // Declares the physical tables that are available in the underlying data sources. - // - // PhysicalTableMap is a required field - PhysicalTableMap map[string]*PhysicalTable `min:"1" type:"map" required:"true"` - - // The row-level security configuration for the data that you want to create. - RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` - - // Contains a map of the key-value pairs for the resource tag or tags assigned - // to the dataset. - Tags []*Tag `min:"1" type:"list"` + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` } // String returns the string representation -func (s CreateDataSetInput) String() string { +func (s DeleteDataSetInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDataSetInput) GoString() string { +func (s DeleteDataSetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDataSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDataSetInput"} +func (s *DeleteDataSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDataSetInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.ColumnGroups != nil && len(s.ColumnGroups) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ColumnGroups", 1)) - } if s.DataSetId == nil { invalidParams.Add(request.NewErrParamRequired("DataSetId")) } - if s.ImportMode == nil { - invalidParams.Add(request.NewErrParamRequired("ImportMode")) - } - if s.LogicalTableMap != nil && len(s.LogicalTableMap) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LogicalTableMap", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Permissions != nil && len(s.Permissions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Permissions", 1)) - } - if s.PhysicalTableMap == nil { - invalidParams.Add(request.NewErrParamRequired("PhysicalTableMap")) - } - if s.PhysicalTableMap != nil && len(s.PhysicalTableMap) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PhysicalTableMap", 1)) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.ColumnGroups != nil { - for i, v := range s.ColumnGroups { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ColumnGroups", i), err.(request.ErrInvalidParams)) - } - } - } - if s.LogicalTableMap != nil { - for i, v := range s.LogicalTableMap { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LogicalTableMap", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Permissions != nil { - for i, v := range s.Permissions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), err.(request.ErrInvalidParams)) - } - } - } - if s.PhysicalTableMap != nil { - for i, v := range s.PhysicalTableMap { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PhysicalTableMap", i), err.(request.ErrInvalidParams)) - } - } - } - if s.RowLevelPermissionDataSet != nil { - if err := s.RowLevelPermissionDataSet.Validate(); err != nil { - invalidParams.AddNested("RowLevelPermissionDataSet", err.(request.ErrInvalidParams)) - } - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) } if invalidParams.Len() > 0 { @@ -8589,66 +15288,18 @@ func (s *CreateDataSetInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateDataSetInput) SetAwsAccountId(v string) *CreateDataSetInput { +func (s *DeleteDataSetInput) SetAwsAccountId(v string) *DeleteDataSetInput { s.AwsAccountId = &v return s } -// SetColumnGroups sets the ColumnGroups field's value. -func (s *CreateDataSetInput) SetColumnGroups(v []*ColumnGroup) *CreateDataSetInput { - s.ColumnGroups = v - return s -} - // SetDataSetId sets the DataSetId field's value. -func (s *CreateDataSetInput) SetDataSetId(v string) *CreateDataSetInput { +func (s *DeleteDataSetInput) SetDataSetId(v string) *DeleteDataSetInput { s.DataSetId = &v return s } -// SetImportMode sets the ImportMode field's value. -func (s *CreateDataSetInput) SetImportMode(v string) *CreateDataSetInput { - s.ImportMode = &v - return s -} - -// SetLogicalTableMap sets the LogicalTableMap field's value. -func (s *CreateDataSetInput) SetLogicalTableMap(v map[string]*LogicalTable) *CreateDataSetInput { - s.LogicalTableMap = v - return s -} - -// SetName sets the Name field's value. -func (s *CreateDataSetInput) SetName(v string) *CreateDataSetInput { - s.Name = &v - return s -} - -// SetPermissions sets the Permissions field's value. -func (s *CreateDataSetInput) SetPermissions(v []*ResourcePermission) *CreateDataSetInput { - s.Permissions = v - return s -} - -// SetPhysicalTableMap sets the PhysicalTableMap field's value. -func (s *CreateDataSetInput) SetPhysicalTableMap(v map[string]*PhysicalTable) *CreateDataSetInput { - s.PhysicalTableMap = v - return s -} - -// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. -func (s *CreateDataSetInput) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *CreateDataSetInput { - s.RowLevelPermissionDataSet = v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateDataSetInput) SetTags(v []*Tag) *CreateDataSetInput { - s.Tags = v - return s -} - -type CreateDataSetOutput struct { +type DeleteDataSetOutput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the dataset. @@ -8658,14 +15309,6 @@ type CreateDataSetOutput struct { // Region for each AWS account. DataSetId *string `type:"string"` - // The ARN for the ingestion, which is triggered as a result of dataset creation - // if the import mode is SPICE. - IngestionArn *string `type:"string"` - - // The ID of the ingestion, which is triggered as a result of dataset creation - // if the import mode is SPICE. - IngestionId *string `type:"string"` - // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -8674,114 +15317,67 @@ type CreateDataSetOutput struct { } // String returns the string representation -func (s CreateDataSetOutput) String() string { +func (s DeleteDataSetOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDataSetOutput) GoString() string { +func (s DeleteDataSetOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *CreateDataSetOutput) SetArn(v string) *CreateDataSetOutput { +func (s *DeleteDataSetOutput) SetArn(v string) *DeleteDataSetOutput { s.Arn = &v return s } // SetDataSetId sets the DataSetId field's value. -func (s *CreateDataSetOutput) SetDataSetId(v string) *CreateDataSetOutput { +func (s *DeleteDataSetOutput) SetDataSetId(v string) *DeleteDataSetOutput { s.DataSetId = &v return s } -// SetIngestionArn sets the IngestionArn field's value. -func (s *CreateDataSetOutput) SetIngestionArn(v string) *CreateDataSetOutput { - s.IngestionArn = &v - return s -} - -// SetIngestionId sets the IngestionId field's value. -func (s *CreateDataSetOutput) SetIngestionId(v string) *CreateDataSetOutput { - s.IngestionId = &v - return s -} - // SetRequestId sets the RequestId field's value. -func (s *CreateDataSetOutput) SetRequestId(v string) *CreateDataSetOutput { +func (s *DeleteDataSetOutput) SetRequestId(v string) *DeleteDataSetOutput { s.RequestId = &v return s } -// SetStatus sets the Status field's value. -func (s *CreateDataSetOutput) SetStatus(v int64) *CreateDataSetOutput { - s.Status = &v - return s -} - -type CreateDataSourceInput struct { - _ struct{} `type:"structure"` - - // The AWS account ID. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - - // The credentials QuickSight that uses to connect to your underlying source. - // Currently, only credentials based on user name and password are supported. - Credentials *DataSourceCredentials `type:"structure" sensitive:"true"` - - // An ID for the data source. This ID is unique per AWS Region for each AWS - // account. - // - // DataSourceId is a required field - DataSourceId *string `type:"string" required:"true"` - - // The parameters that QuickSight uses to connect to your underlying source. - DataSourceParameters *DataSourceParameters `type:"structure"` - - // A display name for the data source. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` - - // A list of resource permissions on the data source. - Permissions []*ResourcePermission `min:"1" type:"list"` - - // Secure Socket Layer (SSL) properties that apply when QuickSight connects - // to your underlying source. - SslProperties *SslProperties `type:"structure"` - - // Contains a map of the key-value pairs for the resource tag or tags assigned - // to the data source. - Tags []*Tag `min:"1" type:"list"` +// SetStatus sets the Status field's value. +func (s *DeleteDataSetOutput) SetStatus(v int64) *DeleteDataSetOutput { + s.Status = &v + return s +} - // The type of the data source. Currently, the supported types for this operation - // are: ATHENA, AURORA, AURORA_POSTGRESQL, MARIADB, MYSQL, POSTGRESQL, PRESTO, - // REDSHIFT, S3, SNOWFLAKE, SPARK, SQLSERVER, TERADATA. Use ListDataSources - // to return a list of all data sources. +type DeleteDataSourceInput struct { + _ struct{} `type:"structure"` + + // The AWS account ID. // - // Type is a required field - Type *string `type:"string" required:"true" enum:"DataSourceType"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Use this parameter only when you want QuickSight to use a VPC connection - // when connecting to your underlying source. - VpcConnectionProperties *VpcConnectionProperties `type:"structure"` + // The ID of the data source. This ID is unique per AWS Region for each AWS + // account. + // + // DataSourceId is a required field + DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` } // String returns the string representation -func (s CreateDataSourceInput) String() string { +func (s DeleteDataSourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDataSourceInput) GoString() string { +func (s DeleteDataSourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDataSourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDataSourceInput"} +func (s *DeleteDataSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDataSourceInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } @@ -8791,55 +15387,8 @@ func (s *CreateDataSourceInput) Validate() error { if s.DataSourceId == nil { invalidParams.Add(request.NewErrParamRequired("DataSourceId")) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Permissions != nil && len(s.Permissions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Permissions", 1)) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - if s.Credentials != nil { - if err := s.Credentials.Validate(); err != nil { - invalidParams.AddNested("Credentials", err.(request.ErrInvalidParams)) - } - } - if s.DataSourceParameters != nil { - if err := s.DataSourceParameters.Validate(); err != nil { - invalidParams.AddNested("DataSourceParameters", err.(request.ErrInvalidParams)) - } - } - if s.Permissions != nil { - for i, v := range s.Permissions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } - } - if s.VpcConnectionProperties != nil { - if err := s.VpcConnectionProperties.Validate(); err != nil { - invalidParams.AddNested("VpcConnectionProperties", err.(request.ErrInvalidParams)) - } + if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) } if invalidParams.Len() > 0 { @@ -8849,74 +15398,23 @@ func (s *CreateDataSourceInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateDataSourceInput) SetAwsAccountId(v string) *CreateDataSourceInput { +func (s *DeleteDataSourceInput) SetAwsAccountId(v string) *DeleteDataSourceInput { s.AwsAccountId = &v return s } -// SetCredentials sets the Credentials field's value. -func (s *CreateDataSourceInput) SetCredentials(v *DataSourceCredentials) *CreateDataSourceInput { - s.Credentials = v - return s -} - // SetDataSourceId sets the DataSourceId field's value. -func (s *CreateDataSourceInput) SetDataSourceId(v string) *CreateDataSourceInput { +func (s *DeleteDataSourceInput) SetDataSourceId(v string) *DeleteDataSourceInput { s.DataSourceId = &v return s } -// SetDataSourceParameters sets the DataSourceParameters field's value. -func (s *CreateDataSourceInput) SetDataSourceParameters(v *DataSourceParameters) *CreateDataSourceInput { - s.DataSourceParameters = v - return s -} - -// SetName sets the Name field's value. -func (s *CreateDataSourceInput) SetName(v string) *CreateDataSourceInput { - s.Name = &v - return s -} - -// SetPermissions sets the Permissions field's value. -func (s *CreateDataSourceInput) SetPermissions(v []*ResourcePermission) *CreateDataSourceInput { - s.Permissions = v - return s -} - -// SetSslProperties sets the SslProperties field's value. -func (s *CreateDataSourceInput) SetSslProperties(v *SslProperties) *CreateDataSourceInput { - s.SslProperties = v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateDataSourceInput) SetTags(v []*Tag) *CreateDataSourceInput { - s.Tags = v - return s -} - -// SetType sets the Type field's value. -func (s *CreateDataSourceInput) SetType(v string) *CreateDataSourceInput { - s.Type = &v - return s -} - -// SetVpcConnectionProperties sets the VpcConnectionProperties field's value. -func (s *CreateDataSourceInput) SetVpcConnectionProperties(v *VpcConnectionProperties) *CreateDataSourceInput { - s.VpcConnectionProperties = v - return s -} - -type CreateDataSourceOutput struct { +type DeleteDataSourceOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the data source. + // The Amazon Resource Name (ARN) of the data source that you deleted. Arn *string `type:"string"` - // The status of creating the data source. - CreationStatus *string `type:"string" enum:"ResourceStatus"` - // The ID of the data source. This ID is unique per AWS Region for each AWS // account. DataSourceId *string `type:"string"` @@ -8929,47 +15427,40 @@ type CreateDataSourceOutput struct { } // String returns the string representation -func (s CreateDataSourceOutput) String() string { +func (s DeleteDataSourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDataSourceOutput) GoString() string { +func (s DeleteDataSourceOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *CreateDataSourceOutput) SetArn(v string) *CreateDataSourceOutput { +func (s *DeleteDataSourceOutput) SetArn(v string) *DeleteDataSourceOutput { s.Arn = &v return s } -// SetCreationStatus sets the CreationStatus field's value. -func (s *CreateDataSourceOutput) SetCreationStatus(v string) *CreateDataSourceOutput { - s.CreationStatus = &v - return s -} - // SetDataSourceId sets the DataSourceId field's value. -func (s *CreateDataSourceOutput) SetDataSourceId(v string) *CreateDataSourceOutput { +func (s *DeleteDataSourceOutput) SetDataSourceId(v string) *DeleteDataSourceOutput { s.DataSourceId = &v return s } // SetRequestId sets the RequestId field's value. -func (s *CreateDataSourceOutput) SetRequestId(v string) *CreateDataSourceOutput { +func (s *DeleteDataSourceOutput) SetRequestId(v string) *DeleteDataSourceOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateDataSourceOutput) SetStatus(v int64) *CreateDataSourceOutput { +func (s *DeleteDataSourceOutput) SetStatus(v int64) *DeleteDataSourceOutput { s.Status = &v return s } -// The request object for this operation. -type CreateGroupInput struct { +type DeleteGroupInput struct { _ struct{} `type:"structure"` // The ID for the AWS account that the group is in. Currently, you use the ID @@ -8978,13 +15469,10 @@ type CreateGroupInput struct { // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // A description for the group that you want to create. - Description *string `min:"1" type:"string"` - - // A name for the group that you want to create. + // The name of the group that you want to delete. // // GroupName is a required field - GroupName *string `min:"1" type:"string" required:"true"` + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` // The namespace. Currently, you should set this to default. // @@ -8993,27 +15481,24 @@ type CreateGroupInput struct { } // String returns the string representation -func (s CreateGroupInput) String() string { +func (s DeleteGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateGroupInput) GoString() string { +func (s DeleteGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateGroupInput"} +func (s *DeleteGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } if s.GroupName == nil { invalidParams.Add(request.NewErrParamRequired("GroupName")) } @@ -9034,30 +15519,24 @@ func (s *CreateGroupInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateGroupInput) SetAwsAccountId(v string) *CreateGroupInput { +func (s *DeleteGroupInput) SetAwsAccountId(v string) *DeleteGroupInput { s.AwsAccountId = &v return s } -// SetDescription sets the Description field's value. -func (s *CreateGroupInput) SetDescription(v string) *CreateGroupInput { - s.Description = &v - return s -} - // SetGroupName sets the GroupName field's value. -func (s *CreateGroupInput) SetGroupName(v string) *CreateGroupInput { +func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput { s.GroupName = &v return s } // SetNamespace sets the Namespace field's value. -func (s *CreateGroupInput) SetNamespace(v string) *CreateGroupInput { +func (s *DeleteGroupInput) SetNamespace(v string) *DeleteGroupInput { s.Namespace = &v return s } -type CreateGroupMembershipInput struct { +type DeleteGroupMembershipInput struct { _ struct{} `type:"structure"` // The ID for the AWS account that the group is in. Currently, you use the ID @@ -9066,12 +15545,12 @@ type CreateGroupMembershipInput struct { // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The name of the group that you want to add the user to. + // The name of the group that you want to delete the user from. // // GroupName is a required field GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` - // The name of the user that you want to add to the group membership. + // The name of the user that you want to delete from the group membership. // // MemberName is a required field MemberName *string `location:"uri" locationName:"MemberName" min:"1" type:"string" required:"true"` @@ -9083,18 +15562,18 @@ type CreateGroupMembershipInput struct { } // String returns the string representation -func (s CreateGroupMembershipInput) String() string { +func (s DeleteGroupMembershipInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateGroupMembershipInput) GoString() string { +func (s DeleteGroupMembershipInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateGroupMembershipInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateGroupMembershipInput"} +func (s *DeleteGroupMembershipInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteGroupMembershipInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } @@ -9127,35 +15606,32 @@ func (s *CreateGroupMembershipInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateGroupMembershipInput) SetAwsAccountId(v string) *CreateGroupMembershipInput { +func (s *DeleteGroupMembershipInput) SetAwsAccountId(v string) *DeleteGroupMembershipInput { s.AwsAccountId = &v return s } // SetGroupName sets the GroupName field's value. -func (s *CreateGroupMembershipInput) SetGroupName(v string) *CreateGroupMembershipInput { +func (s *DeleteGroupMembershipInput) SetGroupName(v string) *DeleteGroupMembershipInput { s.GroupName = &v return s } // SetMemberName sets the MemberName field's value. -func (s *CreateGroupMembershipInput) SetMemberName(v string) *CreateGroupMembershipInput { +func (s *DeleteGroupMembershipInput) SetMemberName(v string) *DeleteGroupMembershipInput { s.MemberName = &v return s } // SetNamespace sets the Namespace field's value. -func (s *CreateGroupMembershipInput) SetNamespace(v string) *CreateGroupMembershipInput { +func (s *DeleteGroupMembershipInput) SetNamespace(v string) *DeleteGroupMembershipInput { s.Namespace = &v return s } -type CreateGroupMembershipOutput struct { +type DeleteGroupMembershipOutput struct { _ struct{} `type:"structure"` - // The group member. - GroupMember *GroupMember `type:"structure"` - // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -9164,40 +15640,30 @@ type CreateGroupMembershipOutput struct { } // String returns the string representation -func (s CreateGroupMembershipOutput) String() string { +func (s DeleteGroupMembershipOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateGroupMembershipOutput) GoString() string { +func (s DeleteGroupMembershipOutput) GoString() string { return s.String() } -// SetGroupMember sets the GroupMember field's value. -func (s *CreateGroupMembershipOutput) SetGroupMember(v *GroupMember) *CreateGroupMembershipOutput { - s.GroupMember = v - return s -} - // SetRequestId sets the RequestId field's value. -func (s *CreateGroupMembershipOutput) SetRequestId(v string) *CreateGroupMembershipOutput { +func (s *DeleteGroupMembershipOutput) SetRequestId(v string) *DeleteGroupMembershipOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateGroupMembershipOutput) SetStatus(v int64) *CreateGroupMembershipOutput { +func (s *DeleteGroupMembershipOutput) SetStatus(v int64) *DeleteGroupMembershipOutput { s.Status = &v return s } -// The response object for this operation. -type CreateGroupOutput struct { +type DeleteGroupOutput struct { _ struct{} `type:"structure"` - // The name of the group. - Group *Group `type:"structure"` - // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -9206,96 +15672,65 @@ type CreateGroupOutput struct { } // String returns the string representation -func (s CreateGroupOutput) String() string { +func (s DeleteGroupOutput) String() string { return awsutil.Prettify(s) } - -// GoString returns the string representation -func (s CreateGroupOutput) GoString() string { - return s.String() -} - -// SetGroup sets the Group field's value. -func (s *CreateGroupOutput) SetGroup(v *Group) *CreateGroupOutput { - s.Group = v - return s + +// GoString returns the string representation +func (s DeleteGroupOutput) GoString() string { + return s.String() } // SetRequestId sets the RequestId field's value. -func (s *CreateGroupOutput) SetRequestId(v string) *CreateGroupOutput { +func (s *DeleteGroupOutput) SetRequestId(v string) *DeleteGroupOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateGroupOutput) SetStatus(v int64) *CreateGroupOutput { +func (s *DeleteGroupOutput) SetStatus(v int64) *DeleteGroupOutput { s.Status = &v return s } -type CreateIAMPolicyAssignmentInput struct { +type DeleteIAMPolicyAssignmentInput struct { _ struct{} `type:"structure"` - // The name of the assignment. It must be unique within an AWS account. + // The name of the assignment. // // AssignmentName is a required field - AssignmentName *string `min:"1" type:"string" required:"true"` - - // The status of the assignment. Possible values are as follows: - // - // * ENABLED - Anything specified in this assignment is used when creating - // the data source. - // - // * DISABLED - This assignment isn't used when creating the data source. - // - // * DRAFT - This assignment is an unfinished draft and isn't used when creating - // the data source. - // - // AssignmentStatus is a required field - AssignmentStatus *string `type:"string" required:"true" enum:"AssignmentStatus"` + AssignmentName *string `location:"uri" locationName:"AssignmentName" min:"1" type:"string" required:"true"` - // The ID of the AWS account where you want to assign an IAM policy to QuickSight - // users or groups. + // The AWS account ID where you want to delete the IAM policy assignment. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The QuickSight users, groups, or both that you want to assign the policy - // to. - Identities map[string][]*string `type:"map"` - // The namespace that contains the assignment. // // Namespace is a required field Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` - - // The ARN for the IAM policy to apply to the QuickSight users and groups specified - // in this assignment. - PolicyArn *string `type:"string"` } // String returns the string representation -func (s CreateIAMPolicyAssignmentInput) String() string { +func (s DeleteIAMPolicyAssignmentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateIAMPolicyAssignmentInput) GoString() string { +func (s DeleteIAMPolicyAssignmentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateIAMPolicyAssignmentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateIAMPolicyAssignmentInput"} +func (s *DeleteIAMPolicyAssignmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIAMPolicyAssignmentInput"} if s.AssignmentName == nil { invalidParams.Add(request.NewErrParamRequired("AssignmentName")) } if s.AssignmentName != nil && len(*s.AssignmentName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AssignmentName", 1)) } - if s.AssignmentStatus == nil { - invalidParams.Add(request.NewErrParamRequired("AssignmentStatus")) - } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } @@ -9316,68 +15751,29 @@ func (s *CreateIAMPolicyAssignmentInput) Validate() error { } // SetAssignmentName sets the AssignmentName field's value. -func (s *CreateIAMPolicyAssignmentInput) SetAssignmentName(v string) *CreateIAMPolicyAssignmentInput { +func (s *DeleteIAMPolicyAssignmentInput) SetAssignmentName(v string) *DeleteIAMPolicyAssignmentInput { s.AssignmentName = &v return s } -// SetAssignmentStatus sets the AssignmentStatus field's value. -func (s *CreateIAMPolicyAssignmentInput) SetAssignmentStatus(v string) *CreateIAMPolicyAssignmentInput { - s.AssignmentStatus = &v - return s -} - // SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateIAMPolicyAssignmentInput) SetAwsAccountId(v string) *CreateIAMPolicyAssignmentInput { +func (s *DeleteIAMPolicyAssignmentInput) SetAwsAccountId(v string) *DeleteIAMPolicyAssignmentInput { s.AwsAccountId = &v return s } -// SetIdentities sets the Identities field's value. -func (s *CreateIAMPolicyAssignmentInput) SetIdentities(v map[string][]*string) *CreateIAMPolicyAssignmentInput { - s.Identities = v - return s -} - // SetNamespace sets the Namespace field's value. -func (s *CreateIAMPolicyAssignmentInput) SetNamespace(v string) *CreateIAMPolicyAssignmentInput { +func (s *DeleteIAMPolicyAssignmentInput) SetNamespace(v string) *DeleteIAMPolicyAssignmentInput { s.Namespace = &v return s } -// SetPolicyArn sets the PolicyArn field's value. -func (s *CreateIAMPolicyAssignmentInput) SetPolicyArn(v string) *CreateIAMPolicyAssignmentInput { - s.PolicyArn = &v - return s -} - -type CreateIAMPolicyAssignmentOutput struct { +type DeleteIAMPolicyAssignmentOutput struct { _ struct{} `type:"structure"` - // The ID for the assignment. - AssignmentId *string `type:"string"` - - // The name of the assignment. This name must be unique within the AWS account. + // The name of the assignment. AssignmentName *string `min:"1" type:"string"` - // The status of the assignment. Possible values are as follows: - // - // * ENABLED - Anything specified in this assignment is used when creating - // the data source. - // - // * DISABLED - This assignment isn't used when creating the data source. - // - // * DRAFT - This assignment is an unfinished draft and isn't used when creating - // the data source. - AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` - - // The QuickSight users, groups, or both that the IAM policy is assigned to. - Identities map[string][]*string `type:"map"` - - // The ARN for the IAM policy that is applied to the QuickSight users and groups - // specified in this assignment. - PolicyArn *string `type:"string"` - // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -9386,106 +15782,176 @@ type CreateIAMPolicyAssignmentOutput struct { } // String returns the string representation -func (s CreateIAMPolicyAssignmentOutput) String() string { +func (s DeleteIAMPolicyAssignmentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateIAMPolicyAssignmentOutput) GoString() string { +func (s DeleteIAMPolicyAssignmentOutput) GoString() string { return s.String() } -// SetAssignmentId sets the AssignmentId field's value. -func (s *CreateIAMPolicyAssignmentOutput) SetAssignmentId(v string) *CreateIAMPolicyAssignmentOutput { - s.AssignmentId = &v +// SetAssignmentName sets the AssignmentName field's value. +func (s *DeleteIAMPolicyAssignmentOutput) SetAssignmentName(v string) *DeleteIAMPolicyAssignmentOutput { + s.AssignmentName = &v return s } -// SetAssignmentName sets the AssignmentName field's value. -func (s *CreateIAMPolicyAssignmentOutput) SetAssignmentName(v string) *CreateIAMPolicyAssignmentOutput { - s.AssignmentName = &v +// SetRequestId sets the RequestId field's value. +func (s *DeleteIAMPolicyAssignmentOutput) SetRequestId(v string) *DeleteIAMPolicyAssignmentOutput { + s.RequestId = &v return s } -// SetAssignmentStatus sets the AssignmentStatus field's value. -func (s *CreateIAMPolicyAssignmentOutput) SetAssignmentStatus(v string) *CreateIAMPolicyAssignmentOutput { - s.AssignmentStatus = &v +// SetStatus sets the Status field's value. +func (s *DeleteIAMPolicyAssignmentOutput) SetStatus(v int64) *DeleteIAMPolicyAssignmentOutput { + s.Status = &v return s } -// SetIdentities sets the Identities field's value. -func (s *CreateIAMPolicyAssignmentOutput) SetIdentities(v map[string][]*string) *CreateIAMPolicyAssignmentOutput { - s.Identities = v +type DeleteNamespaceInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that you want to delete the QuickSight namespace + // from. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The namespace that you want to delete. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteNamespaceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteNamespaceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteNamespaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteNamespaceInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteNamespaceInput) SetAwsAccountId(v string) *DeleteNamespaceInput { + s.AwsAccountId = &v return s } -// SetPolicyArn sets the PolicyArn field's value. -func (s *CreateIAMPolicyAssignmentOutput) SetPolicyArn(v string) *CreateIAMPolicyAssignmentOutput { - s.PolicyArn = &v +// SetNamespace sets the Namespace field's value. +func (s *DeleteNamespaceInput) SetNamespace(v string) *DeleteNamespaceInput { + s.Namespace = &v return s } +type DeleteNamespaceOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DeleteNamespaceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteNamespaceOutput) GoString() string { + return s.String() +} + // SetRequestId sets the RequestId field's value. -func (s *CreateIAMPolicyAssignmentOutput) SetRequestId(v string) *CreateIAMPolicyAssignmentOutput { +func (s *DeleteNamespaceOutput) SetRequestId(v string) *DeleteNamespaceOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateIAMPolicyAssignmentOutput) SetStatus(v int64) *CreateIAMPolicyAssignmentOutput { +func (s *DeleteNamespaceOutput) SetStatus(v int64) *DeleteNamespaceOutput { s.Status = &v return s } -type CreateIngestionInput struct { +type DeleteTemplateAliasInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The name for the template alias. To delete a specific alias, you delete the + // version that the alias points to. You can specify the alias name, or specify + // the latest version of the template by providing the keyword $LATEST in the + // AliasName parameter. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` - // The ID of the dataset used in the ingestion. + // The ID of the AWS account that contains the item to delete. // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // An ID for the ingestion. + // The ID for the template that the specified alias is for. // - // IngestionId is a required field - IngestionId *string `location:"uri" locationName:"IngestionId" min:"1" type:"string" required:"true"` + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateIngestionInput) String() string { +func (s DeleteTemplateAliasInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateIngestionInput) GoString() string { +func (s DeleteTemplateAliasInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateIngestionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateIngestionInput"} +func (s *DeleteTemplateAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTemplateAliasInput"} + if s.AliasName == nil { + invalidParams.Add(request.NewErrParamRequired("AliasName")) + } + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DataSetId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetId")) - } - if s.DataSetId != nil && len(*s.DataSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) - } - if s.IngestionId == nil { - invalidParams.Add(request.NewErrParamRequired("IngestionId")) + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) } - if s.IngestionId != nil && len(*s.IngestionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("IngestionId", 1)) + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) } if invalidParams.Len() > 0 { @@ -9494,129 +15960,114 @@ func (s *CreateIngestionInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateIngestionInput) SetAwsAccountId(v string) *CreateIngestionInput { - s.AwsAccountId = &v +// SetAliasName sets the AliasName field's value. +func (s *DeleteTemplateAliasInput) SetAliasName(v string) *DeleteTemplateAliasInput { + s.AliasName = &v return s } -// SetDataSetId sets the DataSetId field's value. -func (s *CreateIngestionInput) SetDataSetId(v string) *CreateIngestionInput { - s.DataSetId = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteTemplateAliasInput) SetAwsAccountId(v string) *DeleteTemplateAliasInput { + s.AwsAccountId = &v return s } -// SetIngestionId sets the IngestionId field's value. -func (s *CreateIngestionInput) SetIngestionId(v string) *CreateIngestionInput { - s.IngestionId = &v +// SetTemplateId sets the TemplateId field's value. +func (s *DeleteTemplateAliasInput) SetTemplateId(v string) *DeleteTemplateAliasInput { + s.TemplateId = &v return s } -type CreateIngestionOutput struct { +type DeleteTemplateAliasOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the data ingestion. - Arn *string `type:"string"` - - // An ID for the ingestion. - IngestionId *string `min:"1" type:"string"` + // The name for the template alias. + AliasName *string `min:"1" type:"string"` - // The ingestion status. - IngestionStatus *string `type:"string" enum:"IngestionStatus"` + // The Amazon Resource Name (ARN) of the template you want to delete. + Arn *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` + + // An ID for the template associated with the deletion. + TemplateId *string `min:"1" type:"string"` } // String returns the string representation -func (s CreateIngestionOutput) String() string { +func (s DeleteTemplateAliasOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateIngestionOutput) GoString() string { +func (s DeleteTemplateAliasOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *CreateIngestionOutput) SetArn(v string) *CreateIngestionOutput { - s.Arn = &v - return s -} - -// SetIngestionId sets the IngestionId field's value. -func (s *CreateIngestionOutput) SetIngestionId(v string) *CreateIngestionOutput { - s.IngestionId = &v +// SetAliasName sets the AliasName field's value. +func (s *DeleteTemplateAliasOutput) SetAliasName(v string) *DeleteTemplateAliasOutput { + s.AliasName = &v return s } -// SetIngestionStatus sets the IngestionStatus field's value. -func (s *CreateIngestionOutput) SetIngestionStatus(v string) *CreateIngestionOutput { - s.IngestionStatus = &v +// SetArn sets the Arn field's value. +func (s *DeleteTemplateAliasOutput) SetArn(v string) *DeleteTemplateAliasOutput { + s.Arn = &v return s } // SetRequestId sets the RequestId field's value. -func (s *CreateIngestionOutput) SetRequestId(v string) *CreateIngestionOutput { +func (s *DeleteTemplateAliasOutput) SetRequestId(v string) *DeleteTemplateAliasOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateIngestionOutput) SetStatus(v int64) *CreateIngestionOutput { +func (s *DeleteTemplateAliasOutput) SetStatus(v int64) *DeleteTemplateAliasOutput { s.Status = &v return s } -type CreateTemplateAliasInput struct { - _ struct{} `type:"structure"` +// SetTemplateId sets the TemplateId field's value. +func (s *DeleteTemplateAliasOutput) SetTemplateId(v string) *DeleteTemplateAliasOutput { + s.TemplateId = &v + return s +} - // The name that you want to give to the template alias that you're creating. - // Don't start the alias name with the $ character. Alias names that start with - // $ are reserved by QuickSight. - // - // AliasName is a required field - AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` +type DeleteTemplateInput struct { + _ struct{} `type:"structure"` - // The ID of the AWS account that contains the template that you creating an - // alias for. + // The ID of the AWS account that contains the template that you're deleting. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // An ID for the template. + // An ID for the template you want to delete. // // TemplateId is a required field TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` - // The version number of the template. - // - // TemplateVersionNumber is a required field - TemplateVersionNumber *int64 `min:"1" type:"long" required:"true"` + // Specifies the version of the template that you want to delete. If you don't + // provide a version number, DeleteTemplate deletes all versions of the template. + VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` } // String returns the string representation -func (s CreateTemplateAliasInput) String() string { +func (s DeleteTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTemplateAliasInput) GoString() string { +func (s DeleteTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateTemplateAliasInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateTemplateAliasInput"} - if s.AliasName == nil { - invalidParams.Add(request.NewErrParamRequired("AliasName")) - } - if s.AliasName != nil && len(*s.AliasName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) - } +func (s *DeleteTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTemplateInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } @@ -9629,11 +16080,8 @@ func (s *CreateTemplateAliasInput) Validate() error { if s.TemplateId != nil && len(*s.TemplateId) < 1 { invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) } - if s.TemplateVersionNumber == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateVersionNumber")) - } - if s.TemplateVersionNumber != nil && *s.TemplateVersionNumber < 1 { - invalidParams.Add(request.NewErrParamMinValue("TemplateVersionNumber", 1)) + if s.VersionNumber != nil && *s.VersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) } if invalidParams.Len() > 0 { @@ -9642,332 +16090,381 @@ func (s *CreateTemplateAliasInput) Validate() error { return nil } -// SetAliasName sets the AliasName field's value. -func (s *CreateTemplateAliasInput) SetAliasName(v string) *CreateTemplateAliasInput { - s.AliasName = &v - return s -} - // SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateTemplateAliasInput) SetAwsAccountId(v string) *CreateTemplateAliasInput { +func (s *DeleteTemplateInput) SetAwsAccountId(v string) *DeleteTemplateInput { s.AwsAccountId = &v return s } // SetTemplateId sets the TemplateId field's value. -func (s *CreateTemplateAliasInput) SetTemplateId(v string) *CreateTemplateAliasInput { +func (s *DeleteTemplateInput) SetTemplateId(v string) *DeleteTemplateInput { s.TemplateId = &v return s } -// SetTemplateVersionNumber sets the TemplateVersionNumber field's value. -func (s *CreateTemplateAliasInput) SetTemplateVersionNumber(v int64) *CreateTemplateAliasInput { - s.TemplateVersionNumber = &v +// SetVersionNumber sets the VersionNumber field's value. +func (s *DeleteTemplateInput) SetVersionNumber(v int64) *DeleteTemplateInput { + s.VersionNumber = &v return s } -type CreateTemplateAliasOutput struct { +type DeleteTemplateOutput struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the resource. + Arn *string `type:"string"` + // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - // Information about the template alias. - TemplateAlias *TemplateAlias `type:"structure"` + // An ID for the template. + TemplateId *string `min:"1" type:"string"` } // String returns the string representation -func (s CreateTemplateAliasOutput) String() string { +func (s DeleteTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTemplateAliasOutput) GoString() string { +func (s DeleteTemplateOutput) GoString() string { return s.String() } +// SetArn sets the Arn field's value. +func (s *DeleteTemplateOutput) SetArn(v string) *DeleteTemplateOutput { + s.Arn = &v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *CreateTemplateAliasOutput) SetRequestId(v string) *CreateTemplateAliasOutput { +func (s *DeleteTemplateOutput) SetRequestId(v string) *DeleteTemplateOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateTemplateAliasOutput) SetStatus(v int64) *CreateTemplateAliasOutput { +func (s *DeleteTemplateOutput) SetStatus(v int64) *DeleteTemplateOutput { s.Status = &v return s } -// SetTemplateAlias sets the TemplateAlias field's value. -func (s *CreateTemplateAliasOutput) SetTemplateAlias(v *TemplateAlias) *CreateTemplateAliasOutput { - s.TemplateAlias = v +// SetTemplateId sets the TemplateId field's value. +func (s *DeleteTemplateOutput) SetTemplateId(v string) *DeleteTemplateOutput { + s.TemplateId = &v return s } -type CreateTemplateInput struct { +type DeleteThemeAliasInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the group is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. + // The unique name for the theme alias to delete. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - - // A display name for the template. - Name *string `min:"1" type:"string"` - - // A list of resource permissions to be set on the template. - Permissions []*ResourcePermission `min:"1" type:"list"` + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` - // The Amazon Resource Name (ARN) of the source entity from which this template - // is being created. Currently, you can create a template from an analysis or - // another template. If the ARN is for an analysis, include its dataset references. + // The ID of the AWS account that contains the theme alias to delete. // - // SourceEntity is a required field - SourceEntity *TemplateSourceEntity `type:"structure" required:"true"` - - // Contains a map of the key-value pairs for the resource tag or tags assigned - // to the resource. - Tags []*Tag `min:"1" type:"list"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // An ID for the template that you want to create. This template is unique per - // AWS Region in each AWS account. + // The ID for the theme that the specified alias is for. // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` - - // A description of the current template version being created. This API operation - // creates the first version of the template. Every time UpdateTemplate is called, - // a new version is created. Each version of the template maintains a description - // of the version in the VersionDescription field. - VersionDescription *string `min:"1" type:"string"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateTemplateInput) String() string { +func (s DeleteThemeAliasInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTemplateInput) GoString() string { +func (s DeleteThemeAliasInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateTemplateInput"} +func (s *DeleteThemeAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteThemeAliasInput"} + if s.AliasName == nil { + invalidParams.Add(request.NewErrParamRequired("AliasName")) + } + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Permissions != nil && len(s.Permissions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Permissions", 1)) - } - if s.SourceEntity == nil { - invalidParams.Add(request.NewErrParamRequired("SourceEntity")) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) - } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) - } - if s.VersionDescription != nil && len(*s.VersionDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) - } - if s.Permissions != nil { - for i, v := range s.Permissions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), err.(request.ErrInvalidParams)) - } - } + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.SourceEntity != nil { - if err := s.SourceEntity.Validate(); err != nil { - invalidParams.AddNested("SourceEntity", err.(request.ErrInvalidParams)) - } + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil +} + +// SetAliasName sets the AliasName field's value. +func (s *DeleteThemeAliasInput) SetAliasName(v string) *DeleteThemeAliasInput { + s.AliasName = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteThemeAliasInput) SetAwsAccountId(v string) *DeleteThemeAliasInput { + s.AwsAccountId = &v + return s +} + +// SetThemeId sets the ThemeId field's value. +func (s *DeleteThemeAliasInput) SetThemeId(v string) *DeleteThemeAliasInput { + s.ThemeId = &v + return s +} + +type DeleteThemeAliasOutput struct { + _ struct{} `type:"structure"` + + // The name for the theme alias. + AliasName *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the theme resource using the deleted alias. + Arn *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // An ID for the theme associated with the deletion. + ThemeId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DeleteThemeAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteThemeAliasOutput) GoString() string { + return s.String() +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAliasName sets the AliasName field's value. +func (s *DeleteThemeAliasOutput) SetAliasName(v string) *DeleteThemeAliasOutput { + s.AliasName = &v + return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateTemplateInput) SetAwsAccountId(v string) *CreateTemplateInput { - s.AwsAccountId = &v +// SetArn sets the Arn field's value. +func (s *DeleteThemeAliasOutput) SetArn(v string) *DeleteThemeAliasOutput { + s.Arn = &v return s } -// SetName sets the Name field's value. -func (s *CreateTemplateInput) SetName(v string) *CreateTemplateInput { - s.Name = &v +// SetRequestId sets the RequestId field's value. +func (s *DeleteThemeAliasOutput) SetRequestId(v string) *DeleteThemeAliasOutput { + s.RequestId = &v return s } -// SetPermissions sets the Permissions field's value. -func (s *CreateTemplateInput) SetPermissions(v []*ResourcePermission) *CreateTemplateInput { - s.Permissions = v +// SetStatus sets the Status field's value. +func (s *DeleteThemeAliasOutput) SetStatus(v int64) *DeleteThemeAliasOutput { + s.Status = &v return s } -// SetSourceEntity sets the SourceEntity field's value. -func (s *CreateTemplateInput) SetSourceEntity(v *TemplateSourceEntity) *CreateTemplateInput { - s.SourceEntity = v +// SetThemeId sets the ThemeId field's value. +func (s *DeleteThemeAliasOutput) SetThemeId(v string) *DeleteThemeAliasOutput { + s.ThemeId = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateTemplateInput) SetTags(v []*Tag) *CreateTemplateInput { - s.Tags = v +type DeleteThemeInput struct { + _ struct{} `type:"structure"` + + // The ID of the AWS account that contains the theme that you're deleting. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // An ID for the theme that you want to delete. + // + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` + + // The version of the theme that you want to delete. + // + // Note: If you don't provide a version number, you're using this call to DeleteTheme + // to delete all versions of the theme. + VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` +} + +// String returns the string representation +func (s DeleteThemeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteThemeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteThemeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteThemeInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) + } + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) + } + if s.VersionNumber != nil && *s.VersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteThemeInput) SetAwsAccountId(v string) *DeleteThemeInput { + s.AwsAccountId = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *CreateTemplateInput) SetTemplateId(v string) *CreateTemplateInput { - s.TemplateId = &v +// SetThemeId sets the ThemeId field's value. +func (s *DeleteThemeInput) SetThemeId(v string) *DeleteThemeInput { + s.ThemeId = &v return s } -// SetVersionDescription sets the VersionDescription field's value. -func (s *CreateTemplateInput) SetVersionDescription(v string) *CreateTemplateInput { - s.VersionDescription = &v +// SetVersionNumber sets the VersionNumber field's value. +func (s *DeleteThemeInput) SetVersionNumber(v int64) *DeleteThemeInput { + s.VersionNumber = &v return s } -type CreateTemplateOutput struct { +type DeleteThemeOutput struct { _ struct{} `type:"structure"` - // The ARN for the template. + // The Amazon Resource Name (ARN) of the resource. Arn *string `type:"string"` - // The template creation status. - CreationStatus *string `type:"string" enum:"ResourceStatus"` - // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - // The ID of the template. - TemplateId *string `min:"1" type:"string"` - - // The ARN for the template, including the version information of the first - // version. - VersionArn *string `type:"string"` + // An ID for the theme. + ThemeId *string `min:"1" type:"string"` } // String returns the string representation -func (s CreateTemplateOutput) String() string { +func (s DeleteThemeOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateTemplateOutput) GoString() string { +func (s DeleteThemeOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *CreateTemplateOutput) SetArn(v string) *CreateTemplateOutput { +func (s *DeleteThemeOutput) SetArn(v string) *DeleteThemeOutput { s.Arn = &v return s } -// SetCreationStatus sets the CreationStatus field's value. -func (s *CreateTemplateOutput) SetCreationStatus(v string) *CreateTemplateOutput { - s.CreationStatus = &v - return s -} - // SetRequestId sets the RequestId field's value. -func (s *CreateTemplateOutput) SetRequestId(v string) *CreateTemplateOutput { +func (s *DeleteThemeOutput) SetRequestId(v string) *DeleteThemeOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateTemplateOutput) SetStatus(v int64) *CreateTemplateOutput { +func (s *DeleteThemeOutput) SetStatus(v int64) *DeleteThemeOutput { s.Status = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *CreateTemplateOutput) SetTemplateId(v string) *CreateTemplateOutput { - s.TemplateId = &v - return s -} - -// SetVersionArn sets the VersionArn field's value. -func (s *CreateTemplateOutput) SetVersionArn(v string) *CreateTemplateOutput { - s.VersionArn = &v +// SetThemeId sets the ThemeId field's value. +func (s *DeleteThemeOutput) SetThemeId(v string) *DeleteThemeOutput { + s.ThemeId = &v return s } -// The combination of user name and password that are used as credentials. -type CredentialPair struct { +type DeleteUserByPrincipalIdInput struct { _ struct{} `type:"structure"` - // Password. + // The ID for the AWS account that the user is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. // - // Password is a required field - Password *string `min:"1" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // User name. + // The namespace. Currently, you should set this to default. // - // Username is a required field - Username *string `min:"1" type:"string" required:"true"` + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // The principal ID of the user. + // + // PrincipalId is a required field + PrincipalId *string `location:"uri" locationName:"PrincipalId" type:"string" required:"true"` } // String returns the string representation -func (s CredentialPair) String() string { +func (s DeleteUserByPrincipalIdInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CredentialPair) GoString() string { +func (s DeleteUserByPrincipalIdInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CredentialPair) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CredentialPair"} - if s.Password == nil { - invalidParams.Add(request.NewErrParamRequired("Password")) +func (s *DeleteUserByPrincipalIdInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteUserByPrincipalIdInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.Password != nil && len(*s.Password) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Password", 1)) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Username == nil { - invalidParams.Add(request.NewErrParamRequired("Username")) + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) } - if s.Username != nil && len(*s.Username) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Username", 1)) + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + if s.PrincipalId == nil { + invalidParams.Add(request.NewErrParamRequired("PrincipalId")) + } + if s.PrincipalId != nil && len(*s.PrincipalId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1)) } if invalidParams.Len() > 0 { @@ -9976,81 +16473,106 @@ func (s *CredentialPair) Validate() error { return nil } -// SetPassword sets the Password field's value. -func (s *CredentialPair) SetPassword(v string) *CredentialPair { - s.Password = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteUserByPrincipalIdInput) SetAwsAccountId(v string) *DeleteUserByPrincipalIdInput { + s.AwsAccountId = &v return s } -// SetUsername sets the Username field's value. -func (s *CredentialPair) SetUsername(v string) *CredentialPair { - s.Username = &v +// SetNamespace sets the Namespace field's value. +func (s *DeleteUserByPrincipalIdInput) SetNamespace(v string) *DeleteUserByPrincipalIdInput { + s.Namespace = &v return s } -// A physical table type built from the results of the custom SQL query. -type CustomSql struct { +// SetPrincipalId sets the PrincipalId field's value. +func (s *DeleteUserByPrincipalIdInput) SetPrincipalId(v string) *DeleteUserByPrincipalIdInput { + s.PrincipalId = &v + return s +} + +type DeleteUserByPrincipalIdOutput struct { _ struct{} `type:"structure"` - // The column schema from the SQL query result set. - Columns []*InputColumn `min:"1" type:"list"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // The Amazon Resource Name (ARN) of the data source. + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DeleteUserByPrincipalIdOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteUserByPrincipalIdOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteUserByPrincipalIdOutput) SetRequestId(v string) *DeleteUserByPrincipalIdOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteUserByPrincipalIdOutput) SetStatus(v int64) *DeleteUserByPrincipalIdOutput { + s.Status = &v + return s +} + +type DeleteUserInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that the user is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. // - // DataSourceArn is a required field - DataSourceArn *string `type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // A display name for the SQL query result. + // The namespace. Currently, you should set this to default. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` - // The SQL query. + // The name of the user that you want to delete. // - // SqlQuery is a required field - SqlQuery *string `min:"1" type:"string" required:"true"` + // UserName is a required field + UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CustomSql) String() string { +func (s DeleteUserInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CustomSql) GoString() string { +func (s DeleteUserInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CustomSql) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CustomSql"} - if s.Columns != nil && len(s.Columns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Columns", 1)) - } - if s.DataSourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("DataSourceArn")) +func (s *DeleteUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) } - if s.SqlQuery == nil { - invalidParams.Add(request.NewErrParamRequired("SqlQuery")) + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) } - if s.SqlQuery != nil && len(*s.SqlQuery) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SqlQuery", 1)) + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) } - if s.Columns != nil { - for i, v := range s.Columns { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Columns", i), err.(request.ErrInvalidParams)) - } - } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) } if invalidParams.Len() > 0 { @@ -10059,217 +16581,205 @@ func (s *CustomSql) Validate() error { return nil } -// SetColumns sets the Columns field's value. -func (s *CustomSql) SetColumns(v []*InputColumn) *CustomSql { - s.Columns = v - return s -} - -// SetDataSourceArn sets the DataSourceArn field's value. -func (s *CustomSql) SetDataSourceArn(v string) *CustomSql { - s.DataSourceArn = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteUserInput) SetAwsAccountId(v string) *DeleteUserInput { + s.AwsAccountId = &v return s } -// SetName sets the Name field's value. -func (s *CustomSql) SetName(v string) *CustomSql { - s.Name = &v +// SetNamespace sets the Namespace field's value. +func (s *DeleteUserInput) SetNamespace(v string) *DeleteUserInput { + s.Namespace = &v return s } -// SetSqlQuery sets the SqlQuery field's value. -func (s *CustomSql) SetSqlQuery(v string) *CustomSql { - s.SqlQuery = &v +// SetUserName sets the UserName field's value. +func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput { + s.UserName = &v return s } -// Dashboard. -type Dashboard struct { +type DeleteUserOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. - Arn *string `type:"string"` - - // The time that this dataset was created. - CreatedTime *time.Time `type:"timestamp"` - - // Dashboard ID. - DashboardId *string `min:"1" type:"string"` - - // The last time that this dataset was published. - LastPublishedTime *time.Time `type:"timestamp"` - - // The last time that this dataset was updated. - LastUpdatedTime *time.Time `type:"timestamp"` - - // A display name for the dataset. - Name *string `min:"1" type:"string"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // Version. - Version *DashboardVersion `type:"structure"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s Dashboard) String() string { +func (s DeleteUserOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Dashboard) GoString() string { +func (s DeleteUserOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Dashboard) SetArn(v string) *Dashboard { - s.Arn = &v - return s -} - -// SetCreatedTime sets the CreatedTime field's value. -func (s *Dashboard) SetCreatedTime(v time.Time) *Dashboard { - s.CreatedTime = &v - return s -} - -// SetDashboardId sets the DashboardId field's value. -func (s *Dashboard) SetDashboardId(v string) *Dashboard { - s.DashboardId = &v - return s -} - -// SetLastPublishedTime sets the LastPublishedTime field's value. -func (s *Dashboard) SetLastPublishedTime(v time.Time) *Dashboard { - s.LastPublishedTime = &v - return s -} - -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *Dashboard) SetLastUpdatedTime(v time.Time) *Dashboard { - s.LastUpdatedTime = &v - return s -} - -// SetName sets the Name field's value. -func (s *Dashboard) SetName(v string) *Dashboard { - s.Name = &v +// SetRequestId sets the RequestId field's value. +func (s *DeleteUserOutput) SetRequestId(v string) *DeleteUserOutput { + s.RequestId = &v return s } -// SetVersion sets the Version field's value. -func (s *Dashboard) SetVersion(v *DashboardVersion) *Dashboard { - s.Version = v +// SetStatus sets the Status field's value. +func (s *DeleteUserOutput) SetStatus(v int64) *DeleteUserOutput { + s.Status = &v return s } -// Dashboard error. -type DashboardError struct { +type DescribeAccountCustomizationInput struct { _ struct{} `type:"structure"` - // Message. - Message *string `type:"string"` + // The ID for the AWS account that you want to describe QuickSight customizations + // for. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Type. - Type *string `type:"string" enum:"DashboardErrorType"` + // The namespace associated with the customization that you're describing. + Namespace *string `location:"querystring" locationName:"namespace" type:"string"` + + // The status of the creation of the customization. This is an asynchronous + // process. A status of CREATED means that your customization is ready to use. + Resolved *bool `location:"querystring" locationName:"resolved" type:"boolean"` } // String returns the string representation -func (s DashboardError) String() string { +func (s DescribeAccountCustomizationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardError) GoString() string { +func (s DescribeAccountCustomizationInput) GoString() string { return s.String() } -// SetMessage sets the Message field's value. -func (s *DashboardError) SetMessage(v string) *DashboardError { - s.Message = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAccountCustomizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAccountCustomizationInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeAccountCustomizationInput) SetAwsAccountId(v string) *DescribeAccountCustomizationInput { + s.AwsAccountId = &v return s } -// SetType sets the Type field's value. -func (s *DashboardError) SetType(v string) *DashboardError { - s.Type = &v +// SetNamespace sets the Namespace field's value. +func (s *DescribeAccountCustomizationInput) SetNamespace(v string) *DescribeAccountCustomizationInput { + s.Namespace = &v return s } -// Dashboard publish options. -type DashboardPublishOptions struct { +// SetResolved sets the Resolved field's value. +func (s *DescribeAccountCustomizationInput) SetResolved(v bool) *DescribeAccountCustomizationInput { + s.Resolved = &v + return s +} + +type DescribeAccountCustomizationOutput struct { _ struct{} `type:"structure"` - // Ad hoc (one-time) filtering option. - AdHocFilteringOption *AdHocFilteringOption `type:"structure"` + // The customizations associated with QuickSight. + AccountCustomization *AccountCustomization `type:"structure"` - // Export to .csv option. - ExportToCSVOption *ExportToCSVOption `type:"structure"` + // The ID for the AWS account that you want to describe QuickSight customizations + // for. + AwsAccountId *string `min:"12" type:"string"` - // Sheet controls option. - SheetControlsOption *SheetControlsOption `type:"structure"` + // The namespace associated with the customization that you're describing. + Namespace *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DashboardPublishOptions) String() string { +func (s DescribeAccountCustomizationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardPublishOptions) GoString() string { +func (s DescribeAccountCustomizationOutput) GoString() string { return s.String() } -// SetAdHocFilteringOption sets the AdHocFilteringOption field's value. -func (s *DashboardPublishOptions) SetAdHocFilteringOption(v *AdHocFilteringOption) *DashboardPublishOptions { - s.AdHocFilteringOption = v +// SetAccountCustomization sets the AccountCustomization field's value. +func (s *DescribeAccountCustomizationOutput) SetAccountCustomization(v *AccountCustomization) *DescribeAccountCustomizationOutput { + s.AccountCustomization = v return s } -// SetExportToCSVOption sets the ExportToCSVOption field's value. -func (s *DashboardPublishOptions) SetExportToCSVOption(v *ExportToCSVOption) *DashboardPublishOptions { - s.ExportToCSVOption = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeAccountCustomizationOutput) SetAwsAccountId(v string) *DescribeAccountCustomizationOutput { + s.AwsAccountId = &v return s } -// SetSheetControlsOption sets the SheetControlsOption field's value. -func (s *DashboardPublishOptions) SetSheetControlsOption(v *SheetControlsOption) *DashboardPublishOptions { - s.SheetControlsOption = v +// SetNamespace sets the Namespace field's value. +func (s *DescribeAccountCustomizationOutput) SetNamespace(v string) *DescribeAccountCustomizationOutput { + s.Namespace = &v return s } -// A filter that you apply when searching for dashboards. -type DashboardSearchFilter struct { - _ struct{} `type:"structure"` +// SetRequestId sets the RequestId field's value. +func (s *DescribeAccountCustomizationOutput) SetRequestId(v string) *DescribeAccountCustomizationOutput { + s.RequestId = &v + return s +} - // The name of the value that you want to use as a filter. For example, "Name": - // "QUICKSIGHT_USER". - Name *string `type:"string" enum:"DashboardFilterAttribute"` +// SetStatus sets the Status field's value. +func (s *DescribeAccountCustomizationOutput) SetStatus(v int64) *DescribeAccountCustomizationOutput { + s.Status = &v + return s +} - // The comparison operator that you want to use as a filter. For example, "Operator": - // "StringEquals". - // - // Operator is a required field - Operator *string `type:"string" required:"true" enum:"FilterOperator"` +type DescribeAccountSettingsInput struct { + _ struct{} `type:"structure"` - // The value of the named item, in this case QUICKSIGHT_USER, that you want - // to use as a filter. For example, "Value": "arn:aws:quicksight:us-east-1:1:user/default/UserName1". - Value *string `type:"string"` + // The ID for the AWS account that contains the QuickSight namespaces that you + // want to list. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` } // String returns the string representation -func (s DashboardSearchFilter) String() string { +func (s DescribeAccountSettingsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardSearchFilter) GoString() string { +func (s DescribeAccountSettingsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DashboardSearchFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DashboardSearchFilter"} - if s.Operator == nil { - invalidParams.Add(request.NewErrParamRequired("Operator")) +func (s *DescribeAccountSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAccountSettingsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } if invalidParams.Len() > 0 { @@ -10278,109 +16788,109 @@ func (s *DashboardSearchFilter) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *DashboardSearchFilter) SetName(v string) *DashboardSearchFilter { - s.Name = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeAccountSettingsInput) SetAwsAccountId(v string) *DescribeAccountSettingsInput { + s.AwsAccountId = &v return s } -// SetOperator sets the Operator field's value. -func (s *DashboardSearchFilter) SetOperator(v string) *DashboardSearchFilter { - s.Operator = &v - return s -} +type DescribeAccountSettingsOutput struct { + _ struct{} `type:"structure"` -// SetValue sets the Value field's value. -func (s *DashboardSearchFilter) SetValue(v string) *DashboardSearchFilter { - s.Value = &v - return s -} + // The settings associated with the QuickSight subscription associated with + // this AWS account. This information includes the edition of Amazon QuickSight + // that you subscribed to (Standard or Enterprise) and the notification email + // for the QuickSight subscription. The QuickSight console, the QuickSight subscription + // is sometimes referred to as a QuickSight "account" even though it is technically + // not an account, but a subscription in your AWS account. + AccountSettings *AccountSettings `type:"structure"` -// Dashboard source entity. -type DashboardSourceEntity struct { - _ struct{} `type:"structure"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // Source template. - SourceTemplate *DashboardSourceTemplate `type:"structure"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DashboardSourceEntity) String() string { +func (s DescribeAccountSettingsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardSourceEntity) GoString() string { +func (s DescribeAccountSettingsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DashboardSourceEntity) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DashboardSourceEntity"} - if s.SourceTemplate != nil { - if err := s.SourceTemplate.Validate(); err != nil { - invalidParams.AddNested("SourceTemplate", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAccountSettings sets the AccountSettings field's value. +func (s *DescribeAccountSettingsOutput) SetAccountSettings(v *AccountSettings) *DescribeAccountSettingsOutput { + s.AccountSettings = v + return s } -// SetSourceTemplate sets the SourceTemplate field's value. -func (s *DashboardSourceEntity) SetSourceTemplate(v *DashboardSourceTemplate) *DashboardSourceEntity { - s.SourceTemplate = v +// SetRequestId sets the RequestId field's value. +func (s *DescribeAccountSettingsOutput) SetRequestId(v string) *DescribeAccountSettingsOutput { + s.RequestId = &v return s } -// Dashboard source template. -type DashboardSourceTemplate struct { +// SetStatus sets the Status field's value. +func (s *DescribeAccountSettingsOutput) SetStatus(v int64) *DescribeAccountSettingsOutput { + s.Status = &v + return s +} + +type DescribeDashboardInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. + // The alias name. + AliasName *string `location:"querystring" locationName:"alias-name" min:"1" type:"string"` + + // The ID of the AWS account that contains the dashboard that you're describing. // - // Arn is a required field - Arn *string `type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Dataset references. + // The ID for the dashboard. // - // DataSetReferences is a required field - DataSetReferences []*DataSetReference `min:"1" type:"list" required:"true"` + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + + // The version number for the dashboard. If a version number isn't passed, the + // latest published dashboard version is described. + VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` } // String returns the string representation -func (s DashboardSourceTemplate) String() string { +func (s DescribeDashboardInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardSourceTemplate) GoString() string { +func (s DescribeDashboardInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DashboardSourceTemplate) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DashboardSourceTemplate"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) +func (s *DescribeDashboardInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDashboardInput"} + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) } - if s.DataSetReferences == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetReferences")) + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.DataSetReferences != nil && len(s.DataSetReferences) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetReferences", 1)) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DataSetReferences != nil { - for i, v := range s.DataSetReferences { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataSetReferences", i), err.(request.ErrInvalidParams)) - } - } + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) + } + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + } + if s.VersionNumber != nil && *s.VersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) } if invalidParams.Len() > 0 { @@ -10389,445 +16899,447 @@ func (s *DashboardSourceTemplate) Validate() error { return nil } -// SetArn sets the Arn field's value. -func (s *DashboardSourceTemplate) SetArn(v string) *DashboardSourceTemplate { - s.Arn = &v +// SetAliasName sets the AliasName field's value. +func (s *DescribeDashboardInput) SetAliasName(v string) *DescribeDashboardInput { + s.AliasName = &v return s } -// SetDataSetReferences sets the DataSetReferences field's value. -func (s *DashboardSourceTemplate) SetDataSetReferences(v []*DataSetReference) *DashboardSourceTemplate { - s.DataSetReferences = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDashboardInput) SetAwsAccountId(v string) *DescribeDashboardInput { + s.AwsAccountId = &v return s } -// Dashboard summary. -type DashboardSummary struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the resource. - Arn *string `type:"string"` - - // The time that this dashboard was created. - CreatedTime *time.Time `type:"timestamp"` +// SetDashboardId sets the DashboardId field's value. +func (s *DescribeDashboardInput) SetDashboardId(v string) *DescribeDashboardInput { + s.DashboardId = &v + return s +} - // Dashboard ID. - DashboardId *string `min:"1" type:"string"` +// SetVersionNumber sets the VersionNumber field's value. +func (s *DescribeDashboardInput) SetVersionNumber(v int64) *DescribeDashboardInput { + s.VersionNumber = &v + return s +} - // The last time that this dashboard was published. - LastPublishedTime *time.Time `type:"timestamp"` +type DescribeDashboardOutput struct { + _ struct{} `type:"structure"` - // The last time that this dashboard was updated. - LastUpdatedTime *time.Time `type:"timestamp"` + // Information about the dashboard. + Dashboard *Dashboard `type:"structure"` - // A display name for the dashboard. - Name *string `min:"1" type:"string"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // Published version number. - PublishedVersionNumber *int64 `min:"1" type:"long"` + // The HTTP status of this request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DashboardSummary) String() string { +func (s DescribeDashboardOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardSummary) GoString() string { +func (s DescribeDashboardOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DashboardSummary) SetArn(v string) *DashboardSummary { - s.Arn = &v - return s -} - -// SetCreatedTime sets the CreatedTime field's value. -func (s *DashboardSummary) SetCreatedTime(v time.Time) *DashboardSummary { - s.CreatedTime = &v - return s -} - -// SetDashboardId sets the DashboardId field's value. -func (s *DashboardSummary) SetDashboardId(v string) *DashboardSummary { - s.DashboardId = &v - return s -} - -// SetLastPublishedTime sets the LastPublishedTime field's value. -func (s *DashboardSummary) SetLastPublishedTime(v time.Time) *DashboardSummary { - s.LastPublishedTime = &v - return s -} - -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *DashboardSummary) SetLastUpdatedTime(v time.Time) *DashboardSummary { - s.LastUpdatedTime = &v +// SetDashboard sets the Dashboard field's value. +func (s *DescribeDashboardOutput) SetDashboard(v *Dashboard) *DescribeDashboardOutput { + s.Dashboard = v return s } -// SetName sets the Name field's value. -func (s *DashboardSummary) SetName(v string) *DashboardSummary { - s.Name = &v +// SetRequestId sets the RequestId field's value. +func (s *DescribeDashboardOutput) SetRequestId(v string) *DescribeDashboardOutput { + s.RequestId = &v return s } -// SetPublishedVersionNumber sets the PublishedVersionNumber field's value. -func (s *DashboardSummary) SetPublishedVersionNumber(v int64) *DashboardSummary { - s.PublishedVersionNumber = &v +// SetStatus sets the Status field's value. +func (s *DescribeDashboardOutput) SetStatus(v int64) *DescribeDashboardOutput { + s.Status = &v return s } -// Dashboard version. -type DashboardVersion struct { +type DescribeDashboardPermissionsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. - Arn *string `type:"string"` - - // The time that this dashboard version was created. - CreatedTime *time.Time `type:"timestamp"` - - // Description. - Description *string `min:"1" type:"string"` - - // Errors. - Errors []*DashboardError `min:"1" type:"list"` - - // Source entity ARN. - SourceEntityArn *string `type:"string"` - - // The HTTP status of the request. - Status *string `type:"string" enum:"ResourceStatus"` + // The ID of the AWS account that contains the dashboard that you're describing + // permissions for. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Version number. - VersionNumber *int64 `min:"1" type:"long"` + // The ID for the dashboard, also added to the IAM policy. + // + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DashboardVersion) String() string { +func (s DescribeDashboardPermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardVersion) GoString() string { +func (s DescribeDashboardPermissionsInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DashboardVersion) SetArn(v string) *DashboardVersion { - s.Arn = &v - return s -} - -// SetCreatedTime sets the CreatedTime field's value. -func (s *DashboardVersion) SetCreatedTime(v time.Time) *DashboardVersion { - s.CreatedTime = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *DashboardVersion) SetDescription(v string) *DashboardVersion { - s.Description = &v - return s -} - -// SetErrors sets the Errors field's value. -func (s *DashboardVersion) SetErrors(v []*DashboardError) *DashboardVersion { - s.Errors = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDashboardPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDashboardPermissionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) + } + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + } -// SetSourceEntityArn sets the SourceEntityArn field's value. -func (s *DashboardVersion) SetSourceEntityArn(v string) *DashboardVersion { - s.SourceEntityArn = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStatus sets the Status field's value. -func (s *DashboardVersion) SetStatus(v string) *DashboardVersion { - s.Status = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDashboardPermissionsInput) SetAwsAccountId(v string) *DescribeDashboardPermissionsInput { + s.AwsAccountId = &v return s } -// SetVersionNumber sets the VersionNumber field's value. -func (s *DashboardVersion) SetVersionNumber(v int64) *DashboardVersion { - s.VersionNumber = &v +// SetDashboardId sets the DashboardId field's value. +func (s *DescribeDashboardPermissionsInput) SetDashboardId(v string) *DescribeDashboardPermissionsInput { + s.DashboardId = &v return s } -// Dashboard version summary. -type DashboardVersionSummary struct { +type DescribeDashboardPermissionsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. - Arn *string `type:"string"` + // The Amazon Resource Name (ARN) of the dashboard. + DashboardArn *string `type:"string"` - // The time that this dashboard version was created. - CreatedTime *time.Time `type:"timestamp"` + // The ID for the dashboard. + DashboardId *string `min:"1" type:"string"` - // Description. - Description *string `min:"1" type:"string"` + // A structure that contains the permissions for the dashboard. + Permissions []*ResourcePermission `min:"1" type:"list"` - // Source entity ARN. - SourceEntityArn *string `type:"string"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` // The HTTP status of the request. - Status *string `type:"string" enum:"ResourceStatus"` - - // Version number. - VersionNumber *int64 `min:"1" type:"long"` + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DashboardVersionSummary) String() string { +func (s DescribeDashboardPermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DashboardVersionSummary) GoString() string { +func (s DescribeDashboardPermissionsOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DashboardVersionSummary) SetArn(v string) *DashboardVersionSummary { - s.Arn = &v +// SetDashboardArn sets the DashboardArn field's value. +func (s *DescribeDashboardPermissionsOutput) SetDashboardArn(v string) *DescribeDashboardPermissionsOutput { + s.DashboardArn = &v return s } -// SetCreatedTime sets the CreatedTime field's value. -func (s *DashboardVersionSummary) SetCreatedTime(v time.Time) *DashboardVersionSummary { - s.CreatedTime = &v +// SetDashboardId sets the DashboardId field's value. +func (s *DescribeDashboardPermissionsOutput) SetDashboardId(v string) *DescribeDashboardPermissionsOutput { + s.DashboardId = &v return s } -// SetDescription sets the Description field's value. -func (s *DashboardVersionSummary) SetDescription(v string) *DashboardVersionSummary { - s.Description = &v +// SetPermissions sets the Permissions field's value. +func (s *DescribeDashboardPermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeDashboardPermissionsOutput { + s.Permissions = v return s } -// SetSourceEntityArn sets the SourceEntityArn field's value. -func (s *DashboardVersionSummary) SetSourceEntityArn(v string) *DashboardVersionSummary { - s.SourceEntityArn = &v +// SetRequestId sets the RequestId field's value. +func (s *DescribeDashboardPermissionsOutput) SetRequestId(v string) *DescribeDashboardPermissionsOutput { + s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DashboardVersionSummary) SetStatus(v string) *DashboardVersionSummary { +func (s *DescribeDashboardPermissionsOutput) SetStatus(v int64) *DescribeDashboardPermissionsOutput { s.Status = &v return s } -// SetVersionNumber sets the VersionNumber field's value. -func (s *DashboardVersionSummary) SetVersionNumber(v int64) *DashboardVersionSummary { - s.VersionNumber = &v - return s -} - -// Dataset. -type DataSet struct { +type DescribeDataSetInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. - Arn *string `type:"string"` + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Groupings of columns that work together in certain Amazon QuickSight features. - // Currently, only geospatial hierarchy is supported. - ColumnGroups []*ColumnGroup `min:"1" type:"list"` + // The ID for the dataset that you want to create. This ID is unique per AWS + // Region for each AWS account. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` +} - // The amount of SPICE capacity used by this dataset. This is 0 if the dataset - // isn't imported into SPICE. - ConsumedSpiceCapacityInBytes *int64 `type:"long"` +// String returns the string representation +func (s DescribeDataSetInput) String() string { + return awsutil.Prettify(s) +} - // The time that this dataset was created. - CreatedTime *time.Time `type:"timestamp"` +// GoString returns the string representation +func (s DescribeDataSetInput) GoString() string { + return s.String() +} - // The ID of the dataset. - DataSetId *string `type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDataSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDataSetInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + } - // Indicates whether you want to import the data into SPICE. - ImportMode *string `type:"string" enum:"DataSetImportMode"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The last time that this dataset was updated. - LastUpdatedTime *time.Time `type:"timestamp"` +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDataSetInput) SetAwsAccountId(v string) *DescribeDataSetInput { + s.AwsAccountId = &v + return s +} - // Configures the combination and transformation of the data from the physical - // tables. - LogicalTableMap map[string]*LogicalTable `min:"1" type:"map"` +// SetDataSetId sets the DataSetId field's value. +func (s *DescribeDataSetInput) SetDataSetId(v string) *DescribeDataSetInput { + s.DataSetId = &v + return s +} - // A display name for the dataset. - Name *string `min:"1" type:"string"` +type DescribeDataSetOutput struct { + _ struct{} `type:"structure"` - // The list of columns after all transforms. These columns are available in - // templates, analyses, and dashboards. - OutputColumns []*OutputColumn `type:"list"` + // Information on the dataset. + DataSet *DataSet `type:"structure"` - // Declares the physical tables that are available in the underlying data sources. - PhysicalTableMap map[string]*PhysicalTable `min:"1" type:"map"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // The row-level security configuration for the dataset. - RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DataSet) String() string { +func (s DescribeDataSetOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSet) GoString() string { +func (s DescribeDataSetOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DataSet) SetArn(v string) *DataSet { - s.Arn = &v +// SetDataSet sets the DataSet field's value. +func (s *DescribeDataSetOutput) SetDataSet(v *DataSet) *DescribeDataSetOutput { + s.DataSet = v return s } -// SetColumnGroups sets the ColumnGroups field's value. -func (s *DataSet) SetColumnGroups(v []*ColumnGroup) *DataSet { - s.ColumnGroups = v +// SetRequestId sets the RequestId field's value. +func (s *DescribeDataSetOutput) SetRequestId(v string) *DescribeDataSetOutput { + s.RequestId = &v return s } -// SetConsumedSpiceCapacityInBytes sets the ConsumedSpiceCapacityInBytes field's value. -func (s *DataSet) SetConsumedSpiceCapacityInBytes(v int64) *DataSet { - s.ConsumedSpiceCapacityInBytes = &v +// SetStatus sets the Status field's value. +func (s *DescribeDataSetOutput) SetStatus(v int64) *DescribeDataSetOutput { + s.Status = &v return s } -// SetCreatedTime sets the CreatedTime field's value. -func (s *DataSet) SetCreatedTime(v time.Time) *DataSet { - s.CreatedTime = &v - return s -} +type DescribeDataSetPermissionsInput struct { + _ struct{} `type:"structure"` -// SetDataSetId sets the DataSetId field's value. -func (s *DataSet) SetDataSetId(v string) *DataSet { - s.DataSetId = &v - return s -} + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` -// SetImportMode sets the ImportMode field's value. -func (s *DataSet) SetImportMode(v string) *DataSet { - s.ImportMode = &v - return s + // The ID for the dataset that you want to create. This ID is unique per AWS + // Region for each AWS account. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` } -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *DataSet) SetLastUpdatedTime(v time.Time) *DataSet { - s.LastUpdatedTime = &v - return s +// String returns the string representation +func (s DescribeDataSetPermissionsInput) String() string { + return awsutil.Prettify(s) } -// SetLogicalTableMap sets the LogicalTableMap field's value. -func (s *DataSet) SetLogicalTableMap(v map[string]*LogicalTable) *DataSet { - s.LogicalTableMap = v - return s +// GoString returns the string representation +func (s DescribeDataSetPermissionsInput) GoString() string { + return s.String() } -// SetName sets the Name field's value. -func (s *DataSet) SetName(v string) *DataSet { - s.Name = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDataSetPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDataSetPermissionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + } -// SetOutputColumns sets the OutputColumns field's value. -func (s *DataSet) SetOutputColumns(v []*OutputColumn) *DataSet { - s.OutputColumns = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetPhysicalTableMap sets the PhysicalTableMap field's value. -func (s *DataSet) SetPhysicalTableMap(v map[string]*PhysicalTable) *DataSet { - s.PhysicalTableMap = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDataSetPermissionsInput) SetAwsAccountId(v string) *DescribeDataSetPermissionsInput { + s.AwsAccountId = &v return s } -// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. -func (s *DataSet) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *DataSet { - s.RowLevelPermissionDataSet = v +// SetDataSetId sets the DataSetId field's value. +func (s *DescribeDataSetPermissionsInput) SetDataSetId(v string) *DescribeDataSetPermissionsInput { + s.DataSetId = &v return s } -// Dataset configuration. -type DataSetConfiguration struct { +type DescribeDataSetPermissionsOutput struct { _ struct{} `type:"structure"` - // A structure containing the list of column group schemas. - ColumnGroupSchemaList []*ColumnGroupSchema `type:"list"` + // The Amazon Resource Name (ARN) of the dataset. + DataSetArn *string `type:"string"` - // Dataset schema. - DataSetSchema *DataSetSchema `type:"structure"` + // The ID for the dataset that you want to create. This ID is unique per AWS + // Region for each AWS account. + DataSetId *string `type:"string"` - // Placeholder. - Placeholder *string `type:"string"` + // A list of resource permissions on the dataset. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DataSetConfiguration) String() string { +func (s DescribeDataSetPermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSetConfiguration) GoString() string { +func (s DescribeDataSetPermissionsOutput) GoString() string { return s.String() } -// SetColumnGroupSchemaList sets the ColumnGroupSchemaList field's value. -func (s *DataSetConfiguration) SetColumnGroupSchemaList(v []*ColumnGroupSchema) *DataSetConfiguration { - s.ColumnGroupSchemaList = v +// SetDataSetArn sets the DataSetArn field's value. +func (s *DescribeDataSetPermissionsOutput) SetDataSetArn(v string) *DescribeDataSetPermissionsOutput { + s.DataSetArn = &v return s } -// SetDataSetSchema sets the DataSetSchema field's value. -func (s *DataSetConfiguration) SetDataSetSchema(v *DataSetSchema) *DataSetConfiguration { - s.DataSetSchema = v +// SetDataSetId sets the DataSetId field's value. +func (s *DescribeDataSetPermissionsOutput) SetDataSetId(v string) *DescribeDataSetPermissionsOutput { + s.DataSetId = &v return s } -// SetPlaceholder sets the Placeholder field's value. -func (s *DataSetConfiguration) SetPlaceholder(v string) *DataSetConfiguration { - s.Placeholder = &v +// SetPermissions sets the Permissions field's value. +func (s *DescribeDataSetPermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeDataSetPermissionsOutput { + s.Permissions = v return s } -// Dataset reference. -type DataSetReference struct { +// SetRequestId sets the RequestId field's value. +func (s *DescribeDataSetPermissionsOutput) SetRequestId(v string) *DescribeDataSetPermissionsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeDataSetPermissionsOutput) SetStatus(v int64) *DescribeDataSetPermissionsOutput { + s.Status = &v + return s +} + +type DescribeDataSourceInput struct { _ struct{} `type:"structure"` - // Dataset Amazon Resource Name (ARN). + // The AWS account ID. // - // DataSetArn is a required field - DataSetArn *string `type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Dataset placeholder. + // The ID of the data source. This ID is unique per AWS Region for each AWS + // account. // - // DataSetPlaceholder is a required field - DataSetPlaceholder *string `type:"string" required:"true"` + // DataSourceId is a required field + DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` } // String returns the string representation -func (s DataSetReference) String() string { +func (s DescribeDataSourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSetReference) GoString() string { +func (s DescribeDataSourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DataSetReference) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DataSetReference"} - if s.DataSetArn == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetArn")) +func (s *DescribeDataSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDataSourceInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.DataSetPlaceholder == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetPlaceholder")) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSourceId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceId")) + } + if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) } if invalidParams.Len() > 0 { @@ -10836,266 +17348,228 @@ func (s *DataSetReference) Validate() error { return nil } -// SetDataSetArn sets the DataSetArn field's value. -func (s *DataSetReference) SetDataSetArn(v string) *DataSetReference { - s.DataSetArn = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDataSourceInput) SetAwsAccountId(v string) *DescribeDataSourceInput { + s.AwsAccountId = &v return s } -// SetDataSetPlaceholder sets the DataSetPlaceholder field's value. -func (s *DataSetReference) SetDataSetPlaceholder(v string) *DataSetReference { - s.DataSetPlaceholder = &v +// SetDataSourceId sets the DataSourceId field's value. +func (s *DescribeDataSourceInput) SetDataSourceId(v string) *DescribeDataSourceInput { + s.DataSourceId = &v return s } -// Dataset schema. -type DataSetSchema struct { +type DescribeDataSourceOutput struct { _ struct{} `type:"structure"` - // A structure containing the list of column schemas. - ColumnSchemaList []*ColumnSchema `type:"list"` + // The information on the data source. + DataSource *DataSource `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DataSetSchema) String() string { +func (s DescribeDataSourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSetSchema) GoString() string { +func (s DescribeDataSourceOutput) GoString() string { return s.String() } -// SetColumnSchemaList sets the ColumnSchemaList field's value. -func (s *DataSetSchema) SetColumnSchemaList(v []*ColumnSchema) *DataSetSchema { - s.ColumnSchemaList = v +// SetDataSource sets the DataSource field's value. +func (s *DescribeDataSourceOutput) SetDataSource(v *DataSource) *DescribeDataSourceOutput { + s.DataSource = v return s } -// Dataset summary. -type DataSetSummary struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the dataset. - Arn *string `type:"string"` - - // The time that this dataset was created. - CreatedTime *time.Time `type:"timestamp"` - - // The ID of the dataset. - DataSetId *string `type:"string"` +// SetRequestId sets the RequestId field's value. +func (s *DescribeDataSourceOutput) SetRequestId(v string) *DescribeDataSourceOutput { + s.RequestId = &v + return s +} - // Indicates whether you want to import the data into SPICE. - ImportMode *string `type:"string" enum:"DataSetImportMode"` +// SetStatus sets the Status field's value. +func (s *DescribeDataSourceOutput) SetStatus(v int64) *DescribeDataSourceOutput { + s.Status = &v + return s +} - // The last time that this dataset was updated. - LastUpdatedTime *time.Time `type:"timestamp"` +type DescribeDataSourcePermissionsInput struct { + _ struct{} `type:"structure"` - // A display name for the dataset. - Name *string `min:"1" type:"string"` + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The row-level security configuration for the dataset. - RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` + // The ID of the data source. This ID is unique per AWS Region for each AWS + // account. + // + // DataSourceId is a required field + DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` } // String returns the string representation -func (s DataSetSummary) String() string { +func (s DescribeDataSourcePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSetSummary) GoString() string { +func (s DescribeDataSourcePermissionsInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DataSetSummary) SetArn(v string) *DataSetSummary { - s.Arn = &v - return s -} - -// SetCreatedTime sets the CreatedTime field's value. -func (s *DataSetSummary) SetCreatedTime(v time.Time) *DataSetSummary { - s.CreatedTime = &v - return s -} - -// SetDataSetId sets the DataSetId field's value. -func (s *DataSetSummary) SetDataSetId(v string) *DataSetSummary { - s.DataSetId = &v - return s -} - -// SetImportMode sets the ImportMode field's value. -func (s *DataSetSummary) SetImportMode(v string) *DataSetSummary { - s.ImportMode = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDataSourcePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDataSourcePermissionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSourceId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceId")) + } + if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) + } -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *DataSetSummary) SetLastUpdatedTime(v time.Time) *DataSetSummary { - s.LastUpdatedTime = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetName sets the Name field's value. -func (s *DataSetSummary) SetName(v string) *DataSetSummary { - s.Name = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeDataSourcePermissionsInput) SetAwsAccountId(v string) *DescribeDataSourcePermissionsInput { + s.AwsAccountId = &v return s } -// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. -func (s *DataSetSummary) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *DataSetSummary { - s.RowLevelPermissionDataSet = v +// SetDataSourceId sets the DataSourceId field's value. +func (s *DescribeDataSourcePermissionsInput) SetDataSourceId(v string) *DescribeDataSourcePermissionsInput { + s.DataSourceId = &v return s } -// The structure of a data source. -type DataSource struct { +type DescribeDataSourcePermissionsOutput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the data source. - Arn *string `type:"string"` - - // The time that this data source was created. - CreatedTime *time.Time `type:"timestamp"` + DataSourceArn *string `type:"string"` // The ID of the data source. This ID is unique per AWS Region for each AWS // account. DataSourceId *string `type:"string"` - // The parameters that Amazon QuickSight uses to connect to your underlying - // source. This is a variant type structure. For this structure to be valid, - // only one of the attributes can be non-null. - DataSourceParameters *DataSourceParameters `type:"structure"` - - // Error information from the last update or the creation of the data source. - ErrorInfo *DataSourceErrorInfo `type:"structure"` - - // The last time that this data source was updated. - LastUpdatedTime *time.Time `type:"timestamp"` - - // A display name for the data source. - Name *string `min:"1" type:"string"` - - // Secure Socket Layer (SSL) properties that apply when QuickSight connects - // to your underlying source. - SslProperties *SslProperties `type:"structure"` - - // The HTTP status of the request. - Status *string `type:"string" enum:"ResourceStatus"` + // A list of resource permissions on the data source. + Permissions []*ResourcePermission `min:"1" type:"list"` - // The type of the data source. This type indicates which database engine the - // data source connects to. - Type *string `type:"string" enum:"DataSourceType"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // The VPC connection information. You need to use this parameter only when - // you want QuickSight to use a VPC connection when connecting to your underlying - // source. - VpcConnectionProperties *VpcConnectionProperties `type:"structure"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DataSource) String() string { +func (s DescribeDataSourcePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSource) GoString() string { +func (s DescribeDataSourcePermissionsOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DataSource) SetArn(v string) *DataSource { - s.Arn = &v - return s -} - -// SetCreatedTime sets the CreatedTime field's value. -func (s *DataSource) SetCreatedTime(v time.Time) *DataSource { - s.CreatedTime = &v +// SetDataSourceArn sets the DataSourceArn field's value. +func (s *DescribeDataSourcePermissionsOutput) SetDataSourceArn(v string) *DescribeDataSourcePermissionsOutput { + s.DataSourceArn = &v return s } // SetDataSourceId sets the DataSourceId field's value. -func (s *DataSource) SetDataSourceId(v string) *DataSource { +func (s *DescribeDataSourcePermissionsOutput) SetDataSourceId(v string) *DescribeDataSourcePermissionsOutput { s.DataSourceId = &v return s } -// SetDataSourceParameters sets the DataSourceParameters field's value. -func (s *DataSource) SetDataSourceParameters(v *DataSourceParameters) *DataSource { - s.DataSourceParameters = v - return s -} - -// SetErrorInfo sets the ErrorInfo field's value. -func (s *DataSource) SetErrorInfo(v *DataSourceErrorInfo) *DataSource { - s.ErrorInfo = v - return s -} - -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *DataSource) SetLastUpdatedTime(v time.Time) *DataSource { - s.LastUpdatedTime = &v - return s -} - -// SetName sets the Name field's value. -func (s *DataSource) SetName(v string) *DataSource { - s.Name = &v +// SetPermissions sets the Permissions field's value. +func (s *DescribeDataSourcePermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeDataSourcePermissionsOutput { + s.Permissions = v return s } -// SetSslProperties sets the SslProperties field's value. -func (s *DataSource) SetSslProperties(v *SslProperties) *DataSource { - s.SslProperties = v +// SetRequestId sets the RequestId field's value. +func (s *DescribeDataSourcePermissionsOutput) SetRequestId(v string) *DescribeDataSourcePermissionsOutput { + s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DataSource) SetStatus(v string) *DataSource { +func (s *DescribeDataSourcePermissionsOutput) SetStatus(v int64) *DescribeDataSourcePermissionsOutput { s.Status = &v return s } -// SetType sets the Type field's value. -func (s *DataSource) SetType(v string) *DataSource { - s.Type = &v - return s -} +type DescribeGroupInput struct { + _ struct{} `type:"structure"` -// SetVpcConnectionProperties sets the VpcConnectionProperties field's value. -func (s *DataSource) SetVpcConnectionProperties(v *VpcConnectionProperties) *DataSource { - s.VpcConnectionProperties = v - return s -} + // The ID for the AWS account that the group is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` -// Data source credentials. -type DataSourceCredentials struct { - _ struct{} `type:"structure" sensitive:"true"` + // The name of the group that you want to describe. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` - // Credential pair. - CredentialPair *CredentialPair `type:"structure"` + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` } // String returns the string representation -func (s DataSourceCredentials) String() string { +func (s DescribeGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSourceCredentials) GoString() string { +func (s DescribeGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DataSourceCredentials) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DataSourceCredentials"} - if s.CredentialPair != nil { - if err := s.CredentialPair.Validate(); err != nil { - invalidParams.AddNested("CredentialPair", err.(request.ErrInvalidParams)) - } +func (s *DescribeGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeGroupInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) } if invalidParams.Len() > 0 { @@ -11104,216 +17578,230 @@ func (s *DataSourceCredentials) Validate() error { return nil } -// SetCredentialPair sets the CredentialPair field's value. -func (s *DataSourceCredentials) SetCredentialPair(v *CredentialPair) *DataSourceCredentials { - s.CredentialPair = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeGroupInput) SetAwsAccountId(v string) *DescribeGroupInput { + s.AwsAccountId = &v return s } -// Error information for the data source creation or update. -type DataSourceErrorInfo struct { +// SetGroupName sets the GroupName field's value. +func (s *DescribeGroupInput) SetGroupName(v string) *DescribeGroupInput { + s.GroupName = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *DescribeGroupInput) SetNamespace(v string) *DescribeGroupInput { + s.Namespace = &v + return s +} + +type DescribeGroupOutput struct { _ struct{} `type:"structure"` - // Error message. - Message *string `type:"string"` + // The name of the group. + Group *Group `type:"structure"` - // Error type. - Type *string `type:"string" enum:"DataSourceErrorInfoType"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DataSourceErrorInfo) String() string { +func (s DescribeGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSourceErrorInfo) GoString() string { +func (s DescribeGroupOutput) GoString() string { return s.String() } -// SetMessage sets the Message field's value. -func (s *DataSourceErrorInfo) SetMessage(v string) *DataSourceErrorInfo { - s.Message = &v +// SetGroup sets the Group field's value. +func (s *DescribeGroupOutput) SetGroup(v *Group) *DescribeGroupOutput { + s.Group = v return s } -// SetType sets the Type field's value. -func (s *DataSourceErrorInfo) SetType(v string) *DataSourceErrorInfo { - s.Type = &v +// SetRequestId sets the RequestId field's value. +func (s *DescribeGroupOutput) SetRequestId(v string) *DescribeGroupOutput { + s.RequestId = &v return s } -// The parameters that Amazon QuickSight uses to connect to your underlying -// data source. This is a variant type structure. For this structure to be valid, -// only one of the attributes can be non-null. -type DataSourceParameters struct { +// SetStatus sets the Status field's value. +func (s *DescribeGroupOutput) SetStatus(v int64) *DescribeGroupOutput { + s.Status = &v + return s +} + +type DescribeIAMPolicyAssignmentInput struct { _ struct{} `type:"structure"` - // Amazon Elasticsearch Service parameters. - AmazonElasticsearchParameters *AmazonElasticsearchParameters `type:"structure"` + // The name of the assignment. + // + // AssignmentName is a required field + AssignmentName *string `location:"uri" locationName:"AssignmentName" min:"1" type:"string" required:"true"` - // Amazon Athena parameters. - AthenaParameters *AthenaParameters `type:"structure"` + // The ID of the AWS account that contains the assignment that you want to describe. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Amazon Aurora MySQL parameters. - AuroraParameters *AuroraParameters `type:"structure"` + // The namespace that contains the assignment. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` +} - // Aurora PostgreSQL parameters. - AuroraPostgreSqlParameters *AuroraPostgreSqlParameters `type:"structure"` +// String returns the string representation +func (s DescribeIAMPolicyAssignmentInput) String() string { + return awsutil.Prettify(s) +} - // AWS IoT Analytics parameters. - AwsIotAnalyticsParameters *AwsIotAnalyticsParameters `type:"structure"` +// GoString returns the string representation +func (s DescribeIAMPolicyAssignmentInput) GoString() string { + return s.String() +} - // Jira parameters. - JiraParameters *JiraParameters `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeIAMPolicyAssignmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIAMPolicyAssignmentInput"} + if s.AssignmentName == nil { + invalidParams.Add(request.NewErrParamRequired("AssignmentName")) + } + if s.AssignmentName != nil && len(*s.AssignmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssignmentName", 1)) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssignmentName sets the AssignmentName field's value. +func (s *DescribeIAMPolicyAssignmentInput) SetAssignmentName(v string) *DescribeIAMPolicyAssignmentInput { + s.AssignmentName = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeIAMPolicyAssignmentInput) SetAwsAccountId(v string) *DescribeIAMPolicyAssignmentInput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *DescribeIAMPolicyAssignmentInput) SetNamespace(v string) *DescribeIAMPolicyAssignmentInput { + s.Namespace = &v + return s +} - // MariaDB parameters. - MariaDbParameters *MariaDbParameters `type:"structure"` +type DescribeIAMPolicyAssignmentOutput struct { + _ struct{} `type:"structure"` - // MySQL parameters. - MySqlParameters *MySqlParameters `type:"structure"` + // Information describing the IAM policy assignment. + IAMPolicyAssignment *IAMPolicyAssignment `type:"structure"` - // PostgreSQL parameters. - PostgreSqlParameters *PostgreSqlParameters `type:"structure"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // Presto parameters. - PrestoParameters *PrestoParameters `type:"structure"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} - // Amazon RDS parameters. - RdsParameters *RdsParameters `type:"structure"` +// String returns the string representation +func (s DescribeIAMPolicyAssignmentOutput) String() string { + return awsutil.Prettify(s) +} - // Amazon Redshift parameters. - RedshiftParameters *RedshiftParameters `type:"structure"` +// GoString returns the string representation +func (s DescribeIAMPolicyAssignmentOutput) GoString() string { + return s.String() +} - // S3 parameters. - S3Parameters *S3Parameters `type:"structure"` +// SetIAMPolicyAssignment sets the IAMPolicyAssignment field's value. +func (s *DescribeIAMPolicyAssignmentOutput) SetIAMPolicyAssignment(v *IAMPolicyAssignment) *DescribeIAMPolicyAssignmentOutput { + s.IAMPolicyAssignment = v + return s +} - // ServiceNow parameters. - ServiceNowParameters *ServiceNowParameters `type:"structure"` +// SetRequestId sets the RequestId field's value. +func (s *DescribeIAMPolicyAssignmentOutput) SetRequestId(v string) *DescribeIAMPolicyAssignmentOutput { + s.RequestId = &v + return s +} - // Snowflake parameters. - SnowflakeParameters *SnowflakeParameters `type:"structure"` +// SetStatus sets the Status field's value. +func (s *DescribeIAMPolicyAssignmentOutput) SetStatus(v int64) *DescribeIAMPolicyAssignmentOutput { + s.Status = &v + return s +} - // Spark parameters. - SparkParameters *SparkParameters `type:"structure"` +type DescribeIngestionInput struct { + _ struct{} `type:"structure"` - // SQL Server parameters. - SqlServerParameters *SqlServerParameters `type:"structure"` + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Teradata parameters. - TeradataParameters *TeradataParameters `type:"structure"` + // The ID of the dataset used in the ingestion. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` - // Twitter parameters. - TwitterParameters *TwitterParameters `type:"structure"` + // An ID for the ingestion. + // + // IngestionId is a required field + IngestionId *string `location:"uri" locationName:"IngestionId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DataSourceParameters) String() string { +func (s DescribeIngestionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DataSourceParameters) GoString() string { +func (s DescribeIngestionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DataSourceParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DataSourceParameters"} - if s.AmazonElasticsearchParameters != nil { - if err := s.AmazonElasticsearchParameters.Validate(); err != nil { - invalidParams.AddNested("AmazonElasticsearchParameters", err.(request.ErrInvalidParams)) - } - } - if s.AthenaParameters != nil { - if err := s.AthenaParameters.Validate(); err != nil { - invalidParams.AddNested("AthenaParameters", err.(request.ErrInvalidParams)) - } - } - if s.AuroraParameters != nil { - if err := s.AuroraParameters.Validate(); err != nil { - invalidParams.AddNested("AuroraParameters", err.(request.ErrInvalidParams)) - } - } - if s.AuroraPostgreSqlParameters != nil { - if err := s.AuroraPostgreSqlParameters.Validate(); err != nil { - invalidParams.AddNested("AuroraPostgreSqlParameters", err.(request.ErrInvalidParams)) - } - } - if s.AwsIotAnalyticsParameters != nil { - if err := s.AwsIotAnalyticsParameters.Validate(); err != nil { - invalidParams.AddNested("AwsIotAnalyticsParameters", err.(request.ErrInvalidParams)) - } - } - if s.JiraParameters != nil { - if err := s.JiraParameters.Validate(); err != nil { - invalidParams.AddNested("JiraParameters", err.(request.ErrInvalidParams)) - } - } - if s.MariaDbParameters != nil { - if err := s.MariaDbParameters.Validate(); err != nil { - invalidParams.AddNested("MariaDbParameters", err.(request.ErrInvalidParams)) - } - } - if s.MySqlParameters != nil { - if err := s.MySqlParameters.Validate(); err != nil { - invalidParams.AddNested("MySqlParameters", err.(request.ErrInvalidParams)) - } - } - if s.PostgreSqlParameters != nil { - if err := s.PostgreSqlParameters.Validate(); err != nil { - invalidParams.AddNested("PostgreSqlParameters", err.(request.ErrInvalidParams)) - } - } - if s.PrestoParameters != nil { - if err := s.PrestoParameters.Validate(); err != nil { - invalidParams.AddNested("PrestoParameters", err.(request.ErrInvalidParams)) - } - } - if s.RdsParameters != nil { - if err := s.RdsParameters.Validate(); err != nil { - invalidParams.AddNested("RdsParameters", err.(request.ErrInvalidParams)) - } - } - if s.RedshiftParameters != nil { - if err := s.RedshiftParameters.Validate(); err != nil { - invalidParams.AddNested("RedshiftParameters", err.(request.ErrInvalidParams)) - } - } - if s.S3Parameters != nil { - if err := s.S3Parameters.Validate(); err != nil { - invalidParams.AddNested("S3Parameters", err.(request.ErrInvalidParams)) - } - } - if s.ServiceNowParameters != nil { - if err := s.ServiceNowParameters.Validate(); err != nil { - invalidParams.AddNested("ServiceNowParameters", err.(request.ErrInvalidParams)) - } +func (s *DescribeIngestionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIngestionInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.SnowflakeParameters != nil { - if err := s.SnowflakeParameters.Validate(); err != nil { - invalidParams.AddNested("SnowflakeParameters", err.(request.ErrInvalidParams)) - } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.SparkParameters != nil { - if err := s.SparkParameters.Validate(); err != nil { - invalidParams.AddNested("SparkParameters", err.(request.ErrInvalidParams)) - } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) } - if s.SqlServerParameters != nil { - if err := s.SqlServerParameters.Validate(); err != nil { - invalidParams.AddNested("SqlServerParameters", err.(request.ErrInvalidParams)) - } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) } - if s.TeradataParameters != nil { - if err := s.TeradataParameters.Validate(); err != nil { - invalidParams.AddNested("TeradataParameters", err.(request.ErrInvalidParams)) - } + if s.IngestionId == nil { + invalidParams.Add(request.NewErrParamRequired("IngestionId")) } - if s.TwitterParameters != nil { - if err := s.TwitterParameters.Validate(); err != nil { - invalidParams.AddNested("TwitterParameters", err.(request.ErrInvalidParams)) - } + if s.IngestionId != nil && len(*s.IngestionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IngestionId", 1)) } if invalidParams.Len() > 0 { @@ -11322,153 +17810,221 @@ func (s *DataSourceParameters) Validate() error { return nil } -// SetAmazonElasticsearchParameters sets the AmazonElasticsearchParameters field's value. -func (s *DataSourceParameters) SetAmazonElasticsearchParameters(v *AmazonElasticsearchParameters) *DataSourceParameters { - s.AmazonElasticsearchParameters = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeIngestionInput) SetAwsAccountId(v string) *DescribeIngestionInput { + s.AwsAccountId = &v return s } -// SetAthenaParameters sets the AthenaParameters field's value. -func (s *DataSourceParameters) SetAthenaParameters(v *AthenaParameters) *DataSourceParameters { - s.AthenaParameters = v +// SetDataSetId sets the DataSetId field's value. +func (s *DescribeIngestionInput) SetDataSetId(v string) *DescribeIngestionInput { + s.DataSetId = &v return s } -// SetAuroraParameters sets the AuroraParameters field's value. -func (s *DataSourceParameters) SetAuroraParameters(v *AuroraParameters) *DataSourceParameters { - s.AuroraParameters = v +// SetIngestionId sets the IngestionId field's value. +func (s *DescribeIngestionInput) SetIngestionId(v string) *DescribeIngestionInput { + s.IngestionId = &v return s } -// SetAuroraPostgreSqlParameters sets the AuroraPostgreSqlParameters field's value. -func (s *DataSourceParameters) SetAuroraPostgreSqlParameters(v *AuroraPostgreSqlParameters) *DataSourceParameters { - s.AuroraPostgreSqlParameters = v - return s +type DescribeIngestionOutput struct { + _ struct{} `type:"structure"` + + // Information about the ingestion. + Ingestion *Ingestion `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } -// SetAwsIotAnalyticsParameters sets the AwsIotAnalyticsParameters field's value. -func (s *DataSourceParameters) SetAwsIotAnalyticsParameters(v *AwsIotAnalyticsParameters) *DataSourceParameters { - s.AwsIotAnalyticsParameters = v - return s +// String returns the string representation +func (s DescribeIngestionOutput) String() string { + return awsutil.Prettify(s) } -// SetJiraParameters sets the JiraParameters field's value. -func (s *DataSourceParameters) SetJiraParameters(v *JiraParameters) *DataSourceParameters { - s.JiraParameters = v +// GoString returns the string representation +func (s DescribeIngestionOutput) GoString() string { + return s.String() +} + +// SetIngestion sets the Ingestion field's value. +func (s *DescribeIngestionOutput) SetIngestion(v *Ingestion) *DescribeIngestionOutput { + s.Ingestion = v return s } -// SetMariaDbParameters sets the MariaDbParameters field's value. -func (s *DataSourceParameters) SetMariaDbParameters(v *MariaDbParameters) *DataSourceParameters { - s.MariaDbParameters = v +// SetRequestId sets the RequestId field's value. +func (s *DescribeIngestionOutput) SetRequestId(v string) *DescribeIngestionOutput { + s.RequestId = &v return s } -// SetMySqlParameters sets the MySqlParameters field's value. -func (s *DataSourceParameters) SetMySqlParameters(v *MySqlParameters) *DataSourceParameters { - s.MySqlParameters = v +// SetStatus sets the Status field's value. +func (s *DescribeIngestionOutput) SetStatus(v int64) *DescribeIngestionOutput { + s.Status = &v return s } -// SetPostgreSqlParameters sets the PostgreSqlParameters field's value. -func (s *DataSourceParameters) SetPostgreSqlParameters(v *PostgreSqlParameters) *DataSourceParameters { - s.PostgreSqlParameters = v - return s +type DescribeNamespaceInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that contains the QuickSight namespace that you + // want to describe. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The namespace that you want to describe. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeNamespaceInput) String() string { + return awsutil.Prettify(s) } -// SetPrestoParameters sets the PrestoParameters field's value. -func (s *DataSourceParameters) SetPrestoParameters(v *PrestoParameters) *DataSourceParameters { - s.PrestoParameters = v - return s +// GoString returns the string representation +func (s DescribeNamespaceInput) GoString() string { + return s.String() } -// SetRdsParameters sets the RdsParameters field's value. -func (s *DataSourceParameters) SetRdsParameters(v *RdsParameters) *DataSourceParameters { - s.RdsParameters = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeNamespaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeNamespaceInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetRedshiftParameters sets the RedshiftParameters field's value. -func (s *DataSourceParameters) SetRedshiftParameters(v *RedshiftParameters) *DataSourceParameters { - s.RedshiftParameters = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeNamespaceInput) SetAwsAccountId(v string) *DescribeNamespaceInput { + s.AwsAccountId = &v return s } -// SetS3Parameters sets the S3Parameters field's value. -func (s *DataSourceParameters) SetS3Parameters(v *S3Parameters) *DataSourceParameters { - s.S3Parameters = v +// SetNamespace sets the Namespace field's value. +func (s *DescribeNamespaceInput) SetNamespace(v string) *DescribeNamespaceInput { + s.Namespace = &v return s } -// SetServiceNowParameters sets the ServiceNowParameters field's value. -func (s *DataSourceParameters) SetServiceNowParameters(v *ServiceNowParameters) *DataSourceParameters { - s.ServiceNowParameters = v - return s +type DescribeNamespaceOutput struct { + _ struct{} `type:"structure"` + + // The information about the namespace that you're describing. The response + // includes the namespace ARN, name, AWS Region, creation status, and identity + // store. DescribeNamespace also works for namespaces that are in the process + // of being created. For incomplete namespaces, this API lists the namespace + // error types and messages associated with the creation process. + Namespace *NamespaceInfoV2 `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } -// SetSnowflakeParameters sets the SnowflakeParameters field's value. -func (s *DataSourceParameters) SetSnowflakeParameters(v *SnowflakeParameters) *DataSourceParameters { - s.SnowflakeParameters = v - return s +// String returns the string representation +func (s DescribeNamespaceOutput) String() string { + return awsutil.Prettify(s) } -// SetSparkParameters sets the SparkParameters field's value. -func (s *DataSourceParameters) SetSparkParameters(v *SparkParameters) *DataSourceParameters { - s.SparkParameters = v - return s +// GoString returns the string representation +func (s DescribeNamespaceOutput) GoString() string { + return s.String() } -// SetSqlServerParameters sets the SqlServerParameters field's value. -func (s *DataSourceParameters) SetSqlServerParameters(v *SqlServerParameters) *DataSourceParameters { - s.SqlServerParameters = v +// SetNamespace sets the Namespace field's value. +func (s *DescribeNamespaceOutput) SetNamespace(v *NamespaceInfoV2) *DescribeNamespaceOutput { + s.Namespace = v return s } -// SetTeradataParameters sets the TeradataParameters field's value. -func (s *DataSourceParameters) SetTeradataParameters(v *TeradataParameters) *DataSourceParameters { - s.TeradataParameters = v +// SetRequestId sets the RequestId field's value. +func (s *DescribeNamespaceOutput) SetRequestId(v string) *DescribeNamespaceOutput { + s.RequestId = &v return s } -// SetTwitterParameters sets the TwitterParameters field's value. -func (s *DataSourceParameters) SetTwitterParameters(v *TwitterParameters) *DataSourceParameters { - s.TwitterParameters = v +// SetStatus sets the Status field's value. +func (s *DescribeNamespaceOutput) SetStatus(v int64) *DescribeNamespaceOutput { + s.Status = &v return s } -// Date time parameter. -type DateTimeParameter struct { +type DescribeTemplateAliasInput struct { _ struct{} `type:"structure"` - // A display name for the dataset. + // The name of the template alias that you want to describe. If you name a specific + // alias, you describe the version that the alias points to. You can specify + // the latest version of the template by providing the keyword $LATEST in the + // AliasName parameter. The keyword $PUBLISHED doesn't apply to templates. // - // Name is a required field - Name *string `type:"string" required:"true"` + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` - // Values. + // The ID of the AWS account that contains the template alias that you're describing. // - // Values is a required field - Values []*time.Time `type:"list" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The ID for the template. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DateTimeParameter) String() string { +func (s DescribeTemplateAliasInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DateTimeParameter) GoString() string { +func (s DescribeTemplateAliasInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DateTimeParameter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DateTimeParameter"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *DescribeTemplateAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTemplateAliasInput"} + if s.AliasName == nil { + invalidParams.Add(request.NewErrParamRequired("AliasName")) } - if s.Values == nil { - invalidParams.Add(request.NewErrParamRequired("Values")) + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) } if invalidParams.Len() > 0 { @@ -11477,113 +18033,116 @@ func (s *DateTimeParameter) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *DateTimeParameter) SetName(v string) *DateTimeParameter { - s.Name = &v +// SetAliasName sets the AliasName field's value. +func (s *DescribeTemplateAliasInput) SetAliasName(v string) *DescribeTemplateAliasInput { + s.AliasName = &v return s } -// SetValues sets the Values field's value. -func (s *DateTimeParameter) SetValues(v []*time.Time) *DateTimeParameter { - s.Values = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeTemplateAliasInput) SetAwsAccountId(v string) *DescribeTemplateAliasInput { + s.AwsAccountId = &v return s } -// Decimal parameter. -type DecimalParameter struct { +// SetTemplateId sets the TemplateId field's value. +func (s *DescribeTemplateAliasInput) SetTemplateId(v string) *DescribeTemplateAliasInput { + s.TemplateId = &v + return s +} + +type DescribeTemplateAliasOutput struct { _ struct{} `type:"structure"` - // A display name for the dataset. - // - // Name is a required field - Name *string `type:"string" required:"true"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // Values. - // - // Values is a required field - Values []*float64 `type:"list" required:"true"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // Information about the template alias. + TemplateAlias *TemplateAlias `type:"structure"` } // String returns the string representation -func (s DecimalParameter) String() string { +func (s DescribeTemplateAliasOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DecimalParameter) GoString() string { +func (s DescribeTemplateAliasOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DecimalParameter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DecimalParameter"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Values == nil { - invalidParams.Add(request.NewErrParamRequired("Values")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetRequestId sets the RequestId field's value. +func (s *DescribeTemplateAliasOutput) SetRequestId(v string) *DescribeTemplateAliasOutput { + s.RequestId = &v + return s } -// SetName sets the Name field's value. -func (s *DecimalParameter) SetName(v string) *DecimalParameter { - s.Name = &v +// SetStatus sets the Status field's value. +func (s *DescribeTemplateAliasOutput) SetStatus(v int64) *DescribeTemplateAliasOutput { + s.Status = &v return s } -// SetValues sets the Values field's value. -func (s *DecimalParameter) SetValues(v []*float64) *DecimalParameter { - s.Values = v +// SetTemplateAlias sets the TemplateAlias field's value. +func (s *DescribeTemplateAliasOutput) SetTemplateAlias(v *TemplateAlias) *DescribeTemplateAliasOutput { + s.TemplateAlias = v return s } -type DeleteDashboardInput struct { +type DescribeTemplateInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the dashboard that you're deleting. + // The alias of the template that you want to describe. If you name a specific + // alias, you describe the version that the alias points to. You can specify + // the latest version of the template by providing the keyword $LATEST in the + // AliasName parameter. The keyword $PUBLISHED doesn't apply to templates. + AliasName *string `location:"querystring" locationName:"alias-name" min:"1" type:"string"` + + // The ID of the AWS account that contains the template that you're describing. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the dashboard. + // The ID for the template. // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` - // The version number of the dashboard. If the version number property is provided, - // only the specified version of the dashboard is deleted. + // (Optional) The number for the version to describe. If a VersionNumber parameter + // value isn't provided, the latest version of the template is described. VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` } // String returns the string representation -func (s DeleteDashboardInput) String() string { +func (s DescribeTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDashboardInput) GoString() string { +func (s DescribeTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDashboardInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDashboardInput"} +func (s *DescribeTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTemplateInput"} + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DashboardId == nil { - invalidParams.Add(request.NewErrParamRequired("DashboardId")) + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) } - if s.DashboardId != nil && len(*s.DashboardId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) } if s.VersionNumber != nil && *s.VersionNumber < 1 { invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) @@ -11595,113 +18154,109 @@ func (s *DeleteDashboardInput) Validate() error { return nil } +// SetAliasName sets the AliasName field's value. +func (s *DescribeTemplateInput) SetAliasName(v string) *DescribeTemplateInput { + s.AliasName = &v + return s +} + // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteDashboardInput) SetAwsAccountId(v string) *DeleteDashboardInput { +func (s *DescribeTemplateInput) SetAwsAccountId(v string) *DescribeTemplateInput { s.AwsAccountId = &v return s } - -// SetDashboardId sets the DashboardId field's value. -func (s *DeleteDashboardInput) SetDashboardId(v string) *DeleteDashboardInput { - s.DashboardId = &v + +// SetTemplateId sets the TemplateId field's value. +func (s *DescribeTemplateInput) SetTemplateId(v string) *DescribeTemplateInput { + s.TemplateId = &v return s } // SetVersionNumber sets the VersionNumber field's value. -func (s *DeleteDashboardInput) SetVersionNumber(v int64) *DeleteDashboardInput { +func (s *DescribeTemplateInput) SetVersionNumber(v int64) *DescribeTemplateInput { s.VersionNumber = &v return s } -type DeleteDashboardOutput struct { +type DescribeTemplateOutput struct { _ struct{} `type:"structure"` - // The Secure Socket Layer (SSL) properties that apply for the resource. - Arn *string `type:"string"` - - // The ID of the dashboard. - DashboardId *string `min:"1" type:"string"` - // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` + + // The template structure for the object you want to describe. + Template *Template `type:"structure"` } // String returns the string representation -func (s DeleteDashboardOutput) String() string { +func (s DescribeTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDashboardOutput) GoString() string { +func (s DescribeTemplateOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DeleteDashboardOutput) SetArn(v string) *DeleteDashboardOutput { - s.Arn = &v - return s -} - -// SetDashboardId sets the DashboardId field's value. -func (s *DeleteDashboardOutput) SetDashboardId(v string) *DeleteDashboardOutput { - s.DashboardId = &v - return s -} - // SetRequestId sets the RequestId field's value. -func (s *DeleteDashboardOutput) SetRequestId(v string) *DeleteDashboardOutput { +func (s *DescribeTemplateOutput) SetRequestId(v string) *DescribeTemplateOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteDashboardOutput) SetStatus(v int64) *DeleteDashboardOutput { +func (s *DescribeTemplateOutput) SetStatus(v int64) *DescribeTemplateOutput { s.Status = &v return s } -type DeleteDataSetInput struct { +// SetTemplate sets the Template field's value. +func (s *DescribeTemplateOutput) SetTemplate(v *Template) *DescribeTemplateOutput { + s.Template = v + return s +} + +type DescribeTemplatePermissionsInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The ID of the AWS account that contains the template that you're describing. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the dataset that you want to create. This ID is unique per AWS - // Region for each AWS account. + // The ID for the template. // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteDataSetInput) String() string { +func (s DescribeTemplatePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDataSetInput) GoString() string { +func (s DescribeTemplatePermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDataSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDataSetInput"} +func (s *DescribeTemplatePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTemplatePermissionsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DataSetId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetId")) + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) } - if s.DataSetId != nil && len(*s.DataSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) } if invalidParams.Len() > 0 { @@ -11711,107 +18266,125 @@ func (s *DeleteDataSetInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteDataSetInput) SetAwsAccountId(v string) *DeleteDataSetInput { +func (s *DescribeTemplatePermissionsInput) SetAwsAccountId(v string) *DescribeTemplatePermissionsInput { s.AwsAccountId = &v return s } -// SetDataSetId sets the DataSetId field's value. -func (s *DeleteDataSetInput) SetDataSetId(v string) *DeleteDataSetInput { - s.DataSetId = &v +// SetTemplateId sets the TemplateId field's value. +func (s *DescribeTemplatePermissionsInput) SetTemplateId(v string) *DescribeTemplatePermissionsInput { + s.TemplateId = &v return s } -type DeleteDataSetOutput struct { +type DescribeTemplatePermissionsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dataset. - Arn *string `type:"string"` - - // The ID for the dataset that you want to create. This ID is unique per AWS - // Region for each AWS account. - DataSetId *string `type:"string"` + // A list of resource permissions to be set on the template. + Permissions []*ResourcePermission `min:"1" type:"list"` // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` + + // The Amazon Resource Name (ARN) of the template. + TemplateArn *string `type:"string"` + + // The ID for the template. + TemplateId *string `min:"1" type:"string"` } // String returns the string representation -func (s DeleteDataSetOutput) String() string { +func (s DescribeTemplatePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDataSetOutput) GoString() string { +func (s DescribeTemplatePermissionsOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DeleteDataSetOutput) SetArn(v string) *DeleteDataSetOutput { - s.Arn = &v - return s -} - -// SetDataSetId sets the DataSetId field's value. -func (s *DeleteDataSetOutput) SetDataSetId(v string) *DeleteDataSetOutput { - s.DataSetId = &v +// SetPermissions sets the Permissions field's value. +func (s *DescribeTemplatePermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeTemplatePermissionsOutput { + s.Permissions = v return s } // SetRequestId sets the RequestId field's value. -func (s *DeleteDataSetOutput) SetRequestId(v string) *DeleteDataSetOutput { +func (s *DescribeTemplatePermissionsOutput) SetRequestId(v string) *DescribeTemplatePermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteDataSetOutput) SetStatus(v int64) *DeleteDataSetOutput { +func (s *DescribeTemplatePermissionsOutput) SetStatus(v int64) *DescribeTemplatePermissionsOutput { s.Status = &v return s } -type DeleteDataSourceInput struct { +// SetTemplateArn sets the TemplateArn field's value. +func (s *DescribeTemplatePermissionsOutput) SetTemplateArn(v string) *DescribeTemplatePermissionsOutput { + s.TemplateArn = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *DescribeTemplatePermissionsOutput) SetTemplateId(v string) *DescribeTemplatePermissionsOutput { + s.TemplateId = &v + return s +} + +type DescribeThemeAliasInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The name of the theme alias that you want to describe. + // + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` + + // The ID of the AWS account that contains the theme alias that you're describing. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. + // The ID for the theme. // - // DataSourceId is a required field - DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteDataSourceInput) String() string { +func (s DescribeThemeAliasInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDataSourceInput) GoString() string { +func (s DescribeThemeAliasInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDataSourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDataSourceInput"} +func (s *DescribeThemeAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeThemeAliasInput"} + if s.AliasName == nil { + invalidParams.Add(request.NewErrParamRequired("AliasName")) + } + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DataSourceId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSourceId")) + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } if invalidParams.Len() > 0 { @@ -11820,119 +18393,119 @@ func (s *DeleteDataSourceInput) Validate() error { return nil } +// SetAliasName sets the AliasName field's value. +func (s *DescribeThemeAliasInput) SetAliasName(v string) *DescribeThemeAliasInput { + s.AliasName = &v + return s +} + // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteDataSourceInput) SetAwsAccountId(v string) *DeleteDataSourceInput { +func (s *DescribeThemeAliasInput) SetAwsAccountId(v string) *DescribeThemeAliasInput { s.AwsAccountId = &v return s } -// SetDataSourceId sets the DataSourceId field's value. -func (s *DeleteDataSourceInput) SetDataSourceId(v string) *DeleteDataSourceInput { - s.DataSourceId = &v +// SetThemeId sets the ThemeId field's value. +func (s *DescribeThemeAliasInput) SetThemeId(v string) *DescribeThemeAliasInput { + s.ThemeId = &v return s } -type DeleteDataSourceOutput struct { +type DescribeThemeAliasOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the data source that you deleted. - Arn *string `type:"string"` - - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. - DataSourceId *string `type:"string"` - // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` + + // Information about the theme alias. + ThemeAlias *ThemeAlias `type:"structure"` } // String returns the string representation -func (s DeleteDataSourceOutput) String() string { +func (s DescribeThemeAliasOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDataSourceOutput) GoString() string { +func (s DescribeThemeAliasOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DeleteDataSourceOutput) SetArn(v string) *DeleteDataSourceOutput { - s.Arn = &v - return s -} - -// SetDataSourceId sets the DataSourceId field's value. -func (s *DeleteDataSourceOutput) SetDataSourceId(v string) *DeleteDataSourceOutput { - s.DataSourceId = &v - return s -} - // SetRequestId sets the RequestId field's value. -func (s *DeleteDataSourceOutput) SetRequestId(v string) *DeleteDataSourceOutput { +func (s *DescribeThemeAliasOutput) SetRequestId(v string) *DescribeThemeAliasOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteDataSourceOutput) SetStatus(v int64) *DeleteDataSourceOutput { +func (s *DescribeThemeAliasOutput) SetStatus(v int64) *DescribeThemeAliasOutput { s.Status = &v return s } -type DeleteGroupInput struct { +// SetThemeAlias sets the ThemeAlias field's value. +func (s *DescribeThemeAliasOutput) SetThemeAlias(v *ThemeAlias) *DescribeThemeAliasOutput { + s.ThemeAlias = v + return s +} + +type DescribeThemeInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the group is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. + // The alias of the theme that you want to describe. If you name a specific + // alias, you describe the version that the alias points to. You can specify + // the latest version of the theme by providing the keyword $LATEST in the AliasName + // parameter. The keyword $PUBLISHED doesn't apply to themes. + AliasName *string `location:"querystring" locationName:"alias-name" min:"1" type:"string"` + + // The ID of the AWS account that contains the theme that you're describing. // // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" type:"string" required:"true"` - // The name of the group that you want to delete. + // The ID for the theme. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` - // The namespace. Currently, you should set this to default. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // The version number for the version to describe. If a VersionNumber parameter + // value isn't provided, the latest version of the theme is described. + VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` } // String returns the string representation -func (s DeleteGroupInput) String() string { +func (s DescribeThemeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteGroupInput) GoString() string { +func (s DescribeThemeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"} +func (s *DescribeThemeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeThemeInput"} + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 1)) } - if s.GroupName != nil && len(*s.GroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.VersionNumber != nil && *s.VersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) } if invalidParams.Len() > 0 { @@ -11941,85 +18514,109 @@ func (s *DeleteGroupInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteGroupInput) SetAwsAccountId(v string) *DeleteGroupInput { - s.AwsAccountId = &v +// SetAliasName sets the AliasName field's value. +func (s *DescribeThemeInput) SetAliasName(v string) *DescribeThemeInput { + s.AliasName = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeThemeInput) SetAwsAccountId(v string) *DescribeThemeInput { + s.AwsAccountId = &v + return s +} + +// SetThemeId sets the ThemeId field's value. +func (s *DescribeThemeInput) SetThemeId(v string) *DescribeThemeInput { + s.ThemeId = &v + return s +} + +// SetVersionNumber sets the VersionNumber field's value. +func (s *DescribeThemeInput) SetVersionNumber(v int64) *DescribeThemeInput { + s.VersionNumber = &v + return s +} + +type DescribeThemeOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // The information about the theme that you are describing. + Theme *Theme `type:"structure"` +} + +// String returns the string representation +func (s DescribeThemeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeThemeOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *DescribeThemeOutput) SetRequestId(v string) *DescribeThemeOutput { + s.RequestId = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput { - s.GroupName = &v +// SetStatus sets the Status field's value. +func (s *DescribeThemeOutput) SetStatus(v int64) *DescribeThemeOutput { + s.Status = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *DeleteGroupInput) SetNamespace(v string) *DeleteGroupInput { - s.Namespace = &v +// SetTheme sets the Theme field's value. +func (s *DescribeThemeOutput) SetTheme(v *Theme) *DescribeThemeOutput { + s.Theme = v return s } -type DeleteGroupMembershipInput struct { +type DescribeThemePermissionsInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the group is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. + // The ID of the AWS account that contains the theme that you're describing. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The name of the group that you want to delete the user from. - // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` - - // The name of the user that you want to delete from the group membership. - // - // MemberName is a required field - MemberName *string `location:"uri" locationName:"MemberName" min:"1" type:"string" required:"true"` - - // The namespace. Currently, you should set this to default. + // The ID for the theme that you want to describe permissions for. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteGroupMembershipInput) String() string { +func (s DescribeThemePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteGroupMembershipInput) GoString() string { +func (s DescribeThemePermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteGroupMembershipInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteGroupMembershipInput"} +func (s *DescribeThemePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeThemePermissionsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) - } - if s.GroupName != nil && len(*s.GroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) - } - if s.MemberName == nil { - invalidParams.Add(request.NewErrParamRequired("MemberName")) - } - if s.MemberName != nil && len(*s.MemberName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MemberName", 1)) - } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } if invalidParams.Len() > 0 { @@ -12029,131 +18626,109 @@ func (s *DeleteGroupMembershipInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteGroupMembershipInput) SetAwsAccountId(v string) *DeleteGroupMembershipInput { +func (s *DescribeThemePermissionsInput) SetAwsAccountId(v string) *DescribeThemePermissionsInput { s.AwsAccountId = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *DeleteGroupMembershipInput) SetGroupName(v string) *DeleteGroupMembershipInput { - s.GroupName = &v - return s -} - -// SetMemberName sets the MemberName field's value. -func (s *DeleteGroupMembershipInput) SetMemberName(v string) *DeleteGroupMembershipInput { - s.MemberName = &v - return s -} - -// SetNamespace sets the Namespace field's value. -func (s *DeleteGroupMembershipInput) SetNamespace(v string) *DeleteGroupMembershipInput { - s.Namespace = &v +// SetThemeId sets the ThemeId field's value. +func (s *DescribeThemePermissionsInput) SetThemeId(v string) *DescribeThemePermissionsInput { + s.ThemeId = &v return s } -type DeleteGroupMembershipOutput struct { +type DescribeThemePermissionsOutput struct { _ struct{} `type:"structure"` + // A list of resource permissions set on the theme. + Permissions []*ResourcePermission `min:"1" type:"list"` + // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` + + // The Amazon Resource Name (ARN) of the theme. + ThemeArn *string `type:"string"` + + // The ID for the theme. + ThemeId *string `min:"1" type:"string"` } // String returns the string representation -func (s DeleteGroupMembershipOutput) String() string { +func (s DescribeThemePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteGroupMembershipOutput) GoString() string { +func (s DescribeThemePermissionsOutput) GoString() string { return s.String() } +// SetPermissions sets the Permissions field's value. +func (s *DescribeThemePermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeThemePermissionsOutput { + s.Permissions = v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *DeleteGroupMembershipOutput) SetRequestId(v string) *DeleteGroupMembershipOutput { +func (s *DescribeThemePermissionsOutput) SetRequestId(v string) *DescribeThemePermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteGroupMembershipOutput) SetStatus(v int64) *DeleteGroupMembershipOutput { +func (s *DescribeThemePermissionsOutput) SetStatus(v int64) *DescribeThemePermissionsOutput { s.Status = &v return s } -type DeleteGroupOutput struct { - _ struct{} `type:"structure"` - - // The AWS request ID for this operation. - RequestId *string `type:"string"` - - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` -} - -// String returns the string representation -func (s DeleteGroupOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteGroupOutput) GoString() string { - return s.String() -} - -// SetRequestId sets the RequestId field's value. -func (s *DeleteGroupOutput) SetRequestId(v string) *DeleteGroupOutput { - s.RequestId = &v +// SetThemeArn sets the ThemeArn field's value. +func (s *DescribeThemePermissionsOutput) SetThemeArn(v string) *DescribeThemePermissionsOutput { + s.ThemeArn = &v return s } -// SetStatus sets the Status field's value. -func (s *DeleteGroupOutput) SetStatus(v int64) *DeleteGroupOutput { - s.Status = &v +// SetThemeId sets the ThemeId field's value. +func (s *DescribeThemePermissionsOutput) SetThemeId(v string) *DescribeThemePermissionsOutput { + s.ThemeId = &v return s } -type DeleteIAMPolicyAssignmentInput struct { +type DescribeUserInput struct { _ struct{} `type:"structure"` - // The name of the assignment. - // - // AssignmentName is a required field - AssignmentName *string `location:"uri" locationName:"AssignmentName" min:"1" type:"string" required:"true"` - - // The AWS account ID where you want to delete the IAM policy assignment. + // The ID for the AWS account that the user is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The namespace that contains the assignment. + // The namespace. Currently, you should set this to default. // // Namespace is a required field Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // The name of the user that you want to describe. + // + // UserName is a required field + UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteIAMPolicyAssignmentInput) String() string { +func (s DescribeUserInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteIAMPolicyAssignmentInput) GoString() string { +func (s DescribeUserInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteIAMPolicyAssignmentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteIAMPolicyAssignmentInput"} - if s.AssignmentName == nil { - invalidParams.Add(request.NewErrParamRequired("AssignmentName")) - } - if s.AssignmentName != nil && len(*s.AssignmentName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssignmentName", 1)) - } +func (s *DescribeUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeUserInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } @@ -12166,6 +18741,12 @@ func (s *DeleteIAMPolicyAssignmentInput) Validate() error { if s.Namespace != nil && len(*s.Namespace) < 1 { invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -12173,246 +18754,211 @@ func (s *DeleteIAMPolicyAssignmentInput) Validate() error { return nil } -// SetAssignmentName sets the AssignmentName field's value. -func (s *DeleteIAMPolicyAssignmentInput) SetAssignmentName(v string) *DeleteIAMPolicyAssignmentInput { - s.AssignmentName = &v - return s -} - // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteIAMPolicyAssignmentInput) SetAwsAccountId(v string) *DeleteIAMPolicyAssignmentInput { +func (s *DescribeUserInput) SetAwsAccountId(v string) *DescribeUserInput { s.AwsAccountId = &v return s } // SetNamespace sets the Namespace field's value. -func (s *DeleteIAMPolicyAssignmentInput) SetNamespace(v string) *DeleteIAMPolicyAssignmentInput { +func (s *DescribeUserInput) SetNamespace(v string) *DescribeUserInput { s.Namespace = &v return s } -type DeleteIAMPolicyAssignmentOutput struct { - _ struct{} `type:"structure"` +// SetUserName sets the UserName field's value. +func (s *DescribeUserInput) SetUserName(v string) *DescribeUserInput { + s.UserName = &v + return s +} - // The name of the assignment. - AssignmentName *string `min:"1" type:"string"` +type DescribeUserOutput struct { + _ struct{} `type:"structure"` // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` + + // The user name. + User *User `type:"structure"` } // String returns the string representation -func (s DeleteIAMPolicyAssignmentOutput) String() string { +func (s DescribeUserOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteIAMPolicyAssignmentOutput) GoString() string { +func (s DescribeUserOutput) GoString() string { return s.String() } -// SetAssignmentName sets the AssignmentName field's value. -func (s *DeleteIAMPolicyAssignmentOutput) SetAssignmentName(v string) *DeleteIAMPolicyAssignmentOutput { - s.AssignmentName = &v - return s -} - // SetRequestId sets the RequestId field's value. -func (s *DeleteIAMPolicyAssignmentOutput) SetRequestId(v string) *DeleteIAMPolicyAssignmentOutput { +func (s *DescribeUserOutput) SetRequestId(v string) *DescribeUserOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteIAMPolicyAssignmentOutput) SetStatus(v int64) *DeleteIAMPolicyAssignmentOutput { +func (s *DescribeUserOutput) SetStatus(v int64) *DescribeUserOutput { s.Status = &v return s } -type DeleteTemplateAliasInput struct { - _ struct{} `type:"structure"` +// SetUser sets the User field's value. +func (s *DescribeUserOutput) SetUser(v *User) *DescribeUserOutput { + s.User = v + return s +} - // The name for the template alias. If you name a specific alias, you delete - // the version that the alias points to. You can specify the latest version - // of the template by providing the keyword $LATEST in the AliasName parameter. - // - // AliasName is a required field - AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` +// The domain specified isn't on the allow list. All domains for embedded dashboards +// must be added to the approved list by an Amazon QuickSight admin. +type DomainNotWhitelistedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The ID of the AWS account that contains the item to delete. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` - // The ID for the template that the specified alias is for. - // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // The AWS request ID for this request. + RequestId *string `type:"string"` } // String returns the string representation -func (s DeleteTemplateAliasInput) String() string { +func (s DomainNotWhitelistedException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTemplateAliasInput) GoString() string { +func (s DomainNotWhitelistedException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteTemplateAliasInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteTemplateAliasInput"} - if s.AliasName == nil { - invalidParams.Add(request.NewErrParamRequired("AliasName")) - } - if s.AliasName != nil && len(*s.AliasName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) - } - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) - } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) +func newErrorDomainNotWhitelistedException(v protocol.ResponseMetadata) error { + return &DomainNotWhitelistedException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *DomainNotWhitelistedException) Code() string { + return "DomainNotWhitelistedException" +} + +// Message returns the exception's message. +func (s *DomainNotWhitelistedException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DomainNotWhitelistedException) OrigErr() error { return nil } -// SetAliasName sets the AliasName field's value. -func (s *DeleteTemplateAliasInput) SetAliasName(v string) *DeleteTemplateAliasInput { - s.AliasName = &v - return s +func (s *DomainNotWhitelistedException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteTemplateAliasInput) SetAwsAccountId(v string) *DeleteTemplateAliasInput { - s.AwsAccountId = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *DomainNotWhitelistedException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetTemplateId sets the TemplateId field's value. -func (s *DeleteTemplateAliasInput) SetTemplateId(v string) *DeleteTemplateAliasInput { - s.TemplateId = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *DomainNotWhitelistedException) RequestID() string { + return s.RespMetadata.RequestID } -type DeleteTemplateAliasOutput struct { +// Error information for the SPICE ingestion of a dataset. +type ErrorInfo struct { _ struct{} `type:"structure"` - // The name for the template alias. - AliasName *string `min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the resource. - Arn *string `type:"string"` - - // The AWS request ID for this operation. - RequestId *string `type:"string"` - - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Error message. + Message *string `type:"string"` - // An ID for the template associated with the deletion. - TemplateId *string `min:"1" type:"string"` + // Error type. + Type *string `type:"string" enum:"IngestionErrorType"` } // String returns the string representation -func (s DeleteTemplateAliasOutput) String() string { +func (s ErrorInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTemplateAliasOutput) GoString() string { +func (s ErrorInfo) GoString() string { return s.String() } -// SetAliasName sets the AliasName field's value. -func (s *DeleteTemplateAliasOutput) SetAliasName(v string) *DeleteTemplateAliasOutput { - s.AliasName = &v +// SetMessage sets the Message field's value. +func (s *ErrorInfo) SetMessage(v string) *ErrorInfo { + s.Message = &v return s } -// SetArn sets the Arn field's value. -func (s *DeleteTemplateAliasOutput) SetArn(v string) *DeleteTemplateAliasOutput { - s.Arn = &v +// SetType sets the Type field's value. +func (s *ErrorInfo) SetType(v string) *ErrorInfo { + s.Type = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *DeleteTemplateAliasOutput) SetRequestId(v string) *DeleteTemplateAliasOutput { - s.RequestId = &v - return s +// Export to .csv option. +type ExportToCSVOption struct { + _ struct{} `type:"structure"` + + // Availability status. + AvailabilityStatus *string `type:"string" enum:"DashboardBehavior"` } -// SetStatus sets the Status field's value. -func (s *DeleteTemplateAliasOutput) SetStatus(v int64) *DeleteTemplateAliasOutput { - s.Status = &v - return s +// String returns the string representation +func (s ExportToCSVOption) String() string { + return awsutil.Prettify(s) } -// SetTemplateId sets the TemplateId field's value. -func (s *DeleteTemplateAliasOutput) SetTemplateId(v string) *DeleteTemplateAliasOutput { - s.TemplateId = &v +// GoString returns the string representation +func (s ExportToCSVOption) GoString() string { + return s.String() +} + +// SetAvailabilityStatus sets the AvailabilityStatus field's value. +func (s *ExportToCSVOption) SetAvailabilityStatus(v string) *ExportToCSVOption { + s.AvailabilityStatus = &v return s } -type DeleteTemplateInput struct { +// A transform operation that filters rows based on a condition. +type FilterOperation struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the template that you're deleting. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - - // An ID for the template you want to delete. + // An expression that must evaluate to a Boolean value. Rows for which the expression + // evaluates to true are kept in the dataset. // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` - - // Specifies the version of the template that you want to delete. If you don't - // provide a version number, DeleteTemplate deletes all versions of the template. - VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` + // ConditionExpression is a required field + ConditionExpression *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteTemplateInput) String() string { +func (s FilterOperation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTemplateInput) GoString() string { +func (s FilterOperation) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteTemplateInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) - } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) +func (s *FilterOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FilterOperation"} + if s.ConditionExpression == nil { + invalidParams.Add(request.NewErrParamRequired("ConditionExpression")) } - if s.VersionNumber != nil && *s.VersionNumber < 1 { - invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) + if s.ConditionExpression != nil && len(*s.ConditionExpression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConditionExpression", 1)) } if invalidParams.Len() > 0 { @@ -12421,124 +18967,158 @@ func (s *DeleteTemplateInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteTemplateInput) SetAwsAccountId(v string) *DeleteTemplateInput { - s.AwsAccountId = &v - return s -} - -// SetTemplateId sets the TemplateId field's value. -func (s *DeleteTemplateInput) SetTemplateId(v string) *DeleteTemplateInput { - s.TemplateId = &v - return s -} - -// SetVersionNumber sets the VersionNumber field's value. -func (s *DeleteTemplateInput) SetVersionNumber(v int64) *DeleteTemplateInput { - s.VersionNumber = &v +// SetConditionExpression sets the ConditionExpression field's value. +func (s *FilterOperation) SetConditionExpression(v string) *FilterOperation { + s.ConditionExpression = &v return s } -type DeleteTemplateOutput struct { +// Geospatial column group that denotes a hierarchy. +type GeoSpatialColumnGroup struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. - Arn *string `type:"string"` - - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // Columns in this hierarchy. + // + // Columns is a required field + Columns []*string `min:"1" type:"list" required:"true"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Country code. + // + // CountryCode is a required field + CountryCode *string `type:"string" required:"true" enum:"GeoSpatialCountryCode"` - // An ID for the template. - TemplateId *string `min:"1" type:"string"` + // A display name for the hierarchy. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteTemplateOutput) String() string { +func (s GeoSpatialColumnGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteTemplateOutput) GoString() string { +func (s GeoSpatialColumnGroup) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DeleteTemplateOutput) SetArn(v string) *DeleteTemplateOutput { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GeoSpatialColumnGroup) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GeoSpatialColumnGroup"} + if s.Columns == nil { + invalidParams.Add(request.NewErrParamRequired("Columns")) + } + if s.Columns != nil && len(s.Columns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Columns", 1)) + } + if s.CountryCode == nil { + invalidParams.Add(request.NewErrParamRequired("CountryCode")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetRequestId sets the RequestId field's value. -func (s *DeleteTemplateOutput) SetRequestId(v string) *DeleteTemplateOutput { - s.RequestId = &v +// SetColumns sets the Columns field's value. +func (s *GeoSpatialColumnGroup) SetColumns(v []*string) *GeoSpatialColumnGroup { + s.Columns = v return s } -// SetStatus sets the Status field's value. -func (s *DeleteTemplateOutput) SetStatus(v int64) *DeleteTemplateOutput { - s.Status = &v +// SetCountryCode sets the CountryCode field's value. +func (s *GeoSpatialColumnGroup) SetCountryCode(v string) *GeoSpatialColumnGroup { + s.CountryCode = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *DeleteTemplateOutput) SetTemplateId(v string) *DeleteTemplateOutput { - s.TemplateId = &v +// SetName sets the Name field's value. +func (s *GeoSpatialColumnGroup) SetName(v string) *GeoSpatialColumnGroup { + s.Name = &v return s } -type DeleteUserByPrincipalIdInput struct { +type GetDashboardEmbedUrlInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the user is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. + // The ID for the AWS account that contains the dashboard that you're embedding. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The namespace. Currently, you should set this to default. + // The ID for the dashboard, also added to the IAM policy. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` - // The principal ID of the user. + // The authentication method that the user uses to sign in. // - // PrincipalId is a required field - PrincipalId *string `location:"uri" locationName:"PrincipalId" type:"string" required:"true"` + // IdentityType is a required field + IdentityType *string `location:"querystring" locationName:"creds-type" type:"string" required:"true" enum:"IdentityType"` + + // Remove the reset button on the embedded dashboard. The default is FALSE, + // which enables the reset button. + ResetDisabled *bool `location:"querystring" locationName:"reset-disabled" type:"boolean"` + + // How many minutes the session is valid. The session lifetime must be 15-600 + // minutes. + SessionLifetimeInMinutes *int64 `location:"querystring" locationName:"session-lifetime" min:"15" type:"long"` + + // Remove the undo/redo button on the embedded dashboard. The default is FALSE, + // which enables the undo/redo button. + UndoRedoDisabled *bool `location:"querystring" locationName:"undo-redo-disabled" type:"boolean"` + + // The Amazon QuickSight user's Amazon Resource Name (ARN), for use with QUICKSIGHT + // identity type. You can use this for any Amazon QuickSight users in your account + // (readers, authors, or admins) authenticated as one of the following: + // + // * Active Directory (AD) users or group members + // + // * Invited nonfederated users + // + // * IAM users and IAM role-based sessions authenticated through Federated + // Single Sign-On using SAML, OpenID Connect, or IAM federation. + UserArn *string `location:"querystring" locationName:"user-arn" type:"string"` } // String returns the string representation -func (s DeleteUserByPrincipalIdInput) String() string { +func (s GetDashboardEmbedUrlInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteUserByPrincipalIdInput) GoString() string { +func (s GetDashboardEmbedUrlInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteUserByPrincipalIdInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteUserByPrincipalIdInput"} +func (s *GetDashboardEmbedUrlInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDashboardEmbedUrlInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) } - if s.PrincipalId == nil { - invalidParams.Add(request.NewErrParamRequired("PrincipalId")) + if s.IdentityType == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityType")) } - if s.PrincipalId != nil && len(*s.PrincipalId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1)) + if s.SessionLifetimeInMinutes != nil && *s.SessionLifetimeInMinutes < 15 { + invalidParams.Add(request.NewErrParamMinValue("SessionLifetimeInMinutes", 15)) } if invalidParams.Len() > 0 { @@ -12548,26 +19128,56 @@ func (s *DeleteUserByPrincipalIdInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteUserByPrincipalIdInput) SetAwsAccountId(v string) *DeleteUserByPrincipalIdInput { +func (s *GetDashboardEmbedUrlInput) SetAwsAccountId(v string) *GetDashboardEmbedUrlInput { s.AwsAccountId = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *DeleteUserByPrincipalIdInput) SetNamespace(v string) *DeleteUserByPrincipalIdInput { - s.Namespace = &v +// SetDashboardId sets the DashboardId field's value. +func (s *GetDashboardEmbedUrlInput) SetDashboardId(v string) *GetDashboardEmbedUrlInput { + s.DashboardId = &v return s } -// SetPrincipalId sets the PrincipalId field's value. -func (s *DeleteUserByPrincipalIdInput) SetPrincipalId(v string) *DeleteUserByPrincipalIdInput { - s.PrincipalId = &v +// SetIdentityType sets the IdentityType field's value. +func (s *GetDashboardEmbedUrlInput) SetIdentityType(v string) *GetDashboardEmbedUrlInput { + s.IdentityType = &v return s } -type DeleteUserByPrincipalIdOutput struct { +// SetResetDisabled sets the ResetDisabled field's value. +func (s *GetDashboardEmbedUrlInput) SetResetDisabled(v bool) *GetDashboardEmbedUrlInput { + s.ResetDisabled = &v + return s +} + +// SetSessionLifetimeInMinutes sets the SessionLifetimeInMinutes field's value. +func (s *GetDashboardEmbedUrlInput) SetSessionLifetimeInMinutes(v int64) *GetDashboardEmbedUrlInput { + s.SessionLifetimeInMinutes = &v + return s +} + +// SetUndoRedoDisabled sets the UndoRedoDisabled field's value. +func (s *GetDashboardEmbedUrlInput) SetUndoRedoDisabled(v bool) *GetDashboardEmbedUrlInput { + s.UndoRedoDisabled = &v + return s +} + +// SetUserArn sets the UserArn field's value. +func (s *GetDashboardEmbedUrlInput) SetUserArn(v string) *GetDashboardEmbedUrlInput { + s.UserArn = &v + return s +} + +type GetDashboardEmbedUrlOutput struct { _ struct{} `type:"structure"` + // A single-use URL that you can put into your server-side webpage to embed + // your dashboard. This URL is valid for 5 minutes. The API provides the URL + // with an auth_code value that enables one (and only one) sign-on to a user + // session that is valid for 10 hours. + EmbedUrl *string `type:"string" sensitive:"true"` + // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -12576,77 +19186,86 @@ type DeleteUserByPrincipalIdOutput struct { } // String returns the string representation -func (s DeleteUserByPrincipalIdOutput) String() string { +func (s GetDashboardEmbedUrlOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteUserByPrincipalIdOutput) GoString() string { +func (s GetDashboardEmbedUrlOutput) GoString() string { return s.String() } +// SetEmbedUrl sets the EmbedUrl field's value. +func (s *GetDashboardEmbedUrlOutput) SetEmbedUrl(v string) *GetDashboardEmbedUrlOutput { + s.EmbedUrl = &v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *DeleteUserByPrincipalIdOutput) SetRequestId(v string) *DeleteUserByPrincipalIdOutput { +func (s *GetDashboardEmbedUrlOutput) SetRequestId(v string) *GetDashboardEmbedUrlOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteUserByPrincipalIdOutput) SetStatus(v int64) *DeleteUserByPrincipalIdOutput { +func (s *GetDashboardEmbedUrlOutput) SetStatus(v int64) *GetDashboardEmbedUrlOutput { s.Status = &v return s } -type DeleteUserInput struct { +type GetSessionEmbedUrlInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the user is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. + // The ID for the AWS account that contains the QuickSight session that you're + // embedding. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The namespace. Currently, you should set this to default. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // The entry point for the embedded session. + EntryPoint *string `location:"querystring" locationName:"entry-point" min:"1" type:"string"` - // The name of the user that you want to delete. + // How many minutes the session is valid. The session lifetime must be 15-600 + // minutes. + SessionLifetimeInMinutes *int64 `location:"querystring" locationName:"session-lifetime" min:"15" type:"long"` + + // The Amazon QuickSight user's Amazon Resource Name (ARN), for use with QUICKSIGHT + // identity type. You can use this for any Amazon QuickSight users in your account + // (readers, authors, or admins) authenticated as one of the following: // - // UserName is a required field - UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` + // * Active Directory (AD) users or group members + // + // * Invited nonfederated users + // + // * IAM users and IAM role-based sessions authenticated through Federated + // Single Sign-On using SAML, OpenID Connect, or IAM federation. + UserArn *string `location:"querystring" locationName:"user-arn" type:"string"` } // String returns the string representation -func (s DeleteUserInput) String() string { +func (s GetSessionEmbedUrlInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteUserInput) GoString() string { +func (s GetSessionEmbedUrlInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteUserInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"} +func (s *GetSessionEmbedUrlInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSessionEmbedUrlInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) - } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) - } - if s.UserName == nil { - invalidParams.Add(request.NewErrParamRequired("UserName")) + if s.EntryPoint != nil && len(*s.EntryPoint) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntryPoint", 1)) } - if s.UserName != nil && len(*s.UserName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + if s.SessionLifetimeInMinutes != nil && *s.SessionLifetimeInMinutes < 15 { + invalidParams.Add(request.NewErrParamMinValue("SessionLifetimeInMinutes", 15)) } if invalidParams.Len() > 0 { @@ -12656,26 +19275,38 @@ func (s *DeleteUserInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteUserInput) SetAwsAccountId(v string) *DeleteUserInput { +func (s *GetSessionEmbedUrlInput) SetAwsAccountId(v string) *GetSessionEmbedUrlInput { s.AwsAccountId = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *DeleteUserInput) SetNamespace(v string) *DeleteUserInput { - s.Namespace = &v +// SetEntryPoint sets the EntryPoint field's value. +func (s *GetSessionEmbedUrlInput) SetEntryPoint(v string) *GetSessionEmbedUrlInput { + s.EntryPoint = &v return s } -// SetUserName sets the UserName field's value. -func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput { - s.UserName = &v +// SetSessionLifetimeInMinutes sets the SessionLifetimeInMinutes field's value. +func (s *GetSessionEmbedUrlInput) SetSessionLifetimeInMinutes(v int64) *GetSessionEmbedUrlInput { + s.SessionLifetimeInMinutes = &v return s } -type DeleteUserOutput struct { +// SetUserArn sets the UserArn field's value. +func (s *GetSessionEmbedUrlInput) SetUserArn(v string) *GetSessionEmbedUrlInput { + s.UserArn = &v + return s +} + +type GetSessionEmbedUrlOutput struct { _ struct{} `type:"structure"` + // A single-use URL that you can put into your server-side web page to embed + // your QuickSight session. This URL is valid for 5 minutes. The API provides + // the URL with an auth_code value that enables one (and only one) sign-on to + // a user session that is valid for 10 hours. + EmbedUrl *string `type:"string" sensitive:"true"` + // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -12684,527 +19315,463 @@ type DeleteUserOutput struct { } // String returns the string representation -func (s DeleteUserOutput) String() string { +func (s GetSessionEmbedUrlOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteUserOutput) GoString() string { +func (s GetSessionEmbedUrlOutput) GoString() string { return s.String() } +// SetEmbedUrl sets the EmbedUrl field's value. +func (s *GetSessionEmbedUrlOutput) SetEmbedUrl(v string) *GetSessionEmbedUrlOutput { + s.EmbedUrl = &v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *DeleteUserOutput) SetRequestId(v string) *DeleteUserOutput { +func (s *GetSessionEmbedUrlOutput) SetRequestId(v string) *GetSessionEmbedUrlOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteUserOutput) SetStatus(v int64) *DeleteUserOutput { +func (s *GetSessionEmbedUrlOutput) SetStatus(v int64) *GetSessionEmbedUrlOutput { s.Status = &v return s } -type DescribeDashboardInput struct { +// A group in Amazon QuickSight consists of a set of users. You can use groups +// to make it easier to manage access and security. Currently, an Amazon QuickSight +// subscription can't contain more than 500 Amazon QuickSight groups. +type Group struct { _ struct{} `type:"structure"` - // The alias name. - AliasName *string `location:"querystring" locationName:"alias-name" min:"1" type:"string"` + // The Amazon Resource Name (ARN) for the group. + Arn *string `type:"string"` - // The ID of the AWS account that contains the dashboard that you're describing. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // The group description. + Description *string `min:"1" type:"string"` - // The ID for the dashboard. - // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + // The name of the group. + GroupName *string `min:"1" type:"string"` - // The version number for the dashboard. If a version number isn't passed, the - // latest published dashboard version is described. - VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` + // The principal ID of the group. + PrincipalId *string `type:"string"` } // String returns the string representation -func (s DescribeDashboardInput) String() string { +func (s Group) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDashboardInput) GoString() string { +func (s Group) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeDashboardInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeDashboardInput"} - if s.AliasName != nil && len(*s.AliasName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) - } - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.DashboardId == nil { - invalidParams.Add(request.NewErrParamRequired("DashboardId")) - } - if s.DashboardId != nil && len(*s.DashboardId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) - } - if s.VersionNumber != nil && *s.VersionNumber < 1 { - invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAliasName sets the AliasName field's value. -func (s *DescribeDashboardInput) SetAliasName(v string) *DescribeDashboardInput { - s.AliasName = &v +// SetArn sets the Arn field's value. +func (s *Group) SetArn(v string) *Group { + s.Arn = &v return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeDashboardInput) SetAwsAccountId(v string) *DescribeDashboardInput { - s.AwsAccountId = &v +// SetDescription sets the Description field's value. +func (s *Group) SetDescription(v string) *Group { + s.Description = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *DescribeDashboardInput) SetDashboardId(v string) *DescribeDashboardInput { - s.DashboardId = &v +// SetGroupName sets the GroupName field's value. +func (s *Group) SetGroupName(v string) *Group { + s.GroupName = &v return s } -// SetVersionNumber sets the VersionNumber field's value. -func (s *DescribeDashboardInput) SetVersionNumber(v int64) *DescribeDashboardInput { - s.VersionNumber = &v +// SetPrincipalId sets the PrincipalId field's value. +func (s *Group) SetPrincipalId(v string) *Group { + s.PrincipalId = &v return s } -type DescribeDashboardOutput struct { +// A member of an Amazon QuickSight group. Currently, group members must be +// users. Groups can't be members of another group. . +type GroupMember struct { _ struct{} `type:"structure"` - // Information about the dashboard. - Dashboard *Dashboard `type:"structure"` - - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // The Amazon Resource Name (ARN) for the group member (user). + Arn *string `type:"string"` - // The HTTP status of this request. - Status *int64 `location:"statusCode" type:"integer"` + // The name of the group member (user). + MemberName *string `min:"1" type:"string"` } // String returns the string representation -func (s DescribeDashboardOutput) String() string { +func (s GroupMember) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDashboardOutput) GoString() string { +func (s GroupMember) GoString() string { return s.String() } - -// SetDashboard sets the Dashboard field's value. -func (s *DescribeDashboardOutput) SetDashboard(v *Dashboard) *DescribeDashboardOutput { - s.Dashboard = v - return s -} - -// SetRequestId sets the RequestId field's value. -func (s *DescribeDashboardOutput) SetRequestId(v string) *DescribeDashboardOutput { - s.RequestId = &v + +// SetArn sets the Arn field's value. +func (s *GroupMember) SetArn(v string) *GroupMember { + s.Arn = &v return s } -// SetStatus sets the Status field's value. -func (s *DescribeDashboardOutput) SetStatus(v int64) *DescribeDashboardOutput { - s.Status = &v +// SetMemberName sets the MemberName field's value. +func (s *GroupMember) SetMemberName(v string) *GroupMember { + s.MemberName = &v return s } -type DescribeDashboardPermissionsInput struct { +// The display options for gutter spacing between tiles on a sheet. +type GutterStyle struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the dashboard that you're describing - // permissions for. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - - // The ID for the dashboard, also added to the IAM policy. - // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + // This Boolean value controls whether to display a gutter space between sheet + // tiles. + Show *bool `type:"boolean"` } // String returns the string representation -func (s DescribeDashboardPermissionsInput) String() string { +func (s GutterStyle) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDashboardPermissionsInput) GoString() string { +func (s GutterStyle) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeDashboardPermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeDashboardPermissionsInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.DashboardId == nil { - invalidParams.Add(request.NewErrParamRequired("DashboardId")) - } - if s.DashboardId != nil && len(*s.DashboardId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeDashboardPermissionsInput) SetAwsAccountId(v string) *DescribeDashboardPermissionsInput { - s.AwsAccountId = &v - return s -} - -// SetDashboardId sets the DashboardId field's value. -func (s *DescribeDashboardPermissionsInput) SetDashboardId(v string) *DescribeDashboardPermissionsInput { - s.DashboardId = &v +// SetShow sets the Show field's value. +func (s *GutterStyle) SetShow(v bool) *GutterStyle { + s.Show = &v return s } -type DescribeDashboardPermissionsOutput struct { +// An AWS Identity and Access Management (IAM) policy assignment. +type IAMPolicyAssignment struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dashboard. - DashboardArn *string `type:"string"` + // Assignment ID. + AssignmentId *string `type:"string"` - // The ID for the dashboard. - DashboardId *string `min:"1" type:"string"` + // Assignment name. + AssignmentName *string `min:"1" type:"string"` - // A structure that contains the permissions for the dashboard. - Permissions []*ResourcePermission `min:"1" type:"list"` + // Assignment status. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // The AWS account ID. + AwsAccountId *string `min:"12" type:"string"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Identities. + Identities map[string][]*string `type:"map"` + + // The Amazon Resource Name (ARN) for the IAM policy. + PolicyArn *string `type:"string"` } // String returns the string representation -func (s DescribeDashboardPermissionsOutput) String() string { +func (s IAMPolicyAssignment) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDashboardPermissionsOutput) GoString() string { +func (s IAMPolicyAssignment) GoString() string { return s.String() } -// SetDashboardArn sets the DashboardArn field's value. -func (s *DescribeDashboardPermissionsOutput) SetDashboardArn(v string) *DescribeDashboardPermissionsOutput { - s.DashboardArn = &v +// SetAssignmentId sets the AssignmentId field's value. +func (s *IAMPolicyAssignment) SetAssignmentId(v string) *IAMPolicyAssignment { + s.AssignmentId = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *DescribeDashboardPermissionsOutput) SetDashboardId(v string) *DescribeDashboardPermissionsOutput { - s.DashboardId = &v +// SetAssignmentName sets the AssignmentName field's value. +func (s *IAMPolicyAssignment) SetAssignmentName(v string) *IAMPolicyAssignment { + s.AssignmentName = &v return s } -// SetPermissions sets the Permissions field's value. -func (s *DescribeDashboardPermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeDashboardPermissionsOutput { - s.Permissions = v +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *IAMPolicyAssignment) SetAssignmentStatus(v string) *IAMPolicyAssignment { + s.AssignmentStatus = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *DescribeDashboardPermissionsOutput) SetRequestId(v string) *DescribeDashboardPermissionsOutput { - s.RequestId = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *IAMPolicyAssignment) SetAwsAccountId(v string) *IAMPolicyAssignment { + s.AwsAccountId = &v return s } -// SetStatus sets the Status field's value. -func (s *DescribeDashboardPermissionsOutput) SetStatus(v int64) *DescribeDashboardPermissionsOutput { - s.Status = &v +// SetIdentities sets the Identities field's value. +func (s *IAMPolicyAssignment) SetIdentities(v map[string][]*string) *IAMPolicyAssignment { + s.Identities = v return s } -type DescribeDataSetInput struct { +// SetPolicyArn sets the PolicyArn field's value. +func (s *IAMPolicyAssignment) SetPolicyArn(v string) *IAMPolicyAssignment { + s.PolicyArn = &v + return s +} + +// IAM policy assignment summary. +type IAMPolicyAssignmentSummary struct { _ struct{} `type:"structure"` - // The AWS account ID. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // Assignment name. + AssignmentName *string `min:"1" type:"string"` - // The ID for the dataset that you want to create. This ID is unique per AWS - // Region for each AWS account. - // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + // Assignment status. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` } // String returns the string representation -func (s DescribeDataSetInput) String() string { +func (s IAMPolicyAssignmentSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDataSetInput) GoString() string { +func (s IAMPolicyAssignmentSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeDataSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeDataSetInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.DataSetId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetId")) - } - if s.DataSetId != nil && len(*s.DataSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeDataSetInput) SetAwsAccountId(v string) *DescribeDataSetInput { - s.AwsAccountId = &v +// SetAssignmentName sets the AssignmentName field's value. +func (s *IAMPolicyAssignmentSummary) SetAssignmentName(v string) *IAMPolicyAssignmentSummary { + s.AssignmentName = &v return s } -// SetDataSetId sets the DataSetId field's value. -func (s *DescribeDataSetInput) SetDataSetId(v string) *DescribeDataSetInput { - s.DataSetId = &v +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *IAMPolicyAssignmentSummary) SetAssignmentStatus(v string) *IAMPolicyAssignmentSummary { + s.AssignmentStatus = &v return s } -type DescribeDataSetOutput struct { - _ struct{} `type:"structure"` +// The identity type specified isn't supported. Supported identity types include +// IAM and QUICKSIGHT. +type IdentityTypeNotSupportedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // Information on the dataset. - DataSet *DataSet `type:"structure"` + Message_ *string `locationName:"Message" type:"string"` - // The AWS request ID for this operation. + // The AWS request ID for this request. RequestId *string `type:"string"` - - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DescribeDataSetOutput) String() string { +func (s IdentityTypeNotSupportedException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDataSetOutput) GoString() string { +func (s IdentityTypeNotSupportedException) GoString() string { return s.String() } -// SetDataSet sets the DataSet field's value. -func (s *DescribeDataSetOutput) SetDataSet(v *DataSet) *DescribeDataSetOutput { - s.DataSet = v - return s +func newErrorIdentityTypeNotSupportedException(v protocol.ResponseMetadata) error { + return &IdentityTypeNotSupportedException{ + RespMetadata: v, + } } -// SetRequestId sets the RequestId field's value. -func (s *DescribeDataSetOutput) SetRequestId(v string) *DescribeDataSetOutput { - s.RequestId = &v - return s +// Code returns the exception type name. +func (s *IdentityTypeNotSupportedException) Code() string { + return "IdentityTypeNotSupportedException" } -// SetStatus sets the Status field's value. -func (s *DescribeDataSetOutput) SetStatus(v int64) *DescribeDataSetOutput { - s.Status = &v - return s +// Message returns the exception's message. +func (s *IdentityTypeNotSupportedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *IdentityTypeNotSupportedException) OrigErr() error { + return nil +} + +func (s *IdentityTypeNotSupportedException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *IdentityTypeNotSupportedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *IdentityTypeNotSupportedException) RequestID() string { + return s.RespMetadata.RequestID } -type DescribeDataSetPermissionsInput struct { - _ struct{} `type:"structure"` +// Information about the SPICE ingestion for a dataset. +type Ingestion struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` + + // The time that this ingestion started. + // + // CreatedTime is a required field + CreatedTime *time.Time `type:"timestamp" required:"true"` + + // Error information for this ingestion. + ErrorInfo *ErrorInfo `type:"structure"` + + // Ingestion ID. + IngestionId *string `min:"1" type:"string"` + + // The size of the data ingested, in bytes. + IngestionSizeInBytes *int64 `type:"long"` - // The AWS account ID. + // Ingestion status. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // IngestionStatus is a required field + IngestionStatus *string `type:"string" required:"true" enum:"IngestionStatus"` - // The ID for the dataset that you want to create. This ID is unique per AWS - // Region for each AWS account. - // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + // The time that this ingestion took, measured in seconds. + IngestionTimeInSeconds *int64 `type:"long"` + + // Information about a queued dataset SPICE ingestion. + QueueInfo *QueueInfo `type:"structure"` + + // Event source for this ingestion. + RequestSource *string `type:"string" enum:"IngestionRequestSource"` + + // Type of this ingestion. + RequestType *string `type:"string" enum:"IngestionRequestType"` + + // Information about rows for a data set SPICE ingestion. + RowInfo *RowInfo `type:"structure"` } // String returns the string representation -func (s DescribeDataSetPermissionsInput) String() string { +func (s Ingestion) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDataSetPermissionsInput) GoString() string { +func (s Ingestion) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeDataSetPermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeDataSetPermissionsInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.DataSetId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetId")) - } - if s.DataSetId != nil && len(*s.DataSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *Ingestion) SetArn(v string) *Ingestion { + s.Arn = &v + return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeDataSetPermissionsInput) SetAwsAccountId(v string) *DescribeDataSetPermissionsInput { - s.AwsAccountId = &v +// SetCreatedTime sets the CreatedTime field's value. +func (s *Ingestion) SetCreatedTime(v time.Time) *Ingestion { + s.CreatedTime = &v return s } -// SetDataSetId sets the DataSetId field's value. -func (s *DescribeDataSetPermissionsInput) SetDataSetId(v string) *DescribeDataSetPermissionsInput { - s.DataSetId = &v +// SetErrorInfo sets the ErrorInfo field's value. +func (s *Ingestion) SetErrorInfo(v *ErrorInfo) *Ingestion { + s.ErrorInfo = v return s } -type DescribeDataSetPermissionsOutput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the dataset. - DataSetArn *string `type:"string"` - - // The ID for the dataset that you want to create. This ID is unique per AWS - // Region for each AWS account. - DataSetId *string `type:"string"` - - // A list of resource permissions on the dataset. - Permissions []*ResourcePermission `min:"1" type:"list"` - - // The AWS request ID for this operation. - RequestId *string `type:"string"` - - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` +// SetIngestionId sets the IngestionId field's value. +func (s *Ingestion) SetIngestionId(v string) *Ingestion { + s.IngestionId = &v + return s } -// String returns the string representation -func (s DescribeDataSetPermissionsOutput) String() string { - return awsutil.Prettify(s) +// SetIngestionSizeInBytes sets the IngestionSizeInBytes field's value. +func (s *Ingestion) SetIngestionSizeInBytes(v int64) *Ingestion { + s.IngestionSizeInBytes = &v + return s } -// GoString returns the string representation -func (s DescribeDataSetPermissionsOutput) GoString() string { - return s.String() +// SetIngestionStatus sets the IngestionStatus field's value. +func (s *Ingestion) SetIngestionStatus(v string) *Ingestion { + s.IngestionStatus = &v + return s } -// SetDataSetArn sets the DataSetArn field's value. -func (s *DescribeDataSetPermissionsOutput) SetDataSetArn(v string) *DescribeDataSetPermissionsOutput { - s.DataSetArn = &v +// SetIngestionTimeInSeconds sets the IngestionTimeInSeconds field's value. +func (s *Ingestion) SetIngestionTimeInSeconds(v int64) *Ingestion { + s.IngestionTimeInSeconds = &v return s } -// SetDataSetId sets the DataSetId field's value. -func (s *DescribeDataSetPermissionsOutput) SetDataSetId(v string) *DescribeDataSetPermissionsOutput { - s.DataSetId = &v +// SetQueueInfo sets the QueueInfo field's value. +func (s *Ingestion) SetQueueInfo(v *QueueInfo) *Ingestion { + s.QueueInfo = v return s } -// SetPermissions sets the Permissions field's value. -func (s *DescribeDataSetPermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeDataSetPermissionsOutput { - s.Permissions = v +// SetRequestSource sets the RequestSource field's value. +func (s *Ingestion) SetRequestSource(v string) *Ingestion { + s.RequestSource = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *DescribeDataSetPermissionsOutput) SetRequestId(v string) *DescribeDataSetPermissionsOutput { - s.RequestId = &v +// SetRequestType sets the RequestType field's value. +func (s *Ingestion) SetRequestType(v string) *Ingestion { + s.RequestType = &v return s } -// SetStatus sets the Status field's value. -func (s *DescribeDataSetPermissionsOutput) SetStatus(v int64) *DescribeDataSetPermissionsOutput { - s.Status = &v +// SetRowInfo sets the RowInfo field's value. +func (s *Ingestion) SetRowInfo(v *RowInfo) *Ingestion { + s.RowInfo = v return s } -type DescribeDataSourceInput struct { +// Metadata for a column that is used as the input of a transform operation. +type InputColumn struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The name of this column in the underlying data source. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. + // The data type of the column. // - // DataSourceId is a required field - DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` + // Type is a required field + Type *string `type:"string" required:"true" enum:"InputColumnDataType"` } // String returns the string representation -func (s DescribeDataSourceInput) String() string { +func (s InputColumn) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDataSourceInput) GoString() string { +func (s InputColumn) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeDataSourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeDataSourceInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) +func (s *InputColumn) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputColumn"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.DataSourceId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSourceId")) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) } if invalidParams.Len() > 0 { @@ -13213,344 +19780,348 @@ func (s *DescribeDataSourceInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeDataSourceInput) SetAwsAccountId(v string) *DescribeDataSourceInput { - s.AwsAccountId = &v +// SetName sets the Name field's value. +func (s *InputColumn) SetName(v string) *InputColumn { + s.Name = &v return s } -// SetDataSourceId sets the DataSourceId field's value. -func (s *DescribeDataSourceInput) SetDataSourceId(v string) *DescribeDataSourceInput { - s.DataSourceId = &v +// SetType sets the Type field's value. +func (s *InputColumn) SetType(v string) *InputColumn { + s.Type = &v return s } -type DescribeDataSourceOutput struct { +// Integer parameter. +type IntegerParameter struct { _ struct{} `type:"structure"` - // The information on the data source. - DataSource *DataSource `type:"structure"` - - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // A display name for the dataset. + // + // Name is a required field + Name *string `type:"string" required:"true"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Values. + // + // Values is a required field + Values []*int64 `type:"list" required:"true"` } // String returns the string representation -func (s DescribeDataSourceOutput) String() string { +func (s IntegerParameter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDataSourceOutput) GoString() string { +func (s IntegerParameter) GoString() string { return s.String() } -// SetDataSource sets the DataSource field's value. -func (s *DescribeDataSourceOutput) SetDataSource(v *DataSource) *DescribeDataSourceOutput { - s.DataSource = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *IntegerParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IntegerParameter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetRequestId sets the RequestId field's value. -func (s *DescribeDataSourceOutput) SetRequestId(v string) *DescribeDataSourceOutput { - s.RequestId = &v +// SetName sets the Name field's value. +func (s *IntegerParameter) SetName(v string) *IntegerParameter { + s.Name = &v return s } -// SetStatus sets the Status field's value. -func (s *DescribeDataSourceOutput) SetStatus(v int64) *DescribeDataSourceOutput { - s.Status = &v +// SetValues sets the Values field's value. +func (s *IntegerParameter) SetValues(v []*int64) *IntegerParameter { + s.Values = v return s } -type DescribeDataSourcePermissionsInput struct { - _ struct{} `type:"structure"` +// An internal failure occurred. +type InternalFailureException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The AWS account ID. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. - // - // DataSourceId is a required field - DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` + // The AWS request ID for this request. + RequestId *string `type:"string"` } // String returns the string representation -func (s DescribeDataSourcePermissionsInput) String() string { +func (s InternalFailureException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDataSourcePermissionsInput) GoString() string { +func (s InternalFailureException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeDataSourcePermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeDataSourcePermissionsInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.DataSourceId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSourceId")) - } - if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) +func newErrorInternalFailureException(v protocol.ResponseMetadata) error { + return &InternalFailureException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *InternalFailureException) Code() string { + return "InternalFailureException" +} + +// Message returns the exception's message. +func (s *InternalFailureException) Message() string { + if s.Message_ != nil { + return *s.Message_ } - return nil + return "" } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeDataSourcePermissionsInput) SetAwsAccountId(v string) *DescribeDataSourcePermissionsInput { - s.AwsAccountId = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalFailureException) OrigErr() error { + return nil } -// SetDataSourceId sets the DataSourceId field's value. -func (s *DescribeDataSourcePermissionsInput) SetDataSourceId(v string) *DescribeDataSourcePermissionsInput { - s.DataSourceId = &v - return s +func (s *InternalFailureException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -type DescribeDataSourcePermissionsOutput struct { - _ struct{} `type:"structure"` +// Status code returns the HTTP status code for the request's response error. +func (s *InternalFailureException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The Amazon Resource Name (ARN) of the data source. - DataSourceArn *string `type:"string"` +// RequestID returns the service's response RequestID for request. +func (s *InternalFailureException) RequestID() string { + return s.RespMetadata.RequestID +} - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. - DataSourceId *string `type:"string"` +// The NextToken value isn't valid. +type InvalidNextTokenException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // A list of resource permissions on the data source. - Permissions []*ResourcePermission `min:"1" type:"list"` + Message_ *string `locationName:"Message" type:"string"` - // The AWS request ID for this operation. + // The AWS request ID for this request. RequestId *string `type:"string"` - - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DescribeDataSourcePermissionsOutput) String() string { +func (s InvalidNextTokenException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDataSourcePermissionsOutput) GoString() string { +func (s InvalidNextTokenException) GoString() string { return s.String() } -// SetDataSourceArn sets the DataSourceArn field's value. -func (s *DescribeDataSourcePermissionsOutput) SetDataSourceArn(v string) *DescribeDataSourcePermissionsOutput { - s.DataSourceArn = &v - return s +func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { + return &InvalidNextTokenException{ + RespMetadata: v, + } } -// SetDataSourceId sets the DataSourceId field's value. -func (s *DescribeDataSourcePermissionsOutput) SetDataSourceId(v string) *DescribeDataSourcePermissionsOutput { - s.DataSourceId = &v - return s +// Code returns the exception type name. +func (s *InvalidNextTokenException) Code() string { + return "InvalidNextTokenException" } -// SetPermissions sets the Permissions field's value. -func (s *DescribeDataSourcePermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeDataSourcePermissionsOutput { - s.Permissions = v - return s +// Message returns the exception's message. +func (s *InvalidNextTokenException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetRequestId sets the RequestId field's value. -func (s *DescribeDataSourcePermissionsOutput) SetRequestId(v string) *DescribeDataSourcePermissionsOutput { - s.RequestId = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidNextTokenException) OrigErr() error { + return nil } -// SetStatus sets the Status field's value. -func (s *DescribeDataSourcePermissionsOutput) SetStatus(v int64) *DescribeDataSourcePermissionsOutput { - s.Status = &v - return s +func (s *InvalidNextTokenException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -type DescribeGroupInput struct { - _ struct{} `type:"structure"` +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidNextTokenException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The ID for the AWS account that the group is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` +// RequestID returns the service's response RequestID for request. +func (s *InvalidNextTokenException) RequestID() string { + return s.RespMetadata.RequestID +} - // The name of the group that you want to describe. - // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` +// One or more parameters has a value that isn't valid. +type InvalidParameterValueException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The namespace. Currently, you should set this to default. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` + + // The AWS request ID for this request. + RequestId *string `type:"string"` } // String returns the string representation -func (s DescribeGroupInput) String() string { +func (s InvalidParameterValueException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeGroupInput) GoString() string { +func (s InvalidParameterValueException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeGroupInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) - } - if s.GroupName != nil && len(*s.GroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) - } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) - } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) +func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error { + return &InvalidParameterValueException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *InvalidParameterValueException) Code() string { + return "InvalidParameterValueException" +} + +// Message returns the exception's message. +func (s *InvalidParameterValueException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidParameterValueException) OrigErr() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeGroupInput) SetAwsAccountId(v string) *DescribeGroupInput { - s.AwsAccountId = &v - return s +func (s *InvalidParameterValueException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetGroupName sets the GroupName field's value. -func (s *DescribeGroupInput) SetGroupName(v string) *DescribeGroupInput { - s.GroupName = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidParameterValueException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetNamespace sets the Namespace field's value. -func (s *DescribeGroupInput) SetNamespace(v string) *DescribeGroupInput { - s.Namespace = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *InvalidParameterValueException) RequestID() string { + return s.RespMetadata.RequestID } -type DescribeGroupOutput struct { +// Jira parameters. +type JiraParameters struct { _ struct{} `type:"structure"` - // The name of the group. - Group *Group `type:"structure"` - - // The AWS request ID for this operation. - RequestId *string `type:"string"` - - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // The base URL of the Jira site. + // + // SiteBaseUrl is a required field + SiteBaseUrl *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DescribeGroupOutput) String() string { +func (s JiraParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeGroupOutput) GoString() string { +func (s JiraParameters) GoString() string { return s.String() } -// SetGroup sets the Group field's value. -func (s *DescribeGroupOutput) SetGroup(v *Group) *DescribeGroupOutput { - s.Group = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *JiraParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "JiraParameters"} + if s.SiteBaseUrl == nil { + invalidParams.Add(request.NewErrParamRequired("SiteBaseUrl")) + } + if s.SiteBaseUrl != nil && len(*s.SiteBaseUrl) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SiteBaseUrl", 1)) + } -// SetRequestId sets the RequestId field's value. -func (s *DescribeGroupOutput) SetRequestId(v string) *DescribeGroupOutput { - s.RequestId = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStatus sets the Status field's value. -func (s *DescribeGroupOutput) SetStatus(v int64) *DescribeGroupOutput { - s.Status = &v +// SetSiteBaseUrl sets the SiteBaseUrl field's value. +func (s *JiraParameters) SetSiteBaseUrl(v string) *JiraParameters { + s.SiteBaseUrl = &v return s } -type DescribeIAMPolicyAssignmentInput struct { +// Join instruction. +type JoinInstruction struct { _ struct{} `type:"structure"` - // The name of the assignment. + // Left operand. // - // AssignmentName is a required field - AssignmentName *string `location:"uri" locationName:"AssignmentName" min:"1" type:"string" required:"true"` + // LeftOperand is a required field + LeftOperand *string `min:"1" type:"string" required:"true"` - // The ID of the AWS account that contains the assignment that you want to describe. + // On Clause. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // OnClause is a required field + OnClause *string `min:"1" type:"string" required:"true"` - // The namespace that contains the assignment. + // Right operand. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // RightOperand is a required field + RightOperand *string `min:"1" type:"string" required:"true"` + + // Type. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"JoinType"` } // String returns the string representation -func (s DescribeIAMPolicyAssignmentInput) String() string { +func (s JoinInstruction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeIAMPolicyAssignmentInput) GoString() string { +func (s JoinInstruction) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeIAMPolicyAssignmentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeIAMPolicyAssignmentInput"} - if s.AssignmentName == nil { - invalidParams.Add(request.NewErrParamRequired("AssignmentName")) +func (s *JoinInstruction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "JoinInstruction"} + if s.LeftOperand == nil { + invalidParams.Add(request.NewErrParamRequired("LeftOperand")) } - if s.AssignmentName != nil && len(*s.AssignmentName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssignmentName", 1)) + if s.LeftOperand != nil && len(*s.LeftOperand) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LeftOperand", 1)) } - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + if s.OnClause == nil { + invalidParams.Add(request.NewErrParamRequired("OnClause")) } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + if s.OnClause != nil && len(*s.OnClause) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OnClause", 1)) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.RightOperand == nil { + invalidParams.Add(request.NewErrParamRequired("RightOperand")) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.RightOperand != nil && len(*s.RightOperand) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RightOperand", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) } if invalidParams.Len() > 0 { @@ -13559,114 +20130,140 @@ func (s *DescribeIAMPolicyAssignmentInput) Validate() error { return nil } -// SetAssignmentName sets the AssignmentName field's value. -func (s *DescribeIAMPolicyAssignmentInput) SetAssignmentName(v string) *DescribeIAMPolicyAssignmentInput { - s.AssignmentName = &v +// SetLeftOperand sets the LeftOperand field's value. +func (s *JoinInstruction) SetLeftOperand(v string) *JoinInstruction { + s.LeftOperand = &v return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeIAMPolicyAssignmentInput) SetAwsAccountId(v string) *DescribeIAMPolicyAssignmentInput { - s.AwsAccountId = &v +// SetOnClause sets the OnClause field's value. +func (s *JoinInstruction) SetOnClause(v string) *JoinInstruction { + s.OnClause = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *DescribeIAMPolicyAssignmentInput) SetNamespace(v string) *DescribeIAMPolicyAssignmentInput { - s.Namespace = &v +// SetRightOperand sets the RightOperand field's value. +func (s *JoinInstruction) SetRightOperand(v string) *JoinInstruction { + s.RightOperand = &v return s } -type DescribeIAMPolicyAssignmentOutput struct { - _ struct{} `type:"structure"` +// SetType sets the Type field's value. +func (s *JoinInstruction) SetType(v string) *JoinInstruction { + s.Type = &v + return s +} - // Information describing the IAM policy assignment. - IAMPolicyAssignment *IAMPolicyAssignment `type:"structure"` +// A limit is exceeded. +type LimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The AWS request ID for this operation. + Message_ *string `locationName:"Message" type:"string"` + + // The AWS request ID for this request. RequestId *string `type:"string"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Limit exceeded. + ResourceType *string `type:"string" enum:"ExceptionResourceType"` } // String returns the string representation -func (s DescribeIAMPolicyAssignmentOutput) String() string { +func (s LimitExceededException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeIAMPolicyAssignmentOutput) GoString() string { +func (s LimitExceededException) GoString() string { return s.String() } -// SetIAMPolicyAssignment sets the IAMPolicyAssignment field's value. -func (s *DescribeIAMPolicyAssignmentOutput) SetIAMPolicyAssignment(v *IAMPolicyAssignment) *DescribeIAMPolicyAssignmentOutput { - s.IAMPolicyAssignment = v - return s +func newErrorLimitExceededException(v protocol.ResponseMetadata) error { + return &LimitExceededException{ + RespMetadata: v, + } } -// SetRequestId sets the RequestId field's value. -func (s *DescribeIAMPolicyAssignmentOutput) SetRequestId(v string) *DescribeIAMPolicyAssignmentOutput { - s.RequestId = &v - return s +// Code returns the exception type name. +func (s *LimitExceededException) Code() string { + return "LimitExceededException" } -// SetStatus sets the Status field's value. -func (s *DescribeIAMPolicyAssignmentOutput) SetStatus(v int64) *DescribeIAMPolicyAssignmentOutput { - s.Status = &v - return s +// Message returns the exception's message. +func (s *LimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -type DescribeIngestionInput struct { +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *LimitExceededException) OrigErr() error { + return nil +} + +func (s *LimitExceededException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListDashboardVersionsInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The ID of the AWS account that contains the dashboard that you're listing + // versions for. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID of the dataset used in the ingestion. + // The ID for the dashboard. // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` - // An ID for the ingestion. - // - // IngestionId is a required field - IngestionId *string `location:"uri" locationName:"IngestionId" min:"1" type:"string" required:"true"` + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` } // String returns the string representation -func (s DescribeIngestionInput) String() string { +func (s ListDashboardVersionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeIngestionInput) GoString() string { +func (s ListDashboardVersionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeIngestionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeIngestionInput"} +func (s *ListDashboardVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDashboardVersionsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DataSetId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetId")) - } - if s.DataSetId != nil && len(*s.DataSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) } - if s.IngestionId == nil { - invalidParams.Add(request.NewErrParamRequired("IngestionId")) + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) } - if s.IngestionId != nil && len(*s.IngestionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("IngestionId", 1)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -13676,28 +20273,37 @@ func (s *DescribeIngestionInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeIngestionInput) SetAwsAccountId(v string) *DescribeIngestionInput { +func (s *ListDashboardVersionsInput) SetAwsAccountId(v string) *ListDashboardVersionsInput { s.AwsAccountId = &v return s } -// SetDataSetId sets the DataSetId field's value. -func (s *DescribeIngestionInput) SetDataSetId(v string) *DescribeIngestionInput { - s.DataSetId = &v +// SetDashboardId sets the DashboardId field's value. +func (s *ListDashboardVersionsInput) SetDashboardId(v string) *ListDashboardVersionsInput { + s.DashboardId = &v return s } -// SetIngestionId sets the IngestionId field's value. -func (s *DescribeIngestionInput) SetIngestionId(v string) *DescribeIngestionInput { - s.IngestionId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListDashboardVersionsInput) SetMaxResults(v int64) *ListDashboardVersionsInput { + s.MaxResults = &v return s } -type DescribeIngestionOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListDashboardVersionsInput) SetNextToken(v string) *ListDashboardVersionsInput { + s.NextToken = &v + return s +} + +type ListDashboardVersionsOutput struct { _ struct{} `type:"structure"` - // Information about the ingestion. - Ingestion *Ingestion `type:"structure"` + // A structure that contains information about each version of the dashboard. + DashboardVersionSummaryList []*DashboardVersionSummary `type:"list"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -13707,85 +20313,75 @@ type DescribeIngestionOutput struct { } // String returns the string representation -func (s DescribeIngestionOutput) String() string { +func (s ListDashboardVersionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeIngestionOutput) GoString() string { +func (s ListDashboardVersionsOutput) GoString() string { return s.String() } -// SetIngestion sets the Ingestion field's value. -func (s *DescribeIngestionOutput) SetIngestion(v *Ingestion) *DescribeIngestionOutput { - s.Ingestion = v +// SetDashboardVersionSummaryList sets the DashboardVersionSummaryList field's value. +func (s *ListDashboardVersionsOutput) SetDashboardVersionSummaryList(v []*DashboardVersionSummary) *ListDashboardVersionsOutput { + s.DashboardVersionSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDashboardVersionsOutput) SetNextToken(v string) *ListDashboardVersionsOutput { + s.NextToken = &v return s } // SetRequestId sets the RequestId field's value. -func (s *DescribeIngestionOutput) SetRequestId(v string) *DescribeIngestionOutput { +func (s *ListDashboardVersionsOutput) SetRequestId(v string) *ListDashboardVersionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DescribeIngestionOutput) SetStatus(v int64) *DescribeIngestionOutput { +func (s *ListDashboardVersionsOutput) SetStatus(v int64) *ListDashboardVersionsOutput { s.Status = &v - return s -} - -type DescribeTemplateAliasInput struct { - _ struct{} `type:"structure"` - - // The name of the template alias that you want to describe. If you name a specific - // alias, you describe the version that the alias points to. You can specify - // the latest version of the template by providing the keyword $LATEST in the - // AliasName parameter. The keyword $PUBLISHED doesn't apply to templates. - // - // AliasName is a required field - AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` + return s +} - // The ID of the AWS account that contains the template alias that you're describing. +type ListDashboardsInput struct { + _ struct{} `type:"structure"` + + // The ID of the AWS account that contains the dashboards that you're listing. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the template. - // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` } // String returns the string representation -func (s DescribeTemplateAliasInput) String() string { +func (s ListDashboardsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTemplateAliasInput) GoString() string { +func (s ListDashboardsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeTemplateAliasInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeTemplateAliasInput"} - if s.AliasName == nil { - invalidParams.Add(request.NewErrParamRequired("AliasName")) - } - if s.AliasName != nil && len(*s.AliasName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) - } +func (s *ListDashboardsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDashboardsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) - } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -13794,119 +20390,111 @@ func (s *DescribeTemplateAliasInput) Validate() error { return nil } -// SetAliasName sets the AliasName field's value. -func (s *DescribeTemplateAliasInput) SetAliasName(v string) *DescribeTemplateAliasInput { - s.AliasName = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListDashboardsInput) SetAwsAccountId(v string) *ListDashboardsInput { + s.AwsAccountId = &v return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeTemplateAliasInput) SetAwsAccountId(v string) *DescribeTemplateAliasInput { - s.AwsAccountId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListDashboardsInput) SetMaxResults(v int64) *ListDashboardsInput { + s.MaxResults = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *DescribeTemplateAliasInput) SetTemplateId(v string) *DescribeTemplateAliasInput { - s.TemplateId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListDashboardsInput) SetNextToken(v string) *ListDashboardsInput { + s.NextToken = &v return s } -type DescribeTemplateAliasOutput struct { +type ListDashboardsOutput struct { _ struct{} `type:"structure"` + // A structure that contains all of the dashboards in your AWS account. This + // structure provides basic information about the dashboards. + DashboardSummaryList []*DashboardSummary `type:"list"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - - // Information about the template alias. - TemplateAlias *TemplateAlias `type:"structure"` } // String returns the string representation -func (s DescribeTemplateAliasOutput) String() string { +func (s ListDashboardsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTemplateAliasOutput) GoString() string { +func (s ListDashboardsOutput) GoString() string { return s.String() } +// SetDashboardSummaryList sets the DashboardSummaryList field's value. +func (s *ListDashboardsOutput) SetDashboardSummaryList(v []*DashboardSummary) *ListDashboardsOutput { + s.DashboardSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDashboardsOutput) SetNextToken(v string) *ListDashboardsOutput { + s.NextToken = &v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *DescribeTemplateAliasOutput) SetRequestId(v string) *DescribeTemplateAliasOutput { +func (s *ListDashboardsOutput) SetRequestId(v string) *ListDashboardsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DescribeTemplateAliasOutput) SetStatus(v int64) *DescribeTemplateAliasOutput { +func (s *ListDashboardsOutput) SetStatus(v int64) *ListDashboardsOutput { s.Status = &v return s } -// SetTemplateAlias sets the TemplateAlias field's value. -func (s *DescribeTemplateAliasOutput) SetTemplateAlias(v *TemplateAlias) *DescribeTemplateAliasOutput { - s.TemplateAlias = v - return s -} - -type DescribeTemplateInput struct { +type ListDataSetsInput struct { _ struct{} `type:"structure"` - // The alias of the template that you want to describe. If you name a specific - // alias, you describe the version that the alias points to. You can specify - // the latest version of the template by providing the keyword $LATEST in the - // AliasName parameter. The keyword $PUBLISHED doesn't apply to templates. - AliasName *string `location:"querystring" locationName:"alias-name" min:"1" type:"string"` - - // The ID of the AWS account that contains the template that you're describing. + // The AWS account ID. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the template. - // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` - // (Optional) The number for the version to describe. If a VersionNumber parameter - // value isn't provided, the latest version of the template is described. - VersionNumber *int64 `location:"querystring" locationName:"version-number" min:"1" type:"long"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` } // String returns the string representation -func (s DescribeTemplateInput) String() string { +func (s ListDataSetsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTemplateInput) GoString() string { +func (s ListDataSetsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeTemplateInput"} - if s.AliasName != nil && len(*s.AliasName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) - } +func (s *ListDataSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDataSetsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) - } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) - } - if s.VersionNumber != nil && *s.VersionNumber < 1 { - invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -13915,100 +20503,110 @@ func (s *DescribeTemplateInput) Validate() error { return nil } -// SetAliasName sets the AliasName field's value. -func (s *DescribeTemplateInput) SetAliasName(v string) *DescribeTemplateInput { - s.AliasName = &v - return s -} - // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeTemplateInput) SetAwsAccountId(v string) *DescribeTemplateInput { +func (s *ListDataSetsInput) SetAwsAccountId(v string) *ListDataSetsInput { s.AwsAccountId = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *DescribeTemplateInput) SetTemplateId(v string) *DescribeTemplateInput { - s.TemplateId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListDataSetsInput) SetMaxResults(v int64) *ListDataSetsInput { + s.MaxResults = &v return s } -// SetVersionNumber sets the VersionNumber field's value. -func (s *DescribeTemplateInput) SetVersionNumber(v int64) *DescribeTemplateInput { - s.VersionNumber = &v +// SetNextToken sets the NextToken field's value. +func (s *ListDataSetsInput) SetNextToken(v string) *ListDataSetsInput { + s.NextToken = &v return s } -type DescribeTemplateOutput struct { +type ListDataSetsOutput struct { _ struct{} `type:"structure"` + // The list of dataset summaries. + DataSetSummaries []*DataSetSummary `type:"list"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - - // The template structure for the object you want to describe. - Template *Template `type:"structure"` } // String returns the string representation -func (s DescribeTemplateOutput) String() string { +func (s ListDataSetsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTemplateOutput) GoString() string { +func (s ListDataSetsOutput) GoString() string { return s.String() } -// SetStatus sets the Status field's value. -func (s *DescribeTemplateOutput) SetStatus(v int64) *DescribeTemplateOutput { - s.Status = &v +// SetDataSetSummaries sets the DataSetSummaries field's value. +func (s *ListDataSetsOutput) SetDataSetSummaries(v []*DataSetSummary) *ListDataSetsOutput { + s.DataSetSummaries = v return s } -// SetTemplate sets the Template field's value. -func (s *DescribeTemplateOutput) SetTemplate(v *Template) *DescribeTemplateOutput { - s.Template = v +// SetNextToken sets the NextToken field's value. +func (s *ListDataSetsOutput) SetNextToken(v string) *ListDataSetsOutput { + s.NextToken = &v return s } -type DescribeTemplatePermissionsInput struct { +// SetRequestId sets the RequestId field's value. +func (s *ListDataSetsOutput) SetRequestId(v string) *ListDataSetsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListDataSetsOutput) SetStatus(v int64) *ListDataSetsOutput { + s.Status = &v + return s +} + +type ListDataSourcesInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the template that you're describing. + // The AWS account ID. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the template. - // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` } // String returns the string representation -func (s DescribeTemplatePermissionsInput) String() string { +func (s ListDataSourcesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTemplatePermissionsInput) GoString() string { +func (s ListDataSourcesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeTemplatePermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeTemplatePermissionsInput"} +func (s *ListDataSourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDataSourcesInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) - } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -14018,127 +20616,133 @@ func (s *DescribeTemplatePermissionsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeTemplatePermissionsInput) SetAwsAccountId(v string) *DescribeTemplatePermissionsInput { +func (s *ListDataSourcesInput) SetAwsAccountId(v string) *ListDataSourcesInput { s.AwsAccountId = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *DescribeTemplatePermissionsInput) SetTemplateId(v string) *DescribeTemplatePermissionsInput { - s.TemplateId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListDataSourcesInput) SetMaxResults(v int64) *ListDataSourcesInput { + s.MaxResults = &v return s } -type DescribeTemplatePermissionsOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListDataSourcesInput) SetNextToken(v string) *ListDataSourcesInput { + s.NextToken = &v + return s +} + +type ListDataSourcesOutput struct { _ struct{} `type:"structure"` - // A list of resource permissions to be set on the template. - Permissions []*ResourcePermission `min:"1" type:"list"` + // A list of data sources. + DataSources []*DataSource `type:"list"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` - - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` - - // The Amazon Resource Name (ARN) of the template. - TemplateArn *string `type:"string"` - - // The ID for the template. - TemplateId *string `min:"1" type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s DescribeTemplatePermissionsOutput) String() string { +func (s ListDataSourcesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeTemplatePermissionsOutput) GoString() string { +func (s ListDataSourcesOutput) GoString() string { return s.String() } -// SetPermissions sets the Permissions field's value. -func (s *DescribeTemplatePermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeTemplatePermissionsOutput { - s.Permissions = v +// SetDataSources sets the DataSources field's value. +func (s *ListDataSourcesOutput) SetDataSources(v []*DataSource) *ListDataSourcesOutput { + s.DataSources = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDataSourcesOutput) SetNextToken(v string) *ListDataSourcesOutput { + s.NextToken = &v return s } // SetRequestId sets the RequestId field's value. -func (s *DescribeTemplatePermissionsOutput) SetRequestId(v string) *DescribeTemplatePermissionsOutput { +func (s *ListDataSourcesOutput) SetRequestId(v string) *ListDataSourcesOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DescribeTemplatePermissionsOutput) SetStatus(v int64) *DescribeTemplatePermissionsOutput { +func (s *ListDataSourcesOutput) SetStatus(v int64) *ListDataSourcesOutput { s.Status = &v return s } -// SetTemplateArn sets the TemplateArn field's value. -func (s *DescribeTemplatePermissionsOutput) SetTemplateArn(v string) *DescribeTemplatePermissionsOutput { - s.TemplateArn = &v - return s -} - -// SetTemplateId sets the TemplateId field's value. -func (s *DescribeTemplatePermissionsOutput) SetTemplateId(v string) *DescribeTemplatePermissionsOutput { - s.TemplateId = &v - return s -} - -type DescribeUserInput struct { +type ListGroupMembershipsInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the user is in. Currently, you use the ID + // The ID for the AWS account that the group is in. Currently, you use the ID // for the AWS account that contains your Amazon QuickSight account. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // The name of the group that you want to see a membership list of. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + + // The maximum number of results to return from this request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + // The namespace. Currently, you should set this to default. // // Namespace is a required field Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` - // The name of the user that you want to describe. - // - // UserName is a required field - UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` + // A pagination token that can be used in a subsequent request. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` } // String returns the string representation -func (s DescribeUserInput) String() string { +func (s ListGroupMembershipsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeUserInput) GoString() string { +func (s ListGroupMembershipsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeUserInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeUserInput"} +func (s *ListGroupMembershipsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListGroupMembershipsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) + } + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } if s.Namespace == nil { invalidParams.Add(request.NewErrParamRequired("Namespace")) } if s.Namespace != nil && len(*s.Namespace) < 1 { invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) } - if s.UserName == nil { - invalidParams.Add(request.NewErrParamRequired("UserName")) - } - if s.UserName != nil && len(*s.UserName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -14147,210 +20751,273 @@ func (s *DescribeUserInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeUserInput) SetAwsAccountId(v string) *DescribeUserInput { +func (s *ListGroupMembershipsInput) SetAwsAccountId(v string) *ListGroupMembershipsInput { s.AwsAccountId = &v return s } +// SetGroupName sets the GroupName field's value. +func (s *ListGroupMembershipsInput) SetGroupName(v string) *ListGroupMembershipsInput { + s.GroupName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListGroupMembershipsInput) SetMaxResults(v int64) *ListGroupMembershipsInput { + s.MaxResults = &v + return s +} + // SetNamespace sets the Namespace field's value. -func (s *DescribeUserInput) SetNamespace(v string) *DescribeUserInput { +func (s *ListGroupMembershipsInput) SetNamespace(v string) *ListGroupMembershipsInput { s.Namespace = &v return s } -// SetUserName sets the UserName field's value. -func (s *DescribeUserInput) SetUserName(v string) *DescribeUserInput { - s.UserName = &v +// SetNextToken sets the NextToken field's value. +func (s *ListGroupMembershipsInput) SetNextToken(v string) *ListGroupMembershipsInput { + s.NextToken = &v return s } -type DescribeUserOutput struct { +type ListGroupMembershipsOutput struct { _ struct{} `type:"structure"` + // The list of the members of the group. + GroupMemberList []*GroupMember `type:"list"` + + // A pagination token that can be used in a subsequent request. + NextToken *string `type:"string"` + // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - - // The user name. - User *User `type:"structure"` } // String returns the string representation -func (s DescribeUserOutput) String() string { +func (s ListGroupMembershipsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeUserOutput) GoString() string { +func (s ListGroupMembershipsOutput) GoString() string { return s.String() } +// SetGroupMemberList sets the GroupMemberList field's value. +func (s *ListGroupMembershipsOutput) SetGroupMemberList(v []*GroupMember) *ListGroupMembershipsOutput { + s.GroupMemberList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListGroupMembershipsOutput) SetNextToken(v string) *ListGroupMembershipsOutput { + s.NextToken = &v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *DescribeUserOutput) SetRequestId(v string) *DescribeUserOutput { +func (s *ListGroupMembershipsOutput) SetRequestId(v string) *ListGroupMembershipsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DescribeUserOutput) SetStatus(v int64) *DescribeUserOutput { +func (s *ListGroupMembershipsOutput) SetStatus(v int64) *ListGroupMembershipsOutput { s.Status = &v return s } -// SetUser sets the User field's value. -func (s *DescribeUserOutput) SetUser(v *User) *DescribeUserOutput { - s.User = v - return s -} +type ListGroupsInput struct { + _ struct{} `type:"structure"` -// The domain specified isn't on the allow list. All domains for embedded dashboards -// must be added to the approved list by an Amazon QuickSight admin. -type DomainNotWhitelistedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The ID for the AWS account that the group is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - Message_ *string `locationName:"Message" type:"string"` + // The maximum number of results to return. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` - // The AWS request ID for this request. - RequestId *string `type:"string"` + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // A pagination token that can be used in a subsequent request. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` } // String returns the string representation -func (s DomainNotWhitelistedException) String() string { +func (s ListGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DomainNotWhitelistedException) GoString() string { +func (s ListGroupsInput) GoString() string { return s.String() } -func newErrorDomainNotWhitelistedException(v protocol.ResponseMetadata) error { - return &DomainNotWhitelistedException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListGroupsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } -} - -// Code returns the exception type name. -func (s *DomainNotWhitelistedException) Code() string { - return "DomainNotWhitelistedException" -} - -// Message returns the exception's message. -func (s *DomainNotWhitelistedException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *DomainNotWhitelistedException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *DomainNotWhitelistedException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *DomainNotWhitelistedException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListGroupsInput) SetAwsAccountId(v string) *ListGroupsInput { + s.AwsAccountId = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *DomainNotWhitelistedException) RequestID() string { - return s.RespMetadata.RequestID +// SetMaxResults sets the MaxResults field's value. +func (s *ListGroupsInput) SetMaxResults(v int64) *ListGroupsInput { + s.MaxResults = &v + return s } -// Error information for the SPICE ingestion of a dataset. -type ErrorInfo struct { - _ struct{} `type:"structure"` - - // Error message. - Message *string `type:"string"` - - // Error type. - Type *string `type:"string" enum:"IngestionErrorType"` +// SetNamespace sets the Namespace field's value. +func (s *ListGroupsInput) SetNamespace(v string) *ListGroupsInput { + s.Namespace = &v + return s } -// String returns the string representation -func (s ErrorInfo) String() string { - return awsutil.Prettify(s) +// SetNextToken sets the NextToken field's value. +func (s *ListGroupsInput) SetNextToken(v string) *ListGroupsInput { + s.NextToken = &v + return s } -// GoString returns the string representation -func (s ErrorInfo) GoString() string { - return s.String() -} +type ListGroupsOutput struct { + _ struct{} `type:"structure"` -// SetMessage sets the Message field's value. -func (s *ErrorInfo) SetMessage(v string) *ErrorInfo { - s.Message = &v - return s -} + // The list of the groups. + GroupList []*Group `type:"list"` -// SetType sets the Type field's value. -func (s *ErrorInfo) SetType(v string) *ErrorInfo { - s.Type = &v - return s -} + // A pagination token that can be used in a subsequent request. + NextToken *string `type:"string"` -// Export to .csv option. -type ExportToCSVOption struct { - _ struct{} `type:"structure"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // Availability status. - AvailabilityStatus *string `type:"string" enum:"DashboardBehavior"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s ExportToCSVOption) String() string { +func (s ListGroupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportToCSVOption) GoString() string { +func (s ListGroupsOutput) GoString() string { return s.String() } -// SetAvailabilityStatus sets the AvailabilityStatus field's value. -func (s *ExportToCSVOption) SetAvailabilityStatus(v string) *ExportToCSVOption { - s.AvailabilityStatus = &v +// SetGroupList sets the GroupList field's value. +func (s *ListGroupsOutput) SetGroupList(v []*Group) *ListGroupsOutput { + s.GroupList = v return s } -// A transform operation that filters rows based on a condition. -type FilterOperation struct { +// SetNextToken sets the NextToken field's value. +func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput { + s.NextToken = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ListGroupsOutput) SetRequestId(v string) *ListGroupsOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListGroupsOutput) SetStatus(v int64) *ListGroupsOutput { + s.Status = &v + return s +} + +type ListIAMPolicyAssignmentsForUserInput struct { _ struct{} `type:"structure"` - // An expression that must evaluate to a Boolean value. Rows for which the expression - // evaluates to true are kept in the dataset. + // The ID of the AWS account that contains the assignments. // - // ConditionExpression is a required field - ConditionExpression *string `min:"1" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The namespace of the assignment. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + + // The name of the user. + // + // UserName is a required field + UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s FilterOperation) String() string { +func (s ListIAMPolicyAssignmentsForUserInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s FilterOperation) GoString() string { +func (s ListIAMPolicyAssignmentsForUserInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *FilterOperation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FilterOperation"} - if s.ConditionExpression == nil { - invalidParams.Add(request.NewErrParamRequired("ConditionExpression")) +func (s *ListIAMPolicyAssignmentsForUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIAMPolicyAssignmentsForUserInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.ConditionExpression != nil && len(*s.ConditionExpression) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ConditionExpression", 1)) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) } if invalidParams.Len() > 0 { @@ -14359,158 +21026,136 @@ func (s *FilterOperation) Validate() error { return nil } -// SetConditionExpression sets the ConditionExpression field's value. -func (s *FilterOperation) SetConditionExpression(v string) *FilterOperation { - s.ConditionExpression = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListIAMPolicyAssignmentsForUserInput) SetAwsAccountId(v string) *ListIAMPolicyAssignmentsForUserInput { + s.AwsAccountId = &v return s } -// Geospatial column group that denotes a hierarchy. -type GeoSpatialColumnGroup struct { +// SetMaxResults sets the MaxResults field's value. +func (s *ListIAMPolicyAssignmentsForUserInput) SetMaxResults(v int64) *ListIAMPolicyAssignmentsForUserInput { + s.MaxResults = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *ListIAMPolicyAssignmentsForUserInput) SetNamespace(v string) *ListIAMPolicyAssignmentsForUserInput { + s.Namespace = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIAMPolicyAssignmentsForUserInput) SetNextToken(v string) *ListIAMPolicyAssignmentsForUserInput { + s.NextToken = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *ListIAMPolicyAssignmentsForUserInput) SetUserName(v string) *ListIAMPolicyAssignmentsForUserInput { + s.UserName = &v + return s +} + +type ListIAMPolicyAssignmentsForUserOutput struct { _ struct{} `type:"structure"` - // Columns in this hierarchy. - // - // Columns is a required field - Columns []*string `min:"1" type:"list" required:"true"` + // The active assignments for this user. + ActiveAssignments []*ActiveIAMPolicyAssignment `type:"list"` - // Country code. - // - // CountryCode is a required field - CountryCode *string `type:"string" required:"true" enum:"GeoSpatialCountryCode"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` - // A display name for the hierarchy. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s GeoSpatialColumnGroup) String() string { +func (s ListIAMPolicyAssignmentsForUserOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GeoSpatialColumnGroup) GoString() string { +func (s ListIAMPolicyAssignmentsForUserOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GeoSpatialColumnGroup) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GeoSpatialColumnGroup"} - if s.Columns == nil { - invalidParams.Add(request.NewErrParamRequired("Columns")) - } - if s.Columns != nil && len(s.Columns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Columns", 1)) - } - if s.CountryCode == nil { - invalidParams.Add(request.NewErrParamRequired("CountryCode")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetActiveAssignments sets the ActiveAssignments field's value. +func (s *ListIAMPolicyAssignmentsForUserOutput) SetActiveAssignments(v []*ActiveIAMPolicyAssignment) *ListIAMPolicyAssignmentsForUserOutput { + s.ActiveAssignments = v + return s } -// SetColumns sets the Columns field's value. -func (s *GeoSpatialColumnGroup) SetColumns(v []*string) *GeoSpatialColumnGroup { - s.Columns = v +// SetNextToken sets the NextToken field's value. +func (s *ListIAMPolicyAssignmentsForUserOutput) SetNextToken(v string) *ListIAMPolicyAssignmentsForUserOutput { + s.NextToken = &v return s } -// SetCountryCode sets the CountryCode field's value. -func (s *GeoSpatialColumnGroup) SetCountryCode(v string) *GeoSpatialColumnGroup { - s.CountryCode = &v +// SetRequestId sets the RequestId field's value. +func (s *ListIAMPolicyAssignmentsForUserOutput) SetRequestId(v string) *ListIAMPolicyAssignmentsForUserOutput { + s.RequestId = &v return s } -// SetName sets the Name field's value. -func (s *GeoSpatialColumnGroup) SetName(v string) *GeoSpatialColumnGroup { - s.Name = &v +// SetStatus sets the Status field's value. +func (s *ListIAMPolicyAssignmentsForUserOutput) SetStatus(v int64) *ListIAMPolicyAssignmentsForUserOutput { + s.Status = &v return s } -type GetDashboardEmbedUrlInput struct { +type ListIAMPolicyAssignmentsInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that contains the dashboard that you're embedding. + // The status of the assignments. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` + + // The ID of the AWS account that contains these IAM policy assignments. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the dashboard, also added to the IAM policy. - // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` - // The authentication method that the user uses to sign in. + // The namespace for the assignments. // - // IdentityType is a required field - IdentityType *string `location:"querystring" locationName:"creds-type" type:"string" required:"true" enum:"IdentityType"` - - // Remove the reset button on the embedded dashboard. The default is FALSE, - // which enables the reset button. - ResetDisabled *bool `location:"querystring" locationName:"reset-disabled" type:"boolean"` - - // How many minutes the session is valid. The session lifetime must be 15-600 - // minutes. - SessionLifetimeInMinutes *int64 `location:"querystring" locationName:"session-lifetime" min:"15" type:"long"` - - // Remove the undo/redo button on the embedded dashboard. The default is FALSE, - // which enables the undo/redo button. - UndoRedoDisabled *bool `location:"querystring" locationName:"undo-redo-disabled" type:"boolean"` + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` - // The Amazon QuickSight user's Amazon Resource Name (ARN), for use with QUICKSIGHT - // identity type. You can use this for any Amazon QuickSight users in your account - // (readers, authors, or admins) authenticated as one of the following: - // - // * Active Directory (AD) users or group members - // - // * Invited nonfederated users - // - // * IAM users and IAM role-based sessions authenticated through Federated - // Single Sign-On using SAML, OpenID Connect, or IAM federation. - UserArn *string `location:"querystring" locationName:"user-arn" type:"string"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` } // String returns the string representation -func (s GetDashboardEmbedUrlInput) String() string { +func (s ListIAMPolicyAssignmentsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDashboardEmbedUrlInput) GoString() string { +func (s ListIAMPolicyAssignmentsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetDashboardEmbedUrlInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDashboardEmbedUrlInput"} +func (s *ListIAMPolicyAssignmentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIAMPolicyAssignmentsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DashboardId == nil { - invalidParams.Add(request.NewErrParamRequired("DashboardId")) - } - if s.DashboardId != nil && len(*s.DashboardId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.IdentityType == nil { - invalidParams.Add(request.NewErrParamRequired("IdentityType")) + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) } - if s.SessionLifetimeInMinutes != nil && *s.SessionLifetimeInMinutes < 15 { - invalidParams.Add(request.NewErrParamMinValue("SessionLifetimeInMinutes", 15)) + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) } if invalidParams.Len() > 0 { @@ -14519,56 +21164,44 @@ func (s *GetDashboardEmbedUrlInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *GetDashboardEmbedUrlInput) SetAwsAccountId(v string) *GetDashboardEmbedUrlInput { - s.AwsAccountId = &v - return s -} - -// SetDashboardId sets the DashboardId field's value. -func (s *GetDashboardEmbedUrlInput) SetDashboardId(v string) *GetDashboardEmbedUrlInput { - s.DashboardId = &v - return s -} - -// SetIdentityType sets the IdentityType field's value. -func (s *GetDashboardEmbedUrlInput) SetIdentityType(v string) *GetDashboardEmbedUrlInput { - s.IdentityType = &v +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *ListIAMPolicyAssignmentsInput) SetAssignmentStatus(v string) *ListIAMPolicyAssignmentsInput { + s.AssignmentStatus = &v return s } -// SetResetDisabled sets the ResetDisabled field's value. -func (s *GetDashboardEmbedUrlInput) SetResetDisabled(v bool) *GetDashboardEmbedUrlInput { - s.ResetDisabled = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListIAMPolicyAssignmentsInput) SetAwsAccountId(v string) *ListIAMPolicyAssignmentsInput { + s.AwsAccountId = &v return s } -// SetSessionLifetimeInMinutes sets the SessionLifetimeInMinutes field's value. -func (s *GetDashboardEmbedUrlInput) SetSessionLifetimeInMinutes(v int64) *GetDashboardEmbedUrlInput { - s.SessionLifetimeInMinutes = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListIAMPolicyAssignmentsInput) SetMaxResults(v int64) *ListIAMPolicyAssignmentsInput { + s.MaxResults = &v return s } -// SetUndoRedoDisabled sets the UndoRedoDisabled field's value. -func (s *GetDashboardEmbedUrlInput) SetUndoRedoDisabled(v bool) *GetDashboardEmbedUrlInput { - s.UndoRedoDisabled = &v +// SetNamespace sets the Namespace field's value. +func (s *ListIAMPolicyAssignmentsInput) SetNamespace(v string) *ListIAMPolicyAssignmentsInput { + s.Namespace = &v return s } -// SetUserArn sets the UserArn field's value. -func (s *GetDashboardEmbedUrlInput) SetUserArn(v string) *GetDashboardEmbedUrlInput { - s.UserArn = &v +// SetNextToken sets the NextToken field's value. +func (s *ListIAMPolicyAssignmentsInput) SetNextToken(v string) *ListIAMPolicyAssignmentsInput { + s.NextToken = &v return s } -type GetDashboardEmbedUrlOutput struct { +type ListIAMPolicyAssignmentsOutput struct { _ struct{} `type:"structure"` - // An URL that you can put into your server-side webpage to embed your dashboard. - // This URL is valid for 5 minutes, and the resulting session is valid for 10 - // hours. The API provides the URL with an auth_code value that enables a single - // sign-on session. - EmbedUrl *string `type:"string" sensitive:"true"` + // Information describing the IAM policy assignments. + IAMPolicyAssignments []*IAMPolicyAssignmentSummary `type:"list"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -14578,438 +21211,544 @@ type GetDashboardEmbedUrlOutput struct { } // String returns the string representation -func (s GetDashboardEmbedUrlOutput) String() string { +func (s ListIAMPolicyAssignmentsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDashboardEmbedUrlOutput) GoString() string { +func (s ListIAMPolicyAssignmentsOutput) GoString() string { return s.String() } -// SetEmbedUrl sets the EmbedUrl field's value. -func (s *GetDashboardEmbedUrlOutput) SetEmbedUrl(v string) *GetDashboardEmbedUrlOutput { - s.EmbedUrl = &v +// SetIAMPolicyAssignments sets the IAMPolicyAssignments field's value. +func (s *ListIAMPolicyAssignmentsOutput) SetIAMPolicyAssignments(v []*IAMPolicyAssignmentSummary) *ListIAMPolicyAssignmentsOutput { + s.IAMPolicyAssignments = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIAMPolicyAssignmentsOutput) SetNextToken(v string) *ListIAMPolicyAssignmentsOutput { + s.NextToken = &v return s } // SetRequestId sets the RequestId field's value. -func (s *GetDashboardEmbedUrlOutput) SetRequestId(v string) *GetDashboardEmbedUrlOutput { +func (s *ListIAMPolicyAssignmentsOutput) SetRequestId(v string) *ListIAMPolicyAssignmentsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *GetDashboardEmbedUrlOutput) SetStatus(v int64) *GetDashboardEmbedUrlOutput { +func (s *ListIAMPolicyAssignmentsOutput) SetStatus(v int64) *ListIAMPolicyAssignmentsOutput { s.Status = &v return s } -// A group in Amazon QuickSight consists of a set of users. You can use groups -// to make it easier to manage access and security. Currently, an Amazon QuickSight -// subscription can't contain more than 500 Amazon QuickSight groups. -type Group struct { +type ListIngestionsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the group. - Arn *string `type:"string"` + // The AWS account ID. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The group description. - Description *string `min:"1" type:"string"` + // The ID of the dataset used in the ingestion. + // + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` - // The name of the group. - GroupName *string `min:"1" type:"string"` + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` - // The principal ID of the group. - PrincipalId *string `type:"string"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` } // String returns the string representation -func (s Group) String() string { +func (s ListIngestionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Group) GoString() string { +func (s ListIngestionsInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Group) SetArn(v string) *Group { - s.Arn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListIngestionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIngestionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListIngestionsInput) SetAwsAccountId(v string) *ListIngestionsInput { + s.AwsAccountId = &v return s } -// SetDescription sets the Description field's value. -func (s *Group) SetDescription(v string) *Group { - s.Description = &v +// SetDataSetId sets the DataSetId field's value. +func (s *ListIngestionsInput) SetDataSetId(v string) *ListIngestionsInput { + s.DataSetId = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *Group) SetGroupName(v string) *Group { - s.GroupName = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListIngestionsInput) SetMaxResults(v int64) *ListIngestionsInput { + s.MaxResults = &v return s } -// SetPrincipalId sets the PrincipalId field's value. -func (s *Group) SetPrincipalId(v string) *Group { - s.PrincipalId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListIngestionsInput) SetNextToken(v string) *ListIngestionsInput { + s.NextToken = &v return s } -// A member of an Amazon QuickSight group. Currently, group members must be -// users. Groups can't be members of another group. . -type GroupMember struct { +type ListIngestionsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the group member (user). - Arn *string `type:"string"` + // A list of the ingestions. + Ingestions []*Ingestion `type:"list"` - // The name of the group member (user). - MemberName *string `min:"1" type:"string"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s GroupMember) String() string { +func (s ListIngestionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GroupMember) GoString() string { +func (s ListIngestionsOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *GroupMember) SetArn(v string) *GroupMember { - s.Arn = &v +// SetIngestions sets the Ingestions field's value. +func (s *ListIngestionsOutput) SetIngestions(v []*Ingestion) *ListIngestionsOutput { + s.Ingestions = v return s } -// SetMemberName sets the MemberName field's value. -func (s *GroupMember) SetMemberName(v string) *GroupMember { - s.MemberName = &v +// SetNextToken sets the NextToken field's value. +func (s *ListIngestionsOutput) SetNextToken(v string) *ListIngestionsOutput { + s.NextToken = &v return s } -// An IAM policy assignment. -type IAMPolicyAssignment struct { - _ struct{} `type:"structure"` - - // Assignment ID. - AssignmentId *string `type:"string"` +// SetRequestId sets the RequestId field's value. +func (s *ListIngestionsOutput) SetRequestId(v string) *ListIngestionsOutput { + s.RequestId = &v + return s +} - // Assignment name. - AssignmentName *string `min:"1" type:"string"` +// SetStatus sets the Status field's value. +func (s *ListIngestionsOutput) SetStatus(v int64) *ListIngestionsOutput { + s.Status = &v + return s +} - // Assignment status. - AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` +type ListNamespacesInput struct { + _ struct{} `type:"structure"` - // The AWS account ID. - AwsAccountId *string `min:"12" type:"string"` + // The ID for the AWS account that contains the QuickSight namespaces that you + // want to list. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Identities. - Identities map[string][]*string `type:"map"` + // The maximum number of results to return. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` - // The Amazon Resource Name (ARN) for the IAM policy. - PolicyArn *string `type:"string"` + // A pagination token that can be used in a subsequent request. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` } // String returns the string representation -func (s IAMPolicyAssignment) String() string { +func (s ListNamespacesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s IAMPolicyAssignment) GoString() string { +func (s ListNamespacesInput) GoString() string { return s.String() } -// SetAssignmentId sets the AssignmentId field's value. -func (s *IAMPolicyAssignment) SetAssignmentId(v string) *IAMPolicyAssignment { - s.AssignmentId = &v - return s -} - -// SetAssignmentName sets the AssignmentName field's value. -func (s *IAMPolicyAssignment) SetAssignmentName(v string) *IAMPolicyAssignment { - s.AssignmentName = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListNamespacesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListNamespacesInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } -// SetAssignmentStatus sets the AssignmentStatus field's value. -func (s *IAMPolicyAssignment) SetAssignmentStatus(v string) *IAMPolicyAssignment { - s.AssignmentStatus = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *IAMPolicyAssignment) SetAwsAccountId(v string) *IAMPolicyAssignment { +func (s *ListNamespacesInput) SetAwsAccountId(v string) *ListNamespacesInput { s.AwsAccountId = &v return s } -// SetIdentities sets the Identities field's value. -func (s *IAMPolicyAssignment) SetIdentities(v map[string][]*string) *IAMPolicyAssignment { - s.Identities = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListNamespacesInput) SetMaxResults(v int64) *ListNamespacesInput { + s.MaxResults = &v return s } -// SetPolicyArn sets the PolicyArn field's value. -func (s *IAMPolicyAssignment) SetPolicyArn(v string) *IAMPolicyAssignment { - s.PolicyArn = &v +// SetNextToken sets the NextToken field's value. +func (s *ListNamespacesInput) SetNextToken(v string) *ListNamespacesInput { + s.NextToken = &v return s } -// IAM policy assignment summary. -type IAMPolicyAssignmentSummary struct { +type ListNamespacesOutput struct { _ struct{} `type:"structure"` - // Assignment name. - AssignmentName *string `min:"1" type:"string"` + // The information about the namespaces in this AWS account. The response includes + // the namespace ARN, name, AWS Region, notification email address, creation + // status, and identity store. + Namespaces []*NamespaceInfoV2 `type:"list"` - // Assignment status. - AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` + // A pagination token that can be used in a subsequent request. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s IAMPolicyAssignmentSummary) String() string { +func (s ListNamespacesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s IAMPolicyAssignmentSummary) GoString() string { +func (s ListNamespacesOutput) GoString() string { return s.String() } -// SetAssignmentName sets the AssignmentName field's value. -func (s *IAMPolicyAssignmentSummary) SetAssignmentName(v string) *IAMPolicyAssignmentSummary { - s.AssignmentName = &v +// SetNamespaces sets the Namespaces field's value. +func (s *ListNamespacesOutput) SetNamespaces(v []*NamespaceInfoV2) *ListNamespacesOutput { + s.Namespaces = v return s } -// SetAssignmentStatus sets the AssignmentStatus field's value. -func (s *IAMPolicyAssignmentSummary) SetAssignmentStatus(v string) *IAMPolicyAssignmentSummary { - s.AssignmentStatus = &v +// SetNextToken sets the NextToken field's value. +func (s *ListNamespacesOutput) SetNextToken(v string) *ListNamespacesOutput { + s.NextToken = &v return s } -// The identity type specified isn't supported. Supported identity types include -// IAM and QUICKSIGHT. -type IdentityTypeNotSupportedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetRequestId sets the RequestId field's value. +func (s *ListNamespacesOutput) SetRequestId(v string) *ListNamespacesOutput { + s.RequestId = &v + return s +} - Message_ *string `locationName:"Message" type:"string"` +// SetStatus sets the Status field's value. +func (s *ListNamespacesOutput) SetStatus(v int64) *ListNamespacesOutput { + s.Status = &v + return s +} - // The AWS request ID for this request. - RequestId *string `type:"string"` +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you want a list of tags + // for. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"` } // String returns the string representation -func (s IdentityTypeNotSupportedException) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s IdentityTypeNotSupportedException) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } -func newErrorIdentityTypeNotSupportedException(v protocol.ResponseMetadata) error { - return &IdentityTypeNotSupportedException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *IdentityTypeNotSupportedException) Code() string { - return "IdentityTypeNotSupportedException" +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s } -// Message returns the exception's message. -func (s *IdentityTypeNotSupportedException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // Contains a map of the key-value pairs for the resource tag or tags assigned + // to the resource. + Tags []*Tag `min:"1" type:"list"` } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *IdentityTypeNotSupportedException) OrigErr() error { - return nil +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) } -func (s *IdentityTypeNotSupportedException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() } -// Status code returns the HTTP status code for the request's response error. -func (s *IdentityTypeNotSupportedException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetRequestId sets the RequestId field's value. +func (s *ListTagsForResourceOutput) SetRequestId(v string) *ListTagsForResourceOutput { + s.RequestId = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *IdentityTypeNotSupportedException) RequestID() string { - return s.RespMetadata.RequestID +// SetStatus sets the Status field's value. +func (s *ListTagsForResourceOutput) SetStatus(v int64) *ListTagsForResourceOutput { + s.Status = &v + return s } -// Information about the SPICE ingestion for a dataset. -type Ingestion struct { - _ struct{} `type:"structure"` +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} - // The Amazon Resource Name (ARN) of the resource. - // - // Arn is a required field - Arn *string `type:"string" required:"true"` +type ListTemplateAliasesInput struct { + _ struct{} `type:"structure"` - // The time that this ingestion started. + // The ID of the AWS account that contains the template aliases that you're + // listing. // - // CreatedTime is a required field - CreatedTime *time.Time `type:"timestamp" required:"true"` - - // Error information for this ingestion. - ErrorInfo *ErrorInfo `type:"structure"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Ingestion ID. - IngestionId *string `min:"1" type:"string"` + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-result" min:"1" type:"integer"` - // The size of the data ingested, in bytes. - IngestionSizeInBytes *int64 `type:"long"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` - // Ingestion status. + // The ID for the template. // - // IngestionStatus is a required field - IngestionStatus *string `type:"string" required:"true" enum:"IngestionStatus"` - - // The time that this ingestion took, measured in seconds. - IngestionTimeInSeconds *int64 `type:"long"` - - // Information about a queued dataset SPICE ingestion. - QueueInfo *QueueInfo `type:"structure"` - - // Event source for this ingestion. - RequestSource *string `type:"string" enum:"IngestionRequestSource"` - - // Type of this ingestion. - RequestType *string `type:"string" enum:"IngestionRequestType"` - - // Information about rows for a data set SPICE ingestion. - RowInfo *RowInfo `type:"structure"` + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s Ingestion) String() string { +func (s ListTemplateAliasesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Ingestion) GoString() string { +func (s ListTemplateAliasesInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Ingestion) SetArn(v string) *Ingestion { - s.Arn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTemplateAliasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTemplateAliasesInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCreatedTime sets the CreatedTime field's value. -func (s *Ingestion) SetCreatedTime(v time.Time) *Ingestion { - s.CreatedTime = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListTemplateAliasesInput) SetAwsAccountId(v string) *ListTemplateAliasesInput { + s.AwsAccountId = &v return s } -// SetErrorInfo sets the ErrorInfo field's value. -func (s *Ingestion) SetErrorInfo(v *ErrorInfo) *Ingestion { - s.ErrorInfo = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListTemplateAliasesInput) SetMaxResults(v int64) *ListTemplateAliasesInput { + s.MaxResults = &v return s } -// SetIngestionId sets the IngestionId field's value. -func (s *Ingestion) SetIngestionId(v string) *Ingestion { - s.IngestionId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListTemplateAliasesInput) SetNextToken(v string) *ListTemplateAliasesInput { + s.NextToken = &v return s } -// SetIngestionSizeInBytes sets the IngestionSizeInBytes field's value. -func (s *Ingestion) SetIngestionSizeInBytes(v int64) *Ingestion { - s.IngestionSizeInBytes = &v +// SetTemplateId sets the TemplateId field's value. +func (s *ListTemplateAliasesInput) SetTemplateId(v string) *ListTemplateAliasesInput { + s.TemplateId = &v return s } -// SetIngestionStatus sets the IngestionStatus field's value. -func (s *Ingestion) SetIngestionStatus(v string) *Ingestion { - s.IngestionStatus = &v - return s +type ListTemplateAliasesOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // A structure containing the list of the template's aliases. + TemplateAliasList []*TemplateAlias `type:"list"` +} + +// String returns the string representation +func (s ListTemplateAliasesOutput) String() string { + return awsutil.Prettify(s) } -// SetIngestionTimeInSeconds sets the IngestionTimeInSeconds field's value. -func (s *Ingestion) SetIngestionTimeInSeconds(v int64) *Ingestion { - s.IngestionTimeInSeconds = &v - return s +// GoString returns the string representation +func (s ListTemplateAliasesOutput) GoString() string { + return s.String() } -// SetQueueInfo sets the QueueInfo field's value. -func (s *Ingestion) SetQueueInfo(v *QueueInfo) *Ingestion { - s.QueueInfo = v +// SetNextToken sets the NextToken field's value. +func (s *ListTemplateAliasesOutput) SetNextToken(v string) *ListTemplateAliasesOutput { + s.NextToken = &v return s } -// SetRequestSource sets the RequestSource field's value. -func (s *Ingestion) SetRequestSource(v string) *Ingestion { - s.RequestSource = &v +// SetRequestId sets the RequestId field's value. +func (s *ListTemplateAliasesOutput) SetRequestId(v string) *ListTemplateAliasesOutput { + s.RequestId = &v return s } -// SetRequestType sets the RequestType field's value. -func (s *Ingestion) SetRequestType(v string) *Ingestion { - s.RequestType = &v +// SetStatus sets the Status field's value. +func (s *ListTemplateAliasesOutput) SetStatus(v int64) *ListTemplateAliasesOutput { + s.Status = &v return s } -// SetRowInfo sets the RowInfo field's value. -func (s *Ingestion) SetRowInfo(v *RowInfo) *Ingestion { - s.RowInfo = v +// SetTemplateAliasList sets the TemplateAliasList field's value. +func (s *ListTemplateAliasesOutput) SetTemplateAliasList(v []*TemplateAlias) *ListTemplateAliasesOutput { + s.TemplateAliasList = v return s } -// Metadata for a column that is used as the input of a transform operation. -type InputColumn struct { +type ListTemplateVersionsInput struct { _ struct{} `type:"structure"` - // The name of this column in the underlying data source. + // The ID of the AWS account that contains the templates that you're listing. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The data type of the column. + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + + // The ID for the template. // - // Type is a required field - Type *string `type:"string" required:"true" enum:"InputColumnDataType"` + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s InputColumn) String() string { +func (s ListTemplateVersionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputColumn) GoString() string { +func (s ListTemplateVersionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputColumn) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputColumn"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *ListTemplateVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTemplateVersionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) } if invalidParams.Len() > 0 { @@ -15018,348 +21757,368 @@ func (s *InputColumn) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *InputColumn) SetName(v string) *InputColumn { - s.Name = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListTemplateVersionsInput) SetAwsAccountId(v string) *ListTemplateVersionsInput { + s.AwsAccountId = &v return s } -// SetType sets the Type field's value. -func (s *InputColumn) SetType(v string) *InputColumn { - s.Type = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListTemplateVersionsInput) SetMaxResults(v int64) *ListTemplateVersionsInput { + s.MaxResults = &v return s } -// Integer parameter. -type IntegerParameter struct { +// SetNextToken sets the NextToken field's value. +func (s *ListTemplateVersionsInput) SetNextToken(v string) *ListTemplateVersionsInput { + s.NextToken = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *ListTemplateVersionsInput) SetTemplateId(v string) *ListTemplateVersionsInput { + s.TemplateId = &v + return s +} + +type ListTemplateVersionsOutput struct { _ struct{} `type:"structure"` - // A display name for the dataset. - // - // Name is a required field - Name *string `type:"string" required:"true"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` - // Values. - // - // Values is a required field - Values []*int64 `type:"list" required:"true"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // A structure containing a list of all the versions of the specified template. + TemplateVersionSummaryList []*TemplateVersionSummary `type:"list"` } // String returns the string representation -func (s IntegerParameter) String() string { +func (s ListTemplateVersionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s IntegerParameter) GoString() string { +func (s ListTemplateVersionsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *IntegerParameter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "IntegerParameter"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Values == nil { - invalidParams.Add(request.NewErrParamRequired("Values")) - } +// SetNextToken sets the NextToken field's value. +func (s *ListTemplateVersionsOutput) SetNextToken(v string) *ListTemplateVersionsOutput { + s.NextToken = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetRequestId sets the RequestId field's value. +func (s *ListTemplateVersionsOutput) SetRequestId(v string) *ListTemplateVersionsOutput { + s.RequestId = &v + return s } -// SetName sets the Name field's value. -func (s *IntegerParameter) SetName(v string) *IntegerParameter { - s.Name = &v +// SetStatus sets the Status field's value. +func (s *ListTemplateVersionsOutput) SetStatus(v int64) *ListTemplateVersionsOutput { + s.Status = &v return s } -// SetValues sets the Values field's value. -func (s *IntegerParameter) SetValues(v []*int64) *IntegerParameter { - s.Values = v +// SetTemplateVersionSummaryList sets the TemplateVersionSummaryList field's value. +func (s *ListTemplateVersionsOutput) SetTemplateVersionSummaryList(v []*TemplateVersionSummary) *ListTemplateVersionsOutput { + s.TemplateVersionSummaryList = v return s } -// An internal failure occurred. -type InternalFailureException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListTemplatesInput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The ID of the AWS account that contains the templates that you're listing. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The AWS request ID for this request. - RequestId *string `type:"string"` + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-result" min:"1" type:"integer"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` } // String returns the string representation -func (s InternalFailureException) String() string { +func (s ListTemplatesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InternalFailureException) GoString() string { +func (s ListTemplatesInput) GoString() string { return s.String() } -func newErrorInternalFailureException(v protocol.ResponseMetadata) error { - return &InternalFailureException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTemplatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTemplatesInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } -} - -// Code returns the exception type name. -func (s *InternalFailureException) Code() string { - return "InternalFailureException" -} - -// Message returns the exception's message. -func (s *InternalFailureException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalFailureException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *InternalFailureException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListTemplatesInput) SetAwsAccountId(v string) *ListTemplatesInput { + s.AwsAccountId = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InternalFailureException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetMaxResults sets the MaxResults field's value. +func (s *ListTemplatesInput) SetMaxResults(v int64) *ListTemplatesInput { + s.MaxResults = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InternalFailureException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput { + s.NextToken = &v + return s } -// The NextToken value isn't valid. -type InvalidNextTokenException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListTemplatesOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` - // The AWS request ID for this request. + // The AWS request ID for this operation. RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // A structure containing information about the templates in the list. + TemplateSummaryList []*TemplateSummary `type:"list"` } // String returns the string representation -func (s InvalidNextTokenException) String() string { +func (s ListTemplatesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidNextTokenException) GoString() string { +func (s ListTemplatesOutput) GoString() string { return s.String() } -func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { - return &InvalidNextTokenException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *InvalidNextTokenException) Code() string { - return "InvalidNextTokenException" +// SetNextToken sets the NextToken field's value. +func (s *ListTemplatesOutput) SetNextToken(v string) *ListTemplatesOutput { + s.NextToken = &v + return s } -// Message returns the exception's message. -func (s *InvalidNextTokenException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetRequestId sets the RequestId field's value. +func (s *ListTemplatesOutput) SetRequestId(v string) *ListTemplatesOutput { + s.RequestId = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidNextTokenException) OrigErr() error { - return nil +// SetStatus sets the Status field's value. +func (s *ListTemplatesOutput) SetStatus(v int64) *ListTemplatesOutput { + s.Status = &v + return s } -func (s *InvalidNextTokenException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetTemplateSummaryList sets the TemplateSummaryList field's value. +func (s *ListTemplatesOutput) SetTemplateSummaryList(v []*TemplateSummary) *ListTemplatesOutput { + s.TemplateSummaryList = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidNextTokenException) StatusCode() int { - return s.RespMetadata.StatusCode -} +type ListThemeAliasesInput struct { + _ struct{} `type:"structure"` -// RequestID returns the service's response RequestID for request. -func (s *InvalidNextTokenException) RequestID() string { - return s.RespMetadata.RequestID -} + // The ID of the AWS account that contains the theme aliases that you're listing. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` -// One or more parameters has a value that isn't valid. -type InvalidParameterValueException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-result" min:"1" type:"integer"` - Message_ *string `locationName:"Message" type:"string"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` - // The AWS request ID for this request. - RequestId *string `type:"string"` + // The ID for the theme. + // + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s InvalidParameterValueException) String() string { +func (s ListThemeAliasesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidParameterValueException) GoString() string { +func (s ListThemeAliasesInput) GoString() string { return s.String() } -func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error { - return &InvalidParameterValueException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListThemeAliasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListThemeAliasesInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) + } + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } -} - -// Code returns the exception type name. -func (s *InvalidParameterValueException) Code() string { - return "InvalidParameterValueException" -} -// Message returns the exception's message. -func (s *InvalidParameterValueException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidParameterValueException) OrigErr() error { - return nil +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListThemeAliasesInput) SetAwsAccountId(v string) *ListThemeAliasesInput { + s.AwsAccountId = &v + return s } -func (s *InvalidParameterValueException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetMaxResults sets the MaxResults field's value. +func (s *ListThemeAliasesInput) SetMaxResults(v int64) *ListThemeAliasesInput { + s.MaxResults = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidParameterValueException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetNextToken sets the NextToken field's value. +func (s *ListThemeAliasesInput) SetNextToken(v string) *ListThemeAliasesInput { + s.NextToken = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidParameterValueException) RequestID() string { - return s.RespMetadata.RequestID +// SetThemeId sets the ThemeId field's value. +func (s *ListThemeAliasesInput) SetThemeId(v string) *ListThemeAliasesInput { + s.ThemeId = &v + return s } -// Jira parameters. -type JiraParameters struct { +type ListThemeAliasesOutput struct { _ struct{} `type:"structure"` - // The base URL of the Jira site. - // - // SiteBaseUrl is a required field - SiteBaseUrl *string `min:"1" type:"string" required:"true"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // A structure containing the list of the theme's aliases. + ThemeAliasList []*ThemeAlias `type:"list"` } // String returns the string representation -func (s JiraParameters) String() string { +func (s ListThemeAliasesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s JiraParameters) GoString() string { +func (s ListThemeAliasesOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *JiraParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "JiraParameters"} - if s.SiteBaseUrl == nil { - invalidParams.Add(request.NewErrParamRequired("SiteBaseUrl")) - } - if s.SiteBaseUrl != nil && len(*s.SiteBaseUrl) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SiteBaseUrl", 1)) - } +// SetNextToken sets the NextToken field's value. +func (s *ListThemeAliasesOutput) SetNextToken(v string) *ListThemeAliasesOutput { + s.NextToken = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetRequestId sets the RequestId field's value. +func (s *ListThemeAliasesOutput) SetRequestId(v string) *ListThemeAliasesOutput { + s.RequestId = &v + return s } -// SetSiteBaseUrl sets the SiteBaseUrl field's value. -func (s *JiraParameters) SetSiteBaseUrl(v string) *JiraParameters { - s.SiteBaseUrl = &v +// SetStatus sets the Status field's value. +func (s *ListThemeAliasesOutput) SetStatus(v int64) *ListThemeAliasesOutput { + s.Status = &v return s } -// Join instruction. -type JoinInstruction struct { +// SetThemeAliasList sets the ThemeAliasList field's value. +func (s *ListThemeAliasesOutput) SetThemeAliasList(v []*ThemeAlias) *ListThemeAliasesOutput { + s.ThemeAliasList = v + return s +} + +type ListThemeVersionsInput struct { _ struct{} `type:"structure"` - // Left operand. + // The ID of the AWS account that contains the themes that you're listing. // - // LeftOperand is a required field - LeftOperand *string `min:"1" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // On Clause. - // - // OnClause is a required field - OnClause *string `min:"1" type:"string" required:"true"` + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` - // Right operand. - // - // RightOperand is a required field - RightOperand *string `min:"1" type:"string" required:"true"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` - // Type. + // The ID for the theme. // - // Type is a required field - Type *string `type:"string" required:"true" enum:"JoinType"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s JoinInstruction) String() string { +func (s ListThemeVersionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s JoinInstruction) GoString() string { +func (s ListThemeVersionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *JoinInstruction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "JoinInstruction"} - if s.LeftOperand == nil { - invalidParams.Add(request.NewErrParamRequired("LeftOperand")) - } - if s.LeftOperand != nil && len(*s.LeftOperand) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LeftOperand", 1)) - } - if s.OnClause == nil { - invalidParams.Add(request.NewErrParamRequired("OnClause")) +func (s *ListThemeVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListThemeVersionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.OnClause != nil && len(*s.OnClause) < 1 { - invalidParams.Add(request.NewErrParamMinLen("OnClause", 1)) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.RightOperand == nil { - invalidParams.Add(request.NewErrParamRequired("RightOperand")) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.RightOperand != nil && len(*s.RightOperand) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RightOperand", 1)) + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } if invalidParams.Len() > 0 { @@ -15368,138 +22127,123 @@ func (s *JoinInstruction) Validate() error { return nil } -// SetLeftOperand sets the LeftOperand field's value. -func (s *JoinInstruction) SetLeftOperand(v string) *JoinInstruction { - s.LeftOperand = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListThemeVersionsInput) SetAwsAccountId(v string) *ListThemeVersionsInput { + s.AwsAccountId = &v return s } -// SetOnClause sets the OnClause field's value. -func (s *JoinInstruction) SetOnClause(v string) *JoinInstruction { - s.OnClause = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListThemeVersionsInput) SetMaxResults(v int64) *ListThemeVersionsInput { + s.MaxResults = &v return s } -// SetRightOperand sets the RightOperand field's value. -func (s *JoinInstruction) SetRightOperand(v string) *JoinInstruction { - s.RightOperand = &v +// SetNextToken sets the NextToken field's value. +func (s *ListThemeVersionsInput) SetNextToken(v string) *ListThemeVersionsInput { + s.NextToken = &v return s } -// SetType sets the Type field's value. -func (s *JoinInstruction) SetType(v string) *JoinInstruction { - s.Type = &v +// SetThemeId sets the ThemeId field's value. +func (s *ListThemeVersionsInput) SetThemeId(v string) *ListThemeVersionsInput { + s.ThemeId = &v return s } -// A limit is exceeded. -type LimitExceededException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListThemeVersionsOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` - // The AWS request ID for this request. + // The AWS request ID for this operation. RequestId *string `type:"string"` - // Limit exceeded. - ResourceType *string `type:"string" enum:"ExceptionResourceType"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` + + // A structure containing a list of all the versions of the specified theme. + ThemeVersionSummaryList []*ThemeVersionSummary `type:"list"` } // String returns the string representation -func (s LimitExceededException) String() string { +func (s ListThemeVersionsOutput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s LimitExceededException) GoString() string { - return s.String() -} - -func newErrorLimitExceededException(v protocol.ResponseMetadata) error { - return &LimitExceededException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *LimitExceededException) Code() string { - return "LimitExceededException" -} - -// Message returns the exception's message. -func (s *LimitExceededException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// GoString returns the string representation +func (s ListThemeVersionsOutput) GoString() string { + return s.String() } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *LimitExceededException) OrigErr() error { - return nil +// SetNextToken sets the NextToken field's value. +func (s *ListThemeVersionsOutput) SetNextToken(v string) *ListThemeVersionsOutput { + s.NextToken = &v + return s } -func (s *LimitExceededException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetRequestId sets the RequestId field's value. +func (s *ListThemeVersionsOutput) SetRequestId(v string) *ListThemeVersionsOutput { + s.RequestId = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *LimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetStatus sets the Status field's value. +func (s *ListThemeVersionsOutput) SetStatus(v int64) *ListThemeVersionsOutput { + s.Status = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *LimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetThemeVersionSummaryList sets the ThemeVersionSummaryList field's value. +func (s *ListThemeVersionsOutput) SetThemeVersionSummaryList(v []*ThemeVersionSummary) *ListThemeVersionsOutput { + s.ThemeVersionSummaryList = v + return s } -type ListDashboardVersionsInput struct { +type ListThemesInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the dashboard that you're listing - // versions for. + // The ID of the AWS account that contains the themes that you're listing. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the dashboard. - // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` - // The maximum number of results to be returned per request. MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` // The token for the next set of results, or null if there are no more results. NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + + // The type of themes that you want to list. Valid options include the following: + // + // * ALL (default)- Display all existing themes. + // + // * CUSTOM - Display only the themes created by people using Amazon QuickSight. + // + // * QUICKSIGHT - Display only the starting themes defined by QuickSight. + Type *string `location:"querystring" locationName:"type" type:"string" enum:"ThemeType"` } // String returns the string representation -func (s ListDashboardVersionsInput) String() string { +func (s ListThemesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDashboardVersionsInput) GoString() string { +func (s ListThemesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListDashboardVersionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListDashboardVersionsInput"} +func (s *ListThemesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListThemesInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DashboardId == nil { - invalidParams.Add(request.NewErrParamRequired("DashboardId")) - } - if s.DashboardId != nil && len(*s.DashboardId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) - } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -15511,34 +22255,31 @@ func (s *ListDashboardVersionsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListDashboardVersionsInput) SetAwsAccountId(v string) *ListDashboardVersionsInput { +func (s *ListThemesInput) SetAwsAccountId(v string) *ListThemesInput { s.AwsAccountId = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *ListDashboardVersionsInput) SetDashboardId(v string) *ListDashboardVersionsInput { - s.DashboardId = &v - return s -} - // SetMaxResults sets the MaxResults field's value. -func (s *ListDashboardVersionsInput) SetMaxResults(v int64) *ListDashboardVersionsInput { +func (s *ListThemesInput) SetMaxResults(v int64) *ListThemesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListDashboardVersionsInput) SetNextToken(v string) *ListDashboardVersionsInput { +func (s *ListThemesInput) SetNextToken(v string) *ListThemesInput { s.NextToken = &v return s } -type ListDashboardVersionsOutput struct { - _ struct{} `type:"structure"` +// SetType sets the Type field's value. +func (s *ListThemesInput) SetType(v string) *ListThemesInput { + s.Type = &v + return s +} - // A structure that contains information about each version of the dashboard. - DashboardVersionSummaryList []*DashboardVersionSummary `type:"list"` +type ListThemesOutput struct { + _ struct{} `type:"structure"` // The token for the next set of results, or null if there are no more results. NextToken *string `type:"string"` @@ -15548,70 +22289,84 @@ type ListDashboardVersionsOutput struct { // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` + + // Information about the themes in the list. + ThemeSummaryList []*ThemeSummary `type:"list"` } // String returns the string representation -func (s ListDashboardVersionsOutput) String() string { +func (s ListThemesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDashboardVersionsOutput) GoString() string { +func (s ListThemesOutput) GoString() string { return s.String() } -// SetDashboardVersionSummaryList sets the DashboardVersionSummaryList field's value. -func (s *ListDashboardVersionsOutput) SetDashboardVersionSummaryList(v []*DashboardVersionSummary) *ListDashboardVersionsOutput { - s.DashboardVersionSummaryList = v - return s -} - // SetNextToken sets the NextToken field's value. -func (s *ListDashboardVersionsOutput) SetNextToken(v string) *ListDashboardVersionsOutput { +func (s *ListThemesOutput) SetNextToken(v string) *ListThemesOutput { s.NextToken = &v return s } // SetRequestId sets the RequestId field's value. -func (s *ListDashboardVersionsOutput) SetRequestId(v string) *ListDashboardVersionsOutput { +func (s *ListThemesOutput) SetRequestId(v string) *ListThemesOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *ListDashboardVersionsOutput) SetStatus(v int64) *ListDashboardVersionsOutput { +func (s *ListThemesOutput) SetStatus(v int64) *ListThemesOutput { s.Status = &v return s } -type ListDashboardsInput struct { +// SetThemeSummaryList sets the ThemeSummaryList field's value. +func (s *ListThemesOutput) SetThemeSummaryList(v []*ThemeSummary) *ListThemesOutput { + s.ThemeSummaryList = v + return s +} + +type ListUserGroupsInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the dashboards that you're listing. + // The AWS account ID that the user is in. Currently, you use the ID for the + // AWS account that contains your Amazon QuickSight account. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The maximum number of results to be returned per request. + // The maximum number of results to return from this request. MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` - // The token for the next set of results, or null if there are no more results. + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // A pagination token that can be used in a subsequent request. NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + + // The Amazon QuickSight user name that you want to list group memberships for. + // + // UserName is a required field + UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListDashboardsInput) String() string { +func (s ListUserGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDashboardsInput) GoString() string { +func (s ListUserGroupsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListDashboardsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListDashboardsInput"} +func (s *ListUserGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListUserGroupsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } @@ -15621,6 +22376,18 @@ func (s *ListDashboardsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -15629,31 +22396,42 @@ func (s *ListDashboardsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListDashboardsInput) SetAwsAccountId(v string) *ListDashboardsInput { +func (s *ListUserGroupsInput) SetAwsAccountId(v string) *ListUserGroupsInput { s.AwsAccountId = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListDashboardsInput) SetMaxResults(v int64) *ListDashboardsInput { +func (s *ListUserGroupsInput) SetMaxResults(v int64) *ListUserGroupsInput { s.MaxResults = &v return s } +// SetNamespace sets the Namespace field's value. +func (s *ListUserGroupsInput) SetNamespace(v string) *ListUserGroupsInput { + s.Namespace = &v + return s +} + // SetNextToken sets the NextToken field's value. -func (s *ListDashboardsInput) SetNextToken(v string) *ListDashboardsInput { +func (s *ListUserGroupsInput) SetNextToken(v string) *ListUserGroupsInput { s.NextToken = &v return s } -type ListDashboardsOutput struct { +// SetUserName sets the UserName field's value. +func (s *ListUserGroupsInput) SetUserName(v string) *ListUserGroupsInput { + s.UserName = &v + return s +} + +type ListUserGroupsOutput struct { _ struct{} `type:"structure"` - // A structure that contains all of the dashboards shared with the user. This - // structure provides basic information about the dashboards. - DashboardSummaryList []*DashboardSummary `type:"list"` + // The list of groups the user is a member of. + GroupList []*Group `type:"list"` - // The token for the next set of results, or null if there are no more results. + // A pagination token that can be used in a subsequent request. NextToken *string `type:"string"` // The AWS request ID for this operation. @@ -15664,67 +22442,73 @@ type ListDashboardsOutput struct { } // String returns the string representation -func (s ListDashboardsOutput) String() string { +func (s ListUserGroupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDashboardsOutput) GoString() string { +func (s ListUserGroupsOutput) GoString() string { return s.String() } -// SetDashboardSummaryList sets the DashboardSummaryList field's value. -func (s *ListDashboardsOutput) SetDashboardSummaryList(v []*DashboardSummary) *ListDashboardsOutput { - s.DashboardSummaryList = v +// SetGroupList sets the GroupList field's value. +func (s *ListUserGroupsOutput) SetGroupList(v []*Group) *ListUserGroupsOutput { + s.GroupList = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListDashboardsOutput) SetNextToken(v string) *ListDashboardsOutput { +func (s *ListUserGroupsOutput) SetNextToken(v string) *ListUserGroupsOutput { s.NextToken = &v return s } // SetRequestId sets the RequestId field's value. -func (s *ListDashboardsOutput) SetRequestId(v string) *ListDashboardsOutput { +func (s *ListUserGroupsOutput) SetRequestId(v string) *ListUserGroupsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *ListDashboardsOutput) SetStatus(v int64) *ListDashboardsOutput { +func (s *ListUserGroupsOutput) SetStatus(v int64) *ListUserGroupsOutput { s.Status = &v return s } -type ListDataSetsInput struct { +type ListUsersInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The ID for the AWS account that the user is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The maximum number of results to be returned per request. + // The maximum number of results to return from this request. MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` - // The token for the next set of results, or null if there are no more results. + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // A pagination token that can be used in a subsequent request. NextToken *string `location:"querystring" locationName:"next-token" type:"string"` } // String returns the string representation -func (s ListDataSetsInput) String() string { +func (s ListUsersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDataSetsInput) GoString() string { +func (s ListUsersInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListDataSetsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListDataSetsInput"} +func (s *ListUsersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } @@ -15734,6 +22518,12 @@ func (s *ListDataSetsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -15742,30 +22532,33 @@ func (s *ListDataSetsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListDataSetsInput) SetAwsAccountId(v string) *ListDataSetsInput { +func (s *ListUsersInput) SetAwsAccountId(v string) *ListUsersInput { s.AwsAccountId = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListDataSetsInput) SetMaxResults(v int64) *ListDataSetsInput { +func (s *ListUsersInput) SetMaxResults(v int64) *ListUsersInput { s.MaxResults = &v return s } +// SetNamespace sets the Namespace field's value. +func (s *ListUsersInput) SetNamespace(v string) *ListUsersInput { + s.Namespace = &v + return s +} + // SetNextToken sets the NextToken field's value. -func (s *ListDataSetsInput) SetNextToken(v string) *ListDataSetsInput { +func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput { s.NextToken = &v return s } -type ListDataSetsOutput struct { +type ListUsersOutput struct { _ struct{} `type:"structure"` - // The list of dataset summaries. - DataSetSummaries []*DataSetSummary `type:"list"` - - // The token for the next set of results, or null if there are no more results. + // A pagination token that can be used in a subsequent request. NextToken *string `type:"string"` // The AWS request ID for this operation. @@ -15773,78 +22566,105 @@ type ListDataSetsOutput struct { // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` + + // The list of users. + UserList []*User `type:"list"` } // String returns the string representation -func (s ListDataSetsOutput) String() string { +func (s ListUsersOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDataSetsOutput) GoString() string { +func (s ListUsersOutput) GoString() string { return s.String() } -// SetDataSetSummaries sets the DataSetSummaries field's value. -func (s *ListDataSetsOutput) SetDataSetSummaries(v []*DataSetSummary) *ListDataSetsOutput { - s.DataSetSummaries = v - return s -} - // SetNextToken sets the NextToken field's value. -func (s *ListDataSetsOutput) SetNextToken(v string) *ListDataSetsOutput { +func (s *ListUsersOutput) SetNextToken(v string) *ListUsersOutput { s.NextToken = &v return s } // SetRequestId sets the RequestId field's value. -func (s *ListDataSetsOutput) SetRequestId(v string) *ListDataSetsOutput { +func (s *ListUsersOutput) SetRequestId(v string) *ListUsersOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *ListDataSetsOutput) SetStatus(v int64) *ListDataSetsOutput { +func (s *ListUsersOutput) SetStatus(v int64) *ListUsersOutput { s.Status = &v return s } -type ListDataSourcesInput struct { +// SetUserList sets the UserList field's value. +func (s *ListUsersOutput) SetUserList(v []*User) *ListUsersOutput { + s.UserList = v + return s +} + +// A logical table is a unit that joins and that data transformations operate +// on. A logical table has a source, which can be either a physical table or +// result of a join. When a logical table points to a physical table, the logical +// table acts as a mutable copy of that physical table through transform operations. +type LogicalTable struct { _ struct{} `type:"structure"` - // The AWS account ID. + // A display name for the logical table. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - - // The maximum number of results to be returned per request. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + // Alias is a required field + Alias *string `min:"1" type:"string" required:"true"` - // The token for the next set of results, or null if there are no more results. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + // Transform operations that act on this logical table. + DataTransforms []*TransformOperation `min:"1" type:"list"` + + // Source of this logical table. + // + // Source is a required field + Source *LogicalTableSource `type:"structure" required:"true"` } // String returns the string representation -func (s ListDataSourcesInput) String() string { +func (s LogicalTable) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDataSourcesInput) GoString() string { +func (s LogicalTable) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListDataSourcesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListDataSourcesInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) +func (s *LogicalTable) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LogicalTable"} + if s.Alias == nil { + invalidParams.Add(request.NewErrParamRequired("Alias")) } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + if s.Alias != nil && len(*s.Alias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.DataTransforms != nil && len(s.DataTransforms) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataTransforms", 1)) + } + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) + } + if s.DataTransforms != nil { + for i, v := range s.DataTransforms { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataTransforms", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Source != nil { + if err := s.Source.Validate(); err != nil { + invalidParams.AddNested("Source", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -15853,133 +22673,115 @@ func (s *ListDataSourcesInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListDataSourcesInput) SetAwsAccountId(v string) *ListDataSourcesInput { - s.AwsAccountId = &v +// SetAlias sets the Alias field's value. +func (s *LogicalTable) SetAlias(v string) *LogicalTable { + s.Alias = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListDataSourcesInput) SetMaxResults(v int64) *ListDataSourcesInput { - s.MaxResults = &v +// SetDataTransforms sets the DataTransforms field's value. +func (s *LogicalTable) SetDataTransforms(v []*TransformOperation) *LogicalTable { + s.DataTransforms = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListDataSourcesInput) SetNextToken(v string) *ListDataSourcesInput { - s.NextToken = &v +// SetSource sets the Source field's value. +func (s *LogicalTable) SetSource(v *LogicalTableSource) *LogicalTable { + s.Source = v return s } -type ListDataSourcesOutput struct { +// Information about the source of a logical table. This is a variant type structure. +// For this structure to be valid, only one of the attributes can be non-null. +type LogicalTableSource struct { _ struct{} `type:"structure"` - // A list of data sources. - DataSources []*DataSource `type:"list"` - - // The token for the next set of results, or null if there are no more results. - NextToken *string `type:"string"` - - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // Specifies the result of a join of two logical tables. + JoinInstruction *JoinInstruction `type:"structure"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Physical table ID. + PhysicalTableId *string `min:"1" type:"string"` } // String returns the string representation -func (s ListDataSourcesOutput) String() string { +func (s LogicalTableSource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListDataSourcesOutput) GoString() string { +func (s LogicalTableSource) GoString() string { return s.String() } -// SetDataSources sets the DataSources field's value. -func (s *ListDataSourcesOutput) SetDataSources(v []*DataSource) *ListDataSourcesOutput { - s.DataSources = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *LogicalTableSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LogicalTableSource"} + if s.PhysicalTableId != nil && len(*s.PhysicalTableId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PhysicalTableId", 1)) + } + if s.JoinInstruction != nil { + if err := s.JoinInstruction.Validate(); err != nil { + invalidParams.AddNested("JoinInstruction", err.(request.ErrInvalidParams)) + } + } -// SetNextToken sets the NextToken field's value. -func (s *ListDataSourcesOutput) SetNextToken(v string) *ListDataSourcesOutput { - s.NextToken = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetRequestId sets the RequestId field's value. -func (s *ListDataSourcesOutput) SetRequestId(v string) *ListDataSourcesOutput { - s.RequestId = &v +// SetJoinInstruction sets the JoinInstruction field's value. +func (s *LogicalTableSource) SetJoinInstruction(v *JoinInstruction) *LogicalTableSource { + s.JoinInstruction = v return s } -// SetStatus sets the Status field's value. -func (s *ListDataSourcesOutput) SetStatus(v int64) *ListDataSourcesOutput { - s.Status = &v +// SetPhysicalTableId sets the PhysicalTableId field's value. +func (s *LogicalTableSource) SetPhysicalTableId(v string) *LogicalTableSource { + s.PhysicalTableId = &v return s } -type ListGroupMembershipsInput struct { +// Amazon S3 manifest file location. +type ManifestFileLocation struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the group is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - - // The name of the group that you want to see a membership list of. + // Amazon S3 bucket. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` - - // The maximum number of results to return from this request. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + // Bucket is a required field + Bucket *string `min:"1" type:"string" required:"true"` - // The namespace. Currently, you should set this to default. + // Amazon S3 key that identifies an object. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` - - // A pagination token that can be used in a subsequent request. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListGroupMembershipsInput) String() string { +func (s ManifestFileLocation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListGroupMembershipsInput) GoString() string { +func (s ManifestFileLocation) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListGroupMembershipsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListGroupMembershipsInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) - } - if s.GroupName != nil && len(*s.GroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) +func (s *ManifestFileLocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ManifestFileLocation"} + if s.Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("Bucket")) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.Bucket != nil && len(*s.Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { @@ -15988,134 +22790,168 @@ func (s *ListGroupMembershipsInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListGroupMembershipsInput) SetAwsAccountId(v string) *ListGroupMembershipsInput { - s.AwsAccountId = &v +// SetBucket sets the Bucket field's value. +func (s *ManifestFileLocation) SetBucket(v string) *ManifestFileLocation { + s.Bucket = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *ListGroupMembershipsInput) SetGroupName(v string) *ListGroupMembershipsInput { - s.GroupName = &v +// SetKey sets the Key field's value. +func (s *ManifestFileLocation) SetKey(v string) *ManifestFileLocation { + s.Key = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListGroupMembershipsInput) SetMaxResults(v int64) *ListGroupMembershipsInput { - s.MaxResults = &v - return s +// The display options for margins around the outside edge of sheets. +type MarginStyle struct { + _ struct{} `type:"structure"` + + // This Boolean value controls whether to display sheet margins. + Show *bool `type:"boolean"` } -// SetNamespace sets the Namespace field's value. -func (s *ListGroupMembershipsInput) SetNamespace(v string) *ListGroupMembershipsInput { - s.Namespace = &v - return s +// String returns the string representation +func (s MarginStyle) String() string { + return awsutil.Prettify(s) } -// SetNextToken sets the NextToken field's value. -func (s *ListGroupMembershipsInput) SetNextToken(v string) *ListGroupMembershipsInput { - s.NextToken = &v +// GoString returns the string representation +func (s MarginStyle) GoString() string { + return s.String() +} + +// SetShow sets the Show field's value. +func (s *MarginStyle) SetShow(v bool) *MarginStyle { + s.Show = &v return s } -type ListGroupMembershipsOutput struct { +// MariaDB parameters. +type MariaDbParameters struct { _ struct{} `type:"structure"` - // The list of the members of the group. - GroupMemberList []*GroupMember `type:"list"` - - // A pagination token that can be used in a subsequent request. - NextToken *string `type:"string"` + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` } // String returns the string representation -func (s ListGroupMembershipsOutput) String() string { +func (s MariaDbParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListGroupMembershipsOutput) GoString() string { +func (s MariaDbParameters) GoString() string { return s.String() } -// SetGroupMemberList sets the GroupMemberList field's value. -func (s *ListGroupMembershipsOutput) SetGroupMemberList(v []*GroupMember) *ListGroupMembershipsOutput { - s.GroupMemberList = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *MariaDbParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MariaDbParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + } + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListGroupMembershipsOutput) SetNextToken(v string) *ListGroupMembershipsOutput { - s.NextToken = &v +// SetDatabase sets the Database field's value. +func (s *MariaDbParameters) SetDatabase(v string) *MariaDbParameters { + s.Database = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *ListGroupMembershipsOutput) SetRequestId(v string) *ListGroupMembershipsOutput { - s.RequestId = &v +// SetHost sets the Host field's value. +func (s *MariaDbParameters) SetHost(v string) *MariaDbParameters { + s.Host = &v return s } -// SetStatus sets the Status field's value. -func (s *ListGroupMembershipsOutput) SetStatus(v int64) *ListGroupMembershipsOutput { - s.Status = &v +// SetPort sets the Port field's value. +func (s *MariaDbParameters) SetPort(v int64) *MariaDbParameters { + s.Port = &v return s } -type ListGroupsInput struct { +// MySQL parameters. +type MySqlParameters struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the group is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. + // Database. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - - // The maximum number of results to return. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` - // The namespace. Currently, you should set this to default. + // Host. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` - // A pagination token that can be used in a subsequent request. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` } // String returns the string representation -func (s ListGroupsInput) String() string { +func (s MySqlParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListGroupsInput) GoString() string { +func (s MySqlParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListGroupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListGroupsInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) +func (s *MySqlParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MySqlParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } if invalidParams.Len() > 0 { @@ -16124,276 +22960,303 @@ func (s *ListGroupsInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListGroupsInput) SetAwsAccountId(v string) *ListGroupsInput { - s.AwsAccountId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListGroupsInput) SetMaxResults(v int64) *ListGroupsInput { - s.MaxResults = &v +// SetDatabase sets the Database field's value. +func (s *MySqlParameters) SetDatabase(v string) *MySqlParameters { + s.Database = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *ListGroupsInput) SetNamespace(v string) *ListGroupsInput { - s.Namespace = &v +// SetHost sets the Host field's value. +func (s *MySqlParameters) SetHost(v string) *MySqlParameters { + s.Host = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListGroupsInput) SetNextToken(v string) *ListGroupsInput { - s.NextToken = &v +// SetPort sets the Port field's value. +func (s *MySqlParameters) SetPort(v int64) *MySqlParameters { + s.Port = &v return s } -type ListGroupsOutput struct { +// Errors that occur during namespace creation. +type NamespaceError struct { _ struct{} `type:"structure"` - // The list of the groups. - GroupList []*Group `type:"list"` - - // A pagination token that can be used in a subsequent request. - NextToken *string `type:"string"` - - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // The message for the error. + Message *string `type:"string"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // The error type. + Type *string `type:"string" enum:"NamespaceErrorType"` } // String returns the string representation -func (s ListGroupsOutput) String() string { +func (s NamespaceError) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListGroupsOutput) GoString() string { +func (s NamespaceError) GoString() string { return s.String() } -// SetGroupList sets the GroupList field's value. -func (s *ListGroupsOutput) SetGroupList(v []*Group) *ListGroupsOutput { - s.GroupList = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput { - s.NextToken = &v - return s -} - -// SetRequestId sets the RequestId field's value. -func (s *ListGroupsOutput) SetRequestId(v string) *ListGroupsOutput { - s.RequestId = &v +// SetMessage sets the Message field's value. +func (s *NamespaceError) SetMessage(v string) *NamespaceError { + s.Message = &v return s } -// SetStatus sets the Status field's value. -func (s *ListGroupsOutput) SetStatus(v int64) *ListGroupsOutput { - s.Status = &v +// SetType sets the Type field's value. +func (s *NamespaceError) SetType(v string) *NamespaceError { + s.Type = &v return s } -type ListIAMPolicyAssignmentsForUserInput struct { +// The error type. +type NamespaceInfoV2 struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the assignments. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // The namespace ARN. + Arn *string `type:"string"` - // The maximum number of results to be returned per request. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + // The namespace AWS Region. + CapacityRegion *string `type:"string"` - // The namespace of the assignment. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // The creation status of a namespace that is not yet completely created. + CreationStatus *string `type:"string" enum:"NamespaceStatus"` - // The token for the next set of results, or null if there are no more results. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + // The identity store used for the namespace. + IdentityStore *string `type:"string" enum:"IdentityStore"` - // The name of the user. - // - // UserName is a required field - UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` + // The name of the error. + Name *string `type:"string"` + + // An error that occured when the namespace was created. + NamespaceError *NamespaceError `type:"structure"` } // String returns the string representation -func (s ListIAMPolicyAssignmentsForUserInput) String() string { +func (s NamespaceInfoV2) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListIAMPolicyAssignmentsForUserInput) GoString() string { +func (s NamespaceInfoV2) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListIAMPolicyAssignmentsForUserInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListIAMPolicyAssignmentsForUserInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) - } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) - } - if s.UserName == nil { - invalidParams.Add(request.NewErrParamRequired("UserName")) - } - if s.UserName != nil && len(*s.UserName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *NamespaceInfoV2) SetArn(v string) *NamespaceInfoV2 { + s.Arn = &v + return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListIAMPolicyAssignmentsForUserInput) SetAwsAccountId(v string) *ListIAMPolicyAssignmentsForUserInput { - s.AwsAccountId = &v +// SetCapacityRegion sets the CapacityRegion field's value. +func (s *NamespaceInfoV2) SetCapacityRegion(v string) *NamespaceInfoV2 { + s.CapacityRegion = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListIAMPolicyAssignmentsForUserInput) SetMaxResults(v int64) *ListIAMPolicyAssignmentsForUserInput { - s.MaxResults = &v +// SetCreationStatus sets the CreationStatus field's value. +func (s *NamespaceInfoV2) SetCreationStatus(v string) *NamespaceInfoV2 { + s.CreationStatus = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *ListIAMPolicyAssignmentsForUserInput) SetNamespace(v string) *ListIAMPolicyAssignmentsForUserInput { - s.Namespace = &v +// SetIdentityStore sets the IdentityStore field's value. +func (s *NamespaceInfoV2) SetIdentityStore(v string) *NamespaceInfoV2 { + s.IdentityStore = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListIAMPolicyAssignmentsForUserInput) SetNextToken(v string) *ListIAMPolicyAssignmentsForUserInput { - s.NextToken = &v +// SetName sets the Name field's value. +func (s *NamespaceInfoV2) SetName(v string) *NamespaceInfoV2 { + s.Name = &v return s } -// SetUserName sets the UserName field's value. -func (s *ListIAMPolicyAssignmentsForUserInput) SetUserName(v string) *ListIAMPolicyAssignmentsForUserInput { - s.UserName = &v +// SetNamespaceError sets the NamespaceError field's value. +func (s *NamespaceInfoV2) SetNamespaceError(v *NamespaceError) *NamespaceInfoV2 { + s.NamespaceError = v return s } -type ListIAMPolicyAssignmentsForUserOutput struct { +// Output column. +type OutputColumn struct { _ struct{} `type:"structure"` - // The active assignments for this user. - ActiveAssignments []*ActiveIAMPolicyAssignment `type:"list"` + // A display name for the dataset. + Name *string `min:"1" type:"string"` + + // Type. + Type *string `type:"string" enum:"ColumnDataType"` +} + +// String returns the string representation +func (s OutputColumn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OutputColumn) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *OutputColumn) SetName(v string) *OutputColumn { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *OutputColumn) SetType(v string) *OutputColumn { + s.Type = &v + return s +} + +// Parameters. +type Parameters struct { + _ struct{} `type:"structure"` - // The token for the next set of results, or null if there are no more results. - NextToken *string `type:"string"` + // DateTime parameters. + DateTimeParameters []*DateTimeParameter `type:"list"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // Decimal parameters. + DecimalParameters []*DecimalParameter `type:"list"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Integer parameters. + IntegerParameters []*IntegerParameter `type:"list"` + + // String parameters. + StringParameters []*StringParameter `type:"list"` } // String returns the string representation -func (s ListIAMPolicyAssignmentsForUserOutput) String() string { +func (s Parameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListIAMPolicyAssignmentsForUserOutput) GoString() string { +func (s Parameters) GoString() string { return s.String() } -// SetActiveAssignments sets the ActiveAssignments field's value. -func (s *ListIAMPolicyAssignmentsForUserOutput) SetActiveAssignments(v []*ActiveIAMPolicyAssignment) *ListIAMPolicyAssignmentsForUserOutput { - s.ActiveAssignments = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *Parameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Parameters"} + if s.DateTimeParameters != nil { + for i, v := range s.DateTimeParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DateTimeParameters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.DecimalParameters != nil { + for i, v := range s.DecimalParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DecimalParameters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.IntegerParameters != nil { + for i, v := range s.IntegerParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "IntegerParameters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.StringParameters != nil { + for i, v := range s.StringParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StringParameters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDateTimeParameters sets the DateTimeParameters field's value. +func (s *Parameters) SetDateTimeParameters(v []*DateTimeParameter) *Parameters { + s.DateTimeParameters = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListIAMPolicyAssignmentsForUserOutput) SetNextToken(v string) *ListIAMPolicyAssignmentsForUserOutput { - s.NextToken = &v +// SetDecimalParameters sets the DecimalParameters field's value. +func (s *Parameters) SetDecimalParameters(v []*DecimalParameter) *Parameters { + s.DecimalParameters = v return s } -// SetRequestId sets the RequestId field's value. -func (s *ListIAMPolicyAssignmentsForUserOutput) SetRequestId(v string) *ListIAMPolicyAssignmentsForUserOutput { - s.RequestId = &v +// SetIntegerParameters sets the IntegerParameters field's value. +func (s *Parameters) SetIntegerParameters(v []*IntegerParameter) *Parameters { + s.IntegerParameters = v return s } -// SetStatus sets the Status field's value. -func (s *ListIAMPolicyAssignmentsForUserOutput) SetStatus(v int64) *ListIAMPolicyAssignmentsForUserOutput { - s.Status = &v +// SetStringParameters sets the StringParameters field's value. +func (s *Parameters) SetStringParameters(v []*StringParameter) *Parameters { + s.StringParameters = v return s } -type ListIAMPolicyAssignmentsInput struct { +// A view of a data source that contains information about the shape of the +// data in the underlying source. This is a variant type structure. For this +// structure to be valid, only one of the attributes can be non-null. +type PhysicalTable struct { _ struct{} `type:"structure"` - // The status of the assignments. - AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` - - // The ID of the AWS account that contains these IAM policy assignments. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - - // The maximum number of results to be returned per request. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + // A physical table type built from the results of the custom SQL query. + CustomSql *CustomSql `type:"structure"` - // The namespace for the assignments. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // A physical table type for relational data sources. + RelationalTable *RelationalTable `type:"structure"` - // The token for the next set of results, or null if there are no more results. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + // A physical table type for as S3 data source. + S3Source *S3Source `type:"structure"` } // String returns the string representation -func (s ListIAMPolicyAssignmentsInput) String() string { +func (s PhysicalTable) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListIAMPolicyAssignmentsInput) GoString() string { +func (s PhysicalTable) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListIAMPolicyAssignmentsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListIAMPolicyAssignmentsInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *PhysicalTable) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PhysicalTable"} + if s.CustomSql != nil { + if err := s.CustomSql.Validate(); err != nil { + invalidParams.AddNested("CustomSql", err.(request.ErrInvalidParams)) + } } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.RelationalTable != nil { + if err := s.RelationalTable.Validate(); err != nil { + invalidParams.AddNested("RelationalTable", err.(request.ErrInvalidParams)) + } } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.S3Source != nil { + if err := s.S3Source.Validate(); err != nil { + invalidParams.AddNested("S3Source", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -16402,243 +23265,261 @@ func (s *ListIAMPolicyAssignmentsInput) Validate() error { return nil } -// SetAssignmentStatus sets the AssignmentStatus field's value. -func (s *ListIAMPolicyAssignmentsInput) SetAssignmentStatus(v string) *ListIAMPolicyAssignmentsInput { - s.AssignmentStatus = &v - return s -} - -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListIAMPolicyAssignmentsInput) SetAwsAccountId(v string) *ListIAMPolicyAssignmentsInput { - s.AwsAccountId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListIAMPolicyAssignmentsInput) SetMaxResults(v int64) *ListIAMPolicyAssignmentsInput { - s.MaxResults = &v +// SetCustomSql sets the CustomSql field's value. +func (s *PhysicalTable) SetCustomSql(v *CustomSql) *PhysicalTable { + s.CustomSql = v return s } -// SetNamespace sets the Namespace field's value. -func (s *ListIAMPolicyAssignmentsInput) SetNamespace(v string) *ListIAMPolicyAssignmentsInput { - s.Namespace = &v +// SetRelationalTable sets the RelationalTable field's value. +func (s *PhysicalTable) SetRelationalTable(v *RelationalTable) *PhysicalTable { + s.RelationalTable = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListIAMPolicyAssignmentsInput) SetNextToken(v string) *ListIAMPolicyAssignmentsInput { - s.NextToken = &v +// SetS3Source sets the S3Source field's value. +func (s *PhysicalTable) SetS3Source(v *S3Source) *PhysicalTable { + s.S3Source = v return s } -type ListIAMPolicyAssignmentsOutput struct { +// PostgreSQL parameters. +type PostgreSqlParameters struct { _ struct{} `type:"structure"` - // Information describing the IAM policy assignments. - IAMPolicyAssignments []*IAMPolicyAssignmentSummary `type:"list"` - - // The token for the next set of results, or null if there are no more results. - NextToken *string `type:"string"` + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` } // String returns the string representation -func (s ListIAMPolicyAssignmentsOutput) String() string { +func (s PostgreSqlParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListIAMPolicyAssignmentsOutput) GoString() string { +func (s PostgreSqlParameters) GoString() string { return s.String() } -// SetIAMPolicyAssignments sets the IAMPolicyAssignments field's value. -func (s *ListIAMPolicyAssignmentsOutput) SetIAMPolicyAssignments(v []*IAMPolicyAssignmentSummary) *ListIAMPolicyAssignmentsOutput { - s.IAMPolicyAssignments = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *PostgreSqlParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PostgreSqlParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + } + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } -// SetNextToken sets the NextToken field's value. -func (s *ListIAMPolicyAssignmentsOutput) SetNextToken(v string) *ListIAMPolicyAssignmentsOutput { - s.NextToken = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetRequestId sets the RequestId field's value. -func (s *ListIAMPolicyAssignmentsOutput) SetRequestId(v string) *ListIAMPolicyAssignmentsOutput { - s.RequestId = &v +// SetDatabase sets the Database field's value. +func (s *PostgreSqlParameters) SetDatabase(v string) *PostgreSqlParameters { + s.Database = &v return s } -// SetStatus sets the Status field's value. -func (s *ListIAMPolicyAssignmentsOutput) SetStatus(v int64) *ListIAMPolicyAssignmentsOutput { - s.Status = &v +// SetHost sets the Host field's value. +func (s *PostgreSqlParameters) SetHost(v string) *PostgreSqlParameters { + s.Host = &v return s } -type ListIngestionsInput struct { - _ struct{} `type:"structure"` - - // The AWS account ID. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` +// SetPort sets the Port field's value. +func (s *PostgreSqlParameters) SetPort(v int64) *PostgreSqlParameters { + s.Port = &v + return s +} - // The ID of the dataset used in the ingestion. - // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` +// One or more preconditions aren't met. +type PreconditionNotMetException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The maximum number of results to be returned per request. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + Message_ *string `locationName:"Message" type:"string"` - // The token for the next set of results, or null if there are no more results. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + // The AWS request ID for this request. + RequestId *string `type:"string"` } // String returns the string representation -func (s ListIngestionsInput) String() string { +func (s PreconditionNotMetException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListIngestionsInput) GoString() string { +func (s PreconditionNotMetException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListIngestionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListIngestionsInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.DataSetId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetId")) - } - if s.DataSetId != nil && len(*s.DataSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func newErrorPreconditionNotMetException(v protocol.ResponseMetadata) error { + return &PreconditionNotMetException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *PreconditionNotMetException) Code() string { + return "PreconditionNotMetException" +} + +// Message returns the exception's message. +func (s *PreconditionNotMetException) Message() string { + if s.Message_ != nil { + return *s.Message_ } - return nil + return "" } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListIngestionsInput) SetAwsAccountId(v string) *ListIngestionsInput { - s.AwsAccountId = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *PreconditionNotMetException) OrigErr() error { + return nil } -// SetDataSetId sets the DataSetId field's value. -func (s *ListIngestionsInput) SetDataSetId(v string) *ListIngestionsInput { - s.DataSetId = &v - return s +func (s *PreconditionNotMetException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetMaxResults sets the MaxResults field's value. -func (s *ListIngestionsInput) SetMaxResults(v int64) *ListIngestionsInput { - s.MaxResults = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *PreconditionNotMetException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetNextToken sets the NextToken field's value. -func (s *ListIngestionsInput) SetNextToken(v string) *ListIngestionsInput { - s.NextToken = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *PreconditionNotMetException) RequestID() string { + return s.RespMetadata.RequestID } -type ListIngestionsOutput struct { +// Presto parameters. +type PrestoParameters struct { _ struct{} `type:"structure"` - // A list of the ingestions. - Ingestions []*Ingestion `type:"list"` - - // The token for the next set of results, or null if there are no more results. - NextToken *string `type:"string"` + // Catalog. + // + // Catalog is a required field + Catalog *string `type:"string" required:"true"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` } // String returns the string representation -func (s ListIngestionsOutput) String() string { +func (s PrestoParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListIngestionsOutput) GoString() string { +func (s PrestoParameters) GoString() string { return s.String() } -// SetIngestions sets the Ingestions field's value. -func (s *ListIngestionsOutput) SetIngestions(v []*Ingestion) *ListIngestionsOutput { - s.Ingestions = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *PrestoParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PrestoParameters"} + if s.Catalog == nil { + invalidParams.Add(request.NewErrParamRequired("Catalog")) + } + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListIngestionsOutput) SetNextToken(v string) *ListIngestionsOutput { - s.NextToken = &v +// SetCatalog sets the Catalog field's value. +func (s *PrestoParameters) SetCatalog(v string) *PrestoParameters { + s.Catalog = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *ListIngestionsOutput) SetRequestId(v string) *ListIngestionsOutput { - s.RequestId = &v +// SetHost sets the Host field's value. +func (s *PrestoParameters) SetHost(v string) *PrestoParameters { + s.Host = &v return s } -// SetStatus sets the Status field's value. -func (s *ListIngestionsOutput) SetStatus(v int64) *ListIngestionsOutput { - s.Status = &v +// SetPort sets the Port field's value. +func (s *PrestoParameters) SetPort(v int64) *PrestoParameters { + s.Port = &v return s } -type ListTagsForResourceInput struct { +// A transform operation that projects columns. Operations that come after a +// projection can only refer to projected columns. +type ProjectOperation struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource that you want a list of tags - // for. + // Projected columns. // - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"` + // ProjectedColumns is a required field + ProjectedColumns []*string `min:"1" type:"list" required:"true"` } // String returns the string representation -func (s ListTagsForResourceInput) String() string { +func (s ProjectOperation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTagsForResourceInput) GoString() string { +func (s ProjectOperation) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListTagsForResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) +func (s *ProjectOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProjectOperation"} + if s.ProjectedColumns == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectedColumns")) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + if s.ProjectedColumns != nil && len(s.ProjectedColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProjectedColumns", 1)) } if invalidParams.Len() > 0 { @@ -16647,102 +23528,89 @@ func (s *ListTagsForResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { - s.ResourceArn = &v +// SetProjectedColumns sets the ProjectedColumns field's value. +func (s *ProjectOperation) SetProjectedColumns(v []*string) *ProjectOperation { + s.ProjectedColumns = v return s } -type ListTagsForResourceOutput struct { +// Information about a queued dataset SPICE ingestion. +type QueueInfo struct { _ struct{} `type:"structure"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` - - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // The ID of the ongoing ingestion. The queued ingestion is waiting for the + // ongoing ingestion to complete. + // + // QueuedIngestion is a required field + QueuedIngestion *string `type:"string" required:"true"` - // Contains a map of the key-value pairs for the resource tag or tags assigned - // to the resource. - Tags []*Tag `min:"1" type:"list"` + // The ID of the queued ingestion. + // + // WaitingOnIngestion is a required field + WaitingOnIngestion *string `type:"string" required:"true"` } // String returns the string representation -func (s ListTagsForResourceOutput) String() string { +func (s QueueInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTagsForResourceOutput) GoString() string { +func (s QueueInfo) GoString() string { return s.String() } -// SetRequestId sets the RequestId field's value. -func (s *ListTagsForResourceOutput) SetRequestId(v string) *ListTagsForResourceOutput { - s.RequestId = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *ListTagsForResourceOutput) SetStatus(v int64) *ListTagsForResourceOutput { - s.Status = &v +// SetQueuedIngestion sets the QueuedIngestion field's value. +func (s *QueueInfo) SetQueuedIngestion(v string) *QueueInfo { + s.QueuedIngestion = &v return s } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { - s.Tags = v +// SetWaitingOnIngestion sets the WaitingOnIngestion field's value. +func (s *QueueInfo) SetWaitingOnIngestion(v string) *QueueInfo { + s.WaitingOnIngestion = &v return s } -type ListTemplateAliasesInput struct { +// Amazon RDS parameters. +type RdsParameters struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the template aliases that you're - // listing. + // Database. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - - // The maximum number of results to be returned per request. - MaxResults *int64 `location:"querystring" locationName:"max-result" min:"1" type:"integer"` - - // The token for the next set of results, or null if there are no more results. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` - // The ID for the template. + // Instance ID. // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // InstanceId is a required field + InstanceId *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListTemplateAliasesInput) String() string { +func (s RdsParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTemplateAliasesInput) GoString() string { +func (s RdsParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListTemplateAliasesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTemplateAliasesInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) +func (s *RdsParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RdsParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) } - if s.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) } if invalidParams.Len() > 0 { @@ -16751,245 +23619,399 @@ func (s *ListTemplateAliasesInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListTemplateAliasesInput) SetAwsAccountId(v string) *ListTemplateAliasesInput { - s.AwsAccountId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListTemplateAliasesInput) SetMaxResults(v int64) *ListTemplateAliasesInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListTemplateAliasesInput) SetNextToken(v string) *ListTemplateAliasesInput { - s.NextToken = &v +// SetDatabase sets the Database field's value. +func (s *RdsParameters) SetDatabase(v string) *RdsParameters { + s.Database = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *ListTemplateAliasesInput) SetTemplateId(v string) *ListTemplateAliasesInput { - s.TemplateId = &v +// SetInstanceId sets the InstanceId field's value. +func (s *RdsParameters) SetInstanceId(v string) *RdsParameters { + s.InstanceId = &v return s } -type ListTemplateAliasesOutput struct { +// Amazon Redshift parameters. The ClusterId field can be blank if Host and +// Port are both set. The Host and Port fields can be blank if the ClusterId +// field is set. +type RedshiftParameters struct { _ struct{} `type:"structure"` - // The token for the next set of results, or null if there are no more results. - NextToken *string `type:"string"` + // Cluster ID. This field can be blank if the Host and Port are provided. + ClusterId *string `min:"1" type:"string"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // Database. + // + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // Host. This field can be blank if ClusterId is provided. + Host *string `min:"1" type:"string"` - // A structure containing the list of the template's aliases. - TemplateAliasList []*TemplateAlias `type:"list"` + // Port. This field can be blank if the ClusterId is provided. + Port *int64 `type:"integer"` } // String returns the string representation -func (s ListTemplateAliasesOutput) String() string { +func (s RedshiftParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTemplateAliasesOutput) GoString() string { +func (s RedshiftParameters) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListTemplateAliasesOutput) SetNextToken(v string) *ListTemplateAliasesOutput { - s.NextToken = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *RedshiftParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RedshiftParameters"} + if s.ClusterId != nil && len(*s.ClusterId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterId", 1)) + } + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + } + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterId sets the ClusterId field's value. +func (s *RedshiftParameters) SetClusterId(v string) *RedshiftParameters { + s.ClusterId = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *ListTemplateAliasesOutput) SetRequestId(v string) *ListTemplateAliasesOutput { - s.RequestId = &v +// SetDatabase sets the Database field's value. +func (s *RedshiftParameters) SetDatabase(v string) *RedshiftParameters { + s.Database = &v return s } -// SetStatus sets the Status field's value. -func (s *ListTemplateAliasesOutput) SetStatus(v int64) *ListTemplateAliasesOutput { - s.Status = &v +// SetHost sets the Host field's value. +func (s *RedshiftParameters) SetHost(v string) *RedshiftParameters { + s.Host = &v return s } -// SetTemplateAliasList sets the TemplateAliasList field's value. -func (s *ListTemplateAliasesOutput) SetTemplateAliasList(v []*TemplateAlias) *ListTemplateAliasesOutput { - s.TemplateAliasList = v +// SetPort sets the Port field's value. +func (s *RedshiftParameters) SetPort(v int64) *RedshiftParameters { + s.Port = &v return s } -type ListTemplateVersionsInput struct { +type RegisterUserInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the templates that you're listing. + // The ID for the AWS account that the user is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The maximum number of results to be returned per request. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + // (Enterprise edition only) The name of the custom permissions profile that + // you want to assign to this user. Currently, custom permissions profile names + // are assigned to permissions profiles in the QuickSight console. You use this + // API to assign the named set of permissions to a QuickSight user. + // + // Customizing permissions in the QuickSight UI allows you to control a user's + // access to the following operations: + // + // * + // + // * + // + // * + // + // * + // + // QuickSight custom permissions are applied through IAM policies. Therefore, + // they override the permissions typically granted by assigning QuickSight users + // to one of the default security cohorts (admin, author, reader) in QuickSight. + // + // This feature is available only to QuickSight Enterprise edition subscriptions + // that use SAML 2.0-Based Federation for Single Sign-On (SSO). + CustomPermissionsName *string `min:"1" type:"string"` - // The token for the next set of results, or null if there are no more results. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + // The email address of the user that you want to register. + // + // Email is a required field + Email *string `type:"string" required:"true"` - // The ID for the template. + // The ARN of the IAM user or role that you are registering with Amazon QuickSight. + IamArn *string `type:"string"` + + // Amazon QuickSight supports several ways of managing the identity of users. + // This parameter accepts two values: // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // * IAM: A user whose identity maps to an existing IAM user or role. + // + // * QUICKSIGHT: A user whose identity is owned and managed internally by + // Amazon QuickSight. + // + // IdentityType is a required field + IdentityType *string `type:"string" required:"true" enum:"IdentityType"` + + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + + // You need to use this parameter only when you register one or more users using + // an assumed IAM role. You don't need to provide the session name for other + // scenarios, for example when you are registering an IAM user or an Amazon + // QuickSight user. You can register multiple users using the same IAM role + // if each user has a different session name. For more information on assuming + // IAM roles, see assume-role (https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/assume-role.html) + // in the AWS CLI Reference. + SessionName *string `min:"2" type:"string"` + + // The Amazon QuickSight user name that you want to create for the user you + // are registering. + UserName *string `min:"1" type:"string"` + + // The Amazon QuickSight role for the user. The user role can be one of the + // following: + // + // * READER: A user who has read-only access to dashboards. + // + // * AUTHOR: A user who can create data sources, datasets, analyses, and + // dashboards. + // + // * ADMIN: A user who is an author, who can also manage Amazon QuickSight + // settings. + // + // * RESTRICTED_READER: This role isn't currently available for use. + // + // * RESTRICTED_AUTHOR: This role isn't currently available for use. + // + // UserRole is a required field + UserRole *string `type:"string" required:"true" enum:"UserRole"` } // String returns the string representation -func (s ListTemplateVersionsInput) String() string { +func (s RegisterUserInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTemplateVersionsInput) GoString() string { +func (s RegisterUserInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListTemplateVersionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTemplateVersionsInput"} +func (s *RegisterUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegisterUserInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.CustomPermissionsName != nil && len(*s.CustomPermissionsName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomPermissionsName", 1)) } - if s.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) + if s.Email == nil { + invalidParams.Add(request.NewErrParamRequired("Email")) } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + if s.IdentityType == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityType")) + } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) } + if s.SessionName != nil && len(*s.SessionName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("SessionName", 2)) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } + if s.UserRole == nil { + invalidParams.Add(request.NewErrParamRequired("UserRole")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *RegisterUserInput) SetAwsAccountId(v string) *RegisterUserInput { + s.AwsAccountId = &v + return s +} + +// SetCustomPermissionsName sets the CustomPermissionsName field's value. +func (s *RegisterUserInput) SetCustomPermissionsName(v string) *RegisterUserInput { + s.CustomPermissionsName = &v + return s +} + +// SetEmail sets the Email field's value. +func (s *RegisterUserInput) SetEmail(v string) *RegisterUserInput { + s.Email = &v + return s +} + +// SetIamArn sets the IamArn field's value. +func (s *RegisterUserInput) SetIamArn(v string) *RegisterUserInput { + s.IamArn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetIdentityType sets the IdentityType field's value. +func (s *RegisterUserInput) SetIdentityType(v string) *RegisterUserInput { + s.IdentityType = &v + return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListTemplateVersionsInput) SetAwsAccountId(v string) *ListTemplateVersionsInput { - s.AwsAccountId = &v +// SetNamespace sets the Namespace field's value. +func (s *RegisterUserInput) SetNamespace(v string) *RegisterUserInput { + s.Namespace = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListTemplateVersionsInput) SetMaxResults(v int64) *ListTemplateVersionsInput { - s.MaxResults = &v +// SetSessionName sets the SessionName field's value. +func (s *RegisterUserInput) SetSessionName(v string) *RegisterUserInput { + s.SessionName = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListTemplateVersionsInput) SetNextToken(v string) *ListTemplateVersionsInput { - s.NextToken = &v +// SetUserName sets the UserName field's value. +func (s *RegisterUserInput) SetUserName(v string) *RegisterUserInput { + s.UserName = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *ListTemplateVersionsInput) SetTemplateId(v string) *ListTemplateVersionsInput { - s.TemplateId = &v +// SetUserRole sets the UserRole field's value. +func (s *RegisterUserInput) SetUserRole(v string) *RegisterUserInput { + s.UserRole = &v return s } -type ListTemplateVersionsOutput struct { +type RegisterUserOutput struct { _ struct{} `type:"structure"` - // The token for the next set of results, or null if there are no more results. - NextToken *string `type:"string"` - // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - // A structure containing a list of all the versions of the specified template. - TemplateVersionSummaryList []*TemplateVersionSummary `type:"list"` + // The user name. + User *User `type:"structure"` + + // The URL the user visits to complete registration and provide a password. + // This is returned only for users with an identity type of QUICKSIGHT. + UserInvitationUrl *string `type:"string"` } // String returns the string representation -func (s ListTemplateVersionsOutput) String() string { +func (s RegisterUserOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTemplateVersionsOutput) GoString() string { +func (s RegisterUserOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListTemplateVersionsOutput) SetNextToken(v string) *ListTemplateVersionsOutput { - s.NextToken = &v - return s -} - // SetRequestId sets the RequestId field's value. -func (s *ListTemplateVersionsOutput) SetRequestId(v string) *ListTemplateVersionsOutput { +func (s *RegisterUserOutput) SetRequestId(v string) *RegisterUserOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *ListTemplateVersionsOutput) SetStatus(v int64) *ListTemplateVersionsOutput { +func (s *RegisterUserOutput) SetStatus(v int64) *RegisterUserOutput { s.Status = &v return s } -// SetTemplateVersionSummaryList sets the TemplateVersionSummaryList field's value. -func (s *ListTemplateVersionsOutput) SetTemplateVersionSummaryList(v []*TemplateVersionSummary) *ListTemplateVersionsOutput { - s.TemplateVersionSummaryList = v +// SetUser sets the User field's value. +func (s *RegisterUserOutput) SetUser(v *User) *RegisterUserOutput { + s.User = v return s } -type ListTemplatesInput struct { +// SetUserInvitationUrl sets the UserInvitationUrl field's value. +func (s *RegisterUserOutput) SetUserInvitationUrl(v string) *RegisterUserOutput { + s.UserInvitationUrl = &v + return s +} + +// A physical table type for relational data sources. +type RelationalTable struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the templates that you're listing. + // The Amazon Resource Name (ARN) for the data source. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // DataSourceArn is a required field + DataSourceArn *string `type:"string" required:"true"` - // The maximum number of results to be returned per request. - MaxResults *int64 `location:"querystring" locationName:"max-result" min:"1" type:"integer"` + // The column schema of the table. + // + // InputColumns is a required field + InputColumns []*InputColumn `min:"1" type:"list" required:"true"` - // The token for the next set of results, or null if there are no more results. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + // The name of the relational table. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The schema name. This name applies to certain relational database engines. + Schema *string `type:"string"` } // String returns the string representation -func (s ListTemplatesInput) String() string { +func (s RelationalTable) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTemplatesInput) GoString() string { +func (s RelationalTable) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListTemplatesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTemplatesInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) +func (s *RelationalTable) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RelationalTable"} + if s.DataSourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceArn")) } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + if s.InputColumns == nil { + invalidParams.Add(request.NewErrParamRequired("InputColumns")) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.InputColumns != nil && len(s.InputColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputColumns", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.InputColumns != nil { + for i, v := range s.InputColumns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputColumns", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -16998,269 +24020,259 @@ func (s *ListTemplatesInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListTemplatesInput) SetAwsAccountId(v string) *ListTemplatesInput { - s.AwsAccountId = &v +// SetDataSourceArn sets the DataSourceArn field's value. +func (s *RelationalTable) SetDataSourceArn(v string) *RelationalTable { + s.DataSourceArn = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListTemplatesInput) SetMaxResults(v int64) *ListTemplatesInput { - s.MaxResults = &v +// SetInputColumns sets the InputColumns field's value. +func (s *RelationalTable) SetInputColumns(v []*InputColumn) *RelationalTable { + s.InputColumns = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput { - s.NextToken = &v +// SetName sets the Name field's value. +func (s *RelationalTable) SetName(v string) *RelationalTable { + s.Name = &v return s } -type ListTemplatesOutput struct { - _ struct{} `type:"structure"` - - // The token for the next set of results, or null if there are no more results. - NextToken *string `type:"string"` +// SetSchema sets the Schema field's value. +func (s *RelationalTable) SetSchema(v string) *RelationalTable { + s.Schema = &v + return s +} - // The AWS request ID for this operation. - RequestId *string `type:"string"` +// A transform operation that renames a column. +type RenameColumnOperation struct { + _ struct{} `type:"structure"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // The name of the column to be renamed. + // + // ColumnName is a required field + ColumnName *string `min:"1" type:"string" required:"true"` - // A structure containing information about the templates in the list. - TemplateSummaryList []*TemplateSummary `type:"list"` + // The new name for the column. + // + // NewColumnName is a required field + NewColumnName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListTemplatesOutput) String() string { +func (s RenameColumnOperation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTemplatesOutput) GoString() string { +func (s RenameColumnOperation) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListTemplatesOutput) SetNextToken(v string) *ListTemplatesOutput { - s.NextToken = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *RenameColumnOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RenameColumnOperation"} + if s.ColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnName")) + } + if s.ColumnName != nil && len(*s.ColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) + } + if s.NewColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("NewColumnName")) + } + if s.NewColumnName != nil && len(*s.NewColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NewColumnName", 1)) + } -// SetRequestId sets the RequestId field's value. -func (s *ListTemplatesOutput) SetRequestId(v string) *ListTemplatesOutput { - s.RequestId = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStatus sets the Status field's value. -func (s *ListTemplatesOutput) SetStatus(v int64) *ListTemplatesOutput { - s.Status = &v +// SetColumnName sets the ColumnName field's value. +func (s *RenameColumnOperation) SetColumnName(v string) *RenameColumnOperation { + s.ColumnName = &v return s } -// SetTemplateSummaryList sets the TemplateSummaryList field's value. -func (s *ListTemplatesOutput) SetTemplateSummaryList(v []*TemplateSummary) *ListTemplatesOutput { - s.TemplateSummaryList = v +// SetNewColumnName sets the NewColumnName field's value. +func (s *RenameColumnOperation) SetNewColumnName(v string) *RenameColumnOperation { + s.NewColumnName = &v return s } -type ListUserGroupsInput struct { - _ struct{} `type:"structure"` - - // The AWS account ID that the user is in. Currently, you use the ID for the - // AWS account that contains your Amazon QuickSight account. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - - // The maximum number of results to return from this request. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` +// The resource specified already exists. +type ResourceExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The namespace. Currently, you should set this to default. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` - // A pagination token that can be used in a subsequent request. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + // The AWS request ID for this request. + RequestId *string `type:"string"` - // The Amazon QuickSight user name that you want to list group memberships for. - // - // UserName is a required field - UserName *string `location:"uri" locationName:"UserName" min:"1" type:"string" required:"true"` + // The resource type for this request. + ResourceType *string `type:"string" enum:"ExceptionResourceType"` } // String returns the string representation -func (s ListUserGroupsInput) String() string { +func (s ResourceExistsException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListUserGroupsInput) GoString() string { +func (s ResourceExistsException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListUserGroupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListUserGroupsInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) - } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) - } - if s.UserName == nil { - invalidParams.Add(request.NewErrParamRequired("UserName")) - } - if s.UserName != nil && len(*s.UserName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams +func newErrorResourceExistsException(v protocol.ResponseMetadata) error { + return &ResourceExistsException{ + RespMetadata: v, } - return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListUserGroupsInput) SetAwsAccountId(v string) *ListUserGroupsInput { - s.AwsAccountId = &v - return s +// Code returns the exception type name. +func (s *ResourceExistsException) Code() string { + return "ResourceExistsException" } -// SetMaxResults sets the MaxResults field's value. -func (s *ListUserGroupsInput) SetMaxResults(v int64) *ListUserGroupsInput { - s.MaxResults = &v - return s +// Message returns the exception's message. +func (s *ResourceExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetNamespace sets the Namespace field's value. -func (s *ListUserGroupsInput) SetNamespace(v string) *ListUserGroupsInput { - s.Namespace = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceExistsException) OrigErr() error { + return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListUserGroupsInput) SetNextToken(v string) *ListUserGroupsInput { - s.NextToken = &v - return s +func (s *ResourceExistsException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetUserName sets the UserName field's value. -func (s *ListUserGroupsInput) SetUserName(v string) *ListUserGroupsInput { - s.UserName = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceExistsException) StatusCode() int { + return s.RespMetadata.StatusCode } -type ListUserGroupsOutput struct { - _ struct{} `type:"structure"` +// RequestID returns the service's response RequestID for request. +func (s *ResourceExistsException) RequestID() string { + return s.RespMetadata.RequestID +} - // The list of groups the user is a member of. - GroupList []*Group `type:"list"` +// One or more resources can't be found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // A pagination token that can be used in a subsequent request. - NextToken *string `type:"string"` + Message_ *string `locationName:"Message" type:"string"` - // The AWS request ID for this operation. + // The AWS request ID for this request. RequestId *string `type:"string"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // The resource type for this request. + ResourceType *string `type:"string" enum:"ExceptionResourceType"` } // String returns the string representation -func (s ListUserGroupsOutput) String() string { +func (s ResourceNotFoundException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListUserGroupsOutput) GoString() string { +func (s ResourceNotFoundException) GoString() string { return s.String() } -// SetGroupList sets the GroupList field's value. -func (s *ListUserGroupsOutput) SetGroupList(v []*Group) *ListUserGroupsOutput { - s.GroupList = v - return s +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } } -// SetNextToken sets the NextToken field's value. -func (s *ListUserGroupsOutput) SetNextToken(v string) *ListUserGroupsOutput { - s.NextToken = &v - return s +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" } -// SetRequestId sets the RequestId field's value. -func (s *ListUserGroupsOutput) SetRequestId(v string) *ListUserGroupsOutput { - s.RequestId = &v - return s +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetStatus sets the Status field's value. -func (s *ListUserGroupsOutput) SetStatus(v int64) *ListUserGroupsOutput { - s.Status = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil } -type ListUsersInput struct { - _ struct{} `type:"structure"` +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} - // The ID for the AWS account that the user is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The maximum number of results to return from this request. - MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} - // The namespace. Currently, you should set this to default. +// Permission for the resource. +type ResourcePermission struct { + _ struct{} `type:"structure"` + + // The action to grant or revoke permissions on, for example "quicksight:DescribeDashboard". // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // Actions is a required field + Actions []*string `min:"1" type:"list" required:"true"` - // A pagination token that can be used in a subsequent request. - NextToken *string `location:"querystring" locationName:"next-token" type:"string"` + // The Amazon Resource Name (ARN) of the principal. This can be one of the following: + // + // * The ARN of an Amazon QuickSight user, group, or namespace. (This is + // most common.) + // + // * The ARN of an AWS account root: This is an IAM ARN rather than a QuickSight + // ARN. Use this option only to share resources (templates) across AWS accounts. + // (This is less common.) + // + // Principal is a required field + Principal *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListUsersInput) String() string { +func (s ResourcePermission) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListUsersInput) GoString() string { +func (s ResourcePermission) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListUsersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) +func (s *ResourcePermission) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourcePermission"} + if s.Actions == nil { + invalidParams.Add(request.NewErrParamRequired("Actions")) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.Actions != nil && len(s.Actions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Actions", 1)) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.Principal == nil { + invalidParams.Add(request.NewErrParamRequired("Principal")) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.Principal != nil && len(*s.Principal) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Principal", 1)) } if invalidParams.Len() > 0 { @@ -17269,198 +24281,149 @@ func (s *ListUsersInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *ListUsersInput) SetAwsAccountId(v string) *ListUsersInput { - s.AwsAccountId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListUsersInput) SetMaxResults(v int64) *ListUsersInput { - s.MaxResults = &v - return s -} - -// SetNamespace sets the Namespace field's value. -func (s *ListUsersInput) SetNamespace(v string) *ListUsersInput { - s.Namespace = &v +// SetActions sets the Actions field's value. +func (s *ResourcePermission) SetActions(v []*string) *ResourcePermission { + s.Actions = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput { - s.NextToken = &v +// SetPrincipal sets the Principal field's value. +func (s *ResourcePermission) SetPrincipal(v string) *ResourcePermission { + s.Principal = &v return s } -type ListUsersOutput struct { - _ struct{} `type:"structure"` +// This resource is currently unavailable. +type ResourceUnavailableException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // A pagination token that can be used in a subsequent request. - NextToken *string `type:"string"` + Message_ *string `locationName:"Message" type:"string"` - // The AWS request ID for this operation. + // The AWS request ID for this request. RequestId *string `type:"string"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` - - // The list of users. - UserList []*User `type:"list"` + // The resource type for this request. + ResourceType *string `type:"string" enum:"ExceptionResourceType"` } // String returns the string representation -func (s ListUsersOutput) String() string { +func (s ResourceUnavailableException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListUsersOutput) GoString() string { +func (s ResourceUnavailableException) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListUsersOutput) SetNextToken(v string) *ListUsersOutput { - s.NextToken = &v - return s +func newErrorResourceUnavailableException(v protocol.ResponseMetadata) error { + return &ResourceUnavailableException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceUnavailableException) Code() string { + return "ResourceUnavailableException" +} + +// Message returns the exception's message. +func (s *ResourceUnavailableException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceUnavailableException) OrigErr() error { + return nil } -// SetRequestId sets the RequestId field's value. -func (s *ListUsersOutput) SetRequestId(v string) *ListUsersOutput { - s.RequestId = &v - return s +func (s *ResourceUnavailableException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetStatus sets the Status field's value. -func (s *ListUsersOutput) SetStatus(v int64) *ListUsersOutput { - s.Status = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceUnavailableException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetUserList sets the UserList field's value. -func (s *ListUsersOutput) SetUserList(v []*User) *ListUsersOutput { - s.UserList = v - return s +// RequestID returns the service's response RequestID for request. +func (s *ResourceUnavailableException) RequestID() string { + return s.RespMetadata.RequestID } -// A logical table is a unit that joins and that data transformations operate -// on. A logical table has a source, which can be either a physical table or -// result of a join. When a logical table points to a physical table, the logical -// table acts as a mutable copy of that physical table through transform operations. -type LogicalTable struct { +// Information about rows for a data set SPICE ingestion. +type RowInfo struct { _ struct{} `type:"structure"` - // A display name for the logical table. - // - // Alias is a required field - Alias *string `min:"1" type:"string" required:"true"` - - // Transform operations that act on this logical table. - DataTransforms []*TransformOperation `min:"1" type:"list"` + // The number of rows that were not ingested. + RowsDropped *int64 `type:"long"` - // Source of this logical table. - // - // Source is a required field - Source *LogicalTableSource `type:"structure" required:"true"` + // The number of rows that were ingested. + RowsIngested *int64 `type:"long"` } // String returns the string representation -func (s LogicalTable) String() string { +func (s RowInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LogicalTable) GoString() string { +func (s RowInfo) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *LogicalTable) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LogicalTable"} - if s.Alias == nil { - invalidParams.Add(request.NewErrParamRequired("Alias")) - } - if s.Alias != nil && len(*s.Alias) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) - } - if s.DataTransforms != nil && len(s.DataTransforms) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataTransforms", 1)) - } - if s.Source == nil { - invalidParams.Add(request.NewErrParamRequired("Source")) - } - if s.DataTransforms != nil { - for i, v := range s.DataTransforms { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataTransforms", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Source != nil { - if err := s.Source.Validate(); err != nil { - invalidParams.AddNested("Source", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAlias sets the Alias field's value. -func (s *LogicalTable) SetAlias(v string) *LogicalTable { - s.Alias = &v - return s -} - -// SetDataTransforms sets the DataTransforms field's value. -func (s *LogicalTable) SetDataTransforms(v []*TransformOperation) *LogicalTable { - s.DataTransforms = v +// SetRowsDropped sets the RowsDropped field's value. +func (s *RowInfo) SetRowsDropped(v int64) *RowInfo { + s.RowsDropped = &v return s } -// SetSource sets the Source field's value. -func (s *LogicalTable) SetSource(v *LogicalTableSource) *LogicalTable { - s.Source = v +// SetRowsIngested sets the RowsIngested field's value. +func (s *RowInfo) SetRowsIngested(v int64) *RowInfo { + s.RowsIngested = &v return s } -// Information about the source of a logical table. This is a variant type structure. -// For this structure to be valid, only one of the attributes can be non-null. -type LogicalTableSource struct { +// The row-level security configuration for the dataset. +type RowLevelPermissionDataSet struct { _ struct{} `type:"structure"` - // Specifies the result of a join of two logical tables. - JoinInstruction *JoinInstruction `type:"structure"` + // The Amazon Resource Name (ARN) of the permission dataset. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` - // Physical table ID. - PhysicalTableId *string `min:"1" type:"string"` + // The namespace associated with the row-level permissions dataset. + Namespace *string `type:"string"` + + // Permission policy. + // + // PermissionPolicy is a required field + PermissionPolicy *string `type:"string" required:"true" enum:"RowLevelPermissionPolicy"` } // String returns the string representation -func (s LogicalTableSource) String() string { +func (s RowLevelPermissionDataSet) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LogicalTableSource) GoString() string { +func (s RowLevelPermissionDataSet) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LogicalTableSource) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LogicalTableSource"} - if s.PhysicalTableId != nil && len(*s.PhysicalTableId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PhysicalTableId", 1)) +func (s *RowLevelPermissionDataSet) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RowLevelPermissionDataSet"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } - if s.JoinInstruction != nil { - if err := s.JoinInstruction.Validate(); err != nil { - invalidParams.AddNested("JoinInstruction", err.(request.ErrInvalidParams)) - } + if s.PermissionPolicy == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionPolicy")) } if invalidParams.Len() > 0 { @@ -17469,57 +24432,55 @@ func (s *LogicalTableSource) Validate() error { return nil } -// SetJoinInstruction sets the JoinInstruction field's value. -func (s *LogicalTableSource) SetJoinInstruction(v *JoinInstruction) *LogicalTableSource { - s.JoinInstruction = v +// SetArn sets the Arn field's value. +func (s *RowLevelPermissionDataSet) SetArn(v string) *RowLevelPermissionDataSet { + s.Arn = &v return s } -// SetPhysicalTableId sets the PhysicalTableId field's value. -func (s *LogicalTableSource) SetPhysicalTableId(v string) *LogicalTableSource { - s.PhysicalTableId = &v +// SetNamespace sets the Namespace field's value. +func (s *RowLevelPermissionDataSet) SetNamespace(v string) *RowLevelPermissionDataSet { + s.Namespace = &v return s } -// Amazon S3 manifest file location. -type ManifestFileLocation struct { - _ struct{} `type:"structure"` +// SetPermissionPolicy sets the PermissionPolicy field's value. +func (s *RowLevelPermissionDataSet) SetPermissionPolicy(v string) *RowLevelPermissionDataSet { + s.PermissionPolicy = &v + return s +} - // Amazon S3 bucket. - // - // Bucket is a required field - Bucket *string `min:"1" type:"string" required:"true"` +// S3 parameters. +type S3Parameters struct { + _ struct{} `type:"structure"` - // Amazon S3 key that identifies an object. + // Location of the Amazon S3 manifest file. This is NULL if the manifest file + // was uploaded in the console. // - // Key is a required field - Key *string `min:"1" type:"string" required:"true"` + // ManifestFileLocation is a required field + ManifestFileLocation *ManifestFileLocation `type:"structure" required:"true"` } // String returns the string representation -func (s ManifestFileLocation) String() string { +func (s S3Parameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ManifestFileLocation) GoString() string { +func (s S3Parameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ManifestFileLocation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ManifestFileLocation"} - if s.Bucket == nil { - invalidParams.Add(request.NewErrParamRequired("Bucket")) - } - if s.Bucket != nil && len(*s.Bucket) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Bucket", 1)) - } - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) +func (s *S3Parameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3Parameters"} + if s.ManifestFileLocation == nil { + invalidParams.Add(request.NewErrParamRequired("ManifestFileLocation")) } - if s.Key != nil && len(*s.Key) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + if s.ManifestFileLocation != nil { + if err := s.ManifestFileLocation.Validate(); err != nil { + invalidParams.AddNested("ManifestFileLocation", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -17528,68 +24489,66 @@ func (s *ManifestFileLocation) Validate() error { return nil } -// SetBucket sets the Bucket field's value. -func (s *ManifestFileLocation) SetBucket(v string) *ManifestFileLocation { - s.Bucket = &v - return s -} - -// SetKey sets the Key field's value. -func (s *ManifestFileLocation) SetKey(v string) *ManifestFileLocation { - s.Key = &v +// SetManifestFileLocation sets the ManifestFileLocation field's value. +func (s *S3Parameters) SetManifestFileLocation(v *ManifestFileLocation) *S3Parameters { + s.ManifestFileLocation = v return s } -// MariaDB parameters. -type MariaDbParameters struct { +// A physical table type for as S3 data source. +type S3Source struct { _ struct{} `type:"structure"` - // Database. + // The amazon Resource Name (ARN) for the data source. // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` + // DataSourceArn is a required field + DataSourceArn *string `type:"string" required:"true"` - // Host. + // A physical table type for as S3 data source. // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` + // InputColumns is a required field + InputColumns []*InputColumn `min:"1" type:"list" required:"true"` - // Port. - // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` + // Information about the format for the S3 source file or files. + UploadSettings *UploadSettings `type:"structure"` } // String returns the string representation -func (s MariaDbParameters) String() string { +func (s S3Source) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MariaDbParameters) GoString() string { +func (s S3Source) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *MariaDbParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MariaDbParameters"} - if s.Database == nil { - invalidParams.Add(request.NewErrParamRequired("Database")) - } - if s.Database != nil && len(*s.Database) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Database", 1)) +func (s *S3Source) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3Source"} + if s.DataSourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceArn")) } - if s.Host == nil { - invalidParams.Add(request.NewErrParamRequired("Host")) + if s.InputColumns == nil { + invalidParams.Add(request.NewErrParamRequired("InputColumns")) } - if s.Host != nil && len(*s.Host) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + if s.InputColumns != nil && len(s.InputColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputColumns", 1)) } - if s.Port == nil { - invalidParams.Add(request.NewErrParamRequired("Port")) + if s.InputColumns != nil { + for i, v := range s.InputColumns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputColumns", i), err.(request.ErrInvalidParams)) + } + } } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + if s.UploadSettings != nil { + if err := s.UploadSettings.Validate(); err != nil { + invalidParams.AddNested("UploadSettings", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -17598,74 +24557,82 @@ func (s *MariaDbParameters) Validate() error { return nil } -// SetDatabase sets the Database field's value. -func (s *MariaDbParameters) SetDatabase(v string) *MariaDbParameters { - s.Database = &v +// SetDataSourceArn sets the DataSourceArn field's value. +func (s *S3Source) SetDataSourceArn(v string) *S3Source { + s.DataSourceArn = &v return s } -// SetHost sets the Host field's value. -func (s *MariaDbParameters) SetHost(v string) *MariaDbParameters { - s.Host = &v +// SetInputColumns sets the InputColumns field's value. +func (s *S3Source) SetInputColumns(v []*InputColumn) *S3Source { + s.InputColumns = v return s } -// SetPort sets the Port field's value. -func (s *MariaDbParameters) SetPort(v int64) *MariaDbParameters { - s.Port = &v +// SetUploadSettings sets the UploadSettings field's value. +func (s *S3Source) SetUploadSettings(v *UploadSettings) *S3Source { + s.UploadSettings = v return s } -// MySQL parameters. -type MySqlParameters struct { +type SearchDashboardsInput struct { _ struct{} `type:"structure"` - // Database. + // The ID of the AWS account that contains the user whose dashboards you're + // searching for. // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Host. + // The filters to apply to the search. Currently, you can search only by user + // name, for example, "Filters": [ { "Name": "QUICKSIGHT_USER", "Operator": + // "StringEquals", "Value": "arn:aws:quicksight:us-east-1:1:user/default/UserName1" + // } ] // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` + // Filters is a required field + Filters []*DashboardSearchFilter `type:"list" required:"true"` - // Port. - // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` + // The maximum number of results to be returned per request. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` } // String returns the string representation -func (s MySqlParameters) String() string { +func (s SearchDashboardsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s MySqlParameters) GoString() string { +func (s SearchDashboardsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *MySqlParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MySqlParameters"} - if s.Database == nil { - invalidParams.Add(request.NewErrParamRequired("Database")) - } - if s.Database != nil && len(*s.Database) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Database", 1)) +func (s *SearchDashboardsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchDashboardsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.Host == nil { - invalidParams.Add(request.NewErrParamRequired("Host")) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Host != nil && len(*s.Host) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + if s.Filters == nil { + invalidParams.Add(request.NewErrParamRequired("Filters")) } - if s.Port == nil { - invalidParams.Add(request.NewErrParamRequired("Port")) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -17674,229 +24641,241 @@ func (s *MySqlParameters) Validate() error { return nil } -// SetDatabase sets the Database field's value. -func (s *MySqlParameters) SetDatabase(v string) *MySqlParameters { - s.Database = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *SearchDashboardsInput) SetAwsAccountId(v string) *SearchDashboardsInput { + s.AwsAccountId = &v return s } -// SetHost sets the Host field's value. -func (s *MySqlParameters) SetHost(v string) *MySqlParameters { - s.Host = &v +// SetFilters sets the Filters field's value. +func (s *SearchDashboardsInput) SetFilters(v []*DashboardSearchFilter) *SearchDashboardsInput { + s.Filters = v return s } -// SetPort sets the Port field's value. -func (s *MySqlParameters) SetPort(v int64) *MySqlParameters { - s.Port = &v +// SetMaxResults sets the MaxResults field's value. +func (s *SearchDashboardsInput) SetMaxResults(v int64) *SearchDashboardsInput { + s.MaxResults = &v return s } -// Output column. -type OutputColumn struct { +// SetNextToken sets the NextToken field's value. +func (s *SearchDashboardsInput) SetNextToken(v string) *SearchDashboardsInput { + s.NextToken = &v + return s +} + +type SearchDashboardsOutput struct { _ struct{} `type:"structure"` - // A display name for the dataset. - Name *string `min:"1" type:"string"` + // The list of dashboards owned by the user specified in Filters in your request. + DashboardSummaryList []*DashboardSummary `type:"list"` - // Type. - Type *string `type:"string" enum:"ColumnDataType"` + // The token for the next set of results, or null if there are no more results. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s OutputColumn) String() string { +func (s SearchDashboardsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OutputColumn) GoString() string { +func (s SearchDashboardsOutput) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *OutputColumn) SetName(v string) *OutputColumn { - s.Name = &v +// SetDashboardSummaryList sets the DashboardSummaryList field's value. +func (s *SearchDashboardsOutput) SetDashboardSummaryList(v []*DashboardSummary) *SearchDashboardsOutput { + s.DashboardSummaryList = v return s } -// SetType sets the Type field's value. -func (s *OutputColumn) SetType(v string) *OutputColumn { - s.Type = &v +// SetNextToken sets the NextToken field's value. +func (s *SearchDashboardsOutput) SetNextToken(v string) *SearchDashboardsOutput { + s.NextToken = &v return s } -// Parameters. -type Parameters struct { - _ struct{} `type:"structure"` - - // DateTime parameters. - DateTimeParameters []*DateTimeParameter `type:"list"` +// SetRequestId sets the RequestId field's value. +func (s *SearchDashboardsOutput) SetRequestId(v string) *SearchDashboardsOutput { + s.RequestId = &v + return s +} - // Decimal parameters. - DecimalParameters []*DecimalParameter `type:"list"` +// SetStatus sets the Status field's value. +func (s *SearchDashboardsOutput) SetStatus(v int64) *SearchDashboardsOutput { + s.Status = &v + return s +} - // Integer parameters. - IntegerParameters []*IntegerParameter `type:"list"` +// ServiceNow parameters. +type ServiceNowParameters struct { + _ struct{} `type:"structure"` - // String parameters. - StringParameters []*StringParameter `type:"list"` + // URL of the base site. + // + // SiteBaseUrl is a required field + SiteBaseUrl *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s Parameters) String() string { +func (s ServiceNowParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Parameters) GoString() string { +func (s ServiceNowParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Parameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Parameters"} - if s.DateTimeParameters != nil { - for i, v := range s.DateTimeParameters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DateTimeParameters", i), err.(request.ErrInvalidParams)) - } - } - } - if s.DecimalParameters != nil { - for i, v := range s.DecimalParameters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DecimalParameters", i), err.(request.ErrInvalidParams)) - } - } +func (s *ServiceNowParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ServiceNowParameters"} + if s.SiteBaseUrl == nil { + invalidParams.Add(request.NewErrParamRequired("SiteBaseUrl")) } - if s.IntegerParameters != nil { - for i, v := range s.IntegerParameters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "IntegerParameters", i), err.(request.ErrInvalidParams)) - } - } + if s.SiteBaseUrl != nil && len(*s.SiteBaseUrl) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SiteBaseUrl", 1)) } - if s.StringParameters != nil { - for i, v := range s.StringParameters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StringParameters", i), err.(request.ErrInvalidParams)) - } - } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil +} + +// SetSiteBaseUrl sets the SiteBaseUrl field's value. +func (s *ServiceNowParameters) SetSiteBaseUrl(v string) *ServiceNowParameters { + s.SiteBaseUrl = &v + return s +} + +// The number of minutes specified for the lifetime of a session isn't valid. +// The session lifetime must be 15-600 minutes. +type SessionLifetimeInMinutesInvalidException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` - if invalidParams.Len() > 0 { - return invalidParams + // The AWS request ID for this request. + RequestId *string `type:"string"` +} + +// String returns the string representation +func (s SessionLifetimeInMinutesInvalidException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SessionLifetimeInMinutesInvalidException) GoString() string { + return s.String() +} + +func newErrorSessionLifetimeInMinutesInvalidException(v protocol.ResponseMetadata) error { + return &SessionLifetimeInMinutesInvalidException{ + RespMetadata: v, } - return nil } -// SetDateTimeParameters sets the DateTimeParameters field's value. -func (s *Parameters) SetDateTimeParameters(v []*DateTimeParameter) *Parameters { - s.DateTimeParameters = v - return s +// Code returns the exception type name. +func (s *SessionLifetimeInMinutesInvalidException) Code() string { + return "SessionLifetimeInMinutesInvalidException" } -// SetDecimalParameters sets the DecimalParameters field's value. -func (s *Parameters) SetDecimalParameters(v []*DecimalParameter) *Parameters { - s.DecimalParameters = v - return s +// Message returns the exception's message. +func (s *SessionLifetimeInMinutesInvalidException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetIntegerParameters sets the IntegerParameters field's value. -func (s *Parameters) SetIntegerParameters(v []*IntegerParameter) *Parameters { - s.IntegerParameters = v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SessionLifetimeInMinutesInvalidException) OrigErr() error { + return nil } -// SetStringParameters sets the StringParameters field's value. -func (s *Parameters) SetStringParameters(v []*StringParameter) *Parameters { - s.StringParameters = v - return s +func (s *SessionLifetimeInMinutesInvalidException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// A view of a data source that contains information about the shape of the -// data in the underlying source. This is a variant type structure. For this -// structure to be valid, only one of the attributes can be non-null. -type PhysicalTable struct { - _ struct{} `type:"structure"` +// Status code returns the HTTP status code for the request's response error. +func (s *SessionLifetimeInMinutesInvalidException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // A physical table type built from the results of the custom SQL query. - CustomSql *CustomSql `type:"structure"` +// RequestID returns the service's response RequestID for request. +func (s *SessionLifetimeInMinutesInvalidException) RequestID() string { + return s.RespMetadata.RequestID +} - // A physical table type for relational data sources. - RelationalTable *RelationalTable `type:"structure"` +// Sheet controls option. +type SheetControlsOption struct { + _ struct{} `type:"structure"` - // A physical table type for as S3 data source. - S3Source *S3Source `type:"structure"` + // Visibility state. + VisibilityState *string `type:"string" enum:"DashboardUIState"` } // String returns the string representation -func (s PhysicalTable) String() string { +func (s SheetControlsOption) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PhysicalTable) GoString() string { +func (s SheetControlsOption) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *PhysicalTable) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PhysicalTable"} - if s.CustomSql != nil { - if err := s.CustomSql.Validate(); err != nil { - invalidParams.AddNested("CustomSql", err.(request.ErrInvalidParams)) - } - } - if s.RelationalTable != nil { - if err := s.RelationalTable.Validate(); err != nil { - invalidParams.AddNested("RelationalTable", err.(request.ErrInvalidParams)) - } - } - if s.S3Source != nil { - if err := s.S3Source.Validate(); err != nil { - invalidParams.AddNested("S3Source", err.(request.ErrInvalidParams)) - } - } +// SetVisibilityState sets the VisibilityState field's value. +func (s *SheetControlsOption) SetVisibilityState(v string) *SheetControlsOption { + s.VisibilityState = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// The theme display options for sheets. +type SheetStyle struct { + _ struct{} `type:"structure"` + + // The display options for tiles. + Tile *TileStyle `type:"structure"` + + // The layout options for tiles. + TileLayout *TileLayoutStyle `type:"structure"` } -// SetCustomSql sets the CustomSql field's value. -func (s *PhysicalTable) SetCustomSql(v *CustomSql) *PhysicalTable { - s.CustomSql = v - return s +// String returns the string representation +func (s SheetStyle) String() string { + return awsutil.Prettify(s) } -// SetRelationalTable sets the RelationalTable field's value. -func (s *PhysicalTable) SetRelationalTable(v *RelationalTable) *PhysicalTable { - s.RelationalTable = v +// GoString returns the string representation +func (s SheetStyle) GoString() string { + return s.String() +} + +// SetTile sets the Tile field's value. +func (s *SheetStyle) SetTile(v *TileStyle) *SheetStyle { + s.Tile = v return s } -// SetS3Source sets the S3Source field's value. -func (s *PhysicalTable) SetS3Source(v *S3Source) *PhysicalTable { - s.S3Source = v +// SetTileLayout sets the TileLayout field's value. +func (s *SheetStyle) SetTileLayout(v *TileLayoutStyle) *SheetStyle { + s.TileLayout = v return s } -// PostgreSQL parameters. -type PostgreSqlParameters struct { +// Snowflake parameters. +type SnowflakeParameters struct { _ struct{} `type:"structure"` // Database. @@ -17909,25 +24888,25 @@ type PostgreSqlParameters struct { // Host is a required field Host *string `min:"1" type:"string" required:"true"` - // Port. + // Warehouse. // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` + // Warehouse is a required field + Warehouse *string `type:"string" required:"true"` } // String returns the string representation -func (s PostgreSqlParameters) String() string { +func (s SnowflakeParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PostgreSqlParameters) GoString() string { +func (s SnowflakeParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *PostgreSqlParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PostgreSqlParameters"} +func (s *SnowflakeParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SnowflakeParameters"} if s.Database == nil { invalidParams.Add(request.NewErrParamRequired("Database")) } @@ -17940,11 +24919,8 @@ func (s *PostgreSqlParameters) Validate() error { if s.Host != nil && len(*s.Host) < 1 { invalidParams.Add(request.NewErrParamMinLen("Host", 1)) } - if s.Port == nil { - invalidParams.Add(request.NewErrParamRequired("Port")) - } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + if s.Warehouse == nil { + invalidParams.Add(request.NewErrParamRequired("Warehouse")) } if invalidParams.Len() > 0 { @@ -17954,90 +24930,90 @@ func (s *PostgreSqlParameters) Validate() error { } // SetDatabase sets the Database field's value. -func (s *PostgreSqlParameters) SetDatabase(v string) *PostgreSqlParameters { +func (s *SnowflakeParameters) SetDatabase(v string) *SnowflakeParameters { s.Database = &v return s } // SetHost sets the Host field's value. -func (s *PostgreSqlParameters) SetHost(v string) *PostgreSqlParameters { +func (s *SnowflakeParameters) SetHost(v string) *SnowflakeParameters { s.Host = &v return s } -// SetPort sets the Port field's value. -func (s *PostgreSqlParameters) SetPort(v int64) *PostgreSqlParameters { - s.Port = &v +// SetWarehouse sets the Warehouse field's value. +func (s *SnowflakeParameters) SetWarehouse(v string) *SnowflakeParameters { + s.Warehouse = &v return s } -// One or more preconditions aren't met. -type PreconditionNotMetException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// Spark parameters. +type SparkParameters struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // Host. + // + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` - // The AWS request ID for this request. - RequestId *string `type:"string"` + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` } // String returns the string representation -func (s PreconditionNotMetException) String() string { +func (s SparkParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PreconditionNotMetException) GoString() string { +func (s SparkParameters) GoString() string { return s.String() } -func newErrorPreconditionNotMetException(v protocol.ResponseMetadata) error { - return &PreconditionNotMetException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *SparkParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SparkParameters"} + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) } -} - -// Code returns the exception type name. -func (s *PreconditionNotMetException) Code() string { - return "PreconditionNotMetException" -} - -// Message returns the exception's message. -func (s *PreconditionNotMetException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *PreconditionNotMetException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *PreconditionNotMetException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *PreconditionNotMetException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetHost sets the Host field's value. +func (s *SparkParameters) SetHost(v string) *SparkParameters { + s.Host = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *PreconditionNotMetException) RequestID() string { - return s.RespMetadata.RequestID +// SetPort sets the Port field's value. +func (s *SparkParameters) SetPort(v int64) *SparkParameters { + s.Port = &v + return s } -// Presto parameters. -type PrestoParameters struct { +// SQL Server parameters. +type SqlServerParameters struct { _ struct{} `type:"structure"` - // Catalog. + // Database. // - // Catalog is a required field - Catalog *string `type:"string" required:"true"` + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` // Host. // @@ -18051,20 +25027,23 @@ type PrestoParameters struct { } // String returns the string representation -func (s PrestoParameters) String() string { +func (s SqlServerParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PrestoParameters) GoString() string { +func (s SqlServerParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *PrestoParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PrestoParameters"} - if s.Catalog == nil { - invalidParams.Add(request.NewErrParamRequired("Catalog")) +func (s *SqlServerParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SqlServerParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) + } + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) } if s.Host == nil { invalidParams.Add(request.NewErrParamRequired("Host")) @@ -18085,144 +25064,82 @@ func (s *PrestoParameters) Validate() error { return nil } -// SetCatalog sets the Catalog field's value. -func (s *PrestoParameters) SetCatalog(v string) *PrestoParameters { - s.Catalog = &v +// SetDatabase sets the Database field's value. +func (s *SqlServerParameters) SetDatabase(v string) *SqlServerParameters { + s.Database = &v return s } // SetHost sets the Host field's value. -func (s *PrestoParameters) SetHost(v string) *PrestoParameters { +func (s *SqlServerParameters) SetHost(v string) *SqlServerParameters { s.Host = &v return s } // SetPort sets the Port field's value. -func (s *PrestoParameters) SetPort(v int64) *PrestoParameters { +func (s *SqlServerParameters) SetPort(v int64) *SqlServerParameters { s.Port = &v return s } -// A transform operation that projects columns. Operations that come after a -// projection can only refer to projected columns. -type ProjectOperation struct { - _ struct{} `type:"structure"` - - // Projected columns. - // - // ProjectedColumns is a required field - ProjectedColumns []*string `min:"1" type:"list" required:"true"` -} - -// String returns the string representation -func (s ProjectOperation) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ProjectOperation) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *ProjectOperation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ProjectOperation"} - if s.ProjectedColumns == nil { - invalidParams.Add(request.NewErrParamRequired("ProjectedColumns")) - } - if s.ProjectedColumns != nil && len(s.ProjectedColumns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ProjectedColumns", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetProjectedColumns sets the ProjectedColumns field's value. -func (s *ProjectOperation) SetProjectedColumns(v []*string) *ProjectOperation { - s.ProjectedColumns = v - return s -} - -// Information about a queued dataset SPICE ingestion. -type QueueInfo struct { +// Secure Socket Layer (SSL) properties that apply when QuickSight connects +// to your underlying data source. +type SslProperties struct { _ struct{} `type:"structure"` - // The ID of the ongoing ingestion. The queued ingestion is waiting for the - // ongoing ingestion to complete. - // - // QueuedIngestion is a required field - QueuedIngestion *string `type:"string" required:"true"` - - // The ID of the queued ingestion. - // - // WaitingOnIngestion is a required field - WaitingOnIngestion *string `type:"string" required:"true"` + // A Boolean option to control whether SSL should be disabled. + DisableSsl *bool `type:"boolean"` } // String returns the string representation -func (s QueueInfo) String() string { +func (s SslProperties) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s QueueInfo) GoString() string { +func (s SslProperties) GoString() string { return s.String() } -// SetQueuedIngestion sets the QueuedIngestion field's value. -func (s *QueueInfo) SetQueuedIngestion(v string) *QueueInfo { - s.QueuedIngestion = &v - return s -} - -// SetWaitingOnIngestion sets the WaitingOnIngestion field's value. -func (s *QueueInfo) SetWaitingOnIngestion(v string) *QueueInfo { - s.WaitingOnIngestion = &v +// SetDisableSsl sets the DisableSsl field's value. +func (s *SslProperties) SetDisableSsl(v bool) *SslProperties { + s.DisableSsl = &v return s } -// Amazon RDS parameters. -type RdsParameters struct { +// String parameter. +type StringParameter struct { _ struct{} `type:"structure"` - // Database. + // A display name for the dataset. // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` + // Name is a required field + Name *string `type:"string" required:"true"` - // Instance ID. + // Values. // - // InstanceId is a required field - InstanceId *string `min:"1" type:"string" required:"true"` + // Values is a required field + Values []*string `type:"list" required:"true"` } // String returns the string representation -func (s RdsParameters) String() string { +func (s StringParameter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RdsParameters) GoString() string { +func (s StringParameter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RdsParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RdsParameters"} - if s.Database == nil { - invalidParams.Add(request.NewErrParamRequired("Database")) - } - if s.Database != nil && len(*s.Database) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Database", 1)) - } - if s.InstanceId == nil { - invalidParams.Add(request.NewErrParamRequired("InstanceId")) +func (s *StringParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StringParameter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.InstanceId != nil && len(*s.InstanceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) } if invalidParams.Len() > 0 { @@ -18231,63 +25148,58 @@ func (s *RdsParameters) Validate() error { return nil } -// SetDatabase sets the Database field's value. -func (s *RdsParameters) SetDatabase(v string) *RdsParameters { - s.Database = &v +// SetName sets the Name field's value. +func (s *StringParameter) SetName(v string) *StringParameter { + s.Name = &v return s } -// SetInstanceId sets the InstanceId field's value. -func (s *RdsParameters) SetInstanceId(v string) *RdsParameters { - s.InstanceId = &v +// SetValues sets the Values field's value. +func (s *StringParameter) SetValues(v []*string) *StringParameter { + s.Values = v return s } -// Amazon Redshift parameters. The ClusterId field can be blank if Host and -// Port are both set. The Host and Port fields can be blank if the ClusterId -// field is set. -type RedshiftParameters struct { +// The key or keys of the key-value pairs for the resource tag or tags assigned +// to the resource. +type Tag struct { _ struct{} `type:"structure"` - // Cluster ID. This field can be blank if the Host and Port are provided. - ClusterId *string `min:"1" type:"string"` - - // Database. + // Tag key. // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` - - // Host. This field can be blank if ClusterId is provided. - Host *string `min:"1" type:"string"` + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` - // Port. This field can be blank if the ClusterId is provided. - Port *int64 `type:"integer"` + // Tag value. + // + // Value is a required field + Value *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s RedshiftParameters) String() string { +func (s Tag) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RedshiftParameters) GoString() string { +func (s Tag) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RedshiftParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RedshiftParameters"} - if s.ClusterId != nil && len(*s.ClusterId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClusterId", 1)) +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) } - if s.Database == nil { - invalidParams.Add(request.NewErrParamRequired("Database")) + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } - if s.Database != nil && len(*s.Database) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) } - if s.Host != nil && len(*s.Host) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) } if invalidParams.Len() > 0 { @@ -18296,134 +25208,59 @@ func (s *RedshiftParameters) Validate() error { return nil } -// SetClusterId sets the ClusterId field's value. -func (s *RedshiftParameters) SetClusterId(v string) *RedshiftParameters { - s.ClusterId = &v - return s -} - -// SetDatabase sets the Database field's value. -func (s *RedshiftParameters) SetDatabase(v string) *RedshiftParameters { - s.Database = &v - return s -} - -// SetHost sets the Host field's value. -func (s *RedshiftParameters) SetHost(v string) *RedshiftParameters { - s.Host = &v +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v return s } -// SetPort sets the Port field's value. -func (s *RedshiftParameters) SetPort(v int64) *RedshiftParameters { - s.Port = &v +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v return s } -type RegisterUserInput struct { - _ struct{} `type:"structure"` - - // The ID for the AWS account that the user is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. - // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - - // The email address of the user that you want to register. - // - // Email is a required field - Email *string `type:"string" required:"true"` - - // The ARN of the IAM user or role that you are registering with Amazon QuickSight. - IamArn *string `type:"string"` - - // Amazon QuickSight supports several ways of managing the identity of users. - // This parameter accepts two values: - // - // * IAM: A user whose identity maps to an existing IAM user or role. - // - // * QUICKSIGHT: A user whose identity is owned and managed internally by - // Amazon QuickSight. - // - // IdentityType is a required field - IdentityType *string `type:"string" required:"true" enum:"IdentityType"` - - // The namespace. Currently, you should set this to default. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` - - // You need to use this parameter only when you register one or more users using - // an assumed IAM role. You don't need to provide the session name for other - // scenarios, for example when you are registering an IAM user or an Amazon - // QuickSight user. You can register multiple users using the same IAM role - // if each user has a different session name. For more information on assuming - // IAM roles, see assume-role (https://docs.aws.example.com/cli/latest/reference/sts/assume-role.html) - // in the AWS CLI Reference. - SessionName *string `min:"2" type:"string"` - - // The Amazon QuickSight user name that you want to create for the user you - // are registering. - UserName *string `min:"1" type:"string"` +// A transform operation that tags a column with additional information. +type TagColumnOperation struct { + _ struct{} `type:"structure"` - // The Amazon QuickSight role for the user. The user role can be one of the - // following: - // - // * READER: A user who has read-only access to dashboards. - // - // * AUTHOR: A user who can create data sources, datasets, analyses, and - // dashboards. - // - // * ADMIN: A user who is an author, who can also manage Amazon QuickSight - // settings. + // The column that this operation acts on. // - // * RESTRICTED_READER: This role isn't currently available for use. + // ColumnName is a required field + ColumnName *string `min:"1" type:"string" required:"true"` + + // The dataset column tag, currently only used for geospatial type tagging. . // - // * RESTRICTED_AUTHOR: This role isn't currently available for use. + // This is not tags for the AWS tagging feature. . // - // UserRole is a required field - UserRole *string `type:"string" required:"true" enum:"UserRole"` + // Tags is a required field + Tags []*ColumnTag `min:"1" type:"list" required:"true"` } // String returns the string representation -func (s RegisterUserInput) String() string { +func (s TagColumnOperation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RegisterUserInput) GoString() string { +func (s TagColumnOperation) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RegisterUserInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RegisterUserInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) - } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) - } - if s.Email == nil { - invalidParams.Add(request.NewErrParamRequired("Email")) - } - if s.IdentityType == nil { - invalidParams.Add(request.NewErrParamRequired("IdentityType")) - } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) - } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) +func (s *TagColumnOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagColumnOperation"} + if s.ColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnName")) } - if s.SessionName != nil && len(*s.SessionName) < 2 { - invalidParams.Add(request.NewErrParamMinLen("SessionName", 2)) + if s.ColumnName != nil && len(*s.ColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) } - if s.UserName != nil && len(*s.UserName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) } - if s.UserRole == nil { - invalidParams.Add(request.NewErrParamRequired("UserRole")) + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } if invalidParams.Len() > 0 { @@ -18432,55 +25269,88 @@ func (s *RegisterUserInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *RegisterUserInput) SetAwsAccountId(v string) *RegisterUserInput { - s.AwsAccountId = &v +// SetColumnName sets the ColumnName field's value. +func (s *TagColumnOperation) SetColumnName(v string) *TagColumnOperation { + s.ColumnName = &v return s } -// SetEmail sets the Email field's value. -func (s *RegisterUserInput) SetEmail(v string) *RegisterUserInput { - s.Email = &v +// SetTags sets the Tags field's value. +func (s *TagColumnOperation) SetTags(v []*ColumnTag) *TagColumnOperation { + s.Tags = v return s } -// SetIamArn sets the IamArn field's value. -func (s *RegisterUserInput) SetIamArn(v string) *RegisterUserInput { - s.IamArn = &v - return s +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you want to tag. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"` + + // Contains a map of the key-value pairs for the resource tag or tags assigned + // to the resource. + // + // Tags is a required field + Tags []*Tag `min:"1" type:"list" required:"true"` } -// SetIdentityType sets the IdentityType field's value. -func (s *RegisterUserInput) SetIdentityType(v string) *RegisterUserInput { - s.IdentityType = &v - return s +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) } -// SetNamespace sets the Namespace field's value. -func (s *RegisterUserInput) SetNamespace(v string) *RegisterUserInput { - s.Namespace = &v - return s +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() } -// SetSessionName sets the SessionName field's value. -func (s *RegisterUserInput) SetSessionName(v string) *RegisterUserInput { - s.SessionName = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetUserName sets the UserName field's value. -func (s *RegisterUserInput) SetUserName(v string) *RegisterUserInput { - s.UserName = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v return s } -// SetUserRole sets the UserRole field's value. -func (s *RegisterUserInput) SetUserRole(v string) *RegisterUserInput { - s.UserRole = &v +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v return s } -type RegisterUserOutput struct { +type TagResourceOutput struct { _ struct{} `type:"structure"` // The AWS request ID for this operation. @@ -18488,366 +25358,282 @@ type RegisterUserOutput struct { // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - - // The user name. - User *User `type:"structure"` - - // The URL the user visits to complete registration and provide a password. - // This is returned only for users with an identity type of QUICKSIGHT. - UserInvitationUrl *string `type:"string"` } // String returns the string representation -func (s RegisterUserOutput) String() string { +func (s TagResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RegisterUserOutput) GoString() string { +func (s TagResourceOutput) GoString() string { return s.String() } // SetRequestId sets the RequestId field's value. -func (s *RegisterUserOutput) SetRequestId(v string) *RegisterUserOutput { +func (s *TagResourceOutput) SetRequestId(v string) *TagResourceOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *RegisterUserOutput) SetStatus(v int64) *RegisterUserOutput { +func (s *TagResourceOutput) SetStatus(v int64) *TagResourceOutput { s.Status = &v return s } -// SetUser sets the User field's value. -func (s *RegisterUserOutput) SetUser(v *User) *RegisterUserOutput { - s.User = v - return s -} - -// SetUserInvitationUrl sets the UserInvitationUrl field's value. -func (s *RegisterUserOutput) SetUserInvitationUrl(v string) *RegisterUserOutput { - s.UserInvitationUrl = &v - return s -} - -// A physical table type for relational data sources. -type RelationalTable struct { +// A template object. A template is an entity in QuickSight that encapsulates +// the metadata required to create an analysis and that you can use to create +// a dashboard. A template adds a layer of abstraction by using placeholders +// to replace the dataset associated with the analysis. You can use templates +// to create dashboards by replacing dataset placeholders with datasets that +// follow the same schema that was used to create the source analysis and template. +// +// You can share templates across AWS accounts by allowing users in other AWS +// accounts to create a template or a dashboard from an existing template. +type Template struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the data source. - // - // DataSourceArn is a required field - DataSourceArn *string `type:"string" required:"true"` - - // The column schema of the table. - // - // InputColumns is a required field - InputColumns []*InputColumn `min:"1" type:"list" required:"true"` + // The Amazon Resource Name (ARN) of the template. + Arn *string `type:"string"` - // The name of the relational table. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // Time when this was created. + CreatedTime *time.Time `type:"timestamp"` - // The schema name. This name applies to certain relational database engines. - Schema *string `type:"string"` -} + // Time when this was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` -// String returns the string representation -func (s RelationalTable) String() string { - return awsutil.Prettify(s) -} + // The display name of the template. + Name *string `min:"1" type:"string"` -// GoString returns the string representation -func (s RelationalTable) GoString() string { - return s.String() -} + // The ID for the template. This is unique per AWS Region for each AWS account. + TemplateId *string `min:"1" type:"string"` -// Validate inspects the fields of the type to determine if they are valid. -func (s *RelationalTable) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RelationalTable"} - if s.DataSourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("DataSourceArn")) - } - if s.InputColumns == nil { - invalidParams.Add(request.NewErrParamRequired("InputColumns")) - } - if s.InputColumns != nil && len(s.InputColumns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InputColumns", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.InputColumns != nil { - for i, v := range s.InputColumns { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputColumns", i), err.(request.ErrInvalidParams)) - } - } - } + // A structure describing the versions of the template. + Version *TemplateVersion `type:"structure"` +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// String returns the string representation +func (s Template) String() string { + return awsutil.Prettify(s) } -// SetDataSourceArn sets the DataSourceArn field's value. -func (s *RelationalTable) SetDataSourceArn(v string) *RelationalTable { - s.DataSourceArn = &v +// GoString returns the string representation +func (s Template) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Template) SetArn(v string) *Template { + s.Arn = &v return s } -// SetInputColumns sets the InputColumns field's value. -func (s *RelationalTable) SetInputColumns(v []*InputColumn) *RelationalTable { - s.InputColumns = v +// SetCreatedTime sets the CreatedTime field's value. +func (s *Template) SetCreatedTime(v time.Time) *Template { + s.CreatedTime = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *Template) SetLastUpdatedTime(v time.Time) *Template { + s.LastUpdatedTime = &v return s } // SetName sets the Name field's value. -func (s *RelationalTable) SetName(v string) *RelationalTable { +func (s *Template) SetName(v string) *Template { s.Name = &v return s } -// SetSchema sets the Schema field's value. -func (s *RelationalTable) SetSchema(v string) *RelationalTable { - s.Schema = &v +// SetTemplateId sets the TemplateId field's value. +func (s *Template) SetTemplateId(v string) *Template { + s.TemplateId = &v return s } -// A transform operation that renames a column. -type RenameColumnOperation struct { +// SetVersion sets the Version field's value. +func (s *Template) SetVersion(v *TemplateVersion) *Template { + s.Version = v + return s +} + +// The template alias. +type TemplateAlias struct { _ struct{} `type:"structure"` - // The name of the column to be renamed. - // - // ColumnName is a required field - ColumnName *string `min:"1" type:"string" required:"true"` + // The display name of the template alias. + AliasName *string `min:"1" type:"string"` - // The new name for the column. - // - // NewColumnName is a required field - NewColumnName *string `min:"1" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the template alias. + Arn *string `type:"string"` + + // The version number of the template alias. + TemplateVersionNumber *int64 `min:"1" type:"long"` } // String returns the string representation -func (s RenameColumnOperation) String() string { +func (s TemplateAlias) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RenameColumnOperation) GoString() string { +func (s TemplateAlias) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *RenameColumnOperation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RenameColumnOperation"} - if s.ColumnName == nil { - invalidParams.Add(request.NewErrParamRequired("ColumnName")) - } - if s.ColumnName != nil && len(*s.ColumnName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) - } - if s.NewColumnName == nil { - invalidParams.Add(request.NewErrParamRequired("NewColumnName")) - } - if s.NewColumnName != nil && len(*s.NewColumnName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NewColumnName", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAliasName sets the AliasName field's value. +func (s *TemplateAlias) SetAliasName(v string) *TemplateAlias { + s.AliasName = &v + return s } -// SetColumnName sets the ColumnName field's value. -func (s *RenameColumnOperation) SetColumnName(v string) *RenameColumnOperation { - s.ColumnName = &v +// SetArn sets the Arn field's value. +func (s *TemplateAlias) SetArn(v string) *TemplateAlias { + s.Arn = &v return s } -// SetNewColumnName sets the NewColumnName field's value. -func (s *RenameColumnOperation) SetNewColumnName(v string) *RenameColumnOperation { - s.NewColumnName = &v +// SetTemplateVersionNumber sets the TemplateVersionNumber field's value. +func (s *TemplateAlias) SetTemplateVersionNumber(v int64) *TemplateAlias { + s.TemplateVersionNumber = &v return s } -// The resource specified already exists. -type ResourceExistsException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"Message" type:"string"` +// List of errors that occurred when the template version creation failed. +type TemplateError struct { + _ struct{} `type:"structure"` - // The AWS request ID for this request. - RequestId *string `type:"string"` + // Description of the error type. + Message *string `type:"string"` - // The AWS request ID for this request. - ResourceType *string `type:"string" enum:"ExceptionResourceType"` + // Type of error. + Type *string `type:"string" enum:"TemplateErrorType"` } // String returns the string representation -func (s ResourceExistsException) String() string { +func (s TemplateError) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourceExistsException) GoString() string { +func (s TemplateError) GoString() string { return s.String() } -func newErrorResourceExistsException(v protocol.ResponseMetadata) error { - return &ResourceExistsException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *ResourceExistsException) Code() string { - return "ResourceExistsException" -} - -// Message returns the exception's message. -func (s *ResourceExistsException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceExistsException) OrigErr() error { - return nil -} - -func (s *ResourceExistsException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceExistsException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetMessage sets the Message field's value. +func (s *TemplateError) SetMessage(v string) *TemplateError { + s.Message = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceExistsException) RequestID() string { - return s.RespMetadata.RequestID +// SetType sets the Type field's value. +func (s *TemplateError) SetType(v string) *TemplateError { + s.Type = &v + return s } -// One or more resources can't be found. -type ResourceNotFoundException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"Message" type:"string"` +// The source analysis of the template. +type TemplateSourceAnalysis struct { + _ struct{} `type:"structure"` - // The AWS request ID for this request. - RequestId *string `type:"string"` + // The Amazon Resource Name (ARN) of the resource. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` - // The AWS request ID for this request. - ResourceType *string `type:"string" enum:"ExceptionResourceType"` + // A structure containing information about the dataset references used as placeholders + // in the template. + // + // DataSetReferences is a required field + DataSetReferences []*DataSetReference `min:"1" type:"list" required:"true"` } // String returns the string representation -func (s ResourceNotFoundException) String() string { +func (s TemplateSourceAnalysis) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourceNotFoundException) GoString() string { +func (s TemplateSourceAnalysis) GoString() string { return s.String() } -func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { - return &ResourceNotFoundException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *TemplateSourceAnalysis) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TemplateSourceAnalysis"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } -} - -// Code returns the exception type name. -func (s *ResourceNotFoundException) Code() string { - return "ResourceNotFoundException" -} - -// Message returns the exception's message. -func (s *ResourceNotFoundException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.DataSetReferences == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetReferences")) + } + if s.DataSetReferences != nil && len(s.DataSetReferences) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetReferences", 1)) + } + if s.DataSetReferences != nil { + for i, v := range s.DataSetReferences { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataSetReferences", i), err.(request.ErrInvalidParams)) + } + } } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFoundException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *ResourceNotFoundException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceNotFoundException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetArn sets the Arn field's value. +func (s *TemplateSourceAnalysis) SetArn(v string) *TemplateSourceAnalysis { + s.Arn = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceNotFoundException) RequestID() string { - return s.RespMetadata.RequestID +// SetDataSetReferences sets the DataSetReferences field's value. +func (s *TemplateSourceAnalysis) SetDataSetReferences(v []*DataSetReference) *TemplateSourceAnalysis { + s.DataSetReferences = v + return s } - -// Permission for the resource. -type ResourcePermission struct { + +// The source entity of the template. +type TemplateSourceEntity struct { _ struct{} `type:"structure"` - // The action to grant or revoke permissions on, for example "quicksight:DescribeDashboard". - // - // Actions is a required field - Actions []*string `min:"1" type:"list" required:"true"` + // The source analysis, if it is based on an analysis. + SourceAnalysis *TemplateSourceAnalysis `type:"structure"` - // The Amazon Resource Name (ARN) of an Amazon QuickSight user or group, or - // an IAM ARN. If you are using cross-account resource sharing, this is the - // IAM ARN of an account root. Otherwise, it is the ARN of a QuickSight user - // or group. . - // - // Principal is a required field - Principal *string `min:"1" type:"string" required:"true"` + // The source template, if it is based on an template. + SourceTemplate *TemplateSourceTemplate `type:"structure"` } // String returns the string representation -func (s ResourcePermission) String() string { +func (s TemplateSourceEntity) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourcePermission) GoString() string { +func (s TemplateSourceEntity) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ResourcePermission) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ResourcePermission"} - if s.Actions == nil { - invalidParams.Add(request.NewErrParamRequired("Actions")) - } - if s.Actions != nil && len(s.Actions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Actions", 1)) - } - if s.Principal == nil { - invalidParams.Add(request.NewErrParamRequired("Principal")) +func (s *TemplateSourceEntity) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TemplateSourceEntity"} + if s.SourceAnalysis != nil { + if err := s.SourceAnalysis.Validate(); err != nil { + invalidParams.AddNested("SourceAnalysis", err.(request.ErrInvalidParams)) + } } - if s.Principal != nil && len(*s.Principal) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Principal", 1)) + if s.SourceTemplate != nil { + if err := s.SourceTemplate.Validate(); err != nil { + invalidParams.AddNested("SourceTemplate", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -18856,349 +25642,317 @@ func (s *ResourcePermission) Validate() error { return nil } -// SetActions sets the Actions field's value. -func (s *ResourcePermission) SetActions(v []*string) *ResourcePermission { - s.Actions = v +// SetSourceAnalysis sets the SourceAnalysis field's value. +func (s *TemplateSourceEntity) SetSourceAnalysis(v *TemplateSourceAnalysis) *TemplateSourceEntity { + s.SourceAnalysis = v return s } -// SetPrincipal sets the Principal field's value. -func (s *ResourcePermission) SetPrincipal(v string) *ResourcePermission { - s.Principal = &v +// SetSourceTemplate sets the SourceTemplate field's value. +func (s *TemplateSourceEntity) SetSourceTemplate(v *TemplateSourceTemplate) *TemplateSourceEntity { + s.SourceTemplate = v return s } -// This resource is currently unavailable. -type ResourceUnavailableException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"Message" type:"string"` - - // The AWS request ID for this request. - RequestId *string `type:"string"` +// The source template of the template. +type TemplateSourceTemplate struct { + _ struct{} `type:"structure"` - // The resource type for this request. - ResourceType *string `type:"string" enum:"ExceptionResourceType"` + // The Amazon Resource Name (ARN) of the resource. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` } // String returns the string representation -func (s ResourceUnavailableException) String() string { +func (s TemplateSourceTemplate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourceUnavailableException) GoString() string { +func (s TemplateSourceTemplate) GoString() string { return s.String() } -func newErrorResourceUnavailableException(v protocol.ResponseMetadata) error { - return &ResourceUnavailableException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *TemplateSourceTemplate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TemplateSourceTemplate"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } -} - -// Code returns the exception type name. -func (s *ResourceUnavailableException) Code() string { - return "ResourceUnavailableException" -} -// Message returns the exception's message. -func (s *ResourceUnavailableException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceUnavailableException) OrigErr() error { return nil } -func (s *ResourceUnavailableException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetArn sets the Arn field's value. +func (s *TemplateSourceTemplate) SetArn(v string) *TemplateSourceTemplate { + s.Arn = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceUnavailableException) StatusCode() int { - return s.RespMetadata.StatusCode -} +// The template summary. +type TemplateSummary struct { + _ struct{} `type:"structure"` -// RequestID returns the service's response RequestID for request. -func (s *ResourceUnavailableException) RequestID() string { - return s.RespMetadata.RequestID -} + // A summary of a template. + Arn *string `type:"string"` -// Information about rows for a data set SPICE ingestion. -type RowInfo struct { - _ struct{} `type:"structure"` + // The last time that this template was created. + CreatedTime *time.Time `type:"timestamp"` - // The number of rows that were not ingested. - RowsDropped *int64 `type:"long"` + // The last time that this template was updated. + LastUpdatedTime *time.Time `type:"timestamp"` - // The number of rows that were ingested. - RowsIngested *int64 `type:"long"` + // A structure containing a list of version numbers for the template summary. + LatestVersionNumber *int64 `min:"1" type:"long"` + + // A display name for the template. + Name *string `min:"1" type:"string"` + + // The ID of the template. This ID is unique per AWS Region for each AWS account. + TemplateId *string `min:"1" type:"string"` } // String returns the string representation -func (s RowInfo) String() string { +func (s TemplateSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RowInfo) GoString() string { +func (s TemplateSummary) GoString() string { return s.String() } -// SetRowsDropped sets the RowsDropped field's value. -func (s *RowInfo) SetRowsDropped(v int64) *RowInfo { - s.RowsDropped = &v +// SetArn sets the Arn field's value. +func (s *TemplateSummary) SetArn(v string) *TemplateSummary { + s.Arn = &v return s } -// SetRowsIngested sets the RowsIngested field's value. -func (s *RowInfo) SetRowsIngested(v int64) *RowInfo { - s.RowsIngested = &v +// SetCreatedTime sets the CreatedTime field's value. +func (s *TemplateSummary) SetCreatedTime(v time.Time) *TemplateSummary { + s.CreatedTime = &v return s } -// The row-level security configuration for the dataset. -type RowLevelPermissionDataSet struct { +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *TemplateSummary) SetLastUpdatedTime(v time.Time) *TemplateSummary { + s.LastUpdatedTime = &v + return s +} + +// SetLatestVersionNumber sets the LatestVersionNumber field's value. +func (s *TemplateSummary) SetLatestVersionNumber(v int64) *TemplateSummary { + s.LatestVersionNumber = &v + return s +} + +// SetName sets the Name field's value. +func (s *TemplateSummary) SetName(v string) *TemplateSummary { + s.Name = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *TemplateSummary) SetTemplateId(v string) *TemplateSummary { + s.TemplateId = &v + return s +} + +// A version of a template. +type TemplateVersion struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the permission dataset. - // - // Arn is a required field - Arn *string `type:"string" required:"true"` + // The time that this template version was created. + CreatedTime *time.Time `type:"timestamp"` - // Permission policy. - // - // PermissionPolicy is a required field - PermissionPolicy *string `type:"string" required:"true" enum:"RowLevelPermissionPolicy"` + // Schema of the dataset identified by the placeholder. The idea is that any + // dashboard created from the template should be bound to new datasets matching + // the same schema described through this API. . + DataSetConfigurations []*DataSetConfiguration `type:"list"` + + // The description of the template. + Description *string `min:"1" type:"string"` + + // Errors associated with the template. + Errors []*TemplateError `min:"1" type:"list"` + + // The Amazon Resource Name (ARN) of the analysis or template which was used + // to create this template. + SourceEntityArn *string `type:"string"` + + // The HTTP status of the request. + Status *string `type:"string" enum:"ResourceStatus"` + + // The version number of the template. + VersionNumber *int64 `min:"1" type:"long"` } // String returns the string representation -func (s RowLevelPermissionDataSet) String() string { +func (s TemplateVersion) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RowLevelPermissionDataSet) GoString() string { +func (s TemplateVersion) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *RowLevelPermissionDataSet) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RowLevelPermissionDataSet"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) - } - if s.PermissionPolicy == nil { - invalidParams.Add(request.NewErrParamRequired("PermissionPolicy")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetArn sets the Arn field's value. -func (s *RowLevelPermissionDataSet) SetArn(v string) *RowLevelPermissionDataSet { - s.Arn = &v +// SetCreatedTime sets the CreatedTime field's value. +func (s *TemplateVersion) SetCreatedTime(v time.Time) *TemplateVersion { + s.CreatedTime = &v return s } -// SetPermissionPolicy sets the PermissionPolicy field's value. -func (s *RowLevelPermissionDataSet) SetPermissionPolicy(v string) *RowLevelPermissionDataSet { - s.PermissionPolicy = &v +// SetDataSetConfigurations sets the DataSetConfigurations field's value. +func (s *TemplateVersion) SetDataSetConfigurations(v []*DataSetConfiguration) *TemplateVersion { + s.DataSetConfigurations = v return s } -// S3 parameters. -type S3Parameters struct { - _ struct{} `type:"structure"` - - // Location of the Amazon S3 manifest file. This is NULL if the manifest file - // was uploaded in the console. - // - // ManifestFileLocation is a required field - ManifestFileLocation *ManifestFileLocation `type:"structure" required:"true"` +// SetDescription sets the Description field's value. +func (s *TemplateVersion) SetDescription(v string) *TemplateVersion { + s.Description = &v + return s } -// String returns the string representation -func (s S3Parameters) String() string { - return awsutil.Prettify(s) +// SetErrors sets the Errors field's value. +func (s *TemplateVersion) SetErrors(v []*TemplateError) *TemplateVersion { + s.Errors = v + return s } -// GoString returns the string representation -func (s S3Parameters) GoString() string { - return s.String() +// SetSourceEntityArn sets the SourceEntityArn field's value. +func (s *TemplateVersion) SetSourceEntityArn(v string) *TemplateVersion { + s.SourceEntityArn = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *S3Parameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "S3Parameters"} - if s.ManifestFileLocation == nil { - invalidParams.Add(request.NewErrParamRequired("ManifestFileLocation")) - } - if s.ManifestFileLocation != nil { - if err := s.ManifestFileLocation.Validate(); err != nil { - invalidParams.AddNested("ManifestFileLocation", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetStatus sets the Status field's value. +func (s *TemplateVersion) SetStatus(v string) *TemplateVersion { + s.Status = &v + return s } -// SetManifestFileLocation sets the ManifestFileLocation field's value. -func (s *S3Parameters) SetManifestFileLocation(v *ManifestFileLocation) *S3Parameters { - s.ManifestFileLocation = v +// SetVersionNumber sets the VersionNumber field's value. +func (s *TemplateVersion) SetVersionNumber(v int64) *TemplateVersion { + s.VersionNumber = &v return s } -// A physical table type for as S3 data source. -type S3Source struct { +// The template version. +type TemplateVersionSummary struct { _ struct{} `type:"structure"` - // The amazon Resource Name (ARN) for the data source. - // - // DataSourceArn is a required field - DataSourceArn *string `type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the template version. + Arn *string `type:"string"` - // A physical table type for as S3 data source. - // - // InputColumns is a required field - InputColumns []*InputColumn `min:"1" type:"list" required:"true"` + // The time that this template version was created. + CreatedTime *time.Time `type:"timestamp"` - // Information about the format for the S3 source file or files. - UploadSettings *UploadSettings `type:"structure"` + // The description of the template version. + Description *string `min:"1" type:"string"` + + // The status of the template version. + Status *string `type:"string" enum:"ResourceStatus"` + + // The version number of the template version. + VersionNumber *int64 `min:"1" type:"long"` } // String returns the string representation -func (s S3Source) String() string { +func (s TemplateVersionSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s S3Source) GoString() string { +func (s TemplateVersionSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *S3Source) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "S3Source"} - if s.DataSourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("DataSourceArn")) - } - if s.InputColumns == nil { - invalidParams.Add(request.NewErrParamRequired("InputColumns")) - } - if s.InputColumns != nil && len(s.InputColumns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InputColumns", 1)) - } - if s.InputColumns != nil { - for i, v := range s.InputColumns { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputColumns", i), err.(request.ErrInvalidParams)) - } - } - } - if s.UploadSettings != nil { - if err := s.UploadSettings.Validate(); err != nil { - invalidParams.AddNested("UploadSettings", err.(request.ErrInvalidParams)) - } - } +// SetArn sets the Arn field's value. +func (s *TemplateVersionSummary) SetArn(v string) *TemplateVersionSummary { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreatedTime sets the CreatedTime field's value. +func (s *TemplateVersionSummary) SetCreatedTime(v time.Time) *TemplateVersionSummary { + s.CreatedTime = &v + return s } -// SetDataSourceArn sets the DataSourceArn field's value. -func (s *S3Source) SetDataSourceArn(v string) *S3Source { - s.DataSourceArn = &v +// SetDescription sets the Description field's value. +func (s *TemplateVersionSummary) SetDescription(v string) *TemplateVersionSummary { + s.Description = &v return s } -// SetInputColumns sets the InputColumns field's value. -func (s *S3Source) SetInputColumns(v []*InputColumn) *S3Source { - s.InputColumns = v +// SetStatus sets the Status field's value. +func (s *TemplateVersionSummary) SetStatus(v string) *TemplateVersionSummary { + s.Status = &v return s } -// SetUploadSettings sets the UploadSettings field's value. -func (s *S3Source) SetUploadSettings(v *UploadSettings) *S3Source { - s.UploadSettings = v +// SetVersionNumber sets the VersionNumber field's value. +func (s *TemplateVersionSummary) SetVersionNumber(v int64) *TemplateVersionSummary { + s.VersionNumber = &v return s } -type SearchDashboardsInput struct { +// Teradata parameters. +type TeradataParameters struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the user whose dashboards you're - // searching for. + // Database. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // Database is a required field + Database *string `min:"1" type:"string" required:"true"` - // The filters to apply to the search. Currently, you can search only by user - // name. For example, "Filters": [ { "Name": "QUICKSIGHT_USER", "Operator": - // "StringEquals", "Value": "arn:aws:quicksight:us-east-1:1:user/default/UserName1" - // } ] + // Host. // - // Filters is a required field - Filters []*DashboardSearchFilter `type:"list" required:"true"` - - // The maximum number of results to be returned per request. - MaxResults *int64 `min:"1" type:"integer"` + // Host is a required field + Host *string `min:"1" type:"string" required:"true"` - // The token for the next set of results, or null if there are no more results. - NextToken *string `type:"string"` + // Port. + // + // Port is a required field + Port *int64 `min:"1" type:"integer" required:"true"` } // String returns the string representation -func (s SearchDashboardsInput) String() string { +func (s TeradataParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SearchDashboardsInput) GoString() string { +func (s TeradataParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *SearchDashboardsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SearchDashboardsInput"} - if s.AwsAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) +func (s *TeradataParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TeradataParameters"} + if s.Database == nil { + invalidParams.Add(request.NewErrParamRequired("Database")) } - if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + if s.Database != nil && len(*s.Database) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Database", 1)) } - if s.Filters == nil { - invalidParams.Add(request.NewErrParamRequired("Filters")) + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.Host != nil && len(*s.Host) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Host", 1)) } - if s.Filters != nil { - for i, v := range s.Filters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) - } - } + if s.Port == nil { + invalidParams.Add(request.NewErrParamRequired("Port")) + } + if s.Port != nil && *s.Port < 1 { + invalidParams.Add(request.NewErrParamMinValue("Port", 1)) } if invalidParams.Len() > 0 { @@ -19207,593 +25961,622 @@ func (s *SearchDashboardsInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *SearchDashboardsInput) SetAwsAccountId(v string) *SearchDashboardsInput { - s.AwsAccountId = &v - return s -} - -// SetFilters sets the Filters field's value. -func (s *SearchDashboardsInput) SetFilters(v []*DashboardSearchFilter) *SearchDashboardsInput { - s.Filters = v +// SetDatabase sets the Database field's value. +func (s *TeradataParameters) SetDatabase(v string) *TeradataParameters { + s.Database = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *SearchDashboardsInput) SetMaxResults(v int64) *SearchDashboardsInput { - s.MaxResults = &v +// SetHost sets the Host field's value. +func (s *TeradataParameters) SetHost(v string) *TeradataParameters { + s.Host = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *SearchDashboardsInput) SetNextToken(v string) *SearchDashboardsInput { - s.NextToken = &v +// SetPort sets the Port field's value. +func (s *TeradataParameters) SetPort(v int64) *TeradataParameters { + s.Port = &v return s } -type SearchDashboardsOutput struct { +type Theme struct { _ struct{} `type:"structure"` - // The list of dashboards owned by the user specified in Filters in your request. - DashboardSummaryList []*DashboardSummary `type:"list"` + // The Amazon Resource Name (ARN) of the theme. + Arn *string `type:"string"` - // The token for the next set of results, or null if there are no more results. - NextToken *string `type:"string"` + // The date and time that the theme was created. + CreatedTime *time.Time `type:"timestamp"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // The date and time that the theme was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` + // The name that the user gives to the theme. + Name *string `min:"1" type:"string"` + + // The identifier that the user gives to the theme. + ThemeId *string `min:"1" type:"string"` + + // The type of theme, based on how it was created. Valid values include: QUICKSIGHT + // and CUSTOM. + Type *string `type:"string" enum:"ThemeType"` + + // A version of a theme. + Version *ThemeVersion `type:"structure"` } // String returns the string representation -func (s SearchDashboardsOutput) String() string { +func (s Theme) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SearchDashboardsOutput) GoString() string { +func (s Theme) GoString() string { return s.String() } -// SetDashboardSummaryList sets the DashboardSummaryList field's value. -func (s *SearchDashboardsOutput) SetDashboardSummaryList(v []*DashboardSummary) *SearchDashboardsOutput { - s.DashboardSummaryList = v +// SetArn sets the Arn field's value. +func (s *Theme) SetArn(v string) *Theme { + s.Arn = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *SearchDashboardsOutput) SetNextToken(v string) *SearchDashboardsOutput { - s.NextToken = &v +// SetCreatedTime sets the CreatedTime field's value. +func (s *Theme) SetCreatedTime(v time.Time) *Theme { + s.CreatedTime = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *Theme) SetLastUpdatedTime(v time.Time) *Theme { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Theme) SetName(v string) *Theme { + s.Name = &v + return s +} + +// SetThemeId sets the ThemeId field's value. +func (s *Theme) SetThemeId(v string) *Theme { + s.ThemeId = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *SearchDashboardsOutput) SetRequestId(v string) *SearchDashboardsOutput { - s.RequestId = &v +// SetType sets the Type field's value. +func (s *Theme) SetType(v string) *Theme { + s.Type = &v return s } -// SetStatus sets the Status field's value. -func (s *SearchDashboardsOutput) SetStatus(v int64) *SearchDashboardsOutput { - s.Status = &v +// SetVersion sets the Version field's value. +func (s *Theme) SetVersion(v *ThemeVersion) *Theme { + s.Version = v return s } -// ServiceNow parameters. -type ServiceNowParameters struct { +// An alias for a theme. +type ThemeAlias struct { _ struct{} `type:"structure"` - // URL of the base site. - // - // SiteBaseUrl is a required field - SiteBaseUrl *string `min:"1" type:"string" required:"true"` + // The display name of the theme alias. + AliasName *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the theme alias. + Arn *string `type:"string"` + + // The version number of the theme alias. + ThemeVersionNumber *int64 `min:"1" type:"long"` } // String returns the string representation -func (s ServiceNowParameters) String() string { +func (s ThemeAlias) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ServiceNowParameters) GoString() string { +func (s ThemeAlias) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ServiceNowParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ServiceNowParameters"} - if s.SiteBaseUrl == nil { - invalidParams.Add(request.NewErrParamRequired("SiteBaseUrl")) - } - if s.SiteBaseUrl != nil && len(*s.SiteBaseUrl) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SiteBaseUrl", 1)) - } +// SetAliasName sets the AliasName field's value. +func (s *ThemeAlias) SetAliasName(v string) *ThemeAlias { + s.AliasName = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *ThemeAlias) SetArn(v string) *ThemeAlias { + s.Arn = &v + return s } -// SetSiteBaseUrl sets the SiteBaseUrl field's value. -func (s *ServiceNowParameters) SetSiteBaseUrl(v string) *ServiceNowParameters { - s.SiteBaseUrl = &v +// SetThemeVersionNumber sets the ThemeVersionNumber field's value. +func (s *ThemeAlias) SetThemeVersionNumber(v int64) *ThemeAlias { + s.ThemeVersionNumber = &v return s } -// The number of minutes specified for the lifetime of a session isn't valid. -// The session lifetime must be 15-600 minutes. -type SessionLifetimeInMinutesInvalidException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// The theme configuration. This configuration contains all of the display properties +// for a theme. +type ThemeConfiguration struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // Color properties that apply to chart data colors. + DataColorPalette *DataColorPalette `type:"structure"` - // The AWS request ID for this request. - RequestId *string `type:"string"` + // Display options related to sheets. + Sheet *SheetStyle `type:"structure"` + + // Color properties that apply to the UI and to charts, excluding the colors + // that apply to data. + UIColorPalette *UIColorPalette `type:"structure"` } // String returns the string representation -func (s SessionLifetimeInMinutesInvalidException) String() string { +func (s ThemeConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SessionLifetimeInMinutesInvalidException) GoString() string { +func (s ThemeConfiguration) GoString() string { return s.String() } -func newErrorSessionLifetimeInMinutesInvalidException(v protocol.ResponseMetadata) error { - return &SessionLifetimeInMinutesInvalidException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *SessionLifetimeInMinutesInvalidException) Code() string { - return "SessionLifetimeInMinutesInvalidException" -} - -// Message returns the exception's message. -func (s *SessionLifetimeInMinutesInvalidException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *SessionLifetimeInMinutesInvalidException) OrigErr() error { - return nil -} - -func (s *SessionLifetimeInMinutesInvalidException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetDataColorPalette sets the DataColorPalette field's value. +func (s *ThemeConfiguration) SetDataColorPalette(v *DataColorPalette) *ThemeConfiguration { + s.DataColorPalette = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *SessionLifetimeInMinutesInvalidException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetSheet sets the Sheet field's value. +func (s *ThemeConfiguration) SetSheet(v *SheetStyle) *ThemeConfiguration { + s.Sheet = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *SessionLifetimeInMinutesInvalidException) RequestID() string { - return s.RespMetadata.RequestID +// SetUIColorPalette sets the UIColorPalette field's value. +func (s *ThemeConfiguration) SetUIColorPalette(v *UIColorPalette) *ThemeConfiguration { + s.UIColorPalette = v + return s } -// Sheet controls option. -type SheetControlsOption struct { +// Theme error. +type ThemeError struct { _ struct{} `type:"structure"` - // Visibility state. - VisibilityState *string `type:"string" enum:"DashboardUIState"` + // The error message. + Message *string `type:"string"` + + // The type of error. + Type *string `type:"string" enum:"ThemeErrorType"` } // String returns the string representation -func (s SheetControlsOption) String() string { +func (s ThemeError) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SheetControlsOption) GoString() string { +func (s ThemeError) GoString() string { return s.String() } -// SetVisibilityState sets the VisibilityState field's value. -func (s *SheetControlsOption) SetVisibilityState(v string) *SheetControlsOption { - s.VisibilityState = &v +// SetMessage sets the Message field's value. +func (s *ThemeError) SetMessage(v string) *ThemeError { + s.Message = &v return s } -// Snowflake parameters. -type SnowflakeParameters struct { +// SetType sets the Type field's value. +func (s *ThemeError) SetType(v string) *ThemeError { + s.Type = &v + return s +} + +// The theme summary. +type ThemeSummary struct { _ struct{} `type:"structure"` - // Database. - // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the resource. + Arn *string `type:"string"` - // Host. - // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` + // The date and time that this theme was created. + CreatedTime *time.Time `type:"timestamp"` - // Warehouse. - // - // Warehouse is a required field - Warehouse *string `type:"string" required:"true"` + // The last date and time that this theme was updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // The latest version number for the theme. + LatestVersionNumber *int64 `min:"1" type:"long"` + + // the display name for the theme. + Name *string `min:"1" type:"string"` + + // The ID of the theme. This ID is unique per AWS Region for each AWS account. + ThemeId *string `min:"1" type:"string"` } // String returns the string representation -func (s SnowflakeParameters) String() string { +func (s ThemeSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SnowflakeParameters) GoString() string { +func (s ThemeSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *SnowflakeParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SnowflakeParameters"} - if s.Database == nil { - invalidParams.Add(request.NewErrParamRequired("Database")) - } - if s.Database != nil && len(*s.Database) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Database", 1)) - } - if s.Host == nil { - invalidParams.Add(request.NewErrParamRequired("Host")) - } - if s.Host != nil && len(*s.Host) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Host", 1)) - } - if s.Warehouse == nil { - invalidParams.Add(request.NewErrParamRequired("Warehouse")) - } +// SetArn sets the Arn field's value. +func (s *ThemeSummary) SetArn(v string) *ThemeSummary { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreatedTime sets the CreatedTime field's value. +func (s *ThemeSummary) SetCreatedTime(v time.Time) *ThemeSummary { + s.CreatedTime = &v + return s } -// SetDatabase sets the Database field's value. -func (s *SnowflakeParameters) SetDatabase(v string) *SnowflakeParameters { - s.Database = &v +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *ThemeSummary) SetLastUpdatedTime(v time.Time) *ThemeSummary { + s.LastUpdatedTime = &v return s } -// SetHost sets the Host field's value. -func (s *SnowflakeParameters) SetHost(v string) *SnowflakeParameters { - s.Host = &v +// SetLatestVersionNumber sets the LatestVersionNumber field's value. +func (s *ThemeSummary) SetLatestVersionNumber(v int64) *ThemeSummary { + s.LatestVersionNumber = &v return s } -// SetWarehouse sets the Warehouse field's value. -func (s *SnowflakeParameters) SetWarehouse(v string) *SnowflakeParameters { - s.Warehouse = &v +// SetName sets the Name field's value. +func (s *ThemeSummary) SetName(v string) *ThemeSummary { + s.Name = &v return s } -// Spark parameters. -type SparkParameters struct { +// SetThemeId sets the ThemeId field's value. +func (s *ThemeSummary) SetThemeId(v string) *ThemeSummary { + s.ThemeId = &v + return s +} + +// A version of a theme. +type ThemeVersion struct { _ struct{} `type:"structure"` - // Host. - // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the resource. + Arn *string `type:"string"` - // Port. - // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` + // The Amazon QuickSight-defined ID of the theme that a custom theme inherits + // from. All themes initially inherit from a default QuickSight theme. + BaseThemeId *string `min:"1" type:"string"` + + // The theme configuration, which contains all the theme display properties. + Configuration *ThemeConfiguration `type:"structure"` + + // The date and time that this theme version was created. + CreatedTime *time.Time `type:"timestamp"` + + // The description of the theme. + Description *string `min:"1" type:"string"` + + // Errors associated with the theme. + Errors []*ThemeError `min:"1" type:"list"` + + // The status of the theme version. + Status *string `type:"string" enum:"ResourceStatus"` + + // The version number of the theme. + VersionNumber *int64 `min:"1" type:"long"` } // String returns the string representation -func (s SparkParameters) String() string { +func (s ThemeVersion) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SparkParameters) GoString() string { +func (s ThemeVersion) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *SparkParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SparkParameters"} - if s.Host == nil { - invalidParams.Add(request.NewErrParamRequired("Host")) - } - if s.Host != nil && len(*s.Host) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Host", 1)) - } - if s.Port == nil { - invalidParams.Add(request.NewErrParamRequired("Port")) - } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) - } +// SetArn sets the Arn field's value. +func (s *ThemeVersion) SetArn(v string) *ThemeVersion { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetBaseThemeId sets the BaseThemeId field's value. +func (s *ThemeVersion) SetBaseThemeId(v string) *ThemeVersion { + s.BaseThemeId = &v + return s } -// SetHost sets the Host field's value. -func (s *SparkParameters) SetHost(v string) *SparkParameters { - s.Host = &v +// SetConfiguration sets the Configuration field's value. +func (s *ThemeVersion) SetConfiguration(v *ThemeConfiguration) *ThemeVersion { + s.Configuration = v return s } -// SetPort sets the Port field's value. -func (s *SparkParameters) SetPort(v int64) *SparkParameters { - s.Port = &v +// SetCreatedTime sets the CreatedTime field's value. +func (s *ThemeVersion) SetCreatedTime(v time.Time) *ThemeVersion { + s.CreatedTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ThemeVersion) SetDescription(v string) *ThemeVersion { + s.Description = &v + return s +} + +// SetErrors sets the Errors field's value. +func (s *ThemeVersion) SetErrors(v []*ThemeError) *ThemeVersion { + s.Errors = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ThemeVersion) SetStatus(v string) *ThemeVersion { + s.Status = &v + return s +} + +// SetVersionNumber sets the VersionNumber field's value. +func (s *ThemeVersion) SetVersionNumber(v int64) *ThemeVersion { + s.VersionNumber = &v return s } -// SQL Server parameters. -type SqlServerParameters struct { +// The theme version. +type ThemeVersionSummary struct { _ struct{} `type:"structure"` - // Database. - // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the theme version. + Arn *string `type:"string"` - // Host. - // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` + // The date and time that this theme version was created. + CreatedTime *time.Time `type:"timestamp"` - // Port. - // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` + // The description of the theme version. + Description *string `min:"1" type:"string"` + + // The status of the theme version. + Status *string `type:"string" enum:"ResourceStatus"` + + // The version number of the theme version. + VersionNumber *int64 `min:"1" type:"long"` } // String returns the string representation -func (s SqlServerParameters) String() string { +func (s ThemeVersionSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SqlServerParameters) GoString() string { +func (s ThemeVersionSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *SqlServerParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SqlServerParameters"} - if s.Database == nil { - invalidParams.Add(request.NewErrParamRequired("Database")) - } - if s.Database != nil && len(*s.Database) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Database", 1)) - } - if s.Host == nil { - invalidParams.Add(request.NewErrParamRequired("Host")) - } - if s.Host != nil && len(*s.Host) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Host", 1)) - } - if s.Port == nil { - invalidParams.Add(request.NewErrParamRequired("Port")) - } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) - } +// SetArn sets the Arn field's value. +func (s *ThemeVersionSummary) SetArn(v string) *ThemeVersionSummary { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreatedTime sets the CreatedTime field's value. +func (s *ThemeVersionSummary) SetCreatedTime(v time.Time) *ThemeVersionSummary { + s.CreatedTime = &v + return s } -// SetDatabase sets the Database field's value. -func (s *SqlServerParameters) SetDatabase(v string) *SqlServerParameters { - s.Database = &v +// SetDescription sets the Description field's value. +func (s *ThemeVersionSummary) SetDescription(v string) *ThemeVersionSummary { + s.Description = &v return s } -// SetHost sets the Host field's value. -func (s *SqlServerParameters) SetHost(v string) *SqlServerParameters { - s.Host = &v +// SetStatus sets the Status field's value. +func (s *ThemeVersionSummary) SetStatus(v string) *ThemeVersionSummary { + s.Status = &v return s } -// SetPort sets the Port field's value. -func (s *SqlServerParameters) SetPort(v int64) *SqlServerParameters { - s.Port = &v +// SetVersionNumber sets the VersionNumber field's value. +func (s *ThemeVersionSummary) SetVersionNumber(v int64) *ThemeVersionSummary { + s.VersionNumber = &v return s } -// Secure Socket Layer (SSL) properties that apply when QuickSight connects -// to your underlying data source. -type SslProperties struct { - _ struct{} `type:"structure"` +// Access is throttled. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // A Boolean option to control whether SSL should be disabled. - DisableSsl *bool `type:"boolean"` + Message_ *string `locationName:"Message" type:"string"` + + // The AWS request ID for this request. + RequestId *string `type:"string"` } // String returns the string representation -func (s SslProperties) String() string { +func (s ThrottlingException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SslProperties) GoString() string { +func (s ThrottlingException) GoString() string { return s.String() } -// SetDisableSsl sets the DisableSsl field's value. -func (s *SslProperties) SetDisableSsl(v bool) *SslProperties { - s.DisableSsl = &v - return s +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } } -// String parameter. -type StringParameter struct { +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The display options for the layout of tiles on a sheet. +type TileLayoutStyle struct { _ struct{} `type:"structure"` - // A display name for the dataset. - // - // Name is a required field - Name *string `type:"string" required:"true"` + // The gutter settings that apply between tiles. + Gutter *GutterStyle `type:"structure"` - // Values. - // - // Values is a required field - Values []*string `type:"list" required:"true"` + // The margin settings that apply around the outside edge of sheets. + Margin *MarginStyle `type:"structure"` } // String returns the string representation -func (s StringParameter) String() string { +func (s TileLayoutStyle) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s StringParameter) GoString() string { +func (s TileLayoutStyle) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *StringParameter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "StringParameter"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Values == nil { - invalidParams.Add(request.NewErrParamRequired("Values")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetName sets the Name field's value. -func (s *StringParameter) SetName(v string) *StringParameter { - s.Name = &v +// SetGutter sets the Gutter field's value. +func (s *TileLayoutStyle) SetGutter(v *GutterStyle) *TileLayoutStyle { + s.Gutter = v return s } -// SetValues sets the Values field's value. -func (s *StringParameter) SetValues(v []*string) *StringParameter { - s.Values = v +// SetMargin sets the Margin field's value. +func (s *TileLayoutStyle) SetMargin(v *MarginStyle) *TileLayoutStyle { + s.Margin = v return s } -// The key or keys of the key-value pairs for the resource tag or tags assigned -// to the resource. -type Tag struct { +// Display options related to tiles on a sheet. +type TileStyle struct { _ struct{} `type:"structure"` - // Tag key. - // - // Key is a required field - Key *string `min:"1" type:"string" required:"true"` - - // Tag value. - // - // Value is a required field - Value *string `min:"1" type:"string" required:"true"` + // The border around a tile. + Border *BorderStyle `type:"structure"` } // String returns the string representation -func (s Tag) String() string { +func (s TileStyle) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Tag) GoString() string { +func (s TileStyle) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Tag) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Tag"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } - if s.Key != nil && len(*s.Key) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Key", 1)) - } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) - } - if s.Value != nil && len(*s.Value) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Value", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetKey sets the Key field's value. -func (s *Tag) SetKey(v string) *Tag { - s.Key = &v - return s -} - -// SetValue sets the Value field's value. -func (s *Tag) SetValue(v string) *Tag { - s.Value = &v +// SetBorder sets the Border field's value. +func (s *TileStyle) SetBorder(v *BorderStyle) *TileStyle { + s.Border = v return s } -// A transform operation that tags a column with additional information. -type TagColumnOperation struct { +// A data transformation on a logical table. This is a variant type structure. +// For this structure to be valid, only one of the attributes can be non-null. +type TransformOperation struct { _ struct{} `type:"structure"` - // The column that this operation acts on. - // - // ColumnName is a required field - ColumnName *string `min:"1" type:"string" required:"true"` + // A transform operation that casts a column to a different type. + CastColumnTypeOperation *CastColumnTypeOperation `type:"structure"` - // The dataset column tag, currently only used for geospatial type tagging. . - // - // This is not tags for the AWS tagging feature. . - // - // Tags is a required field - Tags []*ColumnTag `min:"1" type:"list" required:"true"` + // An operation that creates calculated columns. Columns created in one such + // operation form a lexical closure. + CreateColumnsOperation *CreateColumnsOperation `type:"structure"` + + // An operation that filters rows based on some condition. + FilterOperation *FilterOperation `type:"structure"` + + // An operation that projects columns. Operations that come after a projection + // can only refer to projected columns. + ProjectOperation *ProjectOperation `type:"structure"` + + // An operation that renames a column. + RenameColumnOperation *RenameColumnOperation `type:"structure"` + + // An operation that tags a column with additional information. + TagColumnOperation *TagColumnOperation `type:"structure"` } // String returns the string representation -func (s TagColumnOperation) String() string { +func (s TransformOperation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TagColumnOperation) GoString() string { +func (s TransformOperation) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TagColumnOperation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TagColumnOperation"} - if s.ColumnName == nil { - invalidParams.Add(request.NewErrParamRequired("ColumnName")) +func (s *TransformOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TransformOperation"} + if s.CastColumnTypeOperation != nil { + if err := s.CastColumnTypeOperation.Validate(); err != nil { + invalidParams.AddNested("CastColumnTypeOperation", err.(request.ErrInvalidParams)) + } } - if s.ColumnName != nil && len(*s.ColumnName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) + if s.CreateColumnsOperation != nil { + if err := s.CreateColumnsOperation.Validate(); err != nil { + invalidParams.AddNested("CreateColumnsOperation", err.(request.ErrInvalidParams)) + } } - if s.Tags == nil { - invalidParams.Add(request.NewErrParamRequired("Tags")) + if s.FilterOperation != nil { + if err := s.FilterOperation.Validate(); err != nil { + invalidParams.AddNested("FilterOperation", err.(request.ErrInvalidParams)) + } } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + if s.ProjectOperation != nil { + if err := s.ProjectOperation.Validate(); err != nil { + invalidParams.AddNested("ProjectOperation", err.(request.ErrInvalidParams)) + } + } + if s.RenameColumnOperation != nil { + if err := s.RenameColumnOperation.Validate(); err != nil { + invalidParams.AddNested("RenameColumnOperation", err.(request.ErrInvalidParams)) + } + } + if s.TagColumnOperation != nil { + if err := s.TagColumnOperation.Validate(); err != nil { + invalidParams.AddNested("TagColumnOperation", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -19802,67 +26585,81 @@ func (s *TagColumnOperation) Validate() error { return nil } -// SetColumnName sets the ColumnName field's value. -func (s *TagColumnOperation) SetColumnName(v string) *TagColumnOperation { - s.ColumnName = &v +// SetCastColumnTypeOperation sets the CastColumnTypeOperation field's value. +func (s *TransformOperation) SetCastColumnTypeOperation(v *CastColumnTypeOperation) *TransformOperation { + s.CastColumnTypeOperation = v return s } -// SetTags sets the Tags field's value. -func (s *TagColumnOperation) SetTags(v []*ColumnTag) *TagColumnOperation { - s.Tags = v +// SetCreateColumnsOperation sets the CreateColumnsOperation field's value. +func (s *TransformOperation) SetCreateColumnsOperation(v *CreateColumnsOperation) *TransformOperation { + s.CreateColumnsOperation = v return s } -type TagResourceInput struct { +// SetFilterOperation sets the FilterOperation field's value. +func (s *TransformOperation) SetFilterOperation(v *FilterOperation) *TransformOperation { + s.FilterOperation = v + return s +} + +// SetProjectOperation sets the ProjectOperation field's value. +func (s *TransformOperation) SetProjectOperation(v *ProjectOperation) *TransformOperation { + s.ProjectOperation = v + return s +} + +// SetRenameColumnOperation sets the RenameColumnOperation field's value. +func (s *TransformOperation) SetRenameColumnOperation(v *RenameColumnOperation) *TransformOperation { + s.RenameColumnOperation = v + return s +} + +// SetTagColumnOperation sets the TagColumnOperation field's value. +func (s *TransformOperation) SetTagColumnOperation(v *TagColumnOperation) *TransformOperation { + s.TagColumnOperation = v + return s +} + +// Twitter parameters. +type TwitterParameters struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource that you want to tag. + // Maximum number of rows to query Twitter. // - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"` + // MaxRows is a required field + MaxRows *int64 `min:"1" type:"integer" required:"true"` - // Contains a map of the key-value pairs for the resource tag or tags assigned - // to the resource. + // Twitter query string. // - // Tags is a required field - Tags []*Tag `min:"1" type:"list" required:"true"` + // Query is a required field + Query *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s TagResourceInput) String() string { +func (s TwitterParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TagResourceInput) GoString() string { +func (s TwitterParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TagResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) +func (s *TwitterParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TwitterParameters"} + if s.MaxRows == nil { + invalidParams.Add(request.NewErrParamRequired("MaxRows")) } - if s.Tags == nil { - invalidParams.Add(request.NewErrParamRequired("Tags")) + if s.MaxRows != nil && *s.MaxRows < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxRows", 1)) } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + if s.Query == nil { + invalidParams.Add(request.NewErrParamRequired("Query")) } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } + if s.Query != nil && len(*s.Query) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Query", 1)) } if invalidParams.Len() > 0 { @@ -19871,302 +26668,292 @@ func (s *TagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { - s.ResourceArn = &v +// SetMaxRows sets the MaxRows field's value. +func (s *TwitterParameters) SetMaxRows(v int64) *TwitterParameters { + s.MaxRows = &v return s } -// SetTags sets the Tags field's value. -func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { - s.Tags = v +// SetQuery sets the Query field's value. +func (s *TwitterParameters) SetQuery(v string) *TwitterParameters { + s.Query = &v return s } -type TagResourceOutput struct { +// The theme colors that apply to UI and to charts, excluding data colors. The +// colors description is a hexidecimal color code that consists of six alphanumerical +// characters, prefixed with #, for example #37BFF5. For more information, see +// Using Themes in Amazon QuickSight (https://docs.aws.amazon.com/quicksight/latest/user/themes-in-quicksight.html) +// in the Amazon QuickSight User Guide. +type UIColorPalette struct { _ struct{} `type:"structure"` - // The AWS request ID for this operation. - RequestId *string `type:"string"` + // This color is that applies to selected states and buttons. + Accent *string `type:"string"` - // The HTTP status of the request. - Status *int64 `location:"statusCode" type:"integer"` -} + // The foreground color that applies to any text or other elements that appear + // over the accent color. + AccentForeground *string `type:"string"` -// String returns the string representation -func (s TagResourceOutput) String() string { - return awsutil.Prettify(s) -} + // The color that applies to error messages. + Danger *string `type:"string"` -// GoString returns the string representation -func (s TagResourceOutput) GoString() string { - return s.String() -} + // The foreground color that applies to any text or other elements that appear + // over the error color. + DangerForeground *string `type:"string"` -// SetRequestId sets the RequestId field's value. -func (s *TagResourceOutput) SetRequestId(v string) *TagResourceOutput { - s.RequestId = &v - return s -} + // The color that applies to the names of fields that are identified as dimensions. + Dimension *string `type:"string"` -// SetStatus sets the Status field's value. -func (s *TagResourceOutput) SetStatus(v int64) *TagResourceOutput { - s.Status = &v - return s -} + // The foreground color that applies to any text or other elements that appear + // over the dimension color. + DimensionForeground *string `type:"string"` -// A template object. A template is an entity in QuickSight that encapsulates -// the metadata required to create an analysis and that you can use to create -// a dashboard. A template adds a layer of abstraction by using placeholders -// to replace the dataset associated with the analysis. You can use templates -// to create dashboards by replacing dataset placeholders with datasets that -// follow the same schema that was used to create the source analysis and template. -// -// You can share templates across AWS accounts by allowing users in other AWS -// accounts to create a template or a dashboard from an existing template. -type Template struct { - _ struct{} `type:"structure"` + // The color that applies to the names of fields that are identified as measures. + Measure *string `type:"string"` - // The Amazon Resource Name (ARN) of the template. - Arn *string `type:"string"` + // The foreground color that applies to any text or other elements that appear + // over the measure color. + MeasureForeground *string `type:"string"` - // Time when this was created. - CreatedTime *time.Time `type:"timestamp"` + // The background color that applies to visuals and other high emphasis UI. + PrimaryBackground *string `type:"string"` - // Time when this was last updated. - LastUpdatedTime *time.Time `type:"timestamp"` + // The color of text and other foreground elements that appear over the primary + // background regions, such as grid lines, borders, table banding, icons, and + // so on. + PrimaryForeground *string `type:"string"` - // The display name of the template. - Name *string `min:"1" type:"string"` + // The background color that applies to the sheet background and sheet controls. + SecondaryBackground *string `type:"string"` - // The ID for the template. This is unique per AWS Region for each AWS account. - TemplateId *string `min:"1" type:"string"` + // The foreground color that applies to any sheet title, sheet control text, + // or UI that appears over the secondary background. + SecondaryForeground *string `type:"string"` - // A structure describing the versions of the template. - Version *TemplateVersion `type:"structure"` + // The color that applies to success messages, for example the check mark for + // a successful download. + Success *string `type:"string"` + + // The foreground color that applies to any text or other elements that appear + // over the success color. + SuccessForeground *string `type:"string"` + + // This color that applies to warning and informational messages. + Warning *string `type:"string"` + + // The foreground color that applies to any text or other elements that appear + // over the warning color. + WarningForeground *string `type:"string"` } // String returns the string representation -func (s Template) String() string { +func (s UIColorPalette) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Template) GoString() string { +func (s UIColorPalette) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Template) SetArn(v string) *Template { - s.Arn = &v +// SetAccent sets the Accent field's value. +func (s *UIColorPalette) SetAccent(v string) *UIColorPalette { + s.Accent = &v return s } -// SetCreatedTime sets the CreatedTime field's value. -func (s *Template) SetCreatedTime(v time.Time) *Template { - s.CreatedTime = &v +// SetAccentForeground sets the AccentForeground field's value. +func (s *UIColorPalette) SetAccentForeground(v string) *UIColorPalette { + s.AccentForeground = &v return s } -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *Template) SetLastUpdatedTime(v time.Time) *Template { - s.LastUpdatedTime = &v +// SetDanger sets the Danger field's value. +func (s *UIColorPalette) SetDanger(v string) *UIColorPalette { + s.Danger = &v return s } -// SetName sets the Name field's value. -func (s *Template) SetName(v string) *Template { - s.Name = &v +// SetDangerForeground sets the DangerForeground field's value. +func (s *UIColorPalette) SetDangerForeground(v string) *UIColorPalette { + s.DangerForeground = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *Template) SetTemplateId(v string) *Template { - s.TemplateId = &v +// SetDimension sets the Dimension field's value. +func (s *UIColorPalette) SetDimension(v string) *UIColorPalette { + s.Dimension = &v return s } -// SetVersion sets the Version field's value. -func (s *Template) SetVersion(v *TemplateVersion) *Template { - s.Version = v +// SetDimensionForeground sets the DimensionForeground field's value. +func (s *UIColorPalette) SetDimensionForeground(v string) *UIColorPalette { + s.DimensionForeground = &v return s } -// The template alias. -type TemplateAlias struct { - _ struct{} `type:"structure"` - - // The display name of the template alias. - AliasName *string `min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the template alias. - Arn *string `type:"string"` - - // The version number of the template alias. - TemplateVersionNumber *int64 `min:"1" type:"long"` -} - -// String returns the string representation -func (s TemplateAlias) String() string { - return awsutil.Prettify(s) +// SetMeasure sets the Measure field's value. +func (s *UIColorPalette) SetMeasure(v string) *UIColorPalette { + s.Measure = &v + return s } -// GoString returns the string representation -func (s TemplateAlias) GoString() string { - return s.String() +// SetMeasureForeground sets the MeasureForeground field's value. +func (s *UIColorPalette) SetMeasureForeground(v string) *UIColorPalette { + s.MeasureForeground = &v + return s } -// SetAliasName sets the AliasName field's value. -func (s *TemplateAlias) SetAliasName(v string) *TemplateAlias { - s.AliasName = &v +// SetPrimaryBackground sets the PrimaryBackground field's value. +func (s *UIColorPalette) SetPrimaryBackground(v string) *UIColorPalette { + s.PrimaryBackground = &v return s } -// SetArn sets the Arn field's value. -func (s *TemplateAlias) SetArn(v string) *TemplateAlias { - s.Arn = &v +// SetPrimaryForeground sets the PrimaryForeground field's value. +func (s *UIColorPalette) SetPrimaryForeground(v string) *UIColorPalette { + s.PrimaryForeground = &v return s } -// SetTemplateVersionNumber sets the TemplateVersionNumber field's value. -func (s *TemplateAlias) SetTemplateVersionNumber(v int64) *TemplateAlias { - s.TemplateVersionNumber = &v +// SetSecondaryBackground sets the SecondaryBackground field's value. +func (s *UIColorPalette) SetSecondaryBackground(v string) *UIColorPalette { + s.SecondaryBackground = &v return s } -// List of errors that occurred when the template version creation failed. -type TemplateError struct { - _ struct{} `type:"structure"` - - // Description of the error type. - Message *string `type:"string"` - - // Type of error. - Type *string `type:"string" enum:"TemplateErrorType"` +// SetSecondaryForeground sets the SecondaryForeground field's value. +func (s *UIColorPalette) SetSecondaryForeground(v string) *UIColorPalette { + s.SecondaryForeground = &v + return s } -// String returns the string representation -func (s TemplateError) String() string { - return awsutil.Prettify(s) +// SetSuccess sets the Success field's value. +func (s *UIColorPalette) SetSuccess(v string) *UIColorPalette { + s.Success = &v + return s } -// GoString returns the string representation -func (s TemplateError) GoString() string { - return s.String() +// SetSuccessForeground sets the SuccessForeground field's value. +func (s *UIColorPalette) SetSuccessForeground(v string) *UIColorPalette { + s.SuccessForeground = &v + return s } -// SetMessage sets the Message field's value. -func (s *TemplateError) SetMessage(v string) *TemplateError { - s.Message = &v +// SetWarning sets the Warning field's value. +func (s *UIColorPalette) SetWarning(v string) *UIColorPalette { + s.Warning = &v return s } -// SetType sets the Type field's value. -func (s *TemplateError) SetType(v string) *TemplateError { - s.Type = &v +// SetWarningForeground sets the WarningForeground field's value. +func (s *UIColorPalette) SetWarningForeground(v string) *UIColorPalette { + s.WarningForeground = &v return s } -// The source analysis of the template. -type TemplateSourceAnalysis struct { - _ struct{} `type:"structure"` +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +type UnsupportedUserEditionException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The Amazon Resource Name (ARN) of the resource. - // - // Arn is a required field - Arn *string `type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` - // A structure containing information about the dataset references used as placeholders - // in the template. - // - // DataSetReferences is a required field - DataSetReferences []*DataSetReference `min:"1" type:"list" required:"true"` + // The AWS request ID for this request. + RequestId *string `type:"string"` } // String returns the string representation -func (s TemplateSourceAnalysis) String() string { +func (s UnsupportedUserEditionException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TemplateSourceAnalysis) GoString() string { +func (s UnsupportedUserEditionException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *TemplateSourceAnalysis) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TemplateSourceAnalysis"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) - } - if s.DataSetReferences == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetReferences")) - } - if s.DataSetReferences != nil && len(s.DataSetReferences) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetReferences", 1)) - } - if s.DataSetReferences != nil { - for i, v := range s.DataSetReferences { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataSetReferences", i), err.(request.ErrInvalidParams)) - } - } +func newErrorUnsupportedUserEditionException(v protocol.ResponseMetadata) error { + return &UnsupportedUserEditionException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *UnsupportedUserEditionException) Code() string { + return "UnsupportedUserEditionException" +} + +// Message returns the exception's message. +func (s *UnsupportedUserEditionException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UnsupportedUserEditionException) OrigErr() error { return nil } -// SetArn sets the Arn field's value. -func (s *TemplateSourceAnalysis) SetArn(v string) *TemplateSourceAnalysis { - s.Arn = &v - return s +func (s *UnsupportedUserEditionException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetDataSetReferences sets the DataSetReferences field's value. -func (s *TemplateSourceAnalysis) SetDataSetReferences(v []*DataSetReference) *TemplateSourceAnalysis { - s.DataSetReferences = v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *UnsupportedUserEditionException) StatusCode() int { + return s.RespMetadata.StatusCode } -// The source entity of the template. -type TemplateSourceEntity struct { +// RequestID returns the service's response RequestID for request. +func (s *UnsupportedUserEditionException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { _ struct{} `type:"structure"` - // The source analysis, if it is based on an analysis. - SourceAnalysis *TemplateSourceAnalysis `type:"structure"` + // The Amazon Resource Name (ARN) of the resource that you want to untag. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"` - // The source template, if it is based on an template. - SourceTemplate *TemplateSourceTemplate `type:"structure"` + // The keys of the key-value pairs for the resource tag or tags assigned to + // the resource. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"keys" min:"1" type:"list" required:"true"` } // String returns the string representation -func (s TemplateSourceEntity) String() string { +func (s UntagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TemplateSourceEntity) GoString() string { +func (s UntagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TemplateSourceEntity) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TemplateSourceEntity"} - if s.SourceAnalysis != nil { - if err := s.SourceAnalysis.Validate(); err != nil { - invalidParams.AddNested("SourceAnalysis", err.(request.ErrInvalidParams)) - } +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.SourceTemplate != nil { - if err := s.SourceTemplate.Validate(); err != nil { - invalidParams.AddNested("SourceTemplate", err.(request.ErrInvalidParams)) - } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + if s.TagKeys != nil && len(s.TagKeys) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) } if invalidParams.Len() > 0 { @@ -20175,317 +26962,384 @@ func (s *TemplateSourceEntity) Validate() error { return nil } -// SetSourceAnalysis sets the SourceAnalysis field's value. -func (s *TemplateSourceEntity) SetSourceAnalysis(v *TemplateSourceAnalysis) *TemplateSourceEntity { - s.SourceAnalysis = v +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v return s } -// SetSourceTemplate sets the SourceTemplate field's value. -func (s *TemplateSourceEntity) SetSourceTemplate(v *TemplateSourceTemplate) *TemplateSourceEntity { - s.SourceTemplate = v +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v return s } -// The source template of the template. -type TemplateSourceTemplate struct { +type UntagResourceOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. - // - // Arn is a required field - Arn *string `type:"string" required:"true"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s TemplateSourceTemplate) String() string { +func (s UntagResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TemplateSourceTemplate) GoString() string { +func (s UntagResourceOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *TemplateSourceTemplate) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TemplateSourceTemplate"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetRequestId sets the RequestId field's value. +func (s *UntagResourceOutput) SetRequestId(v string) *UntagResourceOutput { + s.RequestId = &v + return s } -// SetArn sets the Arn field's value. -func (s *TemplateSourceTemplate) SetArn(v string) *TemplateSourceTemplate { - s.Arn = &v +// SetStatus sets the Status field's value. +func (s *UntagResourceOutput) SetStatus(v int64) *UntagResourceOutput { + s.Status = &v return s } -// The template summary. -type TemplateSummary struct { +type UpdateAccountCustomizationInput struct { _ struct{} `type:"structure"` - // A summary of a template. - Arn *string `type:"string"` - - // The last time that this template was created. - CreatedTime *time.Time `type:"timestamp"` - - // The last time that this template was updated. - LastUpdatedTime *time.Time `type:"timestamp"` - - // A structure containing a list of version numbers for the template summary. - LatestVersionNumber *int64 `min:"1" type:"long"` + // The customizations you want to update in QuickSight. + // + // AccountCustomization is a required field + AccountCustomization *AccountCustomization `type:"structure" required:"true"` - // A display name for the template. - Name *string `min:"1" type:"string"` + // The ID for the AWS account that you want to update QuickSight customizations + // for. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID of the template. This ID is unique per AWS Region for each AWS account. - TemplateId *string `min:"1" type:"string"` + // The namespace associated with the customization that you're updating. + Namespace *string `location:"querystring" locationName:"namespace" type:"string"` } // String returns the string representation -func (s TemplateSummary) String() string { +func (s UpdateAccountCustomizationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TemplateSummary) GoString() string { +func (s UpdateAccountCustomizationInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *TemplateSummary) SetArn(v string) *TemplateSummary { - s.Arn = &v - return s -} - -// SetCreatedTime sets the CreatedTime field's value. -func (s *TemplateSummary) SetCreatedTime(v time.Time) *TemplateSummary { - s.CreatedTime = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAccountCustomizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAccountCustomizationInput"} + if s.AccountCustomization == nil { + invalidParams.Add(request.NewErrParamRequired("AccountCustomization")) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *TemplateSummary) SetLastUpdatedTime(v time.Time) *TemplateSummary { - s.LastUpdatedTime = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLatestVersionNumber sets the LatestVersionNumber field's value. -func (s *TemplateSummary) SetLatestVersionNumber(v int64) *TemplateSummary { - s.LatestVersionNumber = &v +// SetAccountCustomization sets the AccountCustomization field's value. +func (s *UpdateAccountCustomizationInput) SetAccountCustomization(v *AccountCustomization) *UpdateAccountCustomizationInput { + s.AccountCustomization = v return s } -// SetName sets the Name field's value. -func (s *TemplateSummary) SetName(v string) *TemplateSummary { - s.Name = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateAccountCustomizationInput) SetAwsAccountId(v string) *UpdateAccountCustomizationInput { + s.AwsAccountId = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *TemplateSummary) SetTemplateId(v string) *TemplateSummary { - s.TemplateId = &v +// SetNamespace sets the Namespace field's value. +func (s *UpdateAccountCustomizationInput) SetNamespace(v string) *UpdateAccountCustomizationInput { + s.Namespace = &v return s } -// A version of a template. -type TemplateVersion struct { +type UpdateAccountCustomizationOutput struct { _ struct{} `type:"structure"` - // The time that this template version was created. - CreatedTime *time.Time `type:"timestamp"` - - // Schema of the dataset identified by the placeholder. The idea is that any - // dashboard created from the template should be bound to new datasets matching - // the same schema described through this API. . - DataSetConfigurations []*DataSetConfiguration `type:"list"` + // The customizations associated with your QuickSight subscription. + AccountCustomization *AccountCustomization `type:"structure"` - // The description of the template. - Description *string `min:"1" type:"string"` + // The ID for the AWS account that you want to update QuickSight customizations + // for. + AwsAccountId *string `min:"12" type:"string"` - // Errors associated with the template. - Errors []*TemplateError `min:"1" type:"list"` + // The namespace associated with the customization that you're updating. + Namespace *string `type:"string"` - // The Amazon Resource Name (ARN) of the analysis or template which was used - // to create this template. - SourceEntityArn *string `type:"string"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` // The HTTP status of the request. - Status *string `type:"string" enum:"ResourceStatus"` - - // The version number of the template. - VersionNumber *int64 `min:"1" type:"long"` + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s TemplateVersion) String() string { +func (s UpdateAccountCustomizationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TemplateVersion) GoString() string { +func (s UpdateAccountCustomizationOutput) GoString() string { return s.String() } -// SetCreatedTime sets the CreatedTime field's value. -func (s *TemplateVersion) SetCreatedTime(v time.Time) *TemplateVersion { - s.CreatedTime = &v - return s -} - -// SetDataSetConfigurations sets the DataSetConfigurations field's value. -func (s *TemplateVersion) SetDataSetConfigurations(v []*DataSetConfiguration) *TemplateVersion { - s.DataSetConfigurations = v +// SetAccountCustomization sets the AccountCustomization field's value. +func (s *UpdateAccountCustomizationOutput) SetAccountCustomization(v *AccountCustomization) *UpdateAccountCustomizationOutput { + s.AccountCustomization = v return s } -// SetDescription sets the Description field's value. -func (s *TemplateVersion) SetDescription(v string) *TemplateVersion { - s.Description = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateAccountCustomizationOutput) SetAwsAccountId(v string) *UpdateAccountCustomizationOutput { + s.AwsAccountId = &v return s } -// SetErrors sets the Errors field's value. -func (s *TemplateVersion) SetErrors(v []*TemplateError) *TemplateVersion { - s.Errors = v +// SetNamespace sets the Namespace field's value. +func (s *UpdateAccountCustomizationOutput) SetNamespace(v string) *UpdateAccountCustomizationOutput { + s.Namespace = &v return s } -// SetSourceEntityArn sets the SourceEntityArn field's value. -func (s *TemplateVersion) SetSourceEntityArn(v string) *TemplateVersion { - s.SourceEntityArn = &v +// SetRequestId sets the RequestId field's value. +func (s *UpdateAccountCustomizationOutput) SetRequestId(v string) *UpdateAccountCustomizationOutput { + s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *TemplateVersion) SetStatus(v string) *TemplateVersion { +func (s *UpdateAccountCustomizationOutput) SetStatus(v int64) *UpdateAccountCustomizationOutput { s.Status = &v return s } -// SetVersionNumber sets the VersionNumber field's value. -func (s *TemplateVersion) SetVersionNumber(v int64) *TemplateVersion { - s.VersionNumber = &v - return s -} - -// The template version. -type TemplateVersionSummary struct { +type UpdateAccountSettingsInput struct { _ struct{} `type:"structure"` - // The ARN of the template version. - Arn *string `type:"string"` - - // The time that this template version was created. - CreatedTime *time.Time `type:"timestamp"` - - // The description of the template version. - Description *string `min:"1" type:"string"` + // The ID for the AWS account that contains the QuickSight namespaces that you + // want to list. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The status of the template version. - Status *string `type:"string" enum:"ResourceStatus"` + // The default namespace for this AWS Account. Currently, the default is default. + // IAM users who register for the first time with QuickSight provide an email + // that becomes associated with the default namespace. + // + // DefaultNamespace is a required field + DefaultNamespace *string `type:"string" required:"true"` - // The version number of the template version. - VersionNumber *int64 `min:"1" type:"long"` + // Email address used to send notifications regarding administration of QuickSight. + NotificationEmail *string `type:"string"` } // String returns the string representation -func (s TemplateVersionSummary) String() string { +func (s UpdateAccountSettingsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TemplateVersionSummary) GoString() string { +func (s UpdateAccountSettingsInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *TemplateVersionSummary) SetArn(v string) *TemplateVersionSummary { - s.Arn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAccountSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAccountSettingsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.DefaultNamespace == nil { + invalidParams.Add(request.NewErrParamRequired("DefaultNamespace")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateAccountSettingsInput) SetAwsAccountId(v string) *UpdateAccountSettingsInput { + s.AwsAccountId = &v return s } -// SetCreatedTime sets the CreatedTime field's value. -func (s *TemplateVersionSummary) SetCreatedTime(v time.Time) *TemplateVersionSummary { - s.CreatedTime = &v +// SetDefaultNamespace sets the DefaultNamespace field's value. +func (s *UpdateAccountSettingsInput) SetDefaultNamespace(v string) *UpdateAccountSettingsInput { + s.DefaultNamespace = &v return s } -// SetDescription sets the Description field's value. -func (s *TemplateVersionSummary) SetDescription(v string) *TemplateVersionSummary { - s.Description = &v +// SetNotificationEmail sets the NotificationEmail field's value. +func (s *UpdateAccountSettingsInput) SetNotificationEmail(v string) *UpdateAccountSettingsInput { + s.NotificationEmail = &v return s } -// SetStatus sets the Status field's value. -func (s *TemplateVersionSummary) SetStatus(v string) *TemplateVersionSummary { - s.Status = &v +type UpdateAccountSettingsOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s UpdateAccountSettingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAccountSettingsOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *UpdateAccountSettingsOutput) SetRequestId(v string) *UpdateAccountSettingsOutput { + s.RequestId = &v return s } -// SetVersionNumber sets the VersionNumber field's value. -func (s *TemplateVersionSummary) SetVersionNumber(v int64) *TemplateVersionSummary { - s.VersionNumber = &v +// SetStatus sets the Status field's value. +func (s *UpdateAccountSettingsOutput) SetStatus(v int64) *UpdateAccountSettingsOutput { + s.Status = &v return s } -// Teradata parameters. -type TeradataParameters struct { +type UpdateDashboardInput struct { _ struct{} `type:"structure"` - // Database. + // The ID of the AWS account that contains the dashboard that you're updating. // - // Database is a required field - Database *string `min:"1" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Host. + // The ID for the dashboard. // - // Host is a required field - Host *string `min:"1" type:"string" required:"true"` + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` - // Port. + // Options for publishing the dashboard when you create it: // - // Port is a required field - Port *int64 `min:"1" type:"integer" required:"true"` + // * AvailabilityStatus for AdHocFilteringOption - This status can be either + // ENABLED or DISABLED. When this is set to DISABLED, QuickSight disables + // the left filter pane on the published dashboard, which can be used for + // ad hoc (one-time) filtering. This option is ENABLED by default. + // + // * AvailabilityStatus for ExportToCSVOption - This status can be either + // ENABLED or DISABLED. The visual option to export data to .csv format isn't + // enabled when this is set to DISABLED. This option is ENABLED by default. + // + // * VisibilityState for SheetControlsOption - This visibility state can + // be either COLLAPSED or EXPANDED. This option is COLLAPSED by default. + DashboardPublishOptions *DashboardPublishOptions `type:"structure"` + + // The display name of the dashboard. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A structure that contains the parameters of the dashboard. These are parameter + // overrides for a dashboard. A dashboard can have any type of parameters, and + // some parameters might accept multiple values. + Parameters *Parameters `type:"structure"` + + // The entity that you are using as a source when you update the dashboard. + // In SourceEntity, you specify the type of object you're using as source. You + // can only update a dashboard from a template, so you use a SourceTemplate + // entity. If you need to update a dashboard from an analysis, first convert + // the analysis to a template by using the CreateTemplate API operation. For + // SourceTemplate, specify the Amazon Resource Name (ARN) of the source template. + // The SourceTemplate ARN can contain any AWS Account and any QuickSight-supported + // AWS Region. + // + // Use the DataSetReferences entity within SourceTemplate to list the replacement + // datasets for the placeholders listed in the original. The schema in each + // dataset must match its placeholder. + // + // SourceEntity is a required field + SourceEntity *DashboardSourceEntity `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. + // If you add a value for this field, it overrides the value that was originally + // associated with the entity. The theme ARN must exist in the same AWS account + // where you create the dashboard. + ThemeArn *string `type:"string"` + + // A description for the first version of the dashboard being created. + VersionDescription *string `min:"1" type:"string"` } // String returns the string representation -func (s TeradataParameters) String() string { +func (s UpdateDashboardInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TeradataParameters) GoString() string { +func (s UpdateDashboardInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TeradataParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TeradataParameters"} - if s.Database == nil { - invalidParams.Add(request.NewErrParamRequired("Database")) +func (s *UpdateDashboardInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.Database != nil && len(*s.Database) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Database", 1)) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Host == nil { - invalidParams.Add(request.NewErrParamRequired("Host")) + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) } - if s.Host != nil && len(*s.Host) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Host", 1)) + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) } - if s.Port == nil { - invalidParams.Add(request.NewErrParamRequired("Port")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.Port != nil && *s.Port < 1 { - invalidParams.Add(request.NewErrParamMinValue("Port", 1)) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.SourceEntity == nil { + invalidParams.Add(request.NewErrParamRequired("SourceEntity")) + } + if s.VersionDescription != nil && len(*s.VersionDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) + } + if s.Parameters != nil { + if err := s.Parameters.Validate(); err != nil { + invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams)) + } + } + if s.SourceEntity != nil { + if err := s.SourceEntity.Validate(); err != nil { + invalidParams.AddNested("SourceEntity", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -20494,234 +27348,187 @@ func (s *TeradataParameters) Validate() error { return nil } -// SetDatabase sets the Database field's value. -func (s *TeradataParameters) SetDatabase(v string) *TeradataParameters { - s.Database = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateDashboardInput) SetAwsAccountId(v string) *UpdateDashboardInput { + s.AwsAccountId = &v return s } -// SetHost sets the Host field's value. -func (s *TeradataParameters) SetHost(v string) *TeradataParameters { - s.Host = &v +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardInput) SetDashboardId(v string) *UpdateDashboardInput { + s.DashboardId = &v return s } -// SetPort sets the Port field's value. -func (s *TeradataParameters) SetPort(v int64) *TeradataParameters { - s.Port = &v +// SetDashboardPublishOptions sets the DashboardPublishOptions field's value. +func (s *UpdateDashboardInput) SetDashboardPublishOptions(v *DashboardPublishOptions) *UpdateDashboardInput { + s.DashboardPublishOptions = v return s } -// Access is throttled. -type ThrottlingException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"Message" type:"string"` - - // The AWS request ID for this request. - RequestId *string `type:"string"` -} - -// String returns the string representation -func (s ThrottlingException) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ThrottlingException) GoString() string { - return s.String() -} - -func newErrorThrottlingException(v protocol.ResponseMetadata) error { - return &ThrottlingException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *ThrottlingException) Code() string { - return "ThrottlingException" -} - -// Message returns the exception's message. -func (s *ThrottlingException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetName sets the Name field's value. +func (s *UpdateDashboardInput) SetName(v string) *UpdateDashboardInput { + s.Name = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ThrottlingException) OrigErr() error { - return nil +// SetParameters sets the Parameters field's value. +func (s *UpdateDashboardInput) SetParameters(v *Parameters) *UpdateDashboardInput { + s.Parameters = v + return s } -func (s *ThrottlingException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetSourceEntity sets the SourceEntity field's value. +func (s *UpdateDashboardInput) SetSourceEntity(v *DashboardSourceEntity) *UpdateDashboardInput { + s.SourceEntity = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ThrottlingException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetThemeArn sets the ThemeArn field's value. +func (s *UpdateDashboardInput) SetThemeArn(v string) *UpdateDashboardInput { + s.ThemeArn = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ThrottlingException) RequestID() string { - return s.RespMetadata.RequestID +// SetVersionDescription sets the VersionDescription field's value. +func (s *UpdateDashboardInput) SetVersionDescription(v string) *UpdateDashboardInput { + s.VersionDescription = &v + return s } -// A data transformation on a logical table. This is a variant type structure. -// For this structure to be valid, only one of the attributes can be non-null. -type TransformOperation struct { +type UpdateDashboardOutput struct { _ struct{} `type:"structure"` - // A transform operation that casts a column to a different type. - CastColumnTypeOperation *CastColumnTypeOperation `type:"structure"` + // The Amazon Resource Name (ARN) of the resource. + Arn *string `type:"string"` - // An operation that creates calculated columns. Columns created in one such - // operation form a lexical closure. - CreateColumnsOperation *CreateColumnsOperation `type:"structure"` + // The creation status of the request. + CreationStatus *string `type:"string" enum:"ResourceStatus"` - // An operation that filters rows based on some condition. - FilterOperation *FilterOperation `type:"structure"` + // The ID for the dashboard. + DashboardId *string `min:"1" type:"string"` - // An operation that projects columns. Operations that come after a projection - // can only refer to projected columns. - ProjectOperation *ProjectOperation `type:"structure"` + // The AWS request ID for this operation. + RequestId *string `type:"string"` - // An operation that renames a column. - RenameColumnOperation *RenameColumnOperation `type:"structure"` + // The HTTP status of the request. + Status *int64 `type:"integer"` - // An operation that tags a column with additional information. - TagColumnOperation *TagColumnOperation `type:"structure"` + // The ARN of the dashboard, including the version number. + VersionArn *string `type:"string"` } // String returns the string representation -func (s TransformOperation) String() string { +func (s UpdateDashboardOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TransformOperation) GoString() string { +func (s UpdateDashboardOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *TransformOperation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TransformOperation"} - if s.CastColumnTypeOperation != nil { - if err := s.CastColumnTypeOperation.Validate(); err != nil { - invalidParams.AddNested("CastColumnTypeOperation", err.(request.ErrInvalidParams)) - } - } - if s.CreateColumnsOperation != nil { - if err := s.CreateColumnsOperation.Validate(); err != nil { - invalidParams.AddNested("CreateColumnsOperation", err.(request.ErrInvalidParams)) - } - } - if s.FilterOperation != nil { - if err := s.FilterOperation.Validate(); err != nil { - invalidParams.AddNested("FilterOperation", err.(request.ErrInvalidParams)) - } - } - if s.ProjectOperation != nil { - if err := s.ProjectOperation.Validate(); err != nil { - invalidParams.AddNested("ProjectOperation", err.(request.ErrInvalidParams)) - } - } - if s.RenameColumnOperation != nil { - if err := s.RenameColumnOperation.Validate(); err != nil { - invalidParams.AddNested("RenameColumnOperation", err.(request.ErrInvalidParams)) - } - } - if s.TagColumnOperation != nil { - if err := s.TagColumnOperation.Validate(); err != nil { - invalidParams.AddNested("TagColumnOperation", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetCastColumnTypeOperation sets the CastColumnTypeOperation field's value. -func (s *TransformOperation) SetCastColumnTypeOperation(v *CastColumnTypeOperation) *TransformOperation { - s.CastColumnTypeOperation = v +// SetArn sets the Arn field's value. +func (s *UpdateDashboardOutput) SetArn(v string) *UpdateDashboardOutput { + s.Arn = &v return s } -// SetCreateColumnsOperation sets the CreateColumnsOperation field's value. -func (s *TransformOperation) SetCreateColumnsOperation(v *CreateColumnsOperation) *TransformOperation { - s.CreateColumnsOperation = v +// SetCreationStatus sets the CreationStatus field's value. +func (s *UpdateDashboardOutput) SetCreationStatus(v string) *UpdateDashboardOutput { + s.CreationStatus = &v return s } -// SetFilterOperation sets the FilterOperation field's value. -func (s *TransformOperation) SetFilterOperation(v *FilterOperation) *TransformOperation { - s.FilterOperation = v +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardOutput) SetDashboardId(v string) *UpdateDashboardOutput { + s.DashboardId = &v return s } -// SetProjectOperation sets the ProjectOperation field's value. -func (s *TransformOperation) SetProjectOperation(v *ProjectOperation) *TransformOperation { - s.ProjectOperation = v +// SetRequestId sets the RequestId field's value. +func (s *UpdateDashboardOutput) SetRequestId(v string) *UpdateDashboardOutput { + s.RequestId = &v return s } -// SetRenameColumnOperation sets the RenameColumnOperation field's value. -func (s *TransformOperation) SetRenameColumnOperation(v *RenameColumnOperation) *TransformOperation { - s.RenameColumnOperation = v +// SetStatus sets the Status field's value. +func (s *UpdateDashboardOutput) SetStatus(v int64) *UpdateDashboardOutput { + s.Status = &v return s } -// SetTagColumnOperation sets the TagColumnOperation field's value. -func (s *TransformOperation) SetTagColumnOperation(v *TagColumnOperation) *TransformOperation { - s.TagColumnOperation = v +// SetVersionArn sets the VersionArn field's value. +func (s *UpdateDashboardOutput) SetVersionArn(v string) *UpdateDashboardOutput { + s.VersionArn = &v return s } -// Twitter parameters. -type TwitterParameters struct { +type UpdateDashboardPermissionsInput struct { _ struct{} `type:"structure"` - // Maximum number of rows to query Twitter. + // The ID of the AWS account that contains the dashboard whose permissions you're + // updating. // - // MaxRows is a required field - MaxRows *int64 `min:"1" type:"integer" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Twitter query string. + // The ID for the dashboard. // - // Query is a required field - Query *string `min:"1" type:"string" required:"true"` + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + + // The permissions that you want to grant on this resource. + GrantPermissions []*ResourcePermission `type:"list"` + + // The permissions that you want to revoke from this resource. + RevokePermissions []*ResourcePermission `type:"list"` } // String returns the string representation -func (s TwitterParameters) String() string { +func (s UpdateDashboardPermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TwitterParameters) GoString() string { +func (s UpdateDashboardPermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TwitterParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TwitterParameters"} - if s.MaxRows == nil { - invalidParams.Add(request.NewErrParamRequired("MaxRows")) +func (s *UpdateDashboardPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardPermissionsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.MaxRows != nil && *s.MaxRows < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxRows", 1)) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Query == nil { - invalidParams.Add(request.NewErrParamRequired("Query")) + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) } - if s.Query != nil && len(*s.Query) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Query", 1)) + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + } + if s.GrantPermissions != nil { + for i, v := range s.GrantPermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GrantPermissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RevokePermissions != nil { + for i, v := range s.RevokePermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RevokePermissions", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -20730,119 +27537,138 @@ func (s *TwitterParameters) Validate() error { return nil } -// SetMaxRows sets the MaxRows field's value. -func (s *TwitterParameters) SetMaxRows(v int64) *TwitterParameters { - s.MaxRows = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateDashboardPermissionsInput) SetAwsAccountId(v string) *UpdateDashboardPermissionsInput { + s.AwsAccountId = &v return s } -// SetQuery sets the Query field's value. -func (s *TwitterParameters) SetQuery(v string) *TwitterParameters { - s.Query = &v +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardPermissionsInput) SetDashboardId(v string) *UpdateDashboardPermissionsInput { + s.DashboardId = &v return s } -// This error indicates that you are calling an operation on an Amazon QuickSight -// subscription where the edition doesn't include support for that operation. -// Amazon QuickSight currently has Standard Edition and Enterprise Edition. -// Not every operation and capability is available in every edition. -type UnsupportedUserEditionException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetGrantPermissions sets the GrantPermissions field's value. +func (s *UpdateDashboardPermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateDashboardPermissionsInput { + s.GrantPermissions = v + return s +} - Message_ *string `locationName:"Message" type:"string"` +// SetRevokePermissions sets the RevokePermissions field's value. +func (s *UpdateDashboardPermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateDashboardPermissionsInput { + s.RevokePermissions = v + return s +} - // The AWS request ID for this request. +type UpdateDashboardPermissionsOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the dashboard. + DashboardArn *string `type:"string"` + + // The ID for the dashboard. + DashboardId *string `min:"1" type:"string"` + + // Information about the permissions on the dashboard. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // The AWS request ID for this operation. RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s UnsupportedUserEditionException) String() string { +func (s UpdateDashboardPermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UnsupportedUserEditionException) GoString() string { +func (s UpdateDashboardPermissionsOutput) GoString() string { return s.String() } -func newErrorUnsupportedUserEditionException(v protocol.ResponseMetadata) error { - return &UnsupportedUserEditionException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *UnsupportedUserEditionException) Code() string { - return "UnsupportedUserEditionException" -} - -// Message returns the exception's message. -func (s *UnsupportedUserEditionException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetDashboardArn sets the DashboardArn field's value. +func (s *UpdateDashboardPermissionsOutput) SetDashboardArn(v string) *UpdateDashboardPermissionsOutput { + s.DashboardArn = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *UnsupportedUserEditionException) OrigErr() error { - return nil +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardPermissionsOutput) SetDashboardId(v string) *UpdateDashboardPermissionsOutput { + s.DashboardId = &v + return s } -func (s *UnsupportedUserEditionException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetPermissions sets the Permissions field's value. +func (s *UpdateDashboardPermissionsOutput) SetPermissions(v []*ResourcePermission) *UpdateDashboardPermissionsOutput { + s.Permissions = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *UnsupportedUserEditionException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetRequestId sets the RequestId field's value. +func (s *UpdateDashboardPermissionsOutput) SetRequestId(v string) *UpdateDashboardPermissionsOutput { + s.RequestId = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *UnsupportedUserEditionException) RequestID() string { - return s.RespMetadata.RequestID +// SetStatus sets the Status field's value. +func (s *UpdateDashboardPermissionsOutput) SetStatus(v int64) *UpdateDashboardPermissionsOutput { + s.Status = &v + return s } -type UntagResourceInput struct { +type UpdateDashboardPublishedVersionInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource that you want to untag. + // The ID of the AWS account that contains the dashboard that you're updating. // - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The keys of the key-value pairs for the resource tag or tags assigned to - // the resource. + // The ID for the dashboard. // - // TagKeys is a required field - TagKeys []*string `location:"querystring" locationName:"keys" min:"1" type:"list" required:"true"` + // DashboardId is a required field + DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + + // The version number of the dashboard. + // + // VersionNumber is a required field + VersionNumber *int64 `location:"uri" locationName:"VersionNumber" min:"1" type:"long" required:"true"` } // String returns the string representation -func (s UntagResourceInput) String() string { +func (s UpdateDashboardPublishedVersionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UntagResourceInput) GoString() string { +func (s UpdateDashboardPublishedVersionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UntagResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) +func (s *UpdateDashboardPublishedVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardPublishedVersionInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) + if s.DashboardId == nil { + invalidParams.Add(request.NewErrParamRequired("DashboardId")) } - if s.TagKeys != nil && len(s.TagKeys) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) + if s.DashboardId != nil && len(*s.DashboardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + } + if s.VersionNumber == nil { + invalidParams.Add(request.NewErrParamRequired("VersionNumber")) + } + if s.VersionNumber != nil && *s.VersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) } if invalidParams.Len() > 0 { @@ -20851,21 +27677,33 @@ func (s *UntagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { - s.ResourceArn = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateDashboardPublishedVersionInput) SetAwsAccountId(v string) *UpdateDashboardPublishedVersionInput { + s.AwsAccountId = &v return s } -// SetTagKeys sets the TagKeys field's value. -func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { - s.TagKeys = v +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardPublishedVersionInput) SetDashboardId(v string) *UpdateDashboardPublishedVersionInput { + s.DashboardId = &v return s } -type UntagResourceOutput struct { +// SetVersionNumber sets the VersionNumber field's value. +func (s *UpdateDashboardPublishedVersionInput) SetVersionNumber(v int64) *UpdateDashboardPublishedVersionInput { + s.VersionNumber = &v + return s +} + +type UpdateDashboardPublishedVersionOutput struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the dashboard. + DashboardArn *string `type:"string"` + + // The ID for the dashboard. + DashboardId *string `min:"1" type:"string"` + // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -20874,101 +27712,113 @@ type UntagResourceOutput struct { } // String returns the string representation -func (s UntagResourceOutput) String() string { +func (s UpdateDashboardPublishedVersionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UntagResourceOutput) GoString() string { +func (s UpdateDashboardPublishedVersionOutput) GoString() string { return s.String() } +// SetDashboardArn sets the DashboardArn field's value. +func (s *UpdateDashboardPublishedVersionOutput) SetDashboardArn(v string) *UpdateDashboardPublishedVersionOutput { + s.DashboardArn = &v + return s +} + +// SetDashboardId sets the DashboardId field's value. +func (s *UpdateDashboardPublishedVersionOutput) SetDashboardId(v string) *UpdateDashboardPublishedVersionOutput { + s.DashboardId = &v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *UntagResourceOutput) SetRequestId(v string) *UntagResourceOutput { +func (s *UpdateDashboardPublishedVersionOutput) SetRequestId(v string) *UpdateDashboardPublishedVersionOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UntagResourceOutput) SetStatus(v int64) *UntagResourceOutput { +func (s *UpdateDashboardPublishedVersionOutput) SetStatus(v int64) *UpdateDashboardPublishedVersionOutput { s.Status = &v return s } -type UpdateDashboardInput struct { +type UpdateDataSetInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the dashboard that you're updating. + // The AWS account ID. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the dashboard. - // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + // Groupings of columns that work together in certain QuickSight features. Currently, + // only geospatial hierarchy is supported. + ColumnGroups []*ColumnGroup `min:"1" type:"list"` - // Options for publishing the dashboard when you create it: - // - // * AvailabilityStatus for AdHocFilteringOption - This status can be either - // ENABLED or DISABLED. When this is set to DISABLED, QuickSight disables - // the left filter pane on the published dashboard, which can be used for - // ad hoc (one-time) filtering. This option is ENABLED by default. + // The ID for the dataset that you want to update. This ID is unique per AWS + // Region for each AWS account. // - // * AvailabilityStatus for ExportToCSVOption - This status can be either - // ENABLED or DISABLED. The visual option to export data to .csv format isn't - // enabled when this is set to DISABLED. This option is ENABLED by default. + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + + // Indicates whether you want to import the data into SPICE. // - // * VisibilityState for SheetControlsOption - This visibility state can - // be either COLLAPSED or EXPANDED. The sheet controls pane is collapsed - // by default when set to true. This option is COLLAPSED by default. - DashboardPublishOptions *DashboardPublishOptions `type:"structure"` + // ImportMode is a required field + ImportMode *string `type:"string" required:"true" enum:"DataSetImportMode"` - // The display name of the dashboard. + // Configures the combination and transformation of the data from the physical + // tables. + LogicalTableMap map[string]*LogicalTable `min:"1" type:"map"` + + // The display name for the dataset. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // A structure that contains the parameters of the dashboard. - Parameters *Parameters `type:"structure"` - - // The template or analysis from which the dashboard is created. The SouceTemplate - // entity accepts the Amazon Resource Name (ARN) of the template and also references - // to replacement datasets for the placeholders set when creating the template. - // The replacement datasets need to follow the same schema as the datasets for - // which placeholders were created when creating the template. + // Declares the physical tables that are available in the underlying data sources. // - // SourceEntity is a required field - SourceEntity *DashboardSourceEntity `type:"structure" required:"true"` + // PhysicalTableMap is a required field + PhysicalTableMap map[string]*PhysicalTable `min:"1" type:"map" required:"true"` - // A description for the first version of the dashboard being created. - VersionDescription *string `min:"1" type:"string"` + // The row-level security configuration for the data you want to create. + RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` } // String returns the string representation -func (s UpdateDashboardInput) String() string { +func (s UpdateDataSetInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDashboardInput) GoString() string { +func (s UpdateDataSetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateDashboardInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardInput"} +func (s *UpdateDataSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDataSetInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DashboardId == nil { - invalidParams.Add(request.NewErrParamRequired("DashboardId")) + if s.ColumnGroups != nil && len(s.ColumnGroups) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnGroups", 1)) } - if s.DashboardId != nil && len(*s.DashboardId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) + } + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + } + if s.ImportMode == nil { + invalidParams.Add(request.NewErrParamRequired("ImportMode")) + } + if s.LogicalTableMap != nil && len(s.LogicalTableMap) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogicalTableMap", 1)) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) @@ -20976,20 +27826,45 @@ func (s *UpdateDashboardInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.SourceEntity == nil { - invalidParams.Add(request.NewErrParamRequired("SourceEntity")) + if s.PhysicalTableMap == nil { + invalidParams.Add(request.NewErrParamRequired("PhysicalTableMap")) } - if s.VersionDescription != nil && len(*s.VersionDescription) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) + if s.PhysicalTableMap != nil && len(s.PhysicalTableMap) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PhysicalTableMap", 1)) } - if s.Parameters != nil { - if err := s.Parameters.Validate(); err != nil { - invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams)) + if s.ColumnGroups != nil { + for i, v := range s.ColumnGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ColumnGroups", i), err.(request.ErrInvalidParams)) + } + } + } + if s.LogicalTableMap != nil { + for i, v := range s.LogicalTableMap { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LogicalTableMap", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PhysicalTableMap != nil { + for i, v := range s.PhysicalTableMap { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PhysicalTableMap", i), err.(request.ErrInvalidParams)) + } } } - if s.SourceEntity != nil { - if err := s.SourceEntity.Validate(); err != nil { - invalidParams.AddNested("SourceEntity", err.(request.ErrInvalidParams)) + if s.RowLevelPermissionDataSet != nil { + if err := s.RowLevelPermissionDataSet.Validate(); err != nil { + invalidParams.AddNested("RowLevelPermissionDataSet", err.(request.ErrInvalidParams)) } } @@ -21000,160 +27875,169 @@ func (s *UpdateDashboardInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateDashboardInput) SetAwsAccountId(v string) *UpdateDashboardInput { +func (s *UpdateDataSetInput) SetAwsAccountId(v string) *UpdateDataSetInput { s.AwsAccountId = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *UpdateDashboardInput) SetDashboardId(v string) *UpdateDashboardInput { - s.DashboardId = &v +// SetColumnGroups sets the ColumnGroups field's value. +func (s *UpdateDataSetInput) SetColumnGroups(v []*ColumnGroup) *UpdateDataSetInput { + s.ColumnGroups = v return s } -// SetDashboardPublishOptions sets the DashboardPublishOptions field's value. -func (s *UpdateDashboardInput) SetDashboardPublishOptions(v *DashboardPublishOptions) *UpdateDashboardInput { - s.DashboardPublishOptions = v +// SetDataSetId sets the DataSetId field's value. +func (s *UpdateDataSetInput) SetDataSetId(v string) *UpdateDataSetInput { + s.DataSetId = &v return s } -// SetName sets the Name field's value. -func (s *UpdateDashboardInput) SetName(v string) *UpdateDashboardInput { - s.Name = &v +// SetImportMode sets the ImportMode field's value. +func (s *UpdateDataSetInput) SetImportMode(v string) *UpdateDataSetInput { + s.ImportMode = &v return s } -// SetParameters sets the Parameters field's value. -func (s *UpdateDashboardInput) SetParameters(v *Parameters) *UpdateDashboardInput { - s.Parameters = v +// SetLogicalTableMap sets the LogicalTableMap field's value. +func (s *UpdateDataSetInput) SetLogicalTableMap(v map[string]*LogicalTable) *UpdateDataSetInput { + s.LogicalTableMap = v return s } -// SetSourceEntity sets the SourceEntity field's value. -func (s *UpdateDashboardInput) SetSourceEntity(v *DashboardSourceEntity) *UpdateDashboardInput { - s.SourceEntity = v +// SetName sets the Name field's value. +func (s *UpdateDataSetInput) SetName(v string) *UpdateDataSetInput { + s.Name = &v return s } -// SetVersionDescription sets the VersionDescription field's value. -func (s *UpdateDashboardInput) SetVersionDescription(v string) *UpdateDashboardInput { - s.VersionDescription = &v +// SetPhysicalTableMap sets the PhysicalTableMap field's value. +func (s *UpdateDataSetInput) SetPhysicalTableMap(v map[string]*PhysicalTable) *UpdateDataSetInput { + s.PhysicalTableMap = v return s } -type UpdateDashboardOutput struct { +// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. +func (s *UpdateDataSetInput) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *UpdateDataSetInput { + s.RowLevelPermissionDataSet = v + return s +} + +type UpdateDataSetOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource. + // The Amazon Resource Name (ARN) of the dataset. Arn *string `type:"string"` - // The creation status of the request. - CreationStatus *string `type:"string" enum:"ResourceStatus"` + // The ID for the dataset that you want to create. This ID is unique per AWS + // Region for each AWS account. + DataSetId *string `type:"string"` - // The ID for the dashboard. - DashboardId *string `min:"1" type:"string"` + // The ARN for the ingestion, which is triggered as a result of dataset creation + // if the import mode is SPICE. + IngestionArn *string `type:"string"` + + // The ID of the ingestion, which is triggered as a result of dataset creation + // if the import mode is SPICE. + IngestionId *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. - Status *int64 `type:"integer"` - - // The ARN of the dashboard, including the version number. - VersionArn *string `type:"string"` + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s UpdateDashboardOutput) String() string { +func (s UpdateDataSetOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDashboardOutput) GoString() string { +func (s UpdateDataSetOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *UpdateDashboardOutput) SetArn(v string) *UpdateDashboardOutput { +func (s *UpdateDataSetOutput) SetArn(v string) *UpdateDataSetOutput { s.Arn = &v return s } -// SetCreationStatus sets the CreationStatus field's value. -func (s *UpdateDashboardOutput) SetCreationStatus(v string) *UpdateDashboardOutput { - s.CreationStatus = &v +// SetDataSetId sets the DataSetId field's value. +func (s *UpdateDataSetOutput) SetDataSetId(v string) *UpdateDataSetOutput { + s.DataSetId = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *UpdateDashboardOutput) SetDashboardId(v string) *UpdateDashboardOutput { - s.DashboardId = &v +// SetIngestionArn sets the IngestionArn field's value. +func (s *UpdateDataSetOutput) SetIngestionArn(v string) *UpdateDataSetOutput { + s.IngestionArn = &v + return s +} + +// SetIngestionId sets the IngestionId field's value. +func (s *UpdateDataSetOutput) SetIngestionId(v string) *UpdateDataSetOutput { + s.IngestionId = &v return s } // SetRequestId sets the RequestId field's value. -func (s *UpdateDashboardOutput) SetRequestId(v string) *UpdateDashboardOutput { +func (s *UpdateDataSetOutput) SetRequestId(v string) *UpdateDataSetOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateDashboardOutput) SetStatus(v int64) *UpdateDashboardOutput { +func (s *UpdateDataSetOutput) SetStatus(v int64) *UpdateDataSetOutput { s.Status = &v return s } -// SetVersionArn sets the VersionArn field's value. -func (s *UpdateDashboardOutput) SetVersionArn(v string) *UpdateDashboardOutput { - s.VersionArn = &v - return s -} - -type UpdateDashboardPermissionsInput struct { +type UpdateDataSetPermissionsInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the dashboard whose permissions you're - // updating. + // The AWS account ID. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the dashboard. + // The ID for the dataset whose permissions you want to update. This ID is unique + // per AWS Region for each AWS account. // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + // DataSetId is a required field + DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` - // The permissions that you want to grant on this resource. + // The resource permissions that you want to grant to the dataset. GrantPermissions []*ResourcePermission `min:"1" type:"list"` - // The permissions that you want to revoke from this resource. + // The resource permissions that you want to revoke from the dataset. RevokePermissions []*ResourcePermission `min:"1" type:"list"` } // String returns the string representation -func (s UpdateDashboardPermissionsInput) String() string { +func (s UpdateDataSetPermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDashboardPermissionsInput) GoString() string { +func (s UpdateDataSetPermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateDashboardPermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardPermissionsInput"} +func (s *UpdateDataSetPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDataSetPermissionsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DashboardId == nil { - invalidParams.Add(request.NewErrParamRequired("DashboardId")) + if s.DataSetId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetId")) } - if s.DashboardId != nil && len(*s.DashboardId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + if s.DataSetId != nil && len(*s.DataSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) } if s.GrantPermissions != nil && len(s.GrantPermissions) < 1 { invalidParams.Add(request.NewErrParamMinLen("GrantPermissions", 1)) @@ -21189,40 +28073,38 @@ func (s *UpdateDashboardPermissionsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateDashboardPermissionsInput) SetAwsAccountId(v string) *UpdateDashboardPermissionsInput { +func (s *UpdateDataSetPermissionsInput) SetAwsAccountId(v string) *UpdateDataSetPermissionsInput { s.AwsAccountId = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *UpdateDashboardPermissionsInput) SetDashboardId(v string) *UpdateDashboardPermissionsInput { - s.DashboardId = &v +// SetDataSetId sets the DataSetId field's value. +func (s *UpdateDataSetPermissionsInput) SetDataSetId(v string) *UpdateDataSetPermissionsInput { + s.DataSetId = &v return s } // SetGrantPermissions sets the GrantPermissions field's value. -func (s *UpdateDashboardPermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateDashboardPermissionsInput { +func (s *UpdateDataSetPermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateDataSetPermissionsInput { s.GrantPermissions = v return s } // SetRevokePermissions sets the RevokePermissions field's value. -func (s *UpdateDashboardPermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateDashboardPermissionsInput { +func (s *UpdateDataSetPermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateDataSetPermissionsInput { s.RevokePermissions = v return s } -type UpdateDashboardPermissionsOutput struct { +type UpdateDataSetPermissionsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dashboard. - DashboardArn *string `type:"string"` - - // The ID for the dashboard. - DashboardId *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the dataset. + DataSetArn *string `type:"string"` - // Information about the permissions on the dashboard. - Permissions []*ResourcePermission `min:"1" type:"list"` + // The ID for the dataset whose permissions you want to update. This ID is unique + // per AWS Region for each AWS account. + DataSetId *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -21232,94 +28114,119 @@ type UpdateDashboardPermissionsOutput struct { } // String returns the string representation -func (s UpdateDashboardPermissionsOutput) String() string { +func (s UpdateDataSetPermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDashboardPermissionsOutput) GoString() string { +func (s UpdateDataSetPermissionsOutput) GoString() string { return s.String() } -// SetDashboardArn sets the DashboardArn field's value. -func (s *UpdateDashboardPermissionsOutput) SetDashboardArn(v string) *UpdateDashboardPermissionsOutput { - s.DashboardArn = &v - return s -} - -// SetDashboardId sets the DashboardId field's value. -func (s *UpdateDashboardPermissionsOutput) SetDashboardId(v string) *UpdateDashboardPermissionsOutput { - s.DashboardId = &v +// SetDataSetArn sets the DataSetArn field's value. +func (s *UpdateDataSetPermissionsOutput) SetDataSetArn(v string) *UpdateDataSetPermissionsOutput { + s.DataSetArn = &v return s } -// SetPermissions sets the Permissions field's value. -func (s *UpdateDashboardPermissionsOutput) SetPermissions(v []*ResourcePermission) *UpdateDashboardPermissionsOutput { - s.Permissions = v +// SetDataSetId sets the DataSetId field's value. +func (s *UpdateDataSetPermissionsOutput) SetDataSetId(v string) *UpdateDataSetPermissionsOutput { + s.DataSetId = &v return s } // SetRequestId sets the RequestId field's value. -func (s *UpdateDashboardPermissionsOutput) SetRequestId(v string) *UpdateDashboardPermissionsOutput { +func (s *UpdateDataSetPermissionsOutput) SetRequestId(v string) *UpdateDataSetPermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateDashboardPermissionsOutput) SetStatus(v int64) *UpdateDashboardPermissionsOutput { +func (s *UpdateDataSetPermissionsOutput) SetStatus(v int64) *UpdateDataSetPermissionsOutput { s.Status = &v return s } -type UpdateDashboardPublishedVersionInput struct { +type UpdateDataSourceInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the dashboard that you're updating. + // The AWS account ID. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the dashboard. + // The credentials that QuickSight that uses to connect to your underlying source. + // Currently, only credentials based on user name and password are supported. + Credentials *DataSourceCredentials `type:"structure" sensitive:"true"` + + // The ID of the data source. This ID is unique per AWS Region for each AWS + // account. // - // DashboardId is a required field - DashboardId *string `location:"uri" locationName:"DashboardId" min:"1" type:"string" required:"true"` + // DataSourceId is a required field + DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` - // The version number of the dashboard. + // The parameters that QuickSight uses to connect to your underlying source. + DataSourceParameters *DataSourceParameters `type:"structure"` + + // A display name for the data source. // - // VersionNumber is a required field - VersionNumber *int64 `location:"uri" locationName:"VersionNumber" min:"1" type:"long" required:"true"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Secure Socket Layer (SSL) properties that apply when QuickSight connects + // to your underlying source. + SslProperties *SslProperties `type:"structure"` + + // Use this parameter only when you want QuickSight to use a VPC connection + // when connecting to your underlying source. + VpcConnectionProperties *VpcConnectionProperties `type:"structure"` } // String returns the string representation -func (s UpdateDashboardPublishedVersionInput) String() string { +func (s UpdateDataSourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDashboardPublishedVersionInput) GoString() string { +func (s UpdateDataSourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateDashboardPublishedVersionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardPublishedVersionInput"} +func (s *UpdateDataSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDataSourceInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DashboardId == nil { - invalidParams.Add(request.NewErrParamRequired("DashboardId")) + if s.DataSourceId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceId")) } - if s.DashboardId != nil && len(*s.DashboardId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DashboardId", 1)) + if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) } - if s.VersionNumber == nil { - invalidParams.Add(request.NewErrParamRequired("VersionNumber")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Credentials != nil { + if err := s.Credentials.Validate(); err != nil { + invalidParams.AddNested("Credentials", err.(request.ErrInvalidParams)) + } + } + if s.DataSourceParameters != nil { + if err := s.DataSourceParameters.Validate(); err != nil { + invalidParams.AddNested("DataSourceParameters", err.(request.ErrInvalidParams)) + } } - if s.VersionNumber != nil && *s.VersionNumber < 1 { - invalidParams.Add(request.NewErrParamMinValue("VersionNumber", 1)) + if s.VpcConnectionProperties != nil { + if err := s.VpcConnectionProperties.Validate(); err != nil { + invalidParams.AddNested("VpcConnectionProperties", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -21329,74 +28236,108 @@ func (s *UpdateDashboardPublishedVersionInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateDashboardPublishedVersionInput) SetAwsAccountId(v string) *UpdateDashboardPublishedVersionInput { +func (s *UpdateDataSourceInput) SetAwsAccountId(v string) *UpdateDataSourceInput { s.AwsAccountId = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *UpdateDashboardPublishedVersionInput) SetDashboardId(v string) *UpdateDashboardPublishedVersionInput { - s.DashboardId = &v +// SetCredentials sets the Credentials field's value. +func (s *UpdateDataSourceInput) SetCredentials(v *DataSourceCredentials) *UpdateDataSourceInput { + s.Credentials = v return s } -// SetVersionNumber sets the VersionNumber field's value. -func (s *UpdateDashboardPublishedVersionInput) SetVersionNumber(v int64) *UpdateDashboardPublishedVersionInput { - s.VersionNumber = &v +// SetDataSourceId sets the DataSourceId field's value. +func (s *UpdateDataSourceInput) SetDataSourceId(v string) *UpdateDataSourceInput { + s.DataSourceId = &v return s } -type UpdateDashboardPublishedVersionOutput struct { +// SetDataSourceParameters sets the DataSourceParameters field's value. +func (s *UpdateDataSourceInput) SetDataSourceParameters(v *DataSourceParameters) *UpdateDataSourceInput { + s.DataSourceParameters = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateDataSourceInput) SetName(v string) *UpdateDataSourceInput { + s.Name = &v + return s +} + +// SetSslProperties sets the SslProperties field's value. +func (s *UpdateDataSourceInput) SetSslProperties(v *SslProperties) *UpdateDataSourceInput { + s.SslProperties = v + return s +} + +// SetVpcConnectionProperties sets the VpcConnectionProperties field's value. +func (s *UpdateDataSourceInput) SetVpcConnectionProperties(v *VpcConnectionProperties) *UpdateDataSourceInput { + s.VpcConnectionProperties = v + return s +} + +type UpdateDataSourceOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dashboard. - DashboardArn *string `type:"string"` + // The Amazon Resource Name (ARN) of the data source. + Arn *string `type:"string"` - // The ID for the dashboard. - DashboardId *string `min:"1" type:"string"` + // The ID of the data source. This ID is unique per AWS Region for each AWS + // account. + DataSourceId *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` + + // The update status of the data source's last update. + UpdateStatus *string `type:"string" enum:"ResourceStatus"` } // String returns the string representation -func (s UpdateDashboardPublishedVersionOutput) String() string { +func (s UpdateDataSourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDashboardPublishedVersionOutput) GoString() string { +func (s UpdateDataSourceOutput) GoString() string { return s.String() } -// SetDashboardArn sets the DashboardArn field's value. -func (s *UpdateDashboardPublishedVersionOutput) SetDashboardArn(v string) *UpdateDashboardPublishedVersionOutput { - s.DashboardArn = &v +// SetArn sets the Arn field's value. +func (s *UpdateDataSourceOutput) SetArn(v string) *UpdateDataSourceOutput { + s.Arn = &v return s } -// SetDashboardId sets the DashboardId field's value. -func (s *UpdateDashboardPublishedVersionOutput) SetDashboardId(v string) *UpdateDashboardPublishedVersionOutput { - s.DashboardId = &v +// SetDataSourceId sets the DataSourceId field's value. +func (s *UpdateDataSourceOutput) SetDataSourceId(v string) *UpdateDataSourceOutput { + s.DataSourceId = &v return s } // SetRequestId sets the RequestId field's value. -func (s *UpdateDashboardPublishedVersionOutput) SetRequestId(v string) *UpdateDashboardPublishedVersionOutput { +func (s *UpdateDataSourceOutput) SetRequestId(v string) *UpdateDataSourceOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateDashboardPublishedVersionOutput) SetStatus(v int64) *UpdateDashboardPublishedVersionOutput { +func (s *UpdateDataSourceOutput) SetStatus(v int64) *UpdateDataSourceOutput { s.Status = &v return s } -type UpdateDataSetInput struct { +// SetUpdateStatus sets the UpdateStatus field's value. +func (s *UpdateDataSourceOutput) SetUpdateStatus(v string) *UpdateDataSourceOutput { + s.UpdateStatus = &v + return s +} + +type UpdateDataSourcePermissionsInput struct { _ struct{} `type:"structure"` // The AWS account ID. @@ -21404,120 +28345,70 @@ type UpdateDataSetInput struct { // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // Groupings of columns that work together in certain QuickSight features. Currently, - // only geospatial hierarchy is supported. - ColumnGroups []*ColumnGroup `min:"1" type:"list"` - - // The ID for the dataset that you want to update. This ID is unique per AWS - // Region for each AWS account. - // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` - - // Indicates whether you want to import the data into SPICE. - // - // ImportMode is a required field - ImportMode *string `type:"string" required:"true" enum:"DataSetImportMode"` - - // Configures the combination and transformation of the data from the physical - // tables. - LogicalTableMap map[string]*LogicalTable `min:"1" type:"map"` - - // The display name for the dataset. + // The ID of the data source. This ID is unique per AWS Region for each AWS + // account. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // DataSourceId is a required field + DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` - // Declares the physical tables that are available in the underlying data sources. - // - // PhysicalTableMap is a required field - PhysicalTableMap map[string]*PhysicalTable `min:"1" type:"map" required:"true"` + // A list of resource permissions that you want to grant on the data source. + GrantPermissions []*ResourcePermission `min:"1" type:"list"` - // The row-level security configuration for the data you want to create. - RowLevelPermissionDataSet *RowLevelPermissionDataSet `type:"structure"` + // A list of resource permissions that you want to revoke on the data source. + RevokePermissions []*ResourcePermission `min:"1" type:"list"` } // String returns the string representation -func (s UpdateDataSetInput) String() string { +func (s UpdateDataSourcePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSetInput) GoString() string { +func (s UpdateDataSourcePermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateDataSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateDataSetInput"} +func (s *UpdateDataSourcePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDataSourcePermissionsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.ColumnGroups != nil && len(s.ColumnGroups) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ColumnGroups", 1)) - } - if s.DataSetId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetId")) - } - if s.DataSetId != nil && len(*s.DataSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) - } - if s.ImportMode == nil { - invalidParams.Add(request.NewErrParamRequired("ImportMode")) - } - if s.LogicalTableMap != nil && len(s.LogicalTableMap) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LogicalTableMap", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.DataSourceId == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceId")) } - if s.PhysicalTableMap == nil { - invalidParams.Add(request.NewErrParamRequired("PhysicalTableMap")) + if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) } - if s.PhysicalTableMap != nil && len(s.PhysicalTableMap) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PhysicalTableMap", 1)) + if s.GrantPermissions != nil && len(s.GrantPermissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GrantPermissions", 1)) } - if s.ColumnGroups != nil { - for i, v := range s.ColumnGroups { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ColumnGroups", i), err.(request.ErrInvalidParams)) - } - } + if s.RevokePermissions != nil && len(s.RevokePermissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RevokePermissions", 1)) } - if s.LogicalTableMap != nil { - for i, v := range s.LogicalTableMap { + if s.GrantPermissions != nil { + for i, v := range s.GrantPermissions { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LogicalTableMap", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GrantPermissions", i), err.(request.ErrInvalidParams)) } } } - if s.PhysicalTableMap != nil { - for i, v := range s.PhysicalTableMap { + if s.RevokePermissions != nil { + for i, v := range s.RevokePermissions { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PhysicalTableMap", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RevokePermissions", i), err.(request.ErrInvalidParams)) } } } - if s.RowLevelPermissionDataSet != nil { - if err := s.RowLevelPermissionDataSet.Validate(); err != nil { - invalidParams.AddNested("RowLevelPermissionDataSet", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -21526,70 +28417,38 @@ func (s *UpdateDataSetInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateDataSetInput) SetAwsAccountId(v string) *UpdateDataSetInput { +func (s *UpdateDataSourcePermissionsInput) SetAwsAccountId(v string) *UpdateDataSourcePermissionsInput { s.AwsAccountId = &v return s } -// SetColumnGroups sets the ColumnGroups field's value. -func (s *UpdateDataSetInput) SetColumnGroups(v []*ColumnGroup) *UpdateDataSetInput { - s.ColumnGroups = v - return s -} - -// SetDataSetId sets the DataSetId field's value. -func (s *UpdateDataSetInput) SetDataSetId(v string) *UpdateDataSetInput { - s.DataSetId = &v - return s -} - -// SetImportMode sets the ImportMode field's value. -func (s *UpdateDataSetInput) SetImportMode(v string) *UpdateDataSetInput { - s.ImportMode = &v - return s -} - -// SetLogicalTableMap sets the LogicalTableMap field's value. -func (s *UpdateDataSetInput) SetLogicalTableMap(v map[string]*LogicalTable) *UpdateDataSetInput { - s.LogicalTableMap = v - return s -} - -// SetName sets the Name field's value. -func (s *UpdateDataSetInput) SetName(v string) *UpdateDataSetInput { - s.Name = &v +// SetDataSourceId sets the DataSourceId field's value. +func (s *UpdateDataSourcePermissionsInput) SetDataSourceId(v string) *UpdateDataSourcePermissionsInput { + s.DataSourceId = &v return s } -// SetPhysicalTableMap sets the PhysicalTableMap field's value. -func (s *UpdateDataSetInput) SetPhysicalTableMap(v map[string]*PhysicalTable) *UpdateDataSetInput { - s.PhysicalTableMap = v +// SetGrantPermissions sets the GrantPermissions field's value. +func (s *UpdateDataSourcePermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateDataSourcePermissionsInput { + s.GrantPermissions = v return s } -// SetRowLevelPermissionDataSet sets the RowLevelPermissionDataSet field's value. -func (s *UpdateDataSetInput) SetRowLevelPermissionDataSet(v *RowLevelPermissionDataSet) *UpdateDataSetInput { - s.RowLevelPermissionDataSet = v +// SetRevokePermissions sets the RevokePermissions field's value. +func (s *UpdateDataSourcePermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateDataSourcePermissionsInput { + s.RevokePermissions = v return s } -type UpdateDataSetOutput struct { +type UpdateDataSourcePermissionsOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dataset. - Arn *string `type:"string"` - - // The ID for the dataset that you want to create. This ID is unique per AWS - // Region for each AWS account. - DataSetId *string `type:"string"` - - // The ARN for the ingestion, which is triggered as a result of dataset creation - // if the import mode is SPICE. - IngestionArn *string `type:"string"` + // The Amazon Resource Name (ARN) of the data source. + DataSourceArn *string `type:"string"` - // The ID of the ingestion, which is triggered as a result of dataset creation - // if the import mode is SPICE. - IngestionId *string `type:"string"` + // The ID of the data source. This ID is unique per AWS Region for each AWS + // account. + DataSourceId *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -21599,122 +28458,95 @@ type UpdateDataSetOutput struct { } // String returns the string representation -func (s UpdateDataSetOutput) String() string { +func (s UpdateDataSourcePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSetOutput) GoString() string { +func (s UpdateDataSourcePermissionsOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *UpdateDataSetOutput) SetArn(v string) *UpdateDataSetOutput { - s.Arn = &v - return s -} - -// SetDataSetId sets the DataSetId field's value. -func (s *UpdateDataSetOutput) SetDataSetId(v string) *UpdateDataSetOutput { - s.DataSetId = &v - return s -} - -// SetIngestionArn sets the IngestionArn field's value. -func (s *UpdateDataSetOutput) SetIngestionArn(v string) *UpdateDataSetOutput { - s.IngestionArn = &v +// SetDataSourceArn sets the DataSourceArn field's value. +func (s *UpdateDataSourcePermissionsOutput) SetDataSourceArn(v string) *UpdateDataSourcePermissionsOutput { + s.DataSourceArn = &v return s } -// SetIngestionId sets the IngestionId field's value. -func (s *UpdateDataSetOutput) SetIngestionId(v string) *UpdateDataSetOutput { - s.IngestionId = &v +// SetDataSourceId sets the DataSourceId field's value. +func (s *UpdateDataSourcePermissionsOutput) SetDataSourceId(v string) *UpdateDataSourcePermissionsOutput { + s.DataSourceId = &v return s } // SetRequestId sets the RequestId field's value. -func (s *UpdateDataSetOutput) SetRequestId(v string) *UpdateDataSetOutput { +func (s *UpdateDataSourcePermissionsOutput) SetRequestId(v string) *UpdateDataSourcePermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateDataSetOutput) SetStatus(v int64) *UpdateDataSetOutput { +func (s *UpdateDataSourcePermissionsOutput) SetStatus(v int64) *UpdateDataSourcePermissionsOutput { s.Status = &v return s } -type UpdateDataSetPermissionsInput struct { +type UpdateGroupInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The ID for the AWS account that the group is in. Currently, you use the ID + // for the AWS account that contains your Amazon QuickSight account. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the dataset whose permissions you want to update. This ID is unique - // per AWS Region for each AWS account. - // - // DataSetId is a required field - DataSetId *string `location:"uri" locationName:"DataSetId" type:"string" required:"true"` + // The description for the group that you want to update. + Description *string `min:"1" type:"string"` - // The resource permissions that you want to grant to the dataset. - GrantPermissions []*ResourcePermission `min:"1" type:"list"` + // The name of the group that you want to update. + // + // GroupName is a required field + GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` - // The resource permissions that you want to revoke from the dataset. - RevokePermissions []*ResourcePermission `min:"1" type:"list"` + // The namespace. Currently, you should set this to default. + // + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` } // String returns the string representation -func (s UpdateDataSetPermissionsInput) String() string { +func (s UpdateGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSetPermissionsInput) GoString() string { +func (s UpdateGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateDataSetPermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateDataSetPermissionsInput"} +func (s *UpdateGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DataSetId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSetId")) - } - if s.DataSetId != nil && len(*s.DataSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSetId", 1)) + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } - if s.GrantPermissions != nil && len(s.GrantPermissions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GrantPermissions", 1)) + if s.GroupName == nil { + invalidParams.Add(request.NewErrParamRequired("GroupName")) } - if s.RevokePermissions != nil && len(s.RevokePermissions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RevokePermissions", 1)) + if s.GroupName != nil && len(*s.GroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) } - if s.GrantPermissions != nil { - for i, v := range s.GrantPermissions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GrantPermissions", i), err.(request.ErrInvalidParams)) - } - } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) } - if s.RevokePermissions != nil { - for i, v := range s.RevokePermissions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RevokePermissions", i), err.(request.ErrInvalidParams)) - } - } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) } if invalidParams.Len() > 0 { @@ -21724,38 +28556,34 @@ func (s *UpdateDataSetPermissionsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateDataSetPermissionsInput) SetAwsAccountId(v string) *UpdateDataSetPermissionsInput { +func (s *UpdateGroupInput) SetAwsAccountId(v string) *UpdateGroupInput { s.AwsAccountId = &v return s } -// SetDataSetId sets the DataSetId field's value. -func (s *UpdateDataSetPermissionsInput) SetDataSetId(v string) *UpdateDataSetPermissionsInput { - s.DataSetId = &v +// SetDescription sets the Description field's value. +func (s *UpdateGroupInput) SetDescription(v string) *UpdateGroupInput { + s.Description = &v return s } -// SetGrantPermissions sets the GrantPermissions field's value. -func (s *UpdateDataSetPermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateDataSetPermissionsInput { - s.GrantPermissions = v +// SetGroupName sets the GroupName field's value. +func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput { + s.GroupName = &v return s } -// SetRevokePermissions sets the RevokePermissions field's value. -func (s *UpdateDataSetPermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateDataSetPermissionsInput { - s.RevokePermissions = v +// SetNamespace sets the Namespace field's value. +func (s *UpdateGroupInput) SetNamespace(v string) *UpdateGroupInput { + s.Namespace = &v return s } -type UpdateDataSetPermissionsOutput struct { +type UpdateGroupOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the dataset. - DataSetArn *string `type:"string"` - - // The ID for the dataset whose permissions you want to update. This ID is unique - // per AWS Region for each AWS account. - DataSetId *string `type:"string"` + // The name of the group. + Group *Group `type:"structure"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -21765,119 +28593,101 @@ type UpdateDataSetPermissionsOutput struct { } // String returns the string representation -func (s UpdateDataSetPermissionsOutput) String() string { +func (s UpdateGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSetPermissionsOutput) GoString() string { +func (s UpdateGroupOutput) GoString() string { return s.String() } -// SetDataSetArn sets the DataSetArn field's value. -func (s *UpdateDataSetPermissionsOutput) SetDataSetArn(v string) *UpdateDataSetPermissionsOutput { - s.DataSetArn = &v - return s -} - -// SetDataSetId sets the DataSetId field's value. -func (s *UpdateDataSetPermissionsOutput) SetDataSetId(v string) *UpdateDataSetPermissionsOutput { - s.DataSetId = &v +// SetGroup sets the Group field's value. +func (s *UpdateGroupOutput) SetGroup(v *Group) *UpdateGroupOutput { + s.Group = v return s } // SetRequestId sets the RequestId field's value. -func (s *UpdateDataSetPermissionsOutput) SetRequestId(v string) *UpdateDataSetPermissionsOutput { +func (s *UpdateGroupOutput) SetRequestId(v string) *UpdateGroupOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateDataSetPermissionsOutput) SetStatus(v int64) *UpdateDataSetPermissionsOutput { +func (s *UpdateGroupOutput) SetStatus(v int64) *UpdateGroupOutput { s.Status = &v return s } -type UpdateDataSourceInput struct { +type UpdateIAMPolicyAssignmentInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The name of the assignment. This name must be unique within an AWS account. // - // AwsAccountId is a required field - AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // AssignmentName is a required field + AssignmentName *string `location:"uri" locationName:"AssignmentName" min:"1" type:"string" required:"true"` - // The credentials that QuickSight that uses to connect to your underlying source. - // Currently, only credentials based on user name and password are supported. - Credentials *DataSourceCredentials `type:"structure" sensitive:"true"` + // The status of the assignment. Possible values are as follows: + // + // * ENABLED - Anything specified in this assignment is used when creating + // the data source. + // + // * DISABLED - This assignment isn't used when creating the data source. + // + // * DRAFT - This assignment is an unfinished draft and isn't used when creating + // the data source. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. + // The ID of the AWS account that contains the IAM policy assignment. // - // DataSourceId is a required field - DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The parameters that QuickSight uses to connect to your underlying source. - DataSourceParameters *DataSourceParameters `type:"structure"` + // The QuickSight users, groups, or both that you want to assign the policy + // to. + Identities map[string][]*string `type:"map"` - // A display name for the data source. + // The namespace of the assignment. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` - - // Secure Socket Layer (SSL) properties that apply when QuickSight connects - // to your underlying source. - SslProperties *SslProperties `type:"structure"` + // Namespace is a required field + Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` - // Use this parameter only when you want QuickSight to use a VPC connection - // when connecting to your underlying source. - VpcConnectionProperties *VpcConnectionProperties `type:"structure"` + // The ARN for the IAM policy to apply to the QuickSight users and groups specified + // in this assignment. + PolicyArn *string `type:"string"` } // String returns the string representation -func (s UpdateDataSourceInput) String() string { +func (s UpdateIAMPolicyAssignmentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSourceInput) GoString() string { +func (s UpdateIAMPolicyAssignmentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateDataSourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateDataSourceInput"} +func (s *UpdateIAMPolicyAssignmentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateIAMPolicyAssignmentInput"} + if s.AssignmentName == nil { + invalidParams.Add(request.NewErrParamRequired("AssignmentName")) + } + if s.AssignmentName != nil && len(*s.AssignmentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssignmentName", 1)) + } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DataSourceId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSourceId")) - } - if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Credentials != nil { - if err := s.Credentials.Validate(); err != nil { - invalidParams.AddNested("Credentials", err.(request.ErrInvalidParams)) - } - } - if s.DataSourceParameters != nil { - if err := s.DataSourceParameters.Validate(); err != nil { - invalidParams.AddNested("DataSourceParameters", err.(request.ErrInvalidParams)) - } + if s.Namespace == nil { + invalidParams.Add(request.NewErrParamRequired("Namespace")) } - if s.VpcConnectionProperties != nil { - if err := s.VpcConnectionProperties.Validate(); err != nil { - invalidParams.AddNested("VpcConnectionProperties", err.(request.ErrInvalidParams)) - } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) } if invalidParams.Len() > 0 { @@ -21886,179 +28696,191 @@ func (s *UpdateDataSourceInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateDataSourceInput) SetAwsAccountId(v string) *UpdateDataSourceInput { - s.AwsAccountId = &v - return s -} - -// SetCredentials sets the Credentials field's value. -func (s *UpdateDataSourceInput) SetCredentials(v *DataSourceCredentials) *UpdateDataSourceInput { - s.Credentials = v +// SetAssignmentName sets the AssignmentName field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetAssignmentName(v string) *UpdateIAMPolicyAssignmentInput { + s.AssignmentName = &v return s } -// SetDataSourceId sets the DataSourceId field's value. -func (s *UpdateDataSourceInput) SetDataSourceId(v string) *UpdateDataSourceInput { - s.DataSourceId = &v +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetAssignmentStatus(v string) *UpdateIAMPolicyAssignmentInput { + s.AssignmentStatus = &v return s } -// SetDataSourceParameters sets the DataSourceParameters field's value. -func (s *UpdateDataSourceInput) SetDataSourceParameters(v *DataSourceParameters) *UpdateDataSourceInput { - s.DataSourceParameters = v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetAwsAccountId(v string) *UpdateIAMPolicyAssignmentInput { + s.AwsAccountId = &v return s } -// SetName sets the Name field's value. -func (s *UpdateDataSourceInput) SetName(v string) *UpdateDataSourceInput { - s.Name = &v +// SetIdentities sets the Identities field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetIdentities(v map[string][]*string) *UpdateIAMPolicyAssignmentInput { + s.Identities = v return s } -// SetSslProperties sets the SslProperties field's value. -func (s *UpdateDataSourceInput) SetSslProperties(v *SslProperties) *UpdateDataSourceInput { - s.SslProperties = v +// SetNamespace sets the Namespace field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetNamespace(v string) *UpdateIAMPolicyAssignmentInput { + s.Namespace = &v return s } -// SetVpcConnectionProperties sets the VpcConnectionProperties field's value. -func (s *UpdateDataSourceInput) SetVpcConnectionProperties(v *VpcConnectionProperties) *UpdateDataSourceInput { - s.VpcConnectionProperties = v +// SetPolicyArn sets the PolicyArn field's value. +func (s *UpdateIAMPolicyAssignmentInput) SetPolicyArn(v string) *UpdateIAMPolicyAssignmentInput { + s.PolicyArn = &v return s } -type UpdateDataSourceOutput struct { +type UpdateIAMPolicyAssignmentOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the data source. - Arn *string `type:"string"` + // The ID of the assignment. + AssignmentId *string `type:"string"` - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. - DataSourceId *string `type:"string"` + // The name of the assignment. + AssignmentName *string `min:"1" type:"string"` + + // The status of the assignment. Possible values are as follows: + // + // * ENABLED - Anything specified in this assignment is used when creating + // the data source. + // + // * DISABLED - This assignment isn't used when creating the data source. + // + // * DRAFT - This assignment is an unfinished draft and isn't used when creating + // the data source. + AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` + + // The QuickSight users, groups, or both that the IAM policy is assigned to. + Identities map[string][]*string `type:"map"` + + // The ARN for the IAM policy applied to the QuickSight users and groups specified + // in this assignment. + PolicyArn *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - - // The update status of the data source's last update. - UpdateStatus *string `type:"string" enum:"ResourceStatus"` } // String returns the string representation -func (s UpdateDataSourceOutput) String() string { +func (s UpdateIAMPolicyAssignmentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSourceOutput) GoString() string { +func (s UpdateIAMPolicyAssignmentOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *UpdateDataSourceOutput) SetArn(v string) *UpdateDataSourceOutput { - s.Arn = &v +// SetAssignmentId sets the AssignmentId field's value. +func (s *UpdateIAMPolicyAssignmentOutput) SetAssignmentId(v string) *UpdateIAMPolicyAssignmentOutput { + s.AssignmentId = &v return s } -// SetDataSourceId sets the DataSourceId field's value. -func (s *UpdateDataSourceOutput) SetDataSourceId(v string) *UpdateDataSourceOutput { - s.DataSourceId = &v +// SetAssignmentName sets the AssignmentName field's value. +func (s *UpdateIAMPolicyAssignmentOutput) SetAssignmentName(v string) *UpdateIAMPolicyAssignmentOutput { + s.AssignmentName = &v + return s +} + +// SetAssignmentStatus sets the AssignmentStatus field's value. +func (s *UpdateIAMPolicyAssignmentOutput) SetAssignmentStatus(v string) *UpdateIAMPolicyAssignmentOutput { + s.AssignmentStatus = &v + return s +} + +// SetIdentities sets the Identities field's value. +func (s *UpdateIAMPolicyAssignmentOutput) SetIdentities(v map[string][]*string) *UpdateIAMPolicyAssignmentOutput { + s.Identities = v + return s +} + +// SetPolicyArn sets the PolicyArn field's value. +func (s *UpdateIAMPolicyAssignmentOutput) SetPolicyArn(v string) *UpdateIAMPolicyAssignmentOutput { + s.PolicyArn = &v return s } // SetRequestId sets the RequestId field's value. -func (s *UpdateDataSourceOutput) SetRequestId(v string) *UpdateDataSourceOutput { +func (s *UpdateIAMPolicyAssignmentOutput) SetRequestId(v string) *UpdateIAMPolicyAssignmentOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateDataSourceOutput) SetStatus(v int64) *UpdateDataSourceOutput { +func (s *UpdateIAMPolicyAssignmentOutput) SetStatus(v int64) *UpdateIAMPolicyAssignmentOutput { s.Status = &v return s } -// SetUpdateStatus sets the UpdateStatus field's value. -func (s *UpdateDataSourceOutput) SetUpdateStatus(v string) *UpdateDataSourceOutput { - s.UpdateStatus = &v - return s -} - -type UpdateDataSourcePermissionsInput struct { +type UpdateTemplateAliasInput struct { _ struct{} `type:"structure"` - // The AWS account ID. + // The alias of the template that you want to update. If you name a specific + // alias, you update the version that the alias points to. You can specify the + // latest version of the template by providing the keyword $LATEST in the AliasName + // parameter. The keyword $PUBLISHED doesn't apply to templates. + // + // AliasName is a required field + AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` + + // The ID of the AWS account that contains the template alias that you're updating. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. + // The ID for the template. // - // DataSourceId is a required field - DataSourceId *string `location:"uri" locationName:"DataSourceId" type:"string" required:"true"` - - // A list of resource permissions that you want to grant on the data source. - GrantPermissions []*ResourcePermission `min:"1" type:"list"` + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` - // A list of resource permissions that you want to revoke on the data source. - RevokePermissions []*ResourcePermission `min:"1" type:"list"` + // The version number of the template. + // + // TemplateVersionNumber is a required field + TemplateVersionNumber *int64 `min:"1" type:"long" required:"true"` } // String returns the string representation -func (s UpdateDataSourcePermissionsInput) String() string { +func (s UpdateTemplateAliasInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSourcePermissionsInput) GoString() string { +func (s UpdateTemplateAliasInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateDataSourcePermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateDataSourcePermissionsInput"} +func (s *UpdateTemplateAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateAliasInput"} + if s.AliasName == nil { + invalidParams.Add(request.NewErrParamRequired("AliasName")) + } + if s.AliasName != nil && len(*s.AliasName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasName", 1)) + } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DataSourceId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSourceId")) - } - if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) - } - if s.GrantPermissions != nil && len(s.GrantPermissions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GrantPermissions", 1)) + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) } - if s.RevokePermissions != nil && len(s.RevokePermissions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RevokePermissions", 1)) + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) } - if s.GrantPermissions != nil { - for i, v := range s.GrantPermissions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GrantPermissions", i), err.(request.ErrInvalidParams)) - } - } + if s.TemplateVersionNumber == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateVersionNumber")) } - if s.RevokePermissions != nil { - for i, v := range s.RevokePermissions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RevokePermissions", i), err.(request.ErrInvalidParams)) - } - } + if s.TemplateVersionNumber != nil && *s.TemplateVersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("TemplateVersionNumber", 1)) } if invalidParams.Len() > 0 { @@ -22067,137 +28889,147 @@ func (s *UpdateDataSourcePermissionsInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateDataSourcePermissionsInput) SetAwsAccountId(v string) *UpdateDataSourcePermissionsInput { - s.AwsAccountId = &v +// SetAliasName sets the AliasName field's value. +func (s *UpdateTemplateAliasInput) SetAliasName(v string) *UpdateTemplateAliasInput { + s.AliasName = &v return s } -// SetDataSourceId sets the DataSourceId field's value. -func (s *UpdateDataSourcePermissionsInput) SetDataSourceId(v string) *UpdateDataSourcePermissionsInput { - s.DataSourceId = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateTemplateAliasInput) SetAwsAccountId(v string) *UpdateTemplateAliasInput { + s.AwsAccountId = &v return s } -// SetGrantPermissions sets the GrantPermissions field's value. -func (s *UpdateDataSourcePermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateDataSourcePermissionsInput { - s.GrantPermissions = v +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplateAliasInput) SetTemplateId(v string) *UpdateTemplateAliasInput { + s.TemplateId = &v return s } -// SetRevokePermissions sets the RevokePermissions field's value. -func (s *UpdateDataSourcePermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateDataSourcePermissionsInput { - s.RevokePermissions = v +// SetTemplateVersionNumber sets the TemplateVersionNumber field's value. +func (s *UpdateTemplateAliasInput) SetTemplateVersionNumber(v int64) *UpdateTemplateAliasInput { + s.TemplateVersionNumber = &v return s } -type UpdateDataSourcePermissionsOutput struct { +type UpdateTemplateAliasOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the data source. - DataSourceArn *string `type:"string"` - - // The ID of the data source. This ID is unique per AWS Region for each AWS - // account. - DataSourceId *string `type:"string"` - // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` + + // The template alias. + TemplateAlias *TemplateAlias `type:"structure"` } // String returns the string representation -func (s UpdateDataSourcePermissionsOutput) String() string { +func (s UpdateTemplateAliasOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateDataSourcePermissionsOutput) GoString() string { +func (s UpdateTemplateAliasOutput) GoString() string { return s.String() } -// SetDataSourceArn sets the DataSourceArn field's value. -func (s *UpdateDataSourcePermissionsOutput) SetDataSourceArn(v string) *UpdateDataSourcePermissionsOutput { - s.DataSourceArn = &v - return s -} - -// SetDataSourceId sets the DataSourceId field's value. -func (s *UpdateDataSourcePermissionsOutput) SetDataSourceId(v string) *UpdateDataSourcePermissionsOutput { - s.DataSourceId = &v - return s -} - // SetRequestId sets the RequestId field's value. -func (s *UpdateDataSourcePermissionsOutput) SetRequestId(v string) *UpdateDataSourcePermissionsOutput { +func (s *UpdateTemplateAliasOutput) SetRequestId(v string) *UpdateTemplateAliasOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateDataSourcePermissionsOutput) SetStatus(v int64) *UpdateDataSourcePermissionsOutput { +func (s *UpdateTemplateAliasOutput) SetStatus(v int64) *UpdateTemplateAliasOutput { s.Status = &v return s } -type UpdateGroupInput struct { +// SetTemplateAlias sets the TemplateAlias field's value. +func (s *UpdateTemplateAliasOutput) SetTemplateAlias(v *TemplateAlias) *UpdateTemplateAliasOutput { + s.TemplateAlias = v + return s +} + +type UpdateTemplateInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that the group is in. Currently, you use the ID - // for the AWS account that contains your Amazon QuickSight account. + // The ID of the AWS account that contains the template that you're updating. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The description for the group that you want to update. - Description *string `min:"1" type:"string"` + // The name for the template. + Name *string `min:"1" type:"string"` - // The name of the group that you want to update. + // The entity that you are using as a source when you update the template. In + // SourceEntity, you specify the type of object you're using as source: SourceTemplate + // for a template or SourceAnalysis for an analysis. Both of these require an + // Amazon Resource Name (ARN). For SourceTemplate, specify the ARN of the source + // template. For SourceAnalysis, specify the ARN of the source analysis. The + // SourceTemplate ARN can contain any AWS Account and any QuickSight-supported + // AWS Region. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // Use the DataSetReferences entity within SourceTemplate or SourceAnalysis + // to list the replacement datasets for the placeholders listed in the original. + // The schema in each dataset must match its placeholder. + // + // SourceEntity is a required field + SourceEntity *TemplateSourceEntity `type:"structure" required:"true"` - // The namespace. Currently, you should set this to default. + // The ID for the template. // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + + // A description of the current template version that is being updated. Every + // time you call UpdateTemplate, you create a new version of the template. Each + // version of the template maintains a description of the version in the VersionDescription + // field. + VersionDescription *string `min:"1" type:"string"` } // String returns the string representation -func (s UpdateGroupInput) String() string { +func (s UpdateTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateGroupInput) GoString() string { +func (s UpdateTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateGroupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"} +func (s *UpdateTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.SourceEntity == nil { + invalidParams.Add(request.NewErrParamRequired("SourceEntity")) } - if s.GroupName != nil && len(*s.GroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.VersionDescription != nil && len(*s.VersionDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) + } + if s.SourceEntity != nil { + if err := s.SourceEntity.Validate(); err != nil { + invalidParams.AddNested("SourceEntity", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -22207,138 +29039,168 @@ func (s *UpdateGroupInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateGroupInput) SetAwsAccountId(v string) *UpdateGroupInput { +func (s *UpdateTemplateInput) SetAwsAccountId(v string) *UpdateTemplateInput { s.AwsAccountId = &v return s } -// SetDescription sets the Description field's value. -func (s *UpdateGroupInput) SetDescription(v string) *UpdateGroupInput { - s.Description = &v +// SetName sets the Name field's value. +func (s *UpdateTemplateInput) SetName(v string) *UpdateTemplateInput { + s.Name = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput { - s.GroupName = &v +// SetSourceEntity sets the SourceEntity field's value. +func (s *UpdateTemplateInput) SetSourceEntity(v *TemplateSourceEntity) *UpdateTemplateInput { + s.SourceEntity = v return s } -// SetNamespace sets the Namespace field's value. -func (s *UpdateGroupInput) SetNamespace(v string) *UpdateGroupInput { - s.Namespace = &v +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplateInput) SetTemplateId(v string) *UpdateTemplateInput { + s.TemplateId = &v return s } -type UpdateGroupOutput struct { +// SetVersionDescription sets the VersionDescription field's value. +func (s *UpdateTemplateInput) SetVersionDescription(v string) *UpdateTemplateInput { + s.VersionDescription = &v + return s +} + +type UpdateTemplateOutput struct { _ struct{} `type:"structure"` - // The name of the group. - Group *Group `type:"structure"` + // The Amazon Resource Name (ARN) for the template. + Arn *string `type:"string"` + + // The creation status of the template. + CreationStatus *string `type:"string" enum:"ResourceStatus"` // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` + + // The ID for the template. + TemplateId *string `min:"1" type:"string"` + + // The ARN for the template, including the version information of the first + // version. + VersionArn *string `type:"string"` } // String returns the string representation -func (s UpdateGroupOutput) String() string { +func (s UpdateTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateGroupOutput) GoString() string { +func (s UpdateTemplateOutput) GoString() string { return s.String() } -// SetGroup sets the Group field's value. -func (s *UpdateGroupOutput) SetGroup(v *Group) *UpdateGroupOutput { - s.Group = v +// SetArn sets the Arn field's value. +func (s *UpdateTemplateOutput) SetArn(v string) *UpdateTemplateOutput { + s.Arn = &v + return s +} + +// SetCreationStatus sets the CreationStatus field's value. +func (s *UpdateTemplateOutput) SetCreationStatus(v string) *UpdateTemplateOutput { + s.CreationStatus = &v return s } // SetRequestId sets the RequestId field's value. -func (s *UpdateGroupOutput) SetRequestId(v string) *UpdateGroupOutput { +func (s *UpdateTemplateOutput) SetRequestId(v string) *UpdateTemplateOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateGroupOutput) SetStatus(v int64) *UpdateGroupOutput { +func (s *UpdateTemplateOutput) SetStatus(v int64) *UpdateTemplateOutput { s.Status = &v return s } -type UpdateIAMPolicyAssignmentInput struct { - _ struct{} `type:"structure"` +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplateOutput) SetTemplateId(v string) *UpdateTemplateOutput { + s.TemplateId = &v + return s +} - // The name of the assignment. This name must be unique within an AWS account. - // - // AssignmentName is a required field - AssignmentName *string `location:"uri" locationName:"AssignmentName" min:"1" type:"string" required:"true"` +// SetVersionArn sets the VersionArn field's value. +func (s *UpdateTemplateOutput) SetVersionArn(v string) *UpdateTemplateOutput { + s.VersionArn = &v + return s +} - // The status of the assignment. Possible values are as follows: - // - // * ENABLED - Anything specified in this assignment is used when creating - // the data source. - // - // * DISABLED - This assignment isn't used when creating the data source. - // - // * DRAFT - This assignment is an unfinished draft and isn't used when creating - // the data source. - AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` +type UpdateTemplatePermissionsInput struct { + _ struct{} `type:"structure"` - // The ID of the AWS account that contains the IAM policy assignment. + // The ID of the AWS account that contains the template. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The QuickSight users, groups, or both that you want to assign the policy - // to. - Identities map[string][]*string `type:"map"` + // A list of resource permissions to be granted on the template. + GrantPermissions []*ResourcePermission `type:"list"` - // The namespace of the assignment. - // - // Namespace is a required field - Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` + // A list of resource permissions to be revoked from the template. + RevokePermissions []*ResourcePermission `type:"list"` - // The ARN for the IAM policy to apply to the QuickSight users and groups specified - // in this assignment. - PolicyArn *string `type:"string"` + // The ID for the template. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s UpdateIAMPolicyAssignmentInput) String() string { +func (s UpdateTemplatePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateIAMPolicyAssignmentInput) GoString() string { +func (s UpdateTemplatePermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateIAMPolicyAssignmentInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateIAMPolicyAssignmentInput"} - if s.AssignmentName == nil { - invalidParams.Add(request.NewErrParamRequired("AssignmentName")) - } - if s.AssignmentName != nil && len(*s.AssignmentName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssignmentName", 1)) - } +func (s *UpdateTemplatePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTemplatePermissionsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.Namespace == nil { - invalidParams.Add(request.NewErrParamRequired("Namespace")) + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) } - if s.Namespace != nil && len(*s.Namespace) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + if s.GrantPermissions != nil { + for i, v := range s.GrantPermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GrantPermissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RevokePermissions != nil { + for i, v := range s.RevokePermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RevokePermissions", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -22347,168 +29209,126 @@ func (s *UpdateIAMPolicyAssignmentInput) Validate() error { return nil } -// SetAssignmentName sets the AssignmentName field's value. -func (s *UpdateIAMPolicyAssignmentInput) SetAssignmentName(v string) *UpdateIAMPolicyAssignmentInput { - s.AssignmentName = &v - return s -} - -// SetAssignmentStatus sets the AssignmentStatus field's value. -func (s *UpdateIAMPolicyAssignmentInput) SetAssignmentStatus(v string) *UpdateIAMPolicyAssignmentInput { - s.AssignmentStatus = &v - return s -} - // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateIAMPolicyAssignmentInput) SetAwsAccountId(v string) *UpdateIAMPolicyAssignmentInput { +func (s *UpdateTemplatePermissionsInput) SetAwsAccountId(v string) *UpdateTemplatePermissionsInput { s.AwsAccountId = &v return s } -// SetIdentities sets the Identities field's value. -func (s *UpdateIAMPolicyAssignmentInput) SetIdentities(v map[string][]*string) *UpdateIAMPolicyAssignmentInput { - s.Identities = v +// SetGrantPermissions sets the GrantPermissions field's value. +func (s *UpdateTemplatePermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateTemplatePermissionsInput { + s.GrantPermissions = v return s } -// SetNamespace sets the Namespace field's value. -func (s *UpdateIAMPolicyAssignmentInput) SetNamespace(v string) *UpdateIAMPolicyAssignmentInput { - s.Namespace = &v +// SetRevokePermissions sets the RevokePermissions field's value. +func (s *UpdateTemplatePermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateTemplatePermissionsInput { + s.RevokePermissions = v return s } -// SetPolicyArn sets the PolicyArn field's value. -func (s *UpdateIAMPolicyAssignmentInput) SetPolicyArn(v string) *UpdateIAMPolicyAssignmentInput { - s.PolicyArn = &v +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplatePermissionsInput) SetTemplateId(v string) *UpdateTemplatePermissionsInput { + s.TemplateId = &v return s } -type UpdateIAMPolicyAssignmentOutput struct { - _ struct{} `type:"structure"` - - // The ID of the assignment. - AssignmentId *string `type:"string"` - - // The name of the assignment. - AssignmentName *string `min:"1" type:"string"` - - // The status of the assignment. Possible values are as follows: - // - // * ENABLED - Anything specified in this assignment is used when creating - // the data source. - // - // * DISABLED - This assignment isn't used when creating the data source. - // - // * DRAFT - This assignment is an unfinished draft and isn't used when creating - // the data source. - AssignmentStatus *string `type:"string" enum:"AssignmentStatus"` - - // The QuickSight users, groups, or both that the IAM policy is assigned to. - Identities map[string][]*string `type:"map"` - - // The ARN for the IAM policy applied to the QuickSight users and groups specified - // in this assignment. - PolicyArn *string `type:"string"` +type UpdateTemplatePermissionsOutput struct { + _ struct{} `type:"structure"` + + // A list of resource permissions to be set on the template. + Permissions []*ResourcePermission `min:"1" type:"list"` // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` + + // The Amazon Resource Name (ARN) of the template. + TemplateArn *string `type:"string"` + + // The ID for the template. + TemplateId *string `min:"1" type:"string"` } // String returns the string representation -func (s UpdateIAMPolicyAssignmentOutput) String() string { +func (s UpdateTemplatePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateIAMPolicyAssignmentOutput) GoString() string { +func (s UpdateTemplatePermissionsOutput) GoString() string { return s.String() } -// SetAssignmentId sets the AssignmentId field's value. -func (s *UpdateIAMPolicyAssignmentOutput) SetAssignmentId(v string) *UpdateIAMPolicyAssignmentOutput { - s.AssignmentId = &v - return s -} - -// SetAssignmentName sets the AssignmentName field's value. -func (s *UpdateIAMPolicyAssignmentOutput) SetAssignmentName(v string) *UpdateIAMPolicyAssignmentOutput { - s.AssignmentName = &v - return s -} - -// SetAssignmentStatus sets the AssignmentStatus field's value. -func (s *UpdateIAMPolicyAssignmentOutput) SetAssignmentStatus(v string) *UpdateIAMPolicyAssignmentOutput { - s.AssignmentStatus = &v +// SetPermissions sets the Permissions field's value. +func (s *UpdateTemplatePermissionsOutput) SetPermissions(v []*ResourcePermission) *UpdateTemplatePermissionsOutput { + s.Permissions = v return s } -// SetIdentities sets the Identities field's value. -func (s *UpdateIAMPolicyAssignmentOutput) SetIdentities(v map[string][]*string) *UpdateIAMPolicyAssignmentOutput { - s.Identities = v +// SetRequestId sets the RequestId field's value. +func (s *UpdateTemplatePermissionsOutput) SetRequestId(v string) *UpdateTemplatePermissionsOutput { + s.RequestId = &v return s } -// SetPolicyArn sets the PolicyArn field's value. -func (s *UpdateIAMPolicyAssignmentOutput) SetPolicyArn(v string) *UpdateIAMPolicyAssignmentOutput { - s.PolicyArn = &v +// SetStatus sets the Status field's value. +func (s *UpdateTemplatePermissionsOutput) SetStatus(v int64) *UpdateTemplatePermissionsOutput { + s.Status = &v return s } -// SetRequestId sets the RequestId field's value. -func (s *UpdateIAMPolicyAssignmentOutput) SetRequestId(v string) *UpdateIAMPolicyAssignmentOutput { - s.RequestId = &v +// SetTemplateArn sets the TemplateArn field's value. +func (s *UpdateTemplatePermissionsOutput) SetTemplateArn(v string) *UpdateTemplatePermissionsOutput { + s.TemplateArn = &v return s } -// SetStatus sets the Status field's value. -func (s *UpdateIAMPolicyAssignmentOutput) SetStatus(v int64) *UpdateIAMPolicyAssignmentOutput { - s.Status = &v +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateTemplatePermissionsOutput) SetTemplateId(v string) *UpdateTemplatePermissionsOutput { + s.TemplateId = &v return s } -type UpdateTemplateAliasInput struct { +type UpdateThemeAliasInput struct { _ struct{} `type:"structure"` - // The alias of the template that you want to update. If you name a specific - // alias, you update the version that the alias points to. You can specify the - // latest version of the template by providing the keyword $LATEST in the AliasName - // parameter. The keyword $PUBLISHED doesn't apply to templates. + // The name of the theme alias that you want to update. // // AliasName is a required field AliasName *string `location:"uri" locationName:"AliasName" min:"1" type:"string" required:"true"` - // The ID of the AWS account that contains the template alias that you're updating. + // The ID of the AWS account that contains the theme alias that you're updating. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The ID for the template. + // The ID for the theme. // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` - // The version number of the template. + // The version number of the theme that the alias should reference. // - // TemplateVersionNumber is a required field - TemplateVersionNumber *int64 `min:"1" type:"long" required:"true"` + // ThemeVersionNumber is a required field + ThemeVersionNumber *int64 `min:"1" type:"long" required:"true"` } // String returns the string representation -func (s UpdateTemplateAliasInput) String() string { +func (s UpdateThemeAliasInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateTemplateAliasInput) GoString() string { +func (s UpdateThemeAliasInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateTemplateAliasInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateAliasInput"} +func (s *UpdateThemeAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateThemeAliasInput"} if s.AliasName == nil { invalidParams.Add(request.NewErrParamRequired("AliasName")) } @@ -22521,17 +29341,17 @@ func (s *UpdateTemplateAliasInput) Validate() error { if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } - if s.TemplateVersionNumber == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateVersionNumber")) + if s.ThemeVersionNumber == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeVersionNumber")) } - if s.TemplateVersionNumber != nil && *s.TemplateVersionNumber < 1 { - invalidParams.Add(request.NewErrParamMinValue("TemplateVersionNumber", 1)) + if s.ThemeVersionNumber != nil && *s.ThemeVersionNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("ThemeVersionNumber", 1)) } if invalidParams.Len() > 0 { @@ -22541,30 +29361,30 @@ func (s *UpdateTemplateAliasInput) Validate() error { } // SetAliasName sets the AliasName field's value. -func (s *UpdateTemplateAliasInput) SetAliasName(v string) *UpdateTemplateAliasInput { +func (s *UpdateThemeAliasInput) SetAliasName(v string) *UpdateThemeAliasInput { s.AliasName = &v return s } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateTemplateAliasInput) SetAwsAccountId(v string) *UpdateTemplateAliasInput { +func (s *UpdateThemeAliasInput) SetAwsAccountId(v string) *UpdateThemeAliasInput { s.AwsAccountId = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *UpdateTemplateAliasInput) SetTemplateId(v string) *UpdateTemplateAliasInput { - s.TemplateId = &v +// SetThemeId sets the ThemeId field's value. +func (s *UpdateThemeAliasInput) SetThemeId(v string) *UpdateThemeAliasInput { + s.ThemeId = &v return s } -// SetTemplateVersionNumber sets the TemplateVersionNumber field's value. -func (s *UpdateTemplateAliasInput) SetTemplateVersionNumber(v int64) *UpdateTemplateAliasInput { - s.TemplateVersionNumber = &v +// SetThemeVersionNumber sets the ThemeVersionNumber field's value. +func (s *UpdateThemeAliasInput) SetThemeVersionNumber(v int64) *UpdateThemeAliasInput { + s.ThemeVersionNumber = &v return s } -type UpdateTemplateAliasOutput struct { +type UpdateThemeAliasOutput struct { _ struct{} `type:"structure"` // The AWS request ID for this operation. @@ -22573,106 +29393,106 @@ type UpdateTemplateAliasOutput struct { // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - // The template alias. - TemplateAlias *TemplateAlias `type:"structure"` + // Information about the theme alias. + ThemeAlias *ThemeAlias `type:"structure"` } // String returns the string representation -func (s UpdateTemplateAliasOutput) String() string { +func (s UpdateThemeAliasOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateTemplateAliasOutput) GoString() string { +func (s UpdateThemeAliasOutput) GoString() string { return s.String() } // SetRequestId sets the RequestId field's value. -func (s *UpdateTemplateAliasOutput) SetRequestId(v string) *UpdateTemplateAliasOutput { +func (s *UpdateThemeAliasOutput) SetRequestId(v string) *UpdateThemeAliasOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateTemplateAliasOutput) SetStatus(v int64) *UpdateTemplateAliasOutput { +func (s *UpdateThemeAliasOutput) SetStatus(v int64) *UpdateThemeAliasOutput { s.Status = &v return s } -// SetTemplateAlias sets the TemplateAlias field's value. -func (s *UpdateTemplateAliasOutput) SetTemplateAlias(v *TemplateAlias) *UpdateTemplateAliasOutput { - s.TemplateAlias = v +// SetThemeAlias sets the ThemeAlias field's value. +func (s *UpdateThemeAliasOutput) SetThemeAlias(v *ThemeAlias) *UpdateThemeAliasOutput { + s.ThemeAlias = v return s } -type UpdateTemplateInput struct { +type UpdateThemeInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the template that you're updating. + // The ID of the AWS account that contains the theme that you're updating. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The name for the template. - Name *string `min:"1" type:"string"` - - // The source QuickSight entity from which this template is being updated. You - // can currently update templates from an Analysis or another template. + // The theme ID, defined by Amazon QuickSight, that a custom theme inherits + // from. All themes initially inherit from a default QuickSight theme. // - // SourceEntity is a required field - SourceEntity *TemplateSourceEntity `type:"structure" required:"true"` + // BaseThemeId is a required field + BaseThemeId *string `min:"1" type:"string" required:"true"` - // The ID for the template. + // The theme configuration, which contains the theme display properties. + Configuration *ThemeConfiguration `type:"structure"` + + // The name for the theme. + Name *string `min:"1" type:"string"` + + // The ID for the theme. // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` - // A description of the current template version that is being updated. Every - // time you call UpdateTemplate, you create a new version of the template. Each - // version of the template maintains a description of the version in the VersionDescription - // field. + // A description of the theme version that you're updating Every time that you + // call UpdateTheme, you create a new version of the theme. Each version of + // the theme maintains a description of the version in VersionDescription. VersionDescription *string `min:"1" type:"string"` } // String returns the string representation -func (s UpdateTemplateInput) String() string { +func (s UpdateThemeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateTemplateInput) GoString() string { +func (s UpdateThemeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateTemplateInput"} +func (s *UpdateThemeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateThemeInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } + if s.BaseThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("BaseThemeId")) + } + if s.BaseThemeId != nil && len(*s.BaseThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BaseThemeId", 1)) + } if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.SourceEntity == nil { - invalidParams.Add(request.NewErrParamRequired("SourceEntity")) - } - if s.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } if s.VersionDescription != nil && len(*s.VersionDescription) < 1 { invalidParams.Add(request.NewErrParamMinLen("VersionDescription", 1)) } - if s.SourceEntity != nil { - if err := s.SourceEntity.Validate(); err != nil { - invalidParams.AddNested("SourceEntity", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -22681,42 +29501,48 @@ func (s *UpdateTemplateInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateTemplateInput) SetAwsAccountId(v string) *UpdateTemplateInput { +func (s *UpdateThemeInput) SetAwsAccountId(v string) *UpdateThemeInput { s.AwsAccountId = &v return s } -// SetName sets the Name field's value. -func (s *UpdateTemplateInput) SetName(v string) *UpdateTemplateInput { - s.Name = &v +// SetBaseThemeId sets the BaseThemeId field's value. +func (s *UpdateThemeInput) SetBaseThemeId(v string) *UpdateThemeInput { + s.BaseThemeId = &v return s } -// SetSourceEntity sets the SourceEntity field's value. -func (s *UpdateTemplateInput) SetSourceEntity(v *TemplateSourceEntity) *UpdateTemplateInput { - s.SourceEntity = v +// SetConfiguration sets the Configuration field's value. +func (s *UpdateThemeInput) SetConfiguration(v *ThemeConfiguration) *UpdateThemeInput { + s.Configuration = v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *UpdateTemplateInput) SetTemplateId(v string) *UpdateTemplateInput { - s.TemplateId = &v +// SetName sets the Name field's value. +func (s *UpdateThemeInput) SetName(v string) *UpdateThemeInput { + s.Name = &v + return s +} + +// SetThemeId sets the ThemeId field's value. +func (s *UpdateThemeInput) SetThemeId(v string) *UpdateThemeInput { + s.ThemeId = &v return s } // SetVersionDescription sets the VersionDescription field's value. -func (s *UpdateTemplateInput) SetVersionDescription(v string) *UpdateTemplateInput { +func (s *UpdateThemeInput) SetVersionDescription(v string) *UpdateThemeInput { s.VersionDescription = &v return s } -type UpdateTemplateOutput struct { +type UpdateThemeOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the template. + // The Amazon Resource Name (ARN) for the theme. Arn *string `type:"string"` - // The creation status of the template. + // The creation status of the theme. CreationStatus *string `type:"string" enum:"ResourceStatus"` // The AWS request ID for this operation. @@ -22725,110 +29551,103 @@ type UpdateTemplateOutput struct { // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - // The ID for the template. - TemplateId *string `min:"1" type:"string"` + // The ID for the theme. + ThemeId *string `min:"1" type:"string"` - // The ARN for the template, including the version information of the first - // version. + // The Amazon Resource Name (ARN) for the new version of the theme. VersionArn *string `type:"string"` } // String returns the string representation -func (s UpdateTemplateOutput) String() string { +func (s UpdateThemeOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateTemplateOutput) GoString() string { +func (s UpdateThemeOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *UpdateTemplateOutput) SetArn(v string) *UpdateTemplateOutput { +func (s *UpdateThemeOutput) SetArn(v string) *UpdateThemeOutput { s.Arn = &v return s } // SetCreationStatus sets the CreationStatus field's value. -func (s *UpdateTemplateOutput) SetCreationStatus(v string) *UpdateTemplateOutput { +func (s *UpdateThemeOutput) SetCreationStatus(v string) *UpdateThemeOutput { s.CreationStatus = &v return s } // SetRequestId sets the RequestId field's value. -func (s *UpdateTemplateOutput) SetRequestId(v string) *UpdateTemplateOutput { +func (s *UpdateThemeOutput) SetRequestId(v string) *UpdateThemeOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateTemplateOutput) SetStatus(v int64) *UpdateTemplateOutput { +func (s *UpdateThemeOutput) SetStatus(v int64) *UpdateThemeOutput { s.Status = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *UpdateTemplateOutput) SetTemplateId(v string) *UpdateTemplateOutput { - s.TemplateId = &v +// SetThemeId sets the ThemeId field's value. +func (s *UpdateThemeOutput) SetThemeId(v string) *UpdateThemeOutput { + s.ThemeId = &v return s } // SetVersionArn sets the VersionArn field's value. -func (s *UpdateTemplateOutput) SetVersionArn(v string) *UpdateTemplateOutput { +func (s *UpdateThemeOutput) SetVersionArn(v string) *UpdateThemeOutput { s.VersionArn = &v return s } -type UpdateTemplatePermissionsInput struct { +type UpdateThemePermissionsInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that contains the template. + // The ID of the AWS account that contains the theme. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // A list of resource permissions to be granted on the template. - GrantPermissions []*ResourcePermission `min:"1" type:"list"` + // A list of resource permissions to be granted for the theme. + GrantPermissions []*ResourcePermission `type:"list"` - // A list of resource permissions to be revoked from the template. - RevokePermissions []*ResourcePermission `min:"1" type:"list"` + // A list of resource permissions to be revoked from the theme. + RevokePermissions []*ResourcePermission `type:"list"` - // The ID for the template. + // The ID for the theme. // - // TemplateId is a required field - TemplateId *string `location:"uri" locationName:"TemplateId" min:"1" type:"string" required:"true"` + // ThemeId is a required field + ThemeId *string `location:"uri" locationName:"ThemeId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s UpdateTemplatePermissionsInput) String() string { +func (s UpdateThemePermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateTemplatePermissionsInput) GoString() string { +func (s UpdateThemePermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateTemplatePermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateTemplatePermissionsInput"} +func (s *UpdateThemePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateThemePermissionsInput"} if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.GrantPermissions != nil && len(s.GrantPermissions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("GrantPermissions", 1)) - } - if s.RevokePermissions != nil && len(s.RevokePermissions) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RevokePermissions", 1)) - } - if s.TemplateId == nil { - invalidParams.Add(request.NewErrParamRequired("TemplateId")) + if s.ThemeId == nil { + invalidParams.Add(request.NewErrParamRequired("ThemeId")) } - if s.TemplateId != nil && len(*s.TemplateId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + if s.ThemeId != nil && len(*s.ThemeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ThemeId", 1)) } if s.GrantPermissions != nil { for i, v := range s.GrantPermissions { @@ -22858,33 +29677,33 @@ func (s *UpdateTemplatePermissionsInput) Validate() error { } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateTemplatePermissionsInput) SetAwsAccountId(v string) *UpdateTemplatePermissionsInput { +func (s *UpdateThemePermissionsInput) SetAwsAccountId(v string) *UpdateThemePermissionsInput { s.AwsAccountId = &v return s } // SetGrantPermissions sets the GrantPermissions field's value. -func (s *UpdateTemplatePermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateTemplatePermissionsInput { +func (s *UpdateThemePermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateThemePermissionsInput { s.GrantPermissions = v return s } // SetRevokePermissions sets the RevokePermissions field's value. -func (s *UpdateTemplatePermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateTemplatePermissionsInput { +func (s *UpdateThemePermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateThemePermissionsInput { s.RevokePermissions = v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *UpdateTemplatePermissionsInput) SetTemplateId(v string) *UpdateTemplatePermissionsInput { - s.TemplateId = &v +// SetThemeId sets the ThemeId field's value. +func (s *UpdateThemePermissionsInput) SetThemeId(v string) *UpdateThemePermissionsInput { + s.ThemeId = &v return s } -type UpdateTemplatePermissionsOutput struct { +type UpdateThemePermissionsOutput struct { _ struct{} `type:"structure"` - // A list of resource permissions to be set on the template. + // The resulting list of resource permissions for the theme. Permissions []*ResourcePermission `min:"1" type:"list"` // The AWS request ID for this operation. @@ -22893,50 +29712,50 @@ type UpdateTemplatePermissionsOutput struct { // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - // The Amazon Resource Name (ARN) of the template. - TemplateArn *string `type:"string"` + // The Amazon Resource Name (ARN) of the theme. + ThemeArn *string `type:"string"` - // The ID for the template. - TemplateId *string `min:"1" type:"string"` + // The ID for the theme. + ThemeId *string `min:"1" type:"string"` } // String returns the string representation -func (s UpdateTemplatePermissionsOutput) String() string { +func (s UpdateThemePermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateTemplatePermissionsOutput) GoString() string { +func (s UpdateThemePermissionsOutput) GoString() string { return s.String() } // SetPermissions sets the Permissions field's value. -func (s *UpdateTemplatePermissionsOutput) SetPermissions(v []*ResourcePermission) *UpdateTemplatePermissionsOutput { +func (s *UpdateThemePermissionsOutput) SetPermissions(v []*ResourcePermission) *UpdateThemePermissionsOutput { s.Permissions = v return s } // SetRequestId sets the RequestId field's value. -func (s *UpdateTemplatePermissionsOutput) SetRequestId(v string) *UpdateTemplatePermissionsOutput { +func (s *UpdateThemePermissionsOutput) SetRequestId(v string) *UpdateThemePermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateTemplatePermissionsOutput) SetStatus(v int64) *UpdateTemplatePermissionsOutput { +func (s *UpdateThemePermissionsOutput) SetStatus(v int64) *UpdateThemePermissionsOutput { s.Status = &v return s } -// SetTemplateArn sets the TemplateArn field's value. -func (s *UpdateTemplatePermissionsOutput) SetTemplateArn(v string) *UpdateTemplatePermissionsOutput { - s.TemplateArn = &v +// SetThemeArn sets the ThemeArn field's value. +func (s *UpdateThemePermissionsOutput) SetThemeArn(v string) *UpdateThemePermissionsOutput { + s.ThemeArn = &v return s } -// SetTemplateId sets the TemplateId field's value. -func (s *UpdateTemplatePermissionsOutput) SetTemplateId(v string) *UpdateTemplatePermissionsOutput { - s.TemplateId = &v +// SetThemeId sets the ThemeId field's value. +func (s *UpdateThemePermissionsOutput) SetThemeId(v string) *UpdateThemePermissionsOutput { + s.ThemeId = &v return s } @@ -22949,6 +29768,12 @@ type UpdateUserInput struct { // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + // The name of the custom permissions profile that you want to assign to this + // user. Currently, custom permissions profile names are assigned to permissions + // profiles in the QuickSight console. You use this API to assign the named + // set of permissions to a QuickSight user. + CustomPermissionsName *string `min:"1" type:"string"` + // The email address of the user that you want to update. // // Email is a required field @@ -22972,6 +29797,12 @@ type UpdateUserInput struct { // Role is a required field Role *string `type:"string" required:"true" enum:"UserRole"` + // A flag that you use to indicate that you want to remove all custom permissions + // from this user. Using this parameter resets the user to the state it was + // in before a custom permissions profile was applied. This parameter defaults + // to NULL and it doesn't accept any other value. + UnapplyCustomPermissions *bool `type:"boolean"` + // The Amazon QuickSight user name that you want to update. // // UserName is a required field @@ -22997,6 +29828,9 @@ func (s *UpdateUserInput) Validate() error { if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } + if s.CustomPermissionsName != nil && len(*s.CustomPermissionsName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomPermissionsName", 1)) + } if s.Email == nil { invalidParams.Add(request.NewErrParamRequired("Email")) } @@ -23028,6 +29862,12 @@ func (s *UpdateUserInput) SetAwsAccountId(v string) *UpdateUserInput { return s } +// SetCustomPermissionsName sets the CustomPermissionsName field's value. +func (s *UpdateUserInput) SetCustomPermissionsName(v string) *UpdateUserInput { + s.CustomPermissionsName = &v + return s +} + // SetEmail sets the Email field's value. func (s *UpdateUserInput) SetEmail(v string) *UpdateUserInput { s.Email = &v @@ -23046,6 +29886,12 @@ func (s *UpdateUserInput) SetRole(v string) *UpdateUserInput { return s } +// SetUnapplyCustomPermissions sets the UnapplyCustomPermissions field's value. +func (s *UpdateUserInput) SetUnapplyCustomPermissions(v bool) *UpdateUserInput { + s.UnapplyCustomPermissions = &v + return s +} + // SetUserName sets the UserName field's value. func (s *UpdateUserInput) SetUserName(v string) *UpdateUserInput { s.UserName = &v @@ -23182,6 +30028,9 @@ type User struct { // The Amazon Resource Name (ARN) for the user. Arn *string `type:"string"` + // The custom permissions profile associated with this user. + CustomPermissionsName *string `min:"1" type:"string"` + // The user's email address. Email *string `type:"string"` @@ -23233,6 +30082,12 @@ func (s *User) SetArn(v string) *User { return s } +// SetCustomPermissionsName sets the CustomPermissionsName field's value. +func (s *User) SetCustomPermissionsName(v string) *User { + s.CustomPermissionsName = &v + return s +} + // SetEmail sets the Email field's value. func (s *User) SetEmail(v string) *User { s.Email = &v @@ -23397,6 +30252,12 @@ const ( ) const ( + // DashboardErrorTypeAccessDenied is a DashboardErrorType enum value + DashboardErrorTypeAccessDenied = "ACCESS_DENIED" + + // DashboardErrorTypeSourceNotFound is a DashboardErrorType enum value + DashboardErrorTypeSourceNotFound = "SOURCE_NOT_FOUND" + // DashboardErrorTypeDataSetNotFound is a DashboardErrorType enum value DashboardErrorTypeDataSetNotFound = "DATA_SET_NOT_FOUND" @@ -23444,6 +30305,12 @@ const ( ) const ( + // DataSourceErrorInfoTypeAccessDenied is a DataSourceErrorInfoType enum value + DataSourceErrorInfoTypeAccessDenied = "ACCESS_DENIED" + + // DataSourceErrorInfoTypeCopySourceNotFound is a DataSourceErrorInfoType enum value + DataSourceErrorInfoTypeCopySourceNotFound = "COPY_SOURCE_NOT_FOUND" + // DataSourceErrorInfoTypeTimeout is a DataSourceErrorInfoType enum value DataSourceErrorInfoTypeTimeout = "TIMEOUT" @@ -23528,6 +30395,14 @@ const ( DataSourceTypeTwitter = "TWITTER" ) +const ( + // EditionStandard is a Edition enum value + EditionStandard = "STANDARD" + + // EditionEnterprise is a Edition enum value + EditionEnterprise = "ENTERPRISE" +) + const ( // ExceptionResourceTypeUser is a ExceptionResourceType enum value ExceptionResourceTypeUser = "USER" @@ -23610,6 +30485,11 @@ const ( GeoSpatialDataRoleLatitude = "LATITUDE" ) +const ( + // IdentityStoreQuicksight is a IdentityStore enum value + IdentityStoreQuicksight = "QUICKSIGHT" +) + const ( // IdentityTypeIam is a IdentityType enum value IdentityTypeIam = "IAM" @@ -23819,6 +30699,31 @@ const ( JoinTypeRight = "RIGHT" ) +const ( + // NamespaceErrorTypePermissionDenied is a NamespaceErrorType enum value + NamespaceErrorTypePermissionDenied = "PERMISSION_DENIED" + + // NamespaceErrorTypeInternalServiceError is a NamespaceErrorType enum value + NamespaceErrorTypeInternalServiceError = "INTERNAL_SERVICE_ERROR" +) + +const ( + // NamespaceStatusCreated is a NamespaceStatus enum value + NamespaceStatusCreated = "CREATED" + + // NamespaceStatusCreating is a NamespaceStatus enum value + NamespaceStatusCreating = "CREATING" + + // NamespaceStatusDeleting is a NamespaceStatus enum value + NamespaceStatusDeleting = "DELETING" + + // NamespaceStatusRetryableFailure is a NamespaceStatus enum value + NamespaceStatusRetryableFailure = "RETRYABLE_FAILURE" + + // NamespaceStatusNonRetryableFailure is a NamespaceStatus enum value + NamespaceStatusNonRetryableFailure = "NON_RETRYABLE_FAILURE" +) + const ( // ResourceStatusCreationInProgress is a ResourceStatus enum value ResourceStatusCreationInProgress = "CREATION_IN_PROGRESS" @@ -23848,6 +30753,9 @@ const ( ) const ( + // TemplateErrorTypeSourceNotFound is a TemplateErrorType enum value + TemplateErrorTypeSourceNotFound = "SOURCE_NOT_FOUND" + // TemplateErrorTypeDataSetNotFound is a TemplateErrorType enum value TemplateErrorTypeDataSetNotFound = "DATA_SET_NOT_FOUND" @@ -23863,6 +30771,22 @@ const ( TextQualifierSingleQuote = "SINGLE_QUOTE" ) +const ( + // ThemeErrorTypeInternalFailure is a ThemeErrorType enum value + ThemeErrorTypeInternalFailure = "INTERNAL_FAILURE" +) + +const ( + // ThemeTypeQuicksight is a ThemeType enum value + ThemeTypeQuicksight = "QUICKSIGHT" + + // ThemeTypeCustom is a ThemeType enum value + ThemeTypeCustom = "CUSTOM" + + // ThemeTypeAll is a ThemeType enum value + ThemeTypeAll = "ALL" +) + const ( // UserRoleAdmin is a UserRole enum value UserRoleAdmin = "ADMIN" diff --git a/vendor/github.com/aws/aws-sdk-go/service/rds/api.go b/vendor/github.com/aws/aws-sdk-go/service/rds/api.go index 2866909945c..6ab23785f83 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/rds/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/rds/api.go @@ -620,7 +620,7 @@ func (c *RDS) BacktrackDBClusterRequest(input *BacktrackDBClusterInput) (req *re // (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.Backtrack.html) // in the Amazon Aurora User Guide. // -// This action only applies to Aurora DB clusters. +// This action only applies to Aurora MySQL DB clusters. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2236,10 +2236,6 @@ func (c *RDS) CreateDBProxyRequest(input *CreateDBProxyInput) (req *request.Requ // CreateDBProxy API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Creates a new DB proxy. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2720,7 +2716,6 @@ func (c *RDS) CreateGlobalClusterRequest(input *CreateGlobalClusterInput) (req * // CreateGlobalCluster API operation for Amazon Relational Database Service. // -// // Creates an Aurora global database spread across multiple regions. The global // database contains a single primary cluster with read-write capability, and // a read-only secondary cluster that receives data from the primary cluster @@ -3646,10 +3641,6 @@ func (c *RDS) DeleteDBProxyRequest(input *DeleteDBProxyInput) (req *request.Requ // DeleteDBProxy API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Deletes an existing proxy. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4321,10 +4312,6 @@ func (c *RDS) DeregisterDBProxyTargetsRequest(input *DeregisterDBProxyTargetsInp // DeregisterDBProxyTargets API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Remove the association between one or more DBProxyTarget data structures // and a DBProxyTargetGroup. // @@ -4483,6 +4470,12 @@ func (c *RDS) DescribeCertificatesRequest(input *DescribeCertificatesInput) (req Name: opDescribeCertificates, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, } if input == nil { @@ -4531,6 +4524,58 @@ func (c *RDS) DescribeCertificatesWithContext(ctx aws.Context, input *DescribeCe return out, req.Send() } +// DescribeCertificatesPages iterates over the pages of a DescribeCertificates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeCertificates 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 DescribeCertificates operation. +// pageNum := 0 +// err := client.DescribeCertificatesPages(params, +// func(page *rds.DescribeCertificatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RDS) DescribeCertificatesPages(input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool) error { + return c.DescribeCertificatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeCertificatesPagesWithContext same as DescribeCertificatesPages 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 *RDS) DescribeCertificatesPagesWithContext(ctx aws.Context, input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeCertificatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeCertificatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeCertificatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeCustomAvailabilityZones = "DescribeCustomAvailabilityZones" // DescribeCustomAvailabilityZonesRequest generates a "aws/request.Request" representing the @@ -4706,6 +4751,12 @@ func (c *RDS) DescribeDBClusterBacktracksRequest(input *DescribeDBClusterBacktra Name: opDescribeDBClusterBacktracks, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, } if input == nil { @@ -4724,7 +4775,7 @@ func (c *RDS) DescribeDBClusterBacktracksRequest(input *DescribeDBClusterBacktra // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) // in the Amazon Aurora User Guide. // -// This action only applies to Aurora DB clusters. +// This action only applies to Aurora MySQL DB clusters. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4762,6 +4813,58 @@ func (c *RDS) DescribeDBClusterBacktracksWithContext(ctx aws.Context, input *Des return out, req.Send() } +// DescribeDBClusterBacktracksPages iterates over the pages of a DescribeDBClusterBacktracks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBClusterBacktracks 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 DescribeDBClusterBacktracks operation. +// pageNum := 0 +// err := client.DescribeDBClusterBacktracksPages(params, +// func(page *rds.DescribeDBClusterBacktracksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RDS) DescribeDBClusterBacktracksPages(input *DescribeDBClusterBacktracksInput, fn func(*DescribeDBClusterBacktracksOutput, bool) bool) error { + return c.DescribeDBClusterBacktracksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeDBClusterBacktracksPagesWithContext same as DescribeDBClusterBacktracksPages 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 *RDS) DescribeDBClusterBacktracksPagesWithContext(ctx aws.Context, input *DescribeDBClusterBacktracksInput, fn func(*DescribeDBClusterBacktracksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeDBClusterBacktracksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeDBClusterBacktracksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeDBClusterBacktracksOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeDBClusterEndpoints = "DescribeDBClusterEndpoints" // DescribeDBClusterEndpointsRequest generates a "aws/request.Request" representing the @@ -4793,6 +4896,12 @@ func (c *RDS) DescribeDBClusterEndpointsRequest(input *DescribeDBClusterEndpoint Name: opDescribeDBClusterEndpoints, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, } if input == nil { @@ -4843,6 +4952,58 @@ func (c *RDS) DescribeDBClusterEndpointsWithContext(ctx aws.Context, input *Desc return out, req.Send() } +// DescribeDBClusterEndpointsPages iterates over the pages of a DescribeDBClusterEndpoints operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBClusterEndpoints 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 DescribeDBClusterEndpoints operation. +// pageNum := 0 +// err := client.DescribeDBClusterEndpointsPages(params, +// func(page *rds.DescribeDBClusterEndpointsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RDS) DescribeDBClusterEndpointsPages(input *DescribeDBClusterEndpointsInput, fn func(*DescribeDBClusterEndpointsOutput, bool) bool) error { + return c.DescribeDBClusterEndpointsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeDBClusterEndpointsPagesWithContext same as DescribeDBClusterEndpointsPages 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 *RDS) DescribeDBClusterEndpointsPagesWithContext(ctx aws.Context, input *DescribeDBClusterEndpointsInput, fn func(*DescribeDBClusterEndpointsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeDBClusterEndpointsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeDBClusterEndpointsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeDBClusterEndpointsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups" // DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the @@ -4874,6 +5035,12 @@ func (c *RDS) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterPa Name: opDescribeDBClusterParameterGroups, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, } if input == nil { @@ -4929,6 +5096,58 @@ func (c *RDS) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input return out, req.Send() } +// DescribeDBClusterParameterGroupsPages iterates over the pages of a DescribeDBClusterParameterGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBClusterParameterGroups 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 DescribeDBClusterParameterGroups operation. +// pageNum := 0 +// err := client.DescribeDBClusterParameterGroupsPages(params, +// func(page *rds.DescribeDBClusterParameterGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RDS) DescribeDBClusterParameterGroupsPages(input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool) error { + return c.DescribeDBClusterParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeDBClusterParameterGroupsPagesWithContext same as DescribeDBClusterParameterGroupsPages 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 *RDS) DescribeDBClusterParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeDBClusterParameterGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeDBClusterParameterGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeDBClusterParameterGroupsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeDBClusterParameters = "DescribeDBClusterParameters" // DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the @@ -4960,6 +5179,12 @@ func (c *RDS) DescribeDBClusterParametersRequest(input *DescribeDBClusterParamet Name: opDescribeDBClusterParameters, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, } if input == nil { @@ -5014,6 +5239,58 @@ func (c *RDS) DescribeDBClusterParametersWithContext(ctx aws.Context, input *Des return out, req.Send() } +// DescribeDBClusterParametersPages iterates over the pages of a DescribeDBClusterParameters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBClusterParameters 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 DescribeDBClusterParameters operation. +// pageNum := 0 +// err := client.DescribeDBClusterParametersPages(params, +// func(page *rds.DescribeDBClusterParametersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RDS) DescribeDBClusterParametersPages(input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool) error { + return c.DescribeDBClusterParametersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeDBClusterParametersPagesWithContext same as DescribeDBClusterParametersPages 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 *RDS) DescribeDBClusterParametersPagesWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeDBClusterParametersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeDBClusterParametersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeDBClusterParametersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes" // DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the @@ -5137,6 +5414,12 @@ func (c *RDS) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshot Name: opDescribeDBClusterSnapshots, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, } if input == nil { @@ -5191,6 +5474,58 @@ func (c *RDS) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *Desc return out, req.Send() } +// DescribeDBClusterSnapshotsPages iterates over the pages of a DescribeDBClusterSnapshots operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDBClusterSnapshots 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 DescribeDBClusterSnapshots operation. +// pageNum := 0 +// err := client.DescribeDBClusterSnapshotsPages(params, +// func(page *rds.DescribeDBClusterSnapshotsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RDS) DescribeDBClusterSnapshotsPages(input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool) error { + return c.DescribeDBClusterSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeDBClusterSnapshotsPagesWithContext same as DescribeDBClusterSnapshotsPages 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 *RDS) DescribeDBClusterSnapshotsPagesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeDBClusterSnapshotsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeDBClusterSnapshotsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeDBClusterSnapshotsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeDBClusters = "DescribeDBClusters" // DescribeDBClustersRequest generates a "aws/request.Request" representing the @@ -6213,10 +6548,6 @@ func (c *RDS) DescribeDBProxiesRequest(input *DescribeDBProxiesInput) (req *requ // DescribeDBProxies API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Returns information about DB proxies. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6355,10 +6686,6 @@ func (c *RDS) DescribeDBProxyTargetGroupsRequest(input *DescribeDBProxyTargetGro // DescribeDBProxyTargetGroups API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Returns information about DB proxy target groups, represented by DBProxyTargetGroup // data structures. // @@ -6505,10 +6832,6 @@ func (c *RDS) DescribeDBProxyTargetsRequest(input *DescribeDBProxyTargetsInput) // DescribeDBProxyTargets API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Returns information about DBProxyTarget objects. This API supports pagination. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -8529,6 +8852,12 @@ func (c *RDS) DescribePendingMaintenanceActionsRequest(input *DescribePendingMai Name: opDescribePendingMaintenanceActions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, } if input == nil { @@ -8578,6 +8907,58 @@ func (c *RDS) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, inpu return out, req.Send() } +// DescribePendingMaintenanceActionsPages iterates over the pages of a DescribePendingMaintenanceActions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribePendingMaintenanceActions 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 DescribePendingMaintenanceActions operation. +// pageNum := 0 +// err := client.DescribePendingMaintenanceActionsPages(params, +// func(page *rds.DescribePendingMaintenanceActionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RDS) DescribePendingMaintenanceActionsPages(input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool) error { + return c.DescribePendingMaintenanceActionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribePendingMaintenanceActionsPagesWithContext same as DescribePendingMaintenanceActionsPages 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 *RDS) DescribePendingMaintenanceActionsPagesWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribePendingMaintenanceActionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribePendingMaintenanceActionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribePendingMaintenanceActionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeReservedDBInstances = "DescribeReservedDBInstances" // DescribeReservedDBInstancesRequest generates a "aws/request.Request" representing the @@ -8884,6 +9265,12 @@ func (c *RDS) DescribeSourceRegionsRequest(input *DescribeSourceRegionsInput) (r Name: opDescribeSourceRegions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, } if input == nil { @@ -8929,6 +9316,58 @@ func (c *RDS) DescribeSourceRegionsWithContext(ctx aws.Context, input *DescribeS return out, req.Send() } +// DescribeSourceRegionsPages iterates over the pages of a DescribeSourceRegions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSourceRegions 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 DescribeSourceRegions operation. +// pageNum := 0 +// err := client.DescribeSourceRegionsPages(params, +// func(page *rds.DescribeSourceRegionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *RDS) DescribeSourceRegionsPages(input *DescribeSourceRegionsInput, fn func(*DescribeSourceRegionsOutput, bool) bool) error { + return c.DescribeSourceRegionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeSourceRegionsPagesWithContext same as DescribeSourceRegionsPages 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 *RDS) DescribeSourceRegionsPagesWithContext(ctx aws.Context, input *DescribeSourceRegionsInput, fn func(*DescribeSourceRegionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeSourceRegionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeSourceRegionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeSourceRegionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeValidDBInstanceModifications = "DescribeValidDBInstanceModifications" // DescribeValidDBInstanceModificationsRequest generates a "aws/request.Request" representing the @@ -10025,16 +10464,19 @@ func (c *RDS) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnap // as the AttributeName and use the ValuesToAdd parameter to add a list of IDs // of the AWS accounts that are authorized to restore the manual DB cluster // snapshot. Use the value all to make the manual DB cluster snapshot public, -// which means that it can be copied or restored by all AWS accounts. Do not -// add the all value for any manual DB cluster snapshots that contain private -// information that you don't want available to all AWS accounts. If a manual -// DB cluster snapshot is encrypted, it can be shared, but only by specifying -// a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't -// use all as a value for that parameter in this case. +// which means that it can be copied or restored by all AWS accounts. +// +// Don't add the all value for any manual DB cluster snapshots that contain +// private information that you don't want available to all AWS accounts. +// +// If a manual DB cluster snapshot is encrypted, it can be shared, but only +// by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. +// You can't use all as a value for that parameter in this case. // // To view which AWS accounts have access to copy or restore a manual DB cluster -// snapshot, or whether a manual DB cluster snapshot public or private, use -// the DescribeDBClusterSnapshotAttributes API action. +// snapshot, or whether a manual DB cluster snapshot is public or private, use +// the DescribeDBClusterSnapshotAttributes API action. The accounts are returned +// as values for the restore attribute. // // This action only applies to Aurora DB clusters. // @@ -10192,6 +10634,12 @@ func (c *RDS) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *reques // // * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault" // +// * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault" +// An error occurred accessing an AWS KMS key. +// +// * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault" +// The requested operation can't be performed while the cluster is in this state. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance func (c *RDS) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) { req, out := c.ModifyDBInstanceRequest(input) @@ -10359,10 +10807,6 @@ func (c *RDS) ModifyDBProxyRequest(input *ModifyDBProxyInput) (req *request.Requ // ModifyDBProxy API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Changes the settings for an existing DB proxy. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -10450,10 +10894,6 @@ func (c *RDS) ModifyDBProxyTargetGroupRequest(input *ModifyDBProxyTargetGroupInp // ModifyDBProxyTargetGroup API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Modifies the properties of a DBProxyTargetGroup. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -10630,16 +11070,18 @@ func (c *RDS) ModifyDBSnapshotAttributeRequest(input *ModifyDBSnapshotAttributeI // the AttributeName and use the ValuesToAdd parameter to add a list of IDs // of the AWS accounts that are authorized to restore the manual DB snapshot. // Uses the value all to make the manual DB snapshot public, which means it -// can be copied or restored by all AWS accounts. Do not add the all value for -// any manual DB snapshots that contain private information that you don't want -// available to all AWS accounts. If the manual DB snapshot is encrypted, it -// can be shared, but only by specifying a list of authorized AWS account IDs -// for the ValuesToAdd parameter. You can't use all as a value for that parameter -// in this case. +// can be copied or restored by all AWS accounts. +// +// Don't add the all value for any manual DB snapshots that contain private +// information that you don't want available to all AWS accounts. +// +// If the manual DB snapshot is encrypted, it can be shared, but only by specifying +// a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't +// use all as a value for that parameter in this case. // // To view which AWS accounts have access to copy or restore a manual DB snapshot, // or whether a manual DB snapshot public or private, use the DescribeDBSnapshotAttributes -// API action. +// API action. The accounts are returned as values for the restore 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 @@ -11444,10 +11886,6 @@ func (c *RDS) RegisterDBProxyTargetsRequest(input *RegisterDBProxyTargetsInput) // RegisterDBProxyTargets API operation for Amazon Relational Database Service. // -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Associate one or more DBProxyTarget data structures with a DBProxyTargetGroup. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -13921,8 +14359,13 @@ func (c *RDS) StopDBInstanceWithContext(ctx aws.Context, input *StopDBInstanceIn // * EventSubscriptions - The number of event subscriptions per account. // The used value is the count of the event subscriptions in the account. // -// * ManualSnapshots - The number of manual DB snapshots per account. The -// used value is the count of the manual DB snapshots in the account. +// * ManualClusterSnapshots - The number of manual DB cluster snapshots per +// account. The used value is the count of the manual DB cluster snapshots +// in the account. +// +// * ManualSnapshots - The number of manual DB instance snapshots per account. +// The used value is the count of the manual DB instance snapshots in the +// account. // // * OptionGroups - The number of DB option groups per account, excluding // default option groups. The used value is the count of nondefault DB option @@ -15141,10 +15584,6 @@ func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *Clou return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Specifies the settings that control the size and behavior of the connection // pool associated with a DBProxyTargetGroup. type ConnectionPoolConfiguration struct { @@ -15165,8 +15604,6 @@ type ConnectionPoolConfiguration struct { // statements, use semicolons as the separator. You can also include multiple // variables in a single SET statement, such as SET x=1, y=2. // - // InitQuery is not currently supported for PostgreSQL. - // // Default: no initialization query InitQuery *string `type:"string"` @@ -15240,10 +15677,6 @@ func (s *ConnectionPoolConfiguration) SetSessionPinningFilters(v []*string) *Con return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Displays the settings that control the size and behavior of the connection // pool associated with a DBProxyTarget. type ConnectionPoolConfigurationInfo struct { @@ -15260,8 +15693,6 @@ type ConnectionPoolConfigurationInfo struct { // is empty by default. For multiple statements, use semicolons as the separator. // You can also include multiple variables in a single SET statement, such as // SET x=1, y=2. - // - // InitQuery is not currently supported for PostgreSQL. InitQuery *string `type:"string"` // The maximum size of the connection pool for each target in a target group. @@ -16490,6 +16921,8 @@ type CreateDBClusterInput struct { // The target backtrack window, in seconds. To disable backtracking, set this // value to 0. // + // Currently, Backtrack is only supported for Aurora MySQL DB clusters. + // // Default: 0 // // Constraints: @@ -16579,6 +17012,13 @@ type CreateDBClusterInput struct { // in the Amazon Aurora User Guide. EnableCloudwatchLogsExports []*string `type:"list"` + // A value that indicates whether to enable write operations to be forwarded + // from this cluster to the primary cluster in an Aurora global database. The + // resulting changes are replicated back to this cluster. This parameter only + // applies to DB clusters that are secondary clusters in an Aurora global database. + // By default, Aurora disallows write operations for secondary clusters. + EnableGlobalWriteForwarding *bool `type:"boolean"` + // A value that indicates whether to enable the HTTP endpoint for an Aurora // Serverless DB cluster. By default, the HTTP endpoint is disabled. // @@ -16911,6 +17351,12 @@ func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *Crea return s } +// SetEnableGlobalWriteForwarding sets the EnableGlobalWriteForwarding field's value. +func (s *CreateDBClusterInput) SetEnableGlobalWriteForwarding(v bool) *CreateDBClusterInput { + s.EnableGlobalWriteForwarding = &v + return s +} + // SetEnableHttpEndpoint sets the EnableHttpEndpoint field's value. func (s *CreateDBClusterInput) SetEnableHttpEndpoint(v bool) *CreateDBClusterInput { s.EnableHttpEndpoint = &v @@ -17964,10 +18410,16 @@ type CreateDBInstanceInput struct { // Valid Values: 0 - 15 PromotionTier *int64 `type:"integer"` - // A value that indicates whether the DB instance is publicly accessible. When - // the DB instance is publicly accessible, it is an Internet-facing instance - // with a publicly resolvable DNS name, which resolves to a public IP address. - // When the DB instance isn't publicly accessible, it is an internal instance + // A value that indicates whether the DB instance is publicly accessible. + // + // When the DB instance is publicly accessible, its DNS endpoint resolves to + // the private IP address from within the DB instance's VPC, and to the public + // IP address from outside of the DB instance's VPC. Access to the DB instance + // is ultimately controlled by the security group it uses, and that public access + // is not permitted if the security group assigned to the DB instance doesn't + // permit it. + // + // When the DB instance isn't publicly accessible, it is an internal DB instance // with a DNS name that resolves to a private IP address. // // Default: The default behavior varies depending on whether DBSubnetGroupName @@ -18453,7 +18905,7 @@ type CreateDBInstanceReadReplicaInput struct { // The Active Directory directory ID to create the DB instance in. // - // For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate + // For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate // users that connect to the DB instance. For more information, see Using Kerberos // Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html) // in the Amazon RDS User Guide. @@ -18618,12 +19070,19 @@ type CreateDBInstanceReadReplicaInput struct { // class of the DB instance. ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"` - // A value that indicates whether the DB instance is publicly accessible. When - // the DB instance is publicly accessible, it is an Internet-facing instance - // with a publicly resolvable DNS name, which resolves to a public IP address. - // When the DB instance isn't publicly accessible, it is an internal instance - // with a DNS name that resolves to a private IP address. For more information, - // see CreateDBInstance. + // A value that indicates whether the DB instance is publicly accessible. + // + // When the DB instance is publicly accessible, its DNS endpoint resolves to + // the private IP address from within the DB instance's VPC, and to the public + // IP address from outside of the DB instance's VPC. Access to the DB instance + // is ultimately controlled by the security group it uses, and that public access + // is not permitted if the security group assigned to the DB instance doesn't + // permit it. + // + // When the DB instance isn't publicly accessible, it is an internal DB instance + // with a DNS name that resolves to a private IP address. + // + // For more information, see CreateDBInstance. PubliclyAccessible *bool `type:"boolean"` // The identifier of the DB instance that will act as the source for the read @@ -20134,6 +20593,17 @@ type DBCluster struct { // Indicates the database engine version. EngineVersion *string `type:"string"` + // Specifies whether you have requested to enable write forwarding for a secondary + // cluster in an Aurora global database. Because write forwarding takes time + // to enable, check the value of GlobalWriteForwardingStatus to confirm that + // the request has completed before using the write forwarding feature for this + // cluster. + GlobalWriteForwardingRequested *bool `type:"boolean"` + + // Specifies whether a secondary cluster in an Aurora global database has write + // forwarding enabled, not enabled, or is in the process of enabling it. + GlobalWriteForwardingStatus *string `type:"string" enum:"WriteForwardingStatus"` + // Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. HostedZoneId *string `type:"string"` @@ -20432,6 +20902,18 @@ func (s *DBCluster) SetEngineVersion(v string) *DBCluster { return s } +// SetGlobalWriteForwardingRequested sets the GlobalWriteForwardingRequested field's value. +func (s *DBCluster) SetGlobalWriteForwardingRequested(v bool) *DBCluster { + s.GlobalWriteForwardingRequested = &v + return s +} + +// SetGlobalWriteForwardingStatus sets the GlobalWriteForwardingStatus field's value. +func (s *DBCluster) SetGlobalWriteForwardingStatus(v string) *DBCluster { + s.GlobalWriteForwardingStatus = &v + return s +} + // SetHostedZoneId sets the HostedZoneId field's value. func (s *DBCluster) SetHostedZoneId(v string) *DBCluster { s.HostedZoneId = &v @@ -21241,10 +21723,18 @@ type DBEngineVersion struct { // of the CreateDBInstance action. SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"` + // A value that indicates whether you can use Aurora global databases with a + // specific DB engine version. + SupportsGlobalDatabases *bool `type:"boolean"` + // A value that indicates whether the engine version supports exporting the // log types specified by ExportableLogTypes to CloudWatch Logs. SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"` + // A value that indicates whether you can use Aurora parallel query with a specific + // DB engine version. + SupportsParallelQuery *bool `type:"boolean"` + // Indicates whether the database engine version supports read replicas. SupportsReadReplica *bool `type:"boolean"` @@ -21335,12 +21825,24 @@ func (s *DBEngineVersion) SetSupportedTimezones(v []*Timezone) *DBEngineVersion return s } +// SetSupportsGlobalDatabases sets the SupportsGlobalDatabases field's value. +func (s *DBEngineVersion) SetSupportsGlobalDatabases(v bool) *DBEngineVersion { + s.SupportsGlobalDatabases = &v + return s +} + // SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value. func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion { s.SupportsLogExportsToCloudwatchLogs = &v return s } +// SetSupportsParallelQuery sets the SupportsParallelQuery field's value. +func (s *DBEngineVersion) SetSupportsParallelQuery(v bool) *DBEngineVersion { + s.SupportsParallelQuery = &v + return s +} + // SetSupportsReadReplica sets the SupportsReadReplica field's value. func (s *DBEngineVersion) SetSupportsReadReplica(v bool) *DBEngineVersion { s.SupportsReadReplica = &v @@ -21567,10 +22069,19 @@ type DBInstance struct { // in the Amazon Aurora User Guide. PromotionTier *int64 `type:"integer"` - // Specifies the accessibility options for the DB instance. A value of true - // specifies an Internet-facing instance with a publicly resolvable DNS name, - // which resolves to a public IP address. A value of false specifies an internal - // instance with a DNS name that resolves to a private IP address. + // Specifies the accessibility options for the DB instance. + // + // When the DB instance is publicly accessible, its DNS endpoint resolves to + // the private IP address from within the DB instance's VPC, and to the public + // IP address from outside of the DB instance's VPC. Access to the DB instance + // is ultimately controlled by the security group it uses, and that public access + // is not permitted if the security group assigned to the DB instance doesn't + // permit it. + // + // When the DB instance isn't publicly accessible, it is an internal DB instance + // with a DNS name that resolves to a private IP address. + // + // For more information, see CreateDBInstance. PubliclyAccessible *bool `type:"boolean"` // Contains one or more identifiers of Aurora DB clusters to which the RDS DB @@ -22459,10 +22970,6 @@ func (s *DBParameterGroupStatus) SetParameterApplyStatus(v string) *DBParameterG return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // The data structure representing a proxy managed by the RDS Proxy. // // This data type is used as a response element in the DescribeDBProxies action. @@ -22626,10 +23133,6 @@ func (s *DBProxy) SetVpcSubnetIds(v []*string) *DBProxy { return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Contains the details for an RDS Proxy target. It represents an RDS DB instance // or Aurora DB cluster that the proxy can connect to. One or more targets are // associated with an RDS Proxy target group. @@ -22717,10 +23220,6 @@ func (s *DBProxyTarget) SetType(v string) *DBProxyTarget { return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Represents a set of RDS DB instances, Aurora DB clusters, or both that a // proxy can connect to. Currently, each target group is associated with exactly // one RDS DB instance or Aurora DB cluster. @@ -22982,8 +23481,8 @@ type DBSnapshot struct { // accounts is enabled, and otherwise false. IAMDatabaseAuthenticationEnabled *bool `type:"boolean"` - // Specifies the time when the snapshot was taken, in Universal Coordinated - // Time (UTC). + // Specifies the time in Coordinated Universal Time (UTC) when the DB instance, + // from which the snapshot was taken, was created. InstanceCreateTime *time.Time `type:"timestamp"` // Specifies the Provisioned IOPS (I/O operations per second) value of the DB @@ -23013,8 +23512,7 @@ type DBSnapshot struct { // class of the DB instance when the DB snapshot was created. ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"` - // Provides the time when the snapshot was taken, in Universal Coordinated Time - // (UTC). + // Specifies when the snapshot was taken in Coodinated Universal Time (UTC). SnapshotCreateTime *time.Time `type:"timestamp"` // Provides the type of the DB snapshot. @@ -30858,6 +31356,10 @@ type GlobalClusterMember struct { // The Amazon Resource Name (ARN) for each Aurora cluster. DBClusterArn *string `type:"string"` + // Specifies whether a secondary cluster in an Aurora global database has write + // forwarding enabled, not enabled, or is in the process of enabling it. + GlobalWriteForwardingStatus *string `type:"string" enum:"WriteForwardingStatus"` + // Specifies whether the Aurora cluster is the primary cluster (that is, has // read-write capability) for the Aurora global database with which it is associated. IsWriter *bool `type:"boolean"` @@ -30883,6 +31385,12 @@ func (s *GlobalClusterMember) SetDBClusterArn(v string) *GlobalClusterMember { return s } +// SetGlobalWriteForwardingStatus sets the GlobalWriteForwardingStatus field's value. +func (s *GlobalClusterMember) SetGlobalWriteForwardingStatus(v string) *GlobalClusterMember { + s.GlobalWriteForwardingStatus = &v + return s +} + // SetIsWriter sets the IsWriter field's value. func (s *GlobalClusterMember) SetIsWriter(v bool) *GlobalClusterMember { s.IsWriter = &v @@ -31809,6 +32317,8 @@ type ModifyDBClusterInput struct { // The target backtrack window, in seconds. To disable backtracking, set this // value to 0. // + // Currently, Backtrack is only supported for Aurora MySQL DB clusters. + // // Default: 0 // // Constraints: @@ -31878,6 +32388,13 @@ type ModifyDBClusterInput struct { // Directory Service. DomainIAMRoleName *string `type:"string"` + // A value that indicates whether to enable write operations to be forwarded + // from this cluster to the primary cluster in an Aurora global database. The + // resulting changes are replicated back to this cluster. This parameter only + // applies to DB clusters that are secondary clusters in an Aurora global database. + // By default, Aurora disallows write operations for secondary clusters. + EnableGlobalWriteForwarding *bool `type:"boolean"` + // A value that indicates whether to enable the HTTP endpoint for an Aurora // Serverless DB cluster. By default, the HTTP endpoint is disabled. // @@ -32093,6 +32610,12 @@ func (s *ModifyDBClusterInput) SetDomainIAMRoleName(v string) *ModifyDBClusterIn return s } +// SetEnableGlobalWriteForwarding sets the EnableGlobalWriteForwarding field's value. +func (s *ModifyDBClusterInput) SetEnableGlobalWriteForwarding(v bool) *ModifyDBClusterInput { + s.EnableGlobalWriteForwarding = &v + return s +} + // SetEnableHttpEndpoint sets the EnableHttpEndpoint field's value. func (s *ModifyDBClusterInput) SetEnableHttpEndpoint(v bool) *ModifyDBClusterInput { s.EnableHttpEndpoint = &v @@ -32245,6 +32768,9 @@ type ModifyDBClusterSnapshotAttributeInput struct { // To manage authorization for other AWS accounts to copy or restore a manual // DB cluster snapshot, set this value to restore. // + // To view the list of attributes available to modify, use the DescribeDBClusterSnapshotAttributes + // API action. + // // AttributeName is a required field AttributeName *string `type:"string" required:"true"` @@ -32592,7 +33118,7 @@ type ModifyDBInstanceInput struct { // SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html) // in the Amazon RDS User Guide. // - // For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate + // For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate // users that connect to the DB instance. For more information, see Using Kerberos // Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html) // in the Amazon RDS User Guide. @@ -32831,10 +33357,16 @@ type ModifyDBInstanceInput struct { // Valid Values: 0 - 15 PromotionTier *int64 `type:"integer"` - // A value that indicates whether the DB instance is publicly accessible. When - // the DB instance is publicly accessible, it is an Internet-facing instance - // with a publicly resolvable DNS name, which resolves to a public IP address. - // When the DB instance isn't publicly accessible, it is an internal instance + // A value that indicates whether the DB instance is publicly accessible. + // + // When the DB instance is publicly accessible, its DNS endpoint resolves to + // the private IP address from within the DB instance's VPC, and to the public + // IP address from outside of the DB instance's VPC. Access to the DB instance + // is ultimately controlled by the security group it uses, and that public access + // is not permitted if the security group assigned to the DB instance doesn't + // permit it. + // + // When the DB instance isn't publicly accessible, it is an internal DB instance // with a DNS name that resolves to a private IP address. // // PubliclyAccessible only applies to DB instances in a VPC. The DB instance @@ -33499,6 +34031,9 @@ type ModifyDBSnapshotAttributeInput struct { // To manage authorization for other AWS accounts to copy or restore a manual // DB snapshot, set this value to restore. // + // To view the list of attributes available to modify, use the DescribeDBSnapshotAttributes + // API action. + // // AttributeName is a required field AttributeName *string `type:"string" required:"true"` @@ -34852,6 +35387,13 @@ type OrderableDBInstanceOption struct { // Indicates whether a DB instance is Multi-AZ capable. MultiAZCapable *bool `type:"boolean"` + // Whether a DB instance supports RDS on Outposts. + // + // For more information about RDS on Outposts, see Amazon RDS on AWS Outposts + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) + // in the Amazon RDS User Guide. + OutpostCapable *bool `type:"boolean"` + // Indicates whether a DB instance can have a read replica. ReadReplicaCapable *bool `type:"boolean"` @@ -34869,6 +35411,10 @@ type OrderableDBInstanceOption struct { // from 1 to 60 seconds. SupportsEnhancedMonitoring *bool `type:"boolean"` + // A value that indicates whether you can use Aurora global databases with a + // specific combination of other DB engine attributes. + SupportsGlobalDatabases *bool `type:"boolean"` + // Indicates whether a DB instance supports IAM database authentication. SupportsIAMDatabaseAuthentication *bool `type:"boolean"` @@ -34986,6 +35532,12 @@ func (s *OrderableDBInstanceOption) SetMultiAZCapable(v bool) *OrderableDBInstan return s } +// SetOutpostCapable sets the OutpostCapable field's value. +func (s *OrderableDBInstanceOption) SetOutpostCapable(v bool) *OrderableDBInstanceOption { + s.OutpostCapable = &v + return s +} + // SetReadReplicaCapable sets the ReadReplicaCapable field's value. func (s *OrderableDBInstanceOption) SetReadReplicaCapable(v bool) *OrderableDBInstanceOption { s.ReadReplicaCapable = &v @@ -35010,6 +35562,12 @@ func (s *OrderableDBInstanceOption) SetSupportsEnhancedMonitoring(v bool) *Order return s } +// SetSupportsGlobalDatabases sets the SupportsGlobalDatabases field's value. +func (s *OrderableDBInstanceOption) SetSupportsGlobalDatabases(v bool) *OrderableDBInstanceOption { + s.SupportsGlobalDatabases = &v + return s +} + // SetSupportsIAMDatabaseAuthentication sets the SupportsIAMDatabaseAuthentication field's value. func (s *OrderableDBInstanceOption) SetSupportsIAMDatabaseAuthentication(v bool) *OrderableDBInstanceOption { s.SupportsIAMDatabaseAuthentication = &v @@ -35052,6 +35610,34 @@ func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption { return s } +// A data type that represents an Outpost. +// +// For more information about RDS on Outposts, see Amazon RDS on AWS Outposts +// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) +// in the Amazon RDS User Guide. +type Outpost struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Outpost. + Arn *string `type:"string"` +} + +// String returns the string representation +func (s Outpost) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Outpost) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Outpost) SetArn(v string) *Outpost { + s.Arn = &v + return s +} + // This data type is used as a request parameter in the ModifyDBParameterGroup // and ResetDBParameterGroup actions. // @@ -36860,6 +37446,8 @@ type RestoreDBClusterFromS3Input struct { // The target backtrack window, in seconds. To disable backtracking, set this // value to 0. // + // Currently, Backtrack is only supported for Aurora MySQL DB clusters. + // // Default: 0 // // Constraints: @@ -36887,7 +37475,7 @@ type RestoreDBClusterFromS3Input struct { CopyTagsToSnapshot *bool `type:"boolean"` // The name of the DB cluster to create from the source data in the Amazon S3 - // bucket. This parameter is isn't case-sensitive. + // bucket. This parameter isn't case-sensitive. // // Constraints: // @@ -37095,9 +37683,9 @@ type RestoreDBClusterFromS3Input struct { // The version of the database that the backup files were created from. // - // MySQL version 5.5 and 5.6 are supported. + // MySQL versions 5.5, 5.6, and 5.7 are supported. // - // Example: 5.6.22 + // Example: 5.6.40 // // SourceEngineVersion is a required field SourceEngineVersion *string `type:"string" required:"true"` @@ -37379,6 +37967,8 @@ type RestoreDBClusterFromSnapshotInput struct { // The target backtrack window, in seconds. To disable backtracking, set this // value to 0. // + // Currently, Backtrack is only supported for Aurora MySQL DB clusters. + // // Default: 0 // // Constraints: @@ -37747,6 +38337,8 @@ type RestoreDBClusterToPointInTimeInput struct { // The target backtrack window, in seconds. To disable backtracking, set this // value to 0. // + // Currently, Backtrack is only supported for Aurora MySQL DB clusters. + // // Default: 0 // // Constraints: @@ -38188,7 +38780,7 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html) // in the Amazon RDS User Guide. // - // For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate + // For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate // users that connect to the DB instance. For more information, see Using Kerberos // Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html) // in the Amazon RDS User Guide. @@ -38291,12 +38883,19 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // class of the DB instance. ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"` - // A value that indicates whether the DB instance is publicly accessible. When - // the DB instance is publicly accessible, it is an Internet-facing instance - // with a publicly resolvable DNS name, which resolves to a public IP address. - // When the DB instance isn't publicly accessible, it is an internal instance - // with a DNS name that resolves to a private IP address. For more information, - // see CreateDBInstance. + // A value that indicates whether the DB instance is publicly accessible. + // + // When the DB instance is publicly accessible, its DNS endpoint resolves to + // the private IP address from within the DB instance's VPC, and to the public + // IP address from outside of the DB instance's VPC. Access to the DB instance + // is ultimately controlled by the security group it uses, and that public access + // is not permitted if the security group assigned to the DB instance doesn't + // permit it. + // + // When the DB instance isn't publicly accessible, it is an internal DB instance + // with a DNS name that resolves to a private IP address. + // + // For more information, see CreateDBInstance. PubliclyAccessible *bool `type:"boolean"` // Specifies the storage type to be associated with the DB instance. @@ -38803,12 +39402,19 @@ type RestoreDBInstanceFromS3Input struct { // class of the DB instance. ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"` - // A value that indicates whether the DB instance is publicly accessible. When - // the DB instance is publicly accessible, it is an Internet-facing instance - // with a publicly resolvable DNS name, which resolves to a public IP address. - // When the DB instance isn't publicly accessible, it is an internal instance - // with a DNS name that resolves to a private IP address. For more information, - // see CreateDBInstance. + // A value that indicates whether the DB instance is publicly accessible. + // + // When the DB instance is publicly accessible, its DNS endpoint resolves to + // the private IP address from within the DB instance's VPC, and to the public + // IP address from outside of the DB instance's VPC. Access to the DB instance + // is ultimately controlled by the security group it uses, and that public access + // is not permitted if the security group assigned to the DB instance doesn't + // permit it. + // + // When the DB instance isn't publicly accessible, it is an internal DB instance + // with a DNS name that resolves to a private IP address. + // + // For more information, see CreateDBInstance. PubliclyAccessible *bool `type:"boolean"` // The name of your Amazon S3 bucket that contains your database backup file. @@ -38832,9 +39438,11 @@ type RestoreDBInstanceFromS3Input struct { // SourceEngine is a required field SourceEngine *string `type:"string" required:"true"` - // The engine version of your source database. + // The version of the database that the backup files were created from. + // + // MySQL versions 5.6 and 5.7 are supported. // - // Valid Values: 5.6 + // Example: 5.6.40 // // SourceEngineVersion is a required field SourceEngineVersion *string `type:"string" required:"true"` @@ -39263,7 +39871,7 @@ type RestoreDBInstanceToPointInTimeInput struct { // SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html) // in the Amazon RDS User Guide. // - // For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate + // For Oracle DB instances, Amazon RDS can use Kerberos authentication to authenticate // users that connect to the DB instance. For more information, see Using Kerberos // Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html) // in the Amazon RDS User Guide. @@ -39360,12 +39968,19 @@ type RestoreDBInstanceToPointInTimeInput struct { // class of the DB instance. ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"` - // A value that indicates whether the DB instance is publicly accessible. When - // the DB instance is publicly accessible, it is an Internet-facing instance - // with a publicly resolvable DNS name, which resolves to a public IP address. - // When the DB instance isn't publicly accessible, it is an internal instance - // with a DNS name that resolves to a private IP address. For more information, - // see CreateDBInstance. + // A value that indicates whether the DB instance is publicly accessible. + // + // When the DB instance is publicly accessible, its DNS endpoint resolves to + // the private IP address from within the DB instance's VPC, and to the public + // IP address from outside of the DB instance's VPC. Access to the DB instance + // is ultimately controlled by the security group it uses, and that public access + // is not permitted if the security group assigned to the DB instance doesn't + // permit it. + // + // When the DB instance isn't publicly accessible, it is an internal DB instance + // with a DNS name that resolves to a private IP address. + // + // For more information, see CreateDBInstance. PubliclyAccessible *bool `type:"boolean"` // The date and time to restore from. @@ -40830,8 +41445,8 @@ func (s *StopDBInstanceOutput) SetDBInstance(v *DBInstance) *StopDBInstanceOutpu return s } -// This data type is used as a response element in the DescribeDBSubnetGroups -// action. +// This data type is used as a response element for the DescribeDBSubnetGroups +// operation. type Subnet struct { _ struct{} `type:"structure"` @@ -40841,10 +41456,17 @@ type Subnet struct { // type. SubnetAvailabilityZone *AvailabilityZone `type:"structure"` - // Specifies the identifier of the subnet. + // The identifier of the subnet. SubnetIdentifier *string `type:"string"` - // Specifies the status of the subnet. + // If the subnet is associated with an Outpost, this value specifies the Outpost. + // + // For more information about RDS on Outposts, see Amazon RDS on AWS Outposts + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html) + // in the Amazon RDS User Guide. + SubnetOutpost *Outpost `type:"structure"` + + // The status of the subnet. SubnetStatus *string `type:"string"` } @@ -40870,6 +41492,12 @@ func (s *Subnet) SetSubnetIdentifier(v string) *Subnet { return s } +// SetSubnetOutpost sets the SubnetOutpost field's value. +func (s *Subnet) SetSubnetOutpost(v *Outpost) *Subnet { + s.SubnetOutpost = v + return s +} + // SetSubnetStatus sets the SubnetStatus field's value. func (s *Subnet) SetSubnetStatus(v string) *Subnet { s.SubnetStatus = &v @@ -40915,10 +41543,6 @@ func (s *Tag) SetValue(v string) *Tag { return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Information about the connection health of an RDS Proxy target. type TargetHealth struct { _ struct{} `type:"structure"` @@ -41053,10 +41677,6 @@ func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget { return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Specifies the details of authentication used by a proxy to log in as a specific // database user. type UserAuthConfig struct { @@ -41123,10 +41743,6 @@ func (s *UserAuthConfig) SetUserName(v string) *UserAuthConfig { return s } -// -// This is prerelease documentation for the RDS Database Proxy feature in preview -// release. It is subject to change. -// // Returns the details of authentication used by a proxy to log in as a specific // database user. type UserAuthConfigInfo struct { @@ -41536,3 +42152,20 @@ const ( // TargetTypeTrackedCluster is a TargetType enum value TargetTypeTrackedCluster = "TRACKED_CLUSTER" ) + +const ( + // WriteForwardingStatusEnabled is a WriteForwardingStatus enum value + WriteForwardingStatusEnabled = "enabled" + + // WriteForwardingStatusDisabled is a WriteForwardingStatus enum value + WriteForwardingStatusDisabled = "disabled" + + // WriteForwardingStatusEnabling is a WriteForwardingStatus enum value + WriteForwardingStatusEnabling = "enabling" + + // WriteForwardingStatusDisabling is a WriteForwardingStatus enum value + WriteForwardingStatusDisabling = "disabling" + + // WriteForwardingStatusUnknown is a WriteForwardingStatus enum value + WriteForwardingStatusUnknown = "unknown" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/api.go b/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/api.go index c339a2c8eec..6b04ce3ff04 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/api.go @@ -55,7 +55,8 @@ func (c *ResourceGroups) CreateGroupRequest(input *CreateGroupInput) (req *reque // CreateGroup API operation for AWS Resource Groups. // -// Creates a group with a specified name, description, and resource query. +// Creates a resource group with the specified name and description. You can +// optionally include a resource query, or a service configuration. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -66,20 +67,20 @@ func (c *ResourceGroups) CreateGroupRequest(input *CreateGroupInput) (req *reque // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/CreateGroup func (c *ResourceGroups) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) { @@ -132,8 +133,8 @@ const opDeleteGroup = "DeleteGroup" func (c *ResourceGroups) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) { op := &request.Operation{ Name: opDeleteGroup, - HTTPMethod: "DELETE", - HTTPPath: "/groups/{GroupName}", + HTTPMethod: "POST", + HTTPPath: "/delete-group", } if input == nil { @@ -147,8 +148,9 @@ func (c *ResourceGroups) DeleteGroupRequest(input *DeleteGroupInput) (req *reque // DeleteGroup API operation for AWS Resource Groups. // -// Deletes a specified resource group. Deleting a resource group does not delete -// resources that are members of the group; it only deletes the group structure. +// Deletes the specified resource group. Deleting a resource group does not +// delete any resources that are members of the group; it only deletes the group +// structure. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -159,23 +161,23 @@ func (c *ResourceGroups) DeleteGroupRequest(input *DeleteGroupInput) (req *reque // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/DeleteGroup func (c *ResourceGroups) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) { @@ -228,8 +230,8 @@ const opGetGroup = "GetGroup" func (c *ResourceGroups) GetGroupRequest(input *GetGroupInput) (req *request.Request, output *GetGroupOutput) { op := &request.Operation{ Name: opGetGroup, - HTTPMethod: "GET", - HTTPPath: "/groups/{GroupName}", + HTTPMethod: "POST", + HTTPPath: "/get-group", } if input == nil { @@ -254,23 +256,23 @@ func (c *ResourceGroups) GetGroupRequest(input *GetGroupInput) (req *request.Req // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroup func (c *ResourceGroups) GetGroup(input *GetGroupInput) (*GetGroupOutput, error) { @@ -294,6 +296,108 @@ func (c *ResourceGroups) GetGroupWithContext(ctx aws.Context, input *GetGroupInp return out, req.Send() } +const opGetGroupConfiguration = "GetGroupConfiguration" + +// GetGroupConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetGroupConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetGroupConfiguration for more information on using the GetGroupConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetGroupConfigurationRequest method. +// req, resp := client.GetGroupConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupConfiguration +func (c *ResourceGroups) GetGroupConfigurationRequest(input *GetGroupConfigurationInput) (req *request.Request, output *GetGroupConfigurationOutput) { + op := &request.Operation{ + Name: opGetGroupConfiguration, + HTTPMethod: "POST", + HTTPPath: "/get-group-configuration", + } + + if input == nil { + input = &GetGroupConfigurationInput{} + } + + output = &GetGroupConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetGroupConfiguration API operation for AWS Resource Groups. +// +// Returns the service configuration associated with the specified resource +// group. AWS Resource Groups supports configurations for the following resource +// group types: +// +// * AWS::EC2::CapacityReservationPool - Amazon EC2 capacity reservation +// pools. For more information, see Working with capacity reservation groups +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html#create-cr-group) +// in the EC2 Users Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Resource Groups's +// API operation GetGroupConfiguration for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request includes one or more parameters that violate validation rules. +// +// * ForbiddenException +// The caller isn't authorized to make the request. Check permissions. +// +// * NotFoundException +// One or more of the specified resources don't exist. +// +// * MethodNotAllowedException +// The request uses an HTTP method that isn't allowed for the specified resource. +// +// * TooManyRequestsException +// You've exceeded throttling limits by making too many requests in a period +// of time. +// +// * InternalServerErrorException +// An internal error occurred while processing the request. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupConfiguration +func (c *ResourceGroups) GetGroupConfiguration(input *GetGroupConfigurationInput) (*GetGroupConfigurationOutput, error) { + req, out := c.GetGroupConfigurationRequest(input) + return out, req.Send() +} + +// GetGroupConfigurationWithContext is the same as GetGroupConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetGroupConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ResourceGroups) GetGroupConfigurationWithContext(ctx aws.Context, input *GetGroupConfigurationInput, opts ...request.Option) (*GetGroupConfigurationOutput, error) { + req, out := c.GetGroupConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetGroupQuery = "GetGroupQuery" // GetGroupQueryRequest generates a "aws/request.Request" representing the @@ -323,8 +427,8 @@ const opGetGroupQuery = "GetGroupQuery" func (c *ResourceGroups) GetGroupQueryRequest(input *GetGroupQueryInput) (req *request.Request, output *GetGroupQueryOutput) { op := &request.Operation{ Name: opGetGroupQuery, - HTTPMethod: "GET", - HTTPPath: "/groups/{GroupName}/query", + HTTPMethod: "POST", + HTTPPath: "/get-group-query", } if input == nil { @@ -338,7 +442,7 @@ func (c *ResourceGroups) GetGroupQueryRequest(input *GetGroupQueryInput) (req *r // GetGroupQuery API operation for AWS Resource Groups. // -// Returns the resource query associated with the specified resource group. +// Retrieves the resource query associated with the specified resource group. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -349,23 +453,23 @@ func (c *ResourceGroups) GetGroupQueryRequest(input *GetGroupQueryInput) (req *r // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetGroupQuery func (c *ResourceGroups) GetGroupQuery(input *GetGroupQueryInput) (*GetGroupQueryOutput, error) { @@ -445,23 +549,23 @@ func (c *ResourceGroups) GetTagsRequest(input *GetTagsInput) (req *request.Reque // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GetTags func (c *ResourceGroups) GetTags(input *GetTagsInput) (*GetTagsOutput, error) { @@ -485,6 +589,101 @@ func (c *ResourceGroups) GetTagsWithContext(ctx aws.Context, input *GetTagsInput return out, req.Send() } +const opGroupResources = "GroupResources" + +// GroupResourcesRequest generates a "aws/request.Request" representing the +// client's request for the GroupResources operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GroupResources for more information on using the GroupResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GroupResourcesRequest method. +// req, resp := client.GroupResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GroupResources +func (c *ResourceGroups) GroupResourcesRequest(input *GroupResourcesInput) (req *request.Request, output *GroupResourcesOutput) { + op := &request.Operation{ + Name: opGroupResources, + HTTPMethod: "POST", + HTTPPath: "/group-resources", + } + + if input == nil { + input = &GroupResourcesInput{} + } + + output = &GroupResourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GroupResources API operation for AWS Resource Groups. +// +// Adds the specified resources to the specified group. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Resource Groups's +// API operation GroupResources for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request includes one or more parameters that violate validation rules. +// +// * ForbiddenException +// The caller isn't authorized to make the request. Check permissions. +// +// * NotFoundException +// One or more of the specified resources don't exist. +// +// * MethodNotAllowedException +// The request uses an HTTP method that isn't allowed for the specified resource. +// +// * TooManyRequestsException +// You've exceeded throttling limits by making too many requests in a period +// of time. +// +// * InternalServerErrorException +// An internal error occurred while processing the request. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GroupResources +func (c *ResourceGroups) GroupResources(input *GroupResourcesInput) (*GroupResourcesOutput, error) { + req, out := c.GroupResourcesRequest(input) + return out, req.Send() +} + +// GroupResourcesWithContext is the same as GroupResources with the addition of +// the ability to pass a context and additional request options. +// +// See GroupResources for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ResourceGroups) GroupResourcesWithContext(ctx aws.Context, input *GroupResourcesInput, opts ...request.Option) (*GroupResourcesOutput, error) { + req, out := c.GroupResourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListGroupResources = "ListGroupResources" // ListGroupResourcesRequest generates a "aws/request.Request" representing the @@ -515,7 +714,7 @@ func (c *ResourceGroups) ListGroupResourcesRequest(input *ListGroupResourcesInpu op := &request.Operation{ Name: opListGroupResources, HTTPMethod: "POST", - HTTPPath: "/groups/{GroupName}/resource-identifiers-list", + HTTPPath: "/list-group-resources", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -535,7 +734,7 @@ func (c *ResourceGroups) ListGroupResourcesRequest(input *ListGroupResourcesInpu // ListGroupResources API operation for AWS Resource Groups. // -// Returns a list of ARNs of resources that are members of a specified resource +// Returns a list of ARNs of the resources that are members of a specified resource // group. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -547,27 +746,27 @@ func (c *ResourceGroups) ListGroupResourcesRequest(input *ListGroupResourcesInpu // // Returned Error Types: // * UnauthorizedException -// The request has not been applied because it lacks valid authentication credentials -// for the target resource. +// The request was rejected because it doesn't have valid credentials for the +// target resource. // // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroupResources func (c *ResourceGroups) ListGroupResources(input *ListGroupResourcesInput) (*ListGroupResourcesOutput, error) { @@ -704,20 +903,20 @@ func (c *ResourceGroups) ListGroupsRequest(input *ListGroupsInput) (req *request // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/ListGroups func (c *ResourceGroups) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) { @@ -843,7 +1042,7 @@ func (c *ResourceGroups) SearchResourcesRequest(input *SearchResourcesInput) (re // SearchResources API operation for AWS Resource Groups. // -// Returns a list of AWS resource identifiers that matches a specified query. +// Returns a list of AWS resource identifiers that matches tne specified query. // The query uses the same format as a resource query in a CreateGroup or UpdateGroupQuery // operation. // @@ -856,24 +1055,24 @@ func (c *ResourceGroups) SearchResourcesRequest(input *SearchResourcesInput) (re // // Returned Error Types: // * UnauthorizedException -// The request has not been applied because it lacks valid authentication credentials -// for the target resource. +// The request was rejected because it doesn't have valid credentials for the +// target resource. // // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/SearchResources func (c *ResourceGroups) SearchResources(input *SearchResourcesInput) (*SearchResourcesOutput, error) { @@ -996,6 +1195,11 @@ func (c *ResourceGroups) TagRequest(input *TagInput) (req *request.Request, outp // Adds tags to a resource group with the specified ARN. Existing tags on a // resource group are not changed if they are not specified in the request parameters. // +// Do not store personally identifiable information (PII) or other confidential +// or sensitive information in tags. We use tags to provide you with billing +// and administration services. Tags are not intended to be used for private +// or sensitive data. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1005,23 +1209,23 @@ func (c *ResourceGroups) TagRequest(input *TagInput) (req *request.Request, outp // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/Tag func (c *ResourceGroups) Tag(input *TagInput) (*TagOutput, error) { @@ -1045,6 +1249,101 @@ func (c *ResourceGroups) TagWithContext(ctx aws.Context, input *TagInput, opts . return out, req.Send() } +const opUngroupResources = "UngroupResources" + +// UngroupResourcesRequest generates a "aws/request.Request" representing the +// client's request for the UngroupResources operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UngroupResources for more information on using the UngroupResources +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UngroupResourcesRequest method. +// req, resp := client.UngroupResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UngroupResources +func (c *ResourceGroups) UngroupResourcesRequest(input *UngroupResourcesInput) (req *request.Request, output *UngroupResourcesOutput) { + op := &request.Operation{ + Name: opUngroupResources, + HTTPMethod: "POST", + HTTPPath: "/ungroup-resources", + } + + if input == nil { + input = &UngroupResourcesInput{} + } + + output = &UngroupResourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// UngroupResources API operation for AWS Resource Groups. +// +// Removes the specified resources from the specified group. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Resource Groups's +// API operation UngroupResources for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The request includes one or more parameters that violate validation rules. +// +// * ForbiddenException +// The caller isn't authorized to make the request. Check permissions. +// +// * NotFoundException +// One or more of the specified resources don't exist. +// +// * MethodNotAllowedException +// The request uses an HTTP method that isn't allowed for the specified resource. +// +// * TooManyRequestsException +// You've exceeded throttling limits by making too many requests in a period +// of time. +// +// * InternalServerErrorException +// An internal error occurred while processing the request. Try again later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UngroupResources +func (c *ResourceGroups) UngroupResources(input *UngroupResourcesInput) (*UngroupResourcesOutput, error) { + req, out := c.UngroupResourcesRequest(input) + return out, req.Send() +} + +// UngroupResourcesWithContext is the same as UngroupResources with the addition of +// the ability to pass a context and additional request options. +// +// See UngroupResources for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ResourceGroups) UngroupResourcesWithContext(ctx aws.Context, input *UngroupResourcesInput, opts ...request.Option) (*UngroupResourcesOutput, error) { + req, out := c.UngroupResourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUntag = "Untag" // UntagRequest generates a "aws/request.Request" representing the @@ -1089,7 +1388,7 @@ func (c *ResourceGroups) UntagRequest(input *UntagInput) (req *request.Request, // Untag API operation for AWS Resource Groups. // -// Deletes specified tags from a specified resource. +// Deletes tags from a specified resource group. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1100,23 +1399,23 @@ func (c *ResourceGroups) UntagRequest(input *UntagInput) (req *request.Request, // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/Untag func (c *ResourceGroups) Untag(input *UntagInput) (*UntagOutput, error) { @@ -1169,8 +1468,8 @@ const opUpdateGroup = "UpdateGroup" func (c *ResourceGroups) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) { op := &request.Operation{ Name: opUpdateGroup, - HTTPMethod: "PUT", - HTTPPath: "/groups/{GroupName}", + HTTPMethod: "POST", + HTTPPath: "/update-group", } if input == nil { @@ -1184,8 +1483,8 @@ func (c *ResourceGroups) UpdateGroupRequest(input *UpdateGroupInput) (req *reque // UpdateGroup API operation for AWS Resource Groups. // -// Updates an existing group with a new or changed description. You cannot update -// the name of a resource group. +// Updates the description for an existing group. You cannot update the name +// of a resource group. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1196,23 +1495,23 @@ func (c *ResourceGroups) UpdateGroupRequest(input *UpdateGroupInput) (req *reque // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroup func (c *ResourceGroups) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) { @@ -1265,8 +1564,8 @@ const opUpdateGroupQuery = "UpdateGroupQuery" func (c *ResourceGroups) UpdateGroupQueryRequest(input *UpdateGroupQueryInput) (req *request.Request, output *UpdateGroupQueryOutput) { op := &request.Operation{ Name: opUpdateGroupQuery, - HTTPMethod: "PUT", - HTTPPath: "/groups/{GroupName}/query", + HTTPMethod: "POST", + HTTPPath: "/update-group-query", } if input == nil { @@ -1291,23 +1590,23 @@ func (c *ResourceGroups) UpdateGroupQueryRequest(input *UpdateGroupQueryInput) ( // // Returned Error Types: // * BadRequestException -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. // // * ForbiddenException -// The caller is not authorized to make the request. +// The caller isn't authorized to make the request. Check permissions. // // * NotFoundException -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. // // * MethodNotAllowedException -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. // // * TooManyRequestsException -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. // // * InternalServerErrorException -// An internal error occurred while processing the request. +// An internal error occurred while processing the request. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/UpdateGroupQuery func (c *ResourceGroups) UpdateGroupQuery(input *UpdateGroupQueryInput) (*UpdateGroupQueryOutput, error) { @@ -1331,8 +1630,7 @@ func (c *ResourceGroups) UpdateGroupQueryWithContext(ctx aws.Context, input *Upd return out, req.Send() } -// The request does not comply with validation rules that are defined for the -// request parameters. +// The request includes one or more parameters that violate validation rules. type BadRequestException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -1391,16 +1689,23 @@ func (s *BadRequestException) RequestID() string { type CreateGroupInput struct { _ struct{} `type:"structure"` - // The description of the resource group. Descriptions can have a maximum of - // 511 characters, including letters, numbers, hyphens, underscores, punctuation, - // and spaces. + // A configuration associates the resource group with an AWS service and specifies + // how the service can interact with the resources in the group. A configuration + // is an array of GroupConfigurationItem elements. + // + // You can specify either a Configuration or a ResourceQuery in a group, but + // not both. + Configuration []*GroupConfigurationItem `type:"list"` + + // The description of the resource group. Descriptions can consist of letters, + // numbers, hyphens, underscores, periods, and spaces. Description *string `type:"string"` // The name of the group, which is the identifier of the group in other operations. - // A resource group name cannot be updated after it is created. A resource group - // name can have a maximum of 128 characters, including letters, numbers, hyphens, - // dots, and underscores. The name cannot start with AWS or aws; these are reserved. - // A resource group name must be unique within your account. + // You can't change the name of a resource group after you create it. A resource + // group name can consist of letters, numbers, hyphens, periods, and underscores. + // The name cannot start with AWS or aws; these are reserved. A resource group + // name must be unique within each AWS Region in your AWS account. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -1408,12 +1713,10 @@ type CreateGroupInput struct { // The resource query that determines which AWS resources are members of this // group. // - // ResourceQuery is a required field - ResourceQuery *ResourceQuery `type:"structure" required:"true"` + // You can specify either a ResourceQuery or a Configuration, but not both. + ResourceQuery *ResourceQuery `type:"structure"` - // The tags to add to the group. A tag is a string-to-string map of key-value - // pairs. Tag keys can have a maximum character length of 128 characters, and - // tag values can have a maximum length of 256 characters. + // The tags to add to the group. A tag is key-value pair string. Tags map[string]*string `type:"map"` } @@ -1436,8 +1739,15 @@ func (s *CreateGroupInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.ResourceQuery == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceQuery")) + if s.Configuration != nil { + for i, v := range s.Configuration { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Configuration", i), err.(request.ErrInvalidParams)) + } + } } if s.ResourceQuery != nil { if err := s.ResourceQuery.Validate(); err != nil { @@ -1451,6 +1761,12 @@ func (s *CreateGroupInput) Validate() error { return nil } +// SetConfiguration sets the Configuration field's value. +func (s *CreateGroupInput) SetConfiguration(v []*GroupConfigurationItem) *CreateGroupInput { + s.Configuration = v + return s +} + // SetDescription sets the Description field's value. func (s *CreateGroupInput) SetDescription(v string) *CreateGroupInput { s.Description = &v @@ -1478,9 +1794,19 @@ func (s *CreateGroupInput) SetTags(v map[string]*string) *CreateGroupInput { type CreateGroupOutput struct { _ struct{} `type:"structure"` - // A full description of the resource group after it is created. + // The description of the resource group. Group *Group `type:"structure"` + // The service configuration associated with the resource group. AWS Resource + // Groups supports adding service configurations for the following resource + // group types: + // + // * AWS::EC2::CapacityReservationPool - Amazon EC2 capacity reservation + // pools. For more information, see Working with capacity reservation groups + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html#create-cr-group) + // in the EC2 Users Guide. + GroupConfiguration *GroupConfiguration `type:"structure"` + // The resource query associated with the group. ResourceQuery *ResourceQuery `type:"structure"` @@ -1504,6 +1830,12 @@ func (s *CreateGroupOutput) SetGroup(v *Group) *CreateGroupOutput { return s } +// SetGroupConfiguration sets the GroupConfiguration field's value. +func (s *CreateGroupOutput) SetGroupConfiguration(v *GroupConfiguration) *CreateGroupOutput { + s.GroupConfiguration = v + return s +} + // SetResourceQuery sets the ResourceQuery field's value. func (s *CreateGroupOutput) SetResourceQuery(v *ResourceQuery) *CreateGroupOutput { s.ResourceQuery = v @@ -1519,10 +1851,13 @@ func (s *CreateGroupOutput) SetTags(v map[string]*string) *CreateGroupOutput { type DeleteGroupInput struct { _ struct{} `type:"structure"` - // The name of the resource group to delete. + // The name or the ARN of the resource group to delete. + Group *string `min:"1" type:"string"` + + // Don't use this parameter. Use Group instead. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // Deprecated: This field is deprecated, use Group instead. + GroupName *string `min:"1" deprecated:"true" type:"string"` } // String returns the string representation @@ -1538,8 +1873,8 @@ func (s DeleteGroupInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"} - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) } if s.GroupName != nil && len(*s.GroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) @@ -1551,6 +1886,12 @@ func (s *DeleteGroupInput) Validate() error { return nil } +// SetGroup sets the Group field's value. +func (s *DeleteGroupInput) SetGroup(v string) *DeleteGroupInput { + s.Group = &v + return s +} + // SetGroupName sets the GroupName field's value. func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput { s.GroupName = &v @@ -1580,32 +1921,74 @@ func (s *DeleteGroupOutput) SetGroup(v *Group) *DeleteGroupOutput { return s } -// The caller is not authorized to make the request. -type ForbiddenException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// A resource that failed to be added to or removed from a group. +type FailedResource struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" min:"1" type:"string"` + // The error code associated with the failure. + ErrorCode *string `min:"1" type:"string"` + + // The error message text associated with the failure. + ErrorMessage *string `min:"1" type:"string"` + + // The ARN of the resource that failed to be added or removed. + ResourceArn *string `type:"string"` } // String returns the string representation -func (s ForbiddenException) String() string { +func (s FailedResource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ForbiddenException) GoString() string { +func (s FailedResource) GoString() string { return s.String() } -func newErrorForbiddenException(v protocol.ResponseMetadata) error { - return &ForbiddenException{ - RespMetadata: v, - } +// SetErrorCode sets the ErrorCode field's value. +func (s *FailedResource) SetErrorCode(v string) *FailedResource { + s.ErrorCode = &v + return s } -// Code returns the exception type name. -func (s *ForbiddenException) Code() string { +// SetErrorMessage sets the ErrorMessage field's value. +func (s *FailedResource) SetErrorMessage(v string) *FailedResource { + s.ErrorMessage = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *FailedResource) SetResourceArn(v string) *FailedResource { + s.ResourceArn = &v + return s +} + +// The caller isn't authorized to make the request. Check permissions. +type ForbiddenException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" min:"1" type:"string"` +} + +// String returns the string representation +func (s ForbiddenException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ForbiddenException) GoString() string { + return s.String() +} + +func newErrorForbiddenException(v protocol.ResponseMetadata) error { + return &ForbiddenException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ForbiddenException) Code() string { return "ForbiddenException" } @@ -1636,13 +2019,75 @@ func (s *ForbiddenException) RequestID() string { return s.RespMetadata.RequestID } +type GetGroupConfigurationInput struct { + _ struct{} `type:"structure"` + + // The name or the ARN of the resource group. + Group *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetGroupConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetGroupConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetGroupConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetGroupConfigurationInput"} + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroup sets the Group field's value. +func (s *GetGroupConfigurationInput) SetGroup(v string) *GetGroupConfigurationInput { + s.Group = &v + return s +} + +type GetGroupConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The configuration associated with the specified group. + GroupConfiguration *GroupConfiguration `type:"structure"` +} + +// String returns the string representation +func (s GetGroupConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetGroupConfigurationOutput) GoString() string { + return s.String() +} + +// SetGroupConfiguration sets the GroupConfiguration field's value. +func (s *GetGroupConfigurationOutput) SetGroupConfiguration(v *GroupConfiguration) *GetGroupConfigurationOutput { + s.GroupConfiguration = v + return s +} + type GetGroupInput struct { _ struct{} `type:"structure"` - // The name of the resource group. + // The name or the ARN of the resource group to retrieve. + Group *string `min:"1" type:"string"` + + // Don't use this parameter. Use Group instead. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // Deprecated: This field is deprecated, use Group instead. + GroupName *string `min:"1" deprecated:"true" type:"string"` } // String returns the string representation @@ -1658,8 +2103,8 @@ func (s GetGroupInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *GetGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetGroupInput"} - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) } if s.GroupName != nil && len(*s.GroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) @@ -1671,6 +2116,12 @@ func (s *GetGroupInput) Validate() error { return nil } +// SetGroup sets the Group field's value. +func (s *GetGroupInput) SetGroup(v string) *GetGroupInput { + s.Group = &v + return s +} + // SetGroupName sets the GroupName field's value. func (s *GetGroupInput) SetGroupName(v string) *GetGroupInput { s.GroupName = &v @@ -1703,10 +2154,13 @@ func (s *GetGroupOutput) SetGroup(v *Group) *GetGroupOutput { type GetGroupQueryInput struct { _ struct{} `type:"structure"` - // The name of the resource group. + // The name or the ARN of the resource group to query. + Group *string `min:"1" type:"string"` + + // Don't use this parameter. Use Group instead. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // Deprecated: This field is deprecated, use Group instead. + GroupName *string `min:"1" deprecated:"true" type:"string"` } // String returns the string representation @@ -1722,8 +2176,8 @@ func (s GetGroupQueryInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *GetGroupQueryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetGroupQueryInput"} - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) } if s.GroupName != nil && len(*s.GroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) @@ -1735,6 +2189,12 @@ func (s *GetGroupQueryInput) Validate() error { return nil } +// SetGroup sets the Group field's value. +func (s *GetGroupQueryInput) SetGroup(v string) *GetGroupQueryInput { + s.Group = &v + return s +} + // SetGroupName sets the GroupName field's value. func (s *GetGroupQueryInput) SetGroupName(v string) *GetGroupQueryInput { s.GroupName = &v @@ -1767,8 +2227,7 @@ func (s *GetGroupQueryOutput) SetGroupQuery(v *GroupQuery) *GetGroupQueryOutput type GetTagsInput struct { _ struct{} `type:"structure"` - // The ARN of the resource group for which you want a list of tags. The resource - // must exist within the account you are using. + // The ARN of the resource group whose tags you want to retrieve. // // Arn is a required field Arn *string `location:"uri" locationName:"Arn" min:"12" type:"string" required:"true"` @@ -1838,19 +2297,29 @@ func (s *GetTagsOutput) SetTags(v map[string]*string) *GetTagsOutput { return s } -// A resource group. +// A resource group that contains AWS resources. You can assign resources to +// the group by associating either of the following elements with the group: +// +// * ResourceQuery - Use a resource query to specify a set of tag keys and +// values. All resources in the same AWS Region and AWS account that have +// those keys with the same values are included in the group. You can add +// a resource query when you create the group. +// +// * GroupConfiguration - Use a service configuration to associate the group +// with an AWS service. The configuration specifies which resource types +// can be included in the group. type Group struct { _ struct{} `type:"structure"` // The description of the resource group. Description *string `type:"string"` - // The ARN of a resource group. + // The ARN of the resource group. // // GroupArn is a required field GroupArn *string `min:"12" type:"string" required:"true"` - // The name of a resource group. + // The name of the resource group. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -1884,8 +2353,200 @@ func (s *Group) SetName(v string) *Group { return s } -// A filter name and value pair that is used to obtain more specific results -// from a list of groups. +// A service configuration associated with a resource group. The configuration +// options are determined by the AWS service that defines the Type, and specifies +// which resources can be included in the group. You can add a service configuration +// when you create the group. +type GroupConfiguration struct { + _ struct{} `type:"structure"` + + // The configuration currently associated with the group and in effect. + Configuration []*GroupConfigurationItem `type:"list"` + + // If present, the reason why a request to update the group configuration failed. + FailureReason *string `type:"string"` + + // If present, the new configuration that is in the process of being applied + // to the group. + ProposedConfiguration []*GroupConfigurationItem `type:"list"` + + // The current status of an attempt to update the group configuration. + Status *string `type:"string" enum:"GroupConfigurationStatus"` +} + +// String returns the string representation +func (s GroupConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupConfiguration) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *GroupConfiguration) SetConfiguration(v []*GroupConfigurationItem) *GroupConfiguration { + s.Configuration = v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *GroupConfiguration) SetFailureReason(v string) *GroupConfiguration { + s.FailureReason = &v + return s +} + +// SetProposedConfiguration sets the ProposedConfiguration field's value. +func (s *GroupConfiguration) SetProposedConfiguration(v []*GroupConfigurationItem) *GroupConfiguration { + s.ProposedConfiguration = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GroupConfiguration) SetStatus(v string) *GroupConfiguration { + s.Status = &v + return s +} + +// An item in a group configuration. A group configuration can have one or more +// items. +type GroupConfigurationItem struct { + _ struct{} `type:"structure"` + + // A collection of parameters for this group configuration item. + Parameters []*GroupConfigurationParameter `type:"list"` + + // Specifies the type of group configuration item. Each item must have a unique + // value for type. + // + // You can specify the following string values: + // + // * AWS::EC2::CapacityReservationPool For more information about EC2 capacity + // reservation groups, see Working with capacity reservation groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html#create-cr-group) + // in the EC2 Users Guide. + // + // * AWS::ResourceGroups::Generic - Supports parameters that configure the + // behavior of resource groups of any type. + // + // Type is a required field + Type *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GroupConfigurationItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupConfigurationItem) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GroupConfigurationItem) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GroupConfigurationItem"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Parameters != nil { + for i, v := range s.Parameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetParameters sets the Parameters field's value. +func (s *GroupConfigurationItem) SetParameters(v []*GroupConfigurationParameter) *GroupConfigurationItem { + s.Parameters = v + return s +} + +// SetType sets the Type field's value. +func (s *GroupConfigurationItem) SetType(v string) *GroupConfigurationItem { + s.Type = &v + return s +} + +// A parameter for a group configuration item. +type GroupConfigurationParameter struct { + _ struct{} `type:"structure"` + + // The name of the group configuration parameter. + // + // You can specify the following string values: + // + // * For configuration item type AWS::ResourceGroups::Generic: allowed-resource-types + // Specifies the types of resources that you can add to this group by using + // the GroupResources operation. + // + // * For configuration item type AWS::EC2::CapacityReservationPool: None + // - This configuration item type doesn't support any parameters. For more + // information about EC2 capacity reservation groups, see Working with capacity + // reservation groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html#create-cr-group) + // in the EC2 Users Guide. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The values of for this parameter. + // + // You can specify the following string value: + // + // * For item type allowed-resource-types: the only supported parameter value + // is AWS::EC2::CapacityReservation. + Values []*string `type:"list"` +} + +// String returns the string representation +func (s GroupConfigurationParameter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupConfigurationParameter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GroupConfigurationParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GroupConfigurationParameter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *GroupConfigurationParameter) SetName(v string) *GroupConfigurationParameter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *GroupConfigurationParameter) SetValues(v []*string) *GroupConfigurationParameter { + s.Values = v + return s +} + +// A filter collection that you can use to restrict the results from a List +// operation to only those you want to include. type GroupFilter struct { _ struct{} `type:"structure"` @@ -1942,14 +2603,14 @@ func (s *GroupFilter) SetValues(v []*string) *GroupFilter { return s } -// The ARN and group name of a group. +// The unique identifiers for a resource group. type GroupIdentifier struct { _ struct{} `type:"structure"` - // The ARN of a resource group. + // The ARN of the resource group. GroupArn *string `min:"12" type:"string"` - // The name of a resource group. + // The name of the resource group. GroupName *string `min:"1" type:"string"` } @@ -1975,18 +2636,18 @@ func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier { return s } -// The underlying resource query of a resource group. Resources that match query -// results are part of the group. +// A mapping of a query attached to a resource group that determines the AWS +// resources that are members of the group. type GroupQuery struct { _ struct{} `type:"structure"` - // The name of a resource group that is associated with a specific resource + // The name of the resource group that is associated with the specified resource // query. // // GroupName is a required field GroupName *string `min:"1" type:"string" required:"true"` - // The resource query which determines which AWS resources are members of the + // The resource query that determines which AWS resources are members of the // associated resource group. // // ResourceQuery is a required field @@ -2015,7 +2676,98 @@ func (s *GroupQuery) SetResourceQuery(v *ResourceQuery) *GroupQuery { return s } -// An internal error occurred while processing the request. +type GroupResourcesInput struct { + _ struct{} `type:"structure"` + + // The name or the ARN of the resource group to add resources to. + // + // Group is a required field + Group *string `min:"1" type:"string" required:"true"` + + // The list of ARNs for resources to be added to the group. + // + // ResourceArns is a required field + ResourceArns []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s GroupResourcesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupResourcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GroupResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GroupResourcesInput"} + if s.Group == nil { + invalidParams.Add(request.NewErrParamRequired("Group")) + } + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) + } + if s.ResourceArns == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArns")) + } + if s.ResourceArns != nil && len(s.ResourceArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroup sets the Group field's value. +func (s *GroupResourcesInput) SetGroup(v string) *GroupResourcesInput { + s.Group = &v + return s +} + +// SetResourceArns sets the ResourceArns field's value. +func (s *GroupResourcesInput) SetResourceArns(v []*string) *GroupResourcesInput { + s.ResourceArns = v + return s +} + +type GroupResourcesOutput struct { + _ struct{} `type:"structure"` + + // The ARNs of the resources that failed to be added to the group by this operation. + Failed []*FailedResource `type:"list"` + + // The ARNs of the resources that were successfully added to the group by this + // operation. + Succeeded []*string `min:"1" type:"list"` +} + +// String returns the string representation +func (s GroupResourcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GroupResourcesOutput) GoString() string { + return s.String() +} + +// SetFailed sets the Failed field's value. +func (s *GroupResourcesOutput) SetFailed(v []*FailedResource) *GroupResourcesOutput { + s.Failed = v + return s +} + +// SetSucceeded sets the Succeeded field's value. +func (s *GroupResourcesOutput) SetSucceeded(v []*string) *GroupResourcesOutput { + s.Succeeded = v + return s +} + +// An internal error occurred while processing the request. Try again later. type InternalServerErrorException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2075,26 +2827,54 @@ type ListGroupResourcesInput struct { _ struct{} `type:"structure"` // Filters, formatted as ResourceFilter objects, that you want to apply to a - // ListGroupResources operation. + // ListGroupResources operation. Filters the results to include only those of + // the specified resource types. // // * resource-type - Filter resources by their type. Specify up to five resource // types in the format AWS::ServiceCode::ResourceType. For example, AWS::EC2::Instance, // or AWS::S3::Bucket. + // + // When you specify a resource-type filter for ListGroupResources, AWS Resource + // Groups validates your filter resource types against the types that are defined + // in the query associated with the group. For example, if a group contains + // only S3 buckets because its query specifies only that resource type, but + // your resource-type filter includes EC2 instances, AWS Resource Groups does + // not filter for EC2 instances. In this case, a ListGroupResources request + // returns a BadRequestException error with a message similar to the following: + // + // The resource types specified as filters in the request are not valid. + // + // The error includes a list of resource types that failed the validation because + // they are not part of the query associated with the group. This validation + // doesn't occur when the group query specifies AWS::AllSupported, because a + // group based on such a query can contain any of the allowed resource types + // for the query type (tag-based or AWS CloudFormation stack-based queries). Filters []*ResourceFilter `type:"list"` - // The name of the resource group. - // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // The name or the ARN of the resource group + Group *string `min:"1" type:"string"` - // The maximum number of group member ARNs that are returned in a single call - // by ListGroupResources, in paginated output. By default, this number is 50. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // Don't use this parameter. Use Group instead. + // + // Deprecated: This field is deprecated, use Group instead. + GroupName *string `min:"1" deprecated:"true" type:"string"` + + // The total number of results that you want included on each page of the response. + // If you do not include this parameter, it defaults to a value that is specific + // to the operation. If additional items exist beyond the maximum you specify, + // the NextToken response element is present and has a value (is not null). + // Include that value as the NextToken request parameter in the next call to + // the operation to get the next part of the results. Note that the service + // might return fewer results than the maximum even when there are more results + // available. You should check NextToken after every operation to ensure that + // you receive all of the results. + MaxResults *int64 `min:"1" type:"integer"` - // The NextToken value that is returned in a paginated ListGroupResources request. - // To get the next page of results, run the call again, add the NextToken parameter, - // and specify the NextToken value. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // The parameter for receiving additional results if you receive a NextToken + // response in a previous request. A NextToken response indicates that more + // output is available. Set this parameter to the value provided by a previous + // call's NextToken response to indicate where the output should continue from. + NextToken *string `type:"string"` } // String returns the string representation @@ -2110,8 +2890,8 @@ func (s ListGroupResourcesInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListGroupResourcesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListGroupResourcesInput"} - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) } if s.GroupName != nil && len(*s.GroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) @@ -2142,6 +2922,12 @@ func (s *ListGroupResourcesInput) SetFilters(v []*ResourceFilter) *ListGroupReso return s } +// SetGroup sets the Group field's value. +func (s *ListGroupResourcesInput) SetGroup(v string) *ListGroupResourcesInput { + s.Group = &v + return s +} + // SetGroupName sets the GroupName field's value. func (s *ListGroupResourcesInput) SetGroupName(v string) *ListGroupResourcesInput { s.GroupName = &v @@ -2163,8 +2949,10 @@ func (s *ListGroupResourcesInput) SetNextToken(v string) *ListGroupResourcesInpu type ListGroupResourcesOutput struct { _ struct{} `type:"structure"` - // The NextToken value to include in a subsequent ListGroupResources request, - // to get more results. + // If present, indicates that more output is available than is included in the + // current response. Use this value in the NextToken request parameter in a + // subsequent call to the operation to get the next part of the output. You + // should repeat this until the NextToken response element comes back as null. NextToken *string `type:"string"` // A list of QueryError objects. Each error is an object that contains ErrorCode @@ -2211,18 +2999,30 @@ type ListGroupsInput struct { // Filters, formatted as GroupFilter objects, that you want to apply to a ListGroups // operation. // - // * resource-type - Filter groups by resource type. Specify up to five resource - // types in the format AWS::ServiceCode::ResourceType. For example, AWS::EC2::Instance, - // or AWS::S3::Bucket. + // * resource-type - Filter the results to include only those of the specified + // resource types. Specify up to five resource types in the format AWS::ServiceCode::ResourceType + // . For example, AWS::EC2::Instance, or AWS::S3::Bucket. + // + // * configuration-type - Filter the results to include only those groups + // that have the specified configuration types attached. The current supported + // values are: AWS:EC2::CapacityReservationPool Filters []*GroupFilter `type:"list"` - // The maximum number of resource group results that are returned by ListGroups - // in paginated output. By default, this number is 50. + // The total number of results that you want included on each page of the response. + // If you do not include this parameter, it defaults to a value that is specific + // to the operation. If additional items exist beyond the maximum you specify, + // the NextToken response element is present and has a value (is not null). + // Include that value as the NextToken request parameter in the next call to + // the operation to get the next part of the results. Note that the service + // might return fewer results than the maximum even when there are more results + // available. You should check NextToken after every operation to ensure that + // you receive all of the results. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The NextToken value that is returned in a paginated ListGroups request. To - // get the next page of results, run the call again, add the NextToken parameter, - // and specify the NextToken value. + // The parameter for receiving additional results if you receive a NextToken + // response in a previous request. A NextToken response indicates that more + // output is available. Set this parameter to the value provided by a previous + // call's NextToken response to indicate where the output should continue from. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } @@ -2281,16 +3081,19 @@ type ListGroupsOutput struct { _ struct{} `type:"structure"` // A list of GroupIdentifier objects. Each identifier is an object that contains - // both the GroupName and the GroupArn. + // both the Name and the GroupArn. GroupIdentifiers []*GroupIdentifier `type:"list"` - // A list of resource groups. + // This output element is deprecated and shouldn't be used. Refer to GroupIdentifiers + // instead. // // Deprecated: This field is deprecated, use GroupIdentifiers instead. Groups []*Group `deprecated:"true" type:"list"` - // The NextToken value to include in a subsequent ListGroups request, to get - // more results. + // If present, indicates that more output is available than is included in the + // current response. Use this value in the NextToken request parameter in a + // subsequent call to the operation to get the next part of the output. You + // should repeat this until the NextToken response element comes back as null. NextToken *string `type:"string"` } @@ -2322,7 +3125,7 @@ func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput { return s } -// The request uses an HTTP method which is not allowed for the specified resource. +// The request uses an HTTP method that isn't allowed for the specified resource. type MethodNotAllowedException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2378,7 +3181,7 @@ func (s *MethodNotAllowedException) RequestID() string { return s.RespMetadata.RequestID } -// One or more resources specified in the request do not exist. +// One or more of the specified resources don't exist. type NotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2575,40 +3378,32 @@ type ResourceQuery struct { // Query is a required field Query *string `type:"string" required:"true"` - // The type of the query. The valid values in this release are TAG_FILTERS_1_0 - // and CLOUDFORMATION_STACK_1_0. - // - // TAG_FILTERS_1_0: A JSON syntax that lets you specify a collection of simple - // tag filters for resource types and tags, as supported by the AWS Tagging - // API GetResources (https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html) - // operation. If you specify more than one tag key, only resources that match - // all tag keys, and at least one value of each specified tag key, are returned - // in your query. If you specify more than one value for a tag key, a resource - // matches the filter if it has a tag key value that matches any of the specified - // values. + // The type of the query. You can use the following values: // - // For example, consider the following sample query for resources that have - // two tags, Stage and Version, with two values each. ([{"Key":"Stage","Values":["Test","Deploy"]},{"Key":"Version","Values":["1","2"]}]) - // The results of this query might include the following. + // * CLOUDFORMATION_STACK_1_0: A JSON syntax that lets you specify a CloudFormation + // stack ARN. // - // * An EC2 instance that has the following two tags: {"Key":"Stage","Value":"Deploy"}, - // and {"Key":"Version","Value":"2"} - // - // * An S3 bucket that has the following two tags: {"Key":"Stage","Value":"Test"}, - // and {"Key":"Version","Value":"1"} - // - // The query would not return the following results, however. The following - // EC2 instance does not have all tag keys specified in the filter, so it is - // rejected. The RDS database has all of the tag keys, but no values that match - // at least one of the specified tag key values in the filter. - // - // * An EC2 instance that has only the following tag: {"Key":"Stage","Value":"Deploy"}. - // - // * An RDS database that has the following two tags: {"Key":"Stage","Value":"Archived"}, - // and {"Key":"Version","Value":"4"} - // - // CLOUDFORMATION_STACK_1_0: A JSON syntax that lets you specify a CloudFormation - // stack ARN. + // * TAG_FILTERS_1_0: A JSON syntax that lets you specify a collection of + // simple tag filters for resource types and tags, as supported by the AWS + // Tagging API ResourceTypeFilters parameter of the tagging:GetResources + // (https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html#resourcegrouptagging-GetResources-request-ResourceTypeFilters) + // operation. If you specify more than one tag key, only resources that match + // all tag keys, and at least one value of each specified tag key, are returned + // in your query. If you specify more than one value for a tag key, a resource + // matches the filter if it has a tag key value that matches any of the specified + // values. For example, consider the following sample query for resources + // that have two tags, Stage and Version, with two values each: [{"Key":"Stage","Values":["Test","Deploy"]},{"Key":"Version","Values":["1","2"]}] + // The results of this query could include the following. An EC2 instance + // that has the following two tags: {"Key":"Stage","Value":"Deploy"}, and + // {"Key":"Version","Value":"2"} An S3 bucket that has the following two + // tags: {"Key":"Stage","Value":"Test"}, and {"Key":"Version","Value":"1"} + // The query would not include the following items in the results, however. + // An EC2 instance that has only the following tag: {"Key":"Stage","Value":"Deploy"}. + // The instance does not have all of the tag keys specified in the filter, + // so it is excluded from the results. An RDS database that has the following + // two tags: {"Key":"Stage","Value":"Archived"}, and {"Key":"Version","Value":"4"} + // The database has all of the tag keys, but none of those keys has an associated + // value that matches at least one of the specified values in the filter. // // Type is a required field Type *string `min:"1" type:"string" required:"true" enum:"QueryType"` @@ -2658,17 +3453,25 @@ func (s *ResourceQuery) SetType(v string) *ResourceQuery { type SearchResourcesInput struct { _ struct{} `type:"structure"` - // The maximum number of group member ARNs returned by SearchResources in paginated - // output. By default, this number is 50. + // The total number of results that you want included on each page of the response. + // If you do not include this parameter, it defaults to a value that is specific + // to the operation. If additional items exist beyond the maximum you specify, + // the NextToken response element is present and has a value (is not null). + // Include that value as the NextToken request parameter in the next call to + // the operation to get the next part of the results. Note that the service + // might return fewer results than the maximum even when there are more results + // available. You should check NextToken after every operation to ensure that + // you receive all of the results. MaxResults *int64 `min:"1" type:"integer"` - // The NextToken value that is returned in a paginated SearchResources request. - // To get the next page of results, run the call again, add the NextToken parameter, - // and specify the NextToken value. + // The parameter for receiving additional results if you receive a NextToken + // response in a previous request. A NextToken response indicates that more + // output is available. Set this parameter to the value provided by a previous + // call's NextToken response to indicate where the output should continue from. NextToken *string `type:"string"` // The search query, using the same formats that are supported for resource - // group definition. + // group definition. For more information, see CreateGroup. // // ResourceQuery is a required field ResourceQuery *ResourceQuery `type:"structure" required:"true"` @@ -2726,8 +3529,10 @@ func (s *SearchResourcesInput) SetResourceQuery(v *ResourceQuery) *SearchResourc type SearchResourcesOutput struct { _ struct{} `type:"structure"` - // The NextToken value to include in a subsequent SearchResources request, to - // get more results. + // If present, indicates that more output is available than is included in the + // current response. Use this value in the NextToken request parameter in a + // subsequent call to the operation to get the next part of the output. You + // should repeat this until the NextToken response element comes back as null. NextToken *string `type:"string"` // A list of QueryError objects. Each error is an object that contains ErrorCode @@ -2771,14 +3576,13 @@ func (s *SearchResourcesOutput) SetResourceIdentifiers(v []*ResourceIdentifier) type TagInput struct { _ struct{} `type:"structure"` - // The ARN of the resource to which to add tags. + // The ARN of the resource group to which to add tags. // // Arn is a required field Arn *string `location:"uri" locationName:"Arn" min:"12" type:"string" required:"true"` - // The tags to add to the specified resource. A tag is a string-to-string map - // of key-value pairs. Tag keys can have a maximum character length of 128 characters, - // and tag values can have a maximum length of 256 characters. + // The tags to add to the specified resource group. A tag is a string-to-string + // map of key-value pairs. // // Tags is a required field Tags map[string]*string `type:"map" required:"true"` @@ -2831,7 +3635,7 @@ type TagOutput struct { // The ARN of the tagged resource. Arn *string `min:"12" type:"string"` - // The tags that have been added to the specified resource. + // The tags that have been added to the specified resource group. Tags map[string]*string `type:"map"` } @@ -2857,7 +3661,8 @@ func (s *TagOutput) SetTags(v map[string]*string) *TagOutput { return s } -// The caller has exceeded throttling limits. +// You've exceeded throttling limits by making too many requests in a period +// of time. type TooManyRequestsException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2913,8 +3718,8 @@ func (s *TooManyRequestsException) RequestID() string { return s.RespMetadata.RequestID } -// The request has not been applied because it lacks valid authentication credentials -// for the target resource. +// The request was rejected because it doesn't have valid credentials for the +// target resource. type UnauthorizedException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2970,10 +3775,101 @@ func (s *UnauthorizedException) RequestID() string { return s.RespMetadata.RequestID } +type UngroupResourcesInput struct { + _ struct{} `type:"structure"` + + // The name or the ARN of the resource group from which to remove the resources. + // + // Group is a required field + Group *string `min:"1" type:"string" required:"true"` + + // The ARNs of the resources to be removed from the group. + // + // ResourceArns is a required field + ResourceArns []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s UngroupResourcesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UngroupResourcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UngroupResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UngroupResourcesInput"} + if s.Group == nil { + invalidParams.Add(request.NewErrParamRequired("Group")) + } + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) + } + if s.ResourceArns == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArns")) + } + if s.ResourceArns != nil && len(s.ResourceArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArns", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroup sets the Group field's value. +func (s *UngroupResourcesInput) SetGroup(v string) *UngroupResourcesInput { + s.Group = &v + return s +} + +// SetResourceArns sets the ResourceArns field's value. +func (s *UngroupResourcesInput) SetResourceArns(v []*string) *UngroupResourcesInput { + s.ResourceArns = v + return s +} + +type UngroupResourcesOutput struct { + _ struct{} `type:"structure"` + + // The resources that failed to be removed from the group. + Failed []*FailedResource `type:"list"` + + // The ARNs of the resources that were successfully removed from the group. + Succeeded []*string `min:"1" type:"list"` +} + +// String returns the string representation +func (s UngroupResourcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UngroupResourcesOutput) GoString() string { + return s.String() +} + +// SetFailed sets the Failed field's value. +func (s *UngroupResourcesOutput) SetFailed(v []*FailedResource) *UngroupResourcesOutput { + s.Failed = v + return s +} + +// SetSucceeded sets the Succeeded field's value. +func (s *UngroupResourcesOutput) SetSucceeded(v []*string) *UngroupResourcesOutput { + s.Succeeded = v + return s +} + type UntagInput struct { _ struct{} `type:"structure"` - // The ARN of the resource from which to remove tags. + // The ARN of the resource group from which to remove tags. The command removed + // both the specified keys and any values associated with those keys. // // Arn is a required field Arn *string `location:"uri" locationName:"Arn" min:"12" type:"string" required:"true"` @@ -3028,10 +3924,10 @@ func (s *UntagInput) SetKeys(v []*string) *UntagInput { type UntagOutput struct { _ struct{} `type:"structure"` - // The ARN of the resource from which tags have been removed. + // The ARN of the resource group from which tags have been removed. Arn *string `min:"12" type:"string"` - // The keys of tags that have been removed. + // The keys of the tags that were removed. Keys []*string `type:"list"` } @@ -3060,15 +3956,17 @@ func (s *UntagOutput) SetKeys(v []*string) *UntagOutput { type UpdateGroupInput struct { _ struct{} `type:"structure"` - // The description of the resource group. Descriptions can have a maximum of - // 511 characters, including letters, numbers, hyphens, underscores, punctuation, - // and spaces. + // The new description that you want to update the resource group with. Descriptions + // can contain letters, numbers, hyphens, underscores, periods, and spaces. Description *string `type:"string"` - // The name of the resource group for which you want to update its description. + // The name or the ARN of the resource group to modify. + Group *string `min:"1" type:"string"` + + // Don't use this parameter. Use Group instead. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // Deprecated: This field is deprecated, use Group instead. + GroupName *string `min:"1" deprecated:"true" type:"string"` } // String returns the string representation @@ -3084,8 +3982,8 @@ func (s UpdateGroupInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"} - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) } if s.GroupName != nil && len(*s.GroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) @@ -3103,6 +4001,12 @@ func (s *UpdateGroupInput) SetDescription(v string) *UpdateGroupInput { return s } +// SetGroup sets the Group field's value. +func (s *UpdateGroupInput) SetGroup(v string) *UpdateGroupInput { + s.Group = &v + return s +} + // SetGroupName sets the GroupName field's value. func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput { s.GroupName = &v @@ -3112,7 +4016,7 @@ func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput { type UpdateGroupOutput struct { _ struct{} `type:"structure"` - // The full description of the resource group after it has been updated. + // The update description of the resource group. Group *Group `type:"structure"` } @@ -3135,13 +4039,16 @@ func (s *UpdateGroupOutput) SetGroup(v *Group) *UpdateGroupOutput { type UpdateGroupQueryInput struct { _ struct{} `type:"structure"` - // The name of the resource group for which you want to edit the query. + // The name or the ARN of the resource group to query. + Group *string `min:"1" type:"string"` + + // Don't use this parameter. Use Group instead. // - // GroupName is a required field - GroupName *string `location:"uri" locationName:"GroupName" min:"1" type:"string" required:"true"` + // Deprecated: This field is deprecated, use Group instead. + GroupName *string `min:"1" deprecated:"true" type:"string"` - // The resource query that determines which AWS resources are members of the - // resource group. + // The resource query to determine which AWS resources are members of this resource + // group. // // ResourceQuery is a required field ResourceQuery *ResourceQuery `type:"structure" required:"true"` @@ -3160,8 +4067,8 @@ func (s UpdateGroupQueryInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateGroupQueryInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateGroupQueryInput"} - if s.GroupName == nil { - invalidParams.Add(request.NewErrParamRequired("GroupName")) + if s.Group != nil && len(*s.Group) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Group", 1)) } if s.GroupName != nil && len(*s.GroupName) < 1 { invalidParams.Add(request.NewErrParamMinLen("GroupName", 1)) @@ -3181,6 +4088,12 @@ func (s *UpdateGroupQueryInput) Validate() error { return nil } +// SetGroup sets the Group field's value. +func (s *UpdateGroupQueryInput) SetGroup(v string) *UpdateGroupQueryInput { + s.Group = &v + return s +} + // SetGroupName sets the GroupName field's value. func (s *UpdateGroupQueryInput) SetGroupName(v string) *UpdateGroupQueryInput { s.GroupName = &v @@ -3196,7 +4109,7 @@ func (s *UpdateGroupQueryInput) SetResourceQuery(v *ResourceQuery) *UpdateGroupQ type UpdateGroupQueryOutput struct { _ struct{} `type:"structure"` - // The resource query associated with the resource group after the update. + // The updated resource query associated with the resource group after the update. GroupQuery *GroupQuery `type:"structure"` } @@ -3216,9 +4129,23 @@ func (s *UpdateGroupQueryOutput) SetGroupQuery(v *GroupQuery) *UpdateGroupQueryO return s } +const ( + // GroupConfigurationStatusUpdating is a GroupConfigurationStatus enum value + GroupConfigurationStatusUpdating = "UPDATING" + + // GroupConfigurationStatusUpdateComplete is a GroupConfigurationStatus enum value + GroupConfigurationStatusUpdateComplete = "UPDATE_COMPLETE" + + // GroupConfigurationStatusUpdateFailed is a GroupConfigurationStatus enum value + GroupConfigurationStatusUpdateFailed = "UPDATE_FAILED" +) + const ( // GroupFilterNameResourceType is a GroupFilterName enum value GroupFilterNameResourceType = "resource-type" + + // GroupFilterNameConfigurationType is a GroupFilterName enum value + GroupFilterNameConfigurationType = "configuration-type" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/errors.go b/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/errors.go index 0d0a2a074ca..27a78e163ac 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/resourcegroups/errors.go @@ -11,45 +11,45 @@ const ( // ErrCodeBadRequestException for service response error code // "BadRequestException". // - // The request does not comply with validation rules that are defined for the - // request parameters. + // The request includes one or more parameters that violate validation rules. ErrCodeBadRequestException = "BadRequestException" // ErrCodeForbiddenException for service response error code // "ForbiddenException". // - // The caller is not authorized to make the request. + // The caller isn't authorized to make the request. Check permissions. ErrCodeForbiddenException = "ForbiddenException" // ErrCodeInternalServerErrorException for service response error code // "InternalServerErrorException". // - // An internal error occurred while processing the request. + // An internal error occurred while processing the request. Try again later. ErrCodeInternalServerErrorException = "InternalServerErrorException" // ErrCodeMethodNotAllowedException for service response error code // "MethodNotAllowedException". // - // The request uses an HTTP method which is not allowed for the specified resource. + // The request uses an HTTP method that isn't allowed for the specified resource. ErrCodeMethodNotAllowedException = "MethodNotAllowedException" // ErrCodeNotFoundException for service response error code // "NotFoundException". // - // One or more resources specified in the request do not exist. + // One or more of the specified resources don't exist. ErrCodeNotFoundException = "NotFoundException" // ErrCodeTooManyRequestsException for service response error code // "TooManyRequestsException". // - // The caller has exceeded throttling limits. + // You've exceeded throttling limits by making too many requests in a period + // of time. ErrCodeTooManyRequestsException = "TooManyRequestsException" // ErrCodeUnauthorizedException for service response error code // "UnauthorizedException". // - // The request has not been applied because it lacks valid authentication credentials - // for the target resource. + // The request was rejected because it doesn't have valid credentials for the + // target resource. ErrCodeUnauthorizedException = "UnauthorizedException" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/route53/api.go b/vendor/github.com/aws/aws-sdk-go/service/route53/api.go index 38b6207b0bd..c77a68912bc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/route53/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/route53/api.go @@ -132,6 +132,13 @@ func (c *Route53) AssociateVPCWithHostedZoneRequest(input *AssociateVPCWithHoste // To request a higher limit, create a case (http://aws.amazon.com/route53-request) // with the AWS Support Center. // +// * ErrCodePriorRequestNotComplete "PriorRequestNotComplete" +// If Amazon Route 53 can't process a request before the next request arrives, +// it will reject subsequent requests for the same hosted zone and return an +// HTTP 400 error (Bad request). If Route 53 returns this error repeatedly for +// the same request, we recommend that you wait, in intervals of increasing +// duration, before you try the request again. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/AssociateVPCWithHostedZone func (c *Route53) AssociateVPCWithHostedZone(input *AssociateVPCWithHostedZoneInput) (*AssociateVPCWithHostedZoneOutput, error) { req, out := c.AssociateVPCWithHostedZoneRequest(input) @@ -2290,16 +2297,25 @@ func (c *Route53) DisassociateVPCFromHostedZoneRequest(input *DisassociateVPCFro // DisassociateVPCFromHostedZone API operation for Amazon Route 53. // -// Disassociates a VPC from a Amazon Route 53 private hosted zone. Note the -// following: +// Disassociates an Amazon Virtual Private Cloud (Amazon VPC) from an Amazon +// Route 53 private hosted zone. Note the following: // -// * You can't disassociate the last VPC from a private hosted zone. +// * You can't disassociate the last Amazon VPC from a private hosted zone. // // * You can't convert a private hosted zone into a public hosted zone. // // * You can submit a DisassociateVPCFromHostedZone request using either // the account that created the hosted zone or the account that created the -// VPC. +// Amazon VPC. +// +// * Some services, such as AWS Cloud Map and Amazon Elastic File System +// (Amazon EFS) automatically create hosted zones and associate VPCs with +// the hosted zones. A service can create a hosted zone using your account +// or using its own account. You can disassociate a VPC from a hosted zone +// only if the service created the hosted zone using your account. When you +// run DisassociateVPCFromHostedZone (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListHostedZonesByVPC.html), +// if the hosted zone has a value for OwningAccount, you can use DisassociateVPCFromHostedZone. +// If the hosted zone has a value for OwningService, you can't use DisassociateVPCFromHostedZone. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4297,6 +4313,99 @@ func (c *Route53) ListHostedZonesByNameWithContext(ctx aws.Context, input *ListH return out, req.Send() } +const opListHostedZonesByVPC = "ListHostedZonesByVPC" + +// ListHostedZonesByVPCRequest generates a "aws/request.Request" representing the +// client's request for the ListHostedZonesByVPC operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListHostedZonesByVPC for more information on using the ListHostedZonesByVPC +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListHostedZonesByVPCRequest method. +// req, resp := client.ListHostedZonesByVPCRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZonesByVPC +func (c *Route53) ListHostedZonesByVPCRequest(input *ListHostedZonesByVPCInput) (req *request.Request, output *ListHostedZonesByVPCOutput) { + op := &request.Operation{ + Name: opListHostedZonesByVPC, + HTTPMethod: "GET", + HTTPPath: "/2013-04-01/hostedzonesbyvpc", + } + + if input == nil { + input = &ListHostedZonesByVPCInput{} + } + + output = &ListHostedZonesByVPCOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListHostedZonesByVPC API operation for Amazon Route 53. +// +// Lists all the private hosted zones that a specified VPC is associated with, +// regardless of which AWS account or AWS service owns the hosted zones. The +// HostedZoneOwner structure in the response contains one of the following values: +// +// * An OwningAccount element, which contains the account number of either +// the current AWS account or another AWS account. Some services, such as +// AWS Cloud Map, create hosted zones using the current account. +// +// * An OwningService element, which identifies the AWS service that created +// and owns the hosted zone. For example, if a hosted zone was created by +// Amazon Elastic File System (Amazon EFS), the value of Owner is efs.amazonaws.com. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53's +// API operation ListHostedZonesByVPC for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidInput "InvalidInput" +// The input is not valid. +// +// * ErrCodeInvalidPaginationToken "InvalidPaginationToken" +// The value that you specified to get the second or subsequent page of results +// is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ListHostedZonesByVPC +func (c *Route53) ListHostedZonesByVPC(input *ListHostedZonesByVPCInput) (*ListHostedZonesByVPCOutput, error) { + req, out := c.ListHostedZonesByVPCRequest(input) + return out, req.Send() +} + +// ListHostedZonesByVPCWithContext is the same as ListHostedZonesByVPC with the addition of +// the ability to pass a context and additional request options. +// +// See ListHostedZonesByVPC for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53) ListHostedZonesByVPCWithContext(ctx aws.Context, input *ListHostedZonesByVPCInput, opts ...request.Option) (*ListHostedZonesByVPCOutput, error) { + req, out := c.ListHostedZonesByVPCRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListQueryLoggingConfigs = "ListQueryLoggingConfigs" // ListQueryLoggingConfigsRequest generates a "aws/request.Request" representing the @@ -10776,6 +10885,103 @@ func (s *HostedZoneLimit) SetValue(v int64) *HostedZoneLimit { return s } +// A complex type that identifies a hosted zone that a specified Amazon VPC +// is associated with and the owner of the hosted zone. If there is a value +// for OwningAccount, there is no value for OwningService, and vice versa. +type HostedZoneOwner struct { + _ struct{} `type:"structure"` + + // If the hosted zone was created by an AWS account, or was created by an AWS + // service that creates hosted zones using the current account, OwningAccount + // contains the account ID of that account. For example, when you use AWS Cloud + // Map to create a hosted zone, Cloud Map creates the hosted zone using the + // current AWS account. + OwningAccount *string `type:"string"` + + // If an AWS service uses its own account to create a hosted zone and associate + // the specified VPC with that hosted zone, OwningService contains an abbreviation + // that identifies the service. For example, if Amazon Elastic File System (Amazon + // EFS) created a hosted zone and associated a VPC with the hosted zone, the + // value of OwningService is efs.amazonaws.com. + OwningService *string `type:"string"` +} + +// String returns the string representation +func (s HostedZoneOwner) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HostedZoneOwner) GoString() string { + return s.String() +} + +// SetOwningAccount sets the OwningAccount field's value. +func (s *HostedZoneOwner) SetOwningAccount(v string) *HostedZoneOwner { + s.OwningAccount = &v + return s +} + +// SetOwningService sets the OwningService field's value. +func (s *HostedZoneOwner) SetOwningService(v string) *HostedZoneOwner { + s.OwningService = &v + return s +} + +// In the response to a ListHostedZonesByVPC request, the HostedZoneSummaries +// element contains one HostedZoneSummary element for each hosted zone that +// the specified Amazon VPC is associated with. Each HostedZoneSummary element +// contains the hosted zone name and ID, and information about who owns the +// hosted zone. +type HostedZoneSummary struct { + _ struct{} `type:"structure"` + + // The Route 53 hosted zone ID of a private hosted zone that the specified VPC + // is associated with. + // + // HostedZoneId is a required field + HostedZoneId *string `type:"string" required:"true"` + + // The name of the private hosted zone, such as example.com. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The owner of a private hosted zone that the specified VPC is associated with. + // The owner can be either an AWS account or an AWS service. + // + // Owner is a required field + Owner *HostedZoneOwner `type:"structure" required:"true"` +} + +// String returns the string representation +func (s HostedZoneSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s HostedZoneSummary) GoString() string { + return s.String() +} + +// SetHostedZoneId sets the HostedZoneId field's value. +func (s *HostedZoneSummary) SetHostedZoneId(v string) *HostedZoneSummary { + s.HostedZoneId = &v + return s +} + +// SetName sets the Name field's value. +func (s *HostedZoneSummary) SetName(v string) *HostedZoneSummary { + s.Name = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *HostedZoneSummary) SetOwner(v *HostedZoneOwner) *HostedZoneSummary { + s.Owner = v + return s +} + // If a health check or hosted zone was created by another service, LinkedService // is a complex type that describes the service that created the resource. When // a resource is created by another service, you can't edit or delete it using @@ -11278,6 +11484,144 @@ func (s *ListHostedZonesByNameOutput) SetNextHostedZoneId(v string) *ListHostedZ return s } +// Lists all the private hosted zones that a specified VPC is associated with, +// regardless of which AWS account created the hosted zones. +type ListHostedZonesByVPCInput struct { + _ struct{} `locationName:"ListHostedZonesByVPCRequest" type:"structure"` + + // (Optional) The maximum number of hosted zones that you want Amazon Route + // 53 to return. If the specified VPC is associated with more than MaxItems + // hosted zones, the response includes a NextToken element. NextToken contains + // the hosted zone ID of the first hosted zone that Route 53 will return if + // you submit another request. + MaxItems *string `location:"querystring" locationName:"maxitems" type:"string"` + + // If the previous response included a NextToken element, the specified VPC + // is associated with more hosted zones. To get more hosted zones, submit another + // ListHostedZonesByVPC request. + // + // For the value of NextToken, specify the value of NextToken from the previous + // response. + // + // If the previous response didn't include a NextToken element, there are no + // more hosted zones to get. + NextToken *string `location:"querystring" locationName:"nexttoken" type:"string"` + + // The ID of the Amazon VPC that you want to list hosted zones for. + // + // VPCId is a required field + VPCId *string `location:"querystring" locationName:"vpcid" type:"string" required:"true"` + + // For the Amazon VPC that you specified for VPCId, the AWS Region that you + // created the VPC in. + // + // VPCRegion is a required field + VPCRegion *string `location:"querystring" locationName:"vpcregion" min:"1" type:"string" required:"true" enum:"VPCRegion"` +} + +// String returns the string representation +func (s ListHostedZonesByVPCInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListHostedZonesByVPCInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListHostedZonesByVPCInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListHostedZonesByVPCInput"} + if s.VPCId == nil { + invalidParams.Add(request.NewErrParamRequired("VPCId")) + } + if s.VPCRegion == nil { + invalidParams.Add(request.NewErrParamRequired("VPCRegion")) + } + if s.VPCRegion != nil && len(*s.VPCRegion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VPCRegion", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxItems sets the MaxItems field's value. +func (s *ListHostedZonesByVPCInput) SetMaxItems(v string) *ListHostedZonesByVPCInput { + s.MaxItems = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListHostedZonesByVPCInput) SetNextToken(v string) *ListHostedZonesByVPCInput { + s.NextToken = &v + return s +} + +// SetVPCId sets the VPCId field's value. +func (s *ListHostedZonesByVPCInput) SetVPCId(v string) *ListHostedZonesByVPCInput { + s.VPCId = &v + return s +} + +// SetVPCRegion sets the VPCRegion field's value. +func (s *ListHostedZonesByVPCInput) SetVPCRegion(v string) *ListHostedZonesByVPCInput { + s.VPCRegion = &v + return s +} + +type ListHostedZonesByVPCOutput struct { + _ struct{} `type:"structure"` + + // A list that contains one HostedZoneSummary element for each hosted zone that + // the specified Amazon VPC is associated with. Each HostedZoneSummary element + // contains the hosted zone name and ID, and information about who owns the + // hosted zone. + // + // HostedZoneSummaries is a required field + HostedZoneSummaries []*HostedZoneSummary `locationNameList:"HostedZoneSummary" type:"list" required:"true"` + + // The value that you specified for MaxItems in the most recent ListHostedZonesByVPC + // request. + // + // MaxItems is a required field + MaxItems *string `type:"string" required:"true"` + + // The value that you specified for NextToken in the most recent ListHostedZonesByVPC + // request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListHostedZonesByVPCOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListHostedZonesByVPCOutput) GoString() string { + return s.String() +} + +// SetHostedZoneSummaries sets the HostedZoneSummaries field's value. +func (s *ListHostedZonesByVPCOutput) SetHostedZoneSummaries(v []*HostedZoneSummary) *ListHostedZonesByVPCOutput { + s.HostedZoneSummaries = v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *ListHostedZonesByVPCOutput) SetMaxItems(v string) *ListHostedZonesByVPCOutput { + s.MaxItems = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListHostedZonesByVPCOutput) SetNextToken(v string) *ListHostedZonesByVPCOutput { + s.NextToken = &v + return s +} + // A request to retrieve a list of the public and private hosted zones that // are associated with the current AWS account. type ListHostedZonesInput struct { @@ -15194,6 +15538,9 @@ const ( // CloudWatchRegionAfSouth1 is a CloudWatchRegion enum value CloudWatchRegionAfSouth1 = "af-south-1" + // CloudWatchRegionEuSouth1 is a CloudWatchRegion enum value + CloudWatchRegionEuSouth1 = "eu-south-1" + // CloudWatchRegionUsGovWest1 is a CloudWatchRegion enum value CloudWatchRegionUsGovWest1 = "us-gov-west-1" @@ -15415,6 +15762,9 @@ const ( // ResourceRecordSetRegionAfSouth1 is a ResourceRecordSetRegion enum value ResourceRecordSetRegionAfSouth1 = "af-south-1" + + // ResourceRecordSetRegionEuSouth1 is a ResourceRecordSetRegion enum value + ResourceRecordSetRegionEuSouth1 = "eu-south-1" ) const ( @@ -15522,4 +15872,7 @@ const ( // VPCRegionAfSouth1 is a VPCRegion enum value VPCRegionAfSouth1 = "af-south-1" + + // VPCRegionEuSouth1 is a VPCRegion enum value + VPCRegionEuSouth1 = "eu-south-1" ) diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go index 52e87308f69..8aadf3c56ee 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go @@ -14,6 +14,7 @@ import ( "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/checksum" "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" @@ -74,23 +75,23 @@ func (c *S3) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req // times in order to completely free all storage consumed by all parts. // // To verify that all parts have been removed, so you don't get charged for -// the part storage, you should call the ListParts operation and ensure that -// the parts list is empty. +// the part storage, you should call the ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) +// operation and ensure that the parts list is empty. // // For information about permissions required to use the multipart upload API, // see Multipart Upload API and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html). // // The following operations are related to AbortMultipartUpload: // -// * CreateMultipartUpload +// * CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) // -// * UploadPart +// * UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) // -// * CompleteMultipartUpload +// * CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) // -// * ListParts +// * ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) // -// * ListMultipartUploads +// * ListMultipartUploads (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.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 @@ -172,14 +173,15 @@ func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) // Completes a multipart upload by assembling previously uploaded parts. // // You first initiate the multipart upload and then upload all parts using the -// UploadPart operation. After successfully uploading all relevant parts of -// an upload, you call this operation to complete the upload. Upon receiving -// this request, Amazon S3 concatenates all the parts in ascending order by -// part number to create a new object. In the Complete Multipart Upload request, -// you must provide the parts list. You must ensure that the parts list is complete. -// This operation concatenates the parts that you provide in the list. For each -// part in the list, you must provide the part number and the ETag value, returned -// after that part was uploaded. +// UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) +// operation. After successfully uploading all relevant parts of an upload, +// you call this operation to complete the upload. Upon receiving this request, +// Amazon S3 concatenates all the parts in ascending order by part number to +// create a new object. In the Complete Multipart Upload request, you must provide +// the parts list. You must ensure that the parts list is complete. This operation +// concatenates the parts that you provide in the list. For each part in the +// list, you must provide the part number and the ETag value, returned after +// that part was uploaded. // // Processing of a Complete Multipart Upload request could take several minutes // to complete. After Amazon S3 begins processing the request, it sends an HTTP @@ -199,7 +201,7 @@ func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) // For information about permissions required to use the multipart upload API, // see Multipart Upload API and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html). // -// GetBucketLifecycle has the following special errors: +// CompleteMultipartUpload has the following special errors: // // * Error code: EntityTooSmall Description: Your proposed upload is smaller // than the minimum allowed object size. Each part must be at least 5 MB @@ -217,17 +219,17 @@ func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) // does not exist. The upload ID might be invalid, or the multipart upload // might have been aborted or completed. 404 Not Found // -// The following operations are related to DeleteBucketMetricsConfiguration: +// The following operations are related to CompleteMultipartUpload: // -// * CreateMultipartUpload +// * CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) // -// * UploadPart +// * UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) // -// * AbortMultipartUpload +// * AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html) // -// * ListParts +// * ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) // -// * ListMultipartUploads +// * ListMultipartUploads (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.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 @@ -305,20 +307,9 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou // // You can store individual objects of up to 5 TB in Amazon S3. You create a // copy of your object up to 5 GB in size in a single atomic operation using -// this API. However, for copying an object greater than 5 GB, you must use -// the multipart upload Upload Part - Copy API. For more information, see Copy -// Object Using the REST Multipart Upload API (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html). -// -// When copying an object, you can preserve all metadata (default) or specify -// new metadata. However, the ACL is not preserved and is set to private for -// the user making the request. To override the default ACL setting, specify -// a new ACL when generating a copy request. For more information, see Using -// ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html). -// -// Amazon S3 transfer acceleration does not support cross-region copies. If -// you request a cross-region copy using a transfer acceleration endpoint, you -// get a 400 Bad Request error. For more information about transfer acceleration, -// see Transfer Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html). +// this API. However, to copy an object greater than 5 GB, you must use the +// multipart upload Upload Part - Copy API. For more information, see Copy Object +// Using the REST Multipart Upload API (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html). // // All copy requests must be authenticated. Additionally, you must have read // access to the source object and write access to the destination bucket. For @@ -326,28 +317,6 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou // Both the Region that you want to copy the object from and the Region that // you want to copy the object to must be enabled for your account. // -// To only copy an object under certain conditions, such as whether the Etag -// matches or whether the object was modified before or after a specified date, -// use the request parameters x-amz-copy-source-if-match, x-amz-copy-source-if-none-match, -// x-amz-copy-source-if-unmodified-since, or x-amz-copy-source-if-modified-since. -// -// All headers with the x-amz- prefix, including x-amz-copy-source, must be -// signed. -// -// You can use this operation to change the storage class of an object that -// is already stored in Amazon S3 using the StorageClass parameter. For more -// information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html). -// -// The source object that you are copying can be encrypted or unencrypted. If -// the source object is encrypted, it can be encrypted by server-side encryption -// using AWS managed encryption keys or by using a customer-provided encryption -// key. When copying an object, you can request that Amazon S3 encrypt the target -// object by using either the AWS managed encryption keys or by using your own -// encryption key. You can do this regardless of the form of server-side encryption -// that was used to encrypt the source, or even if the source object was not -// encrypted. For more information about server-side encryption, see Using Server-Side -// Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html). -// // A copy request might return an error when Amazon S3 receives the copy request // or while Amazon S3 is copying the files. If the error occurs before the copy // operation starts, you receive a standard Amazon S3 error. If the error occurs @@ -363,131 +332,123 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou // it were not, it would not contain the content-length, and you would need // to read the entire body. // -// Consider the following when using request headers: +// The copy request charge is based on the storage class and Region that you +// specify for the destination object. For pricing information, see Amazon S3 +// pricing (https://aws.amazon.com/s3/pricing/). // -// * Consideration 1 – If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since -// headers are present in the request and evaluate as follows, Amazon S3 -// returns 200 OK and copies the data: x-amz-copy-source-if-match condition -// evaluates to true x-amz-copy-source-if-unmodified-since condition evaluates -// to false +// Amazon S3 transfer acceleration does not support cross-Region copies. If +// you request a cross-Region copy using a transfer acceleration endpoint, you +// get a 400 Bad Request error. For more information, see Transfer Acceleration +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html). // -// * Consideration 2 – If both of the x-amz-copy-source-if-none-match and -// x-amz-copy-source-if-modified-since headers are present in the request -// and evaluate as follows, Amazon S3 returns the 412 Precondition Failed -// response code: x-amz-copy-source-if-none-match condition evaluates to -// false x-amz-copy-source-if-modified-since condition evaluates to true +// Metadata // -// The copy request charge is based on the storage class and Region you specify -// for the destination object. For pricing information, see Amazon S3 Pricing -// (https://aws.amazon.com/s3/pricing/). +// When copying an object, you can preserve all metadata (default) or specify +// new metadata. However, the ACL is not preserved and is set to private for +// the user making the request. To override the default ACL setting, specify +// a new ACL when generating a copy request. For more information, see Using +// ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html). // -// Following are other considerations when using CopyObject: +// To specify whether you want the object metadata copied from the source object +// or replaced with metadata provided in the request, you can optionally add +// the x-amz-metadata-directive header. When you grant permissions, you can +// use the s3:x-amz-metadata-directive condition key to enforce certain metadata +// behavior when objects are uploaded. For more information, see Specifying +// Conditions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html) +// in the Amazon S3 Developer Guide. For a complete list of Amazon S3-specific +// condition keys, see Actions, Resources, and Condition Keys for Amazon S3 +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html). // -// Versioning +// x-amz-copy-source-if Headers // -// By default, x-amz-copy-source identifies the current version of an object -// to copy. (If the current version is a delete marker, Amazon S3 behaves as -// if the object was deleted.) To copy a different version, use the versionId -// subresource. +// To only copy an object under certain conditions, such as whether the Etag +// matches or whether the object was modified before or after a specified date, +// use the following request parameters: // -// If you enable versioning on the target bucket, Amazon S3 generates a unique -// version ID for the object being copied. This version ID is different from -// the version ID of the source object. Amazon S3 returns the version ID of -// the copied object in the x-amz-version-id response header in the response. +// * x-amz-copy-source-if-match // -// If you do not enable versioning or suspend it on the target bucket, the version -// ID that Amazon S3 generates is always null. +// * x-amz-copy-source-if-none-match // -// If the source object's storage class is GLACIER, you must restore a copy -// of this object before you can use it as a source object for the copy operation. -// For more information, see . +// * x-amz-copy-source-if-unmodified-since // -// Access Permissions +// * x-amz-copy-source-if-modified-since // -// When copying an object, you can optionally specify the accounts or groups -// that should be granted specific permissions on the new object. There are -// two ways to grant the permissions using the request headers: +// If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since +// headers are present in the request and evaluate as follows, Amazon S3 returns +// 200 OK and copies the data: // -// * Specify a canned ACL with the x-amz-acl request header. For more information, -// see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL). +// * x-amz-copy-source-if-match condition evaluates to true // -// * Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, -// x-amz-grant-write-acp, and x-amz-grant-full-control headers. These parameters -// map to the set of permissions that Amazon S3 supports in an ACL. For more -// information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). +// * x-amz-copy-source-if-unmodified-since condition evaluates to false // -// You can use either a canned ACL or specify access permissions explicitly. -// You cannot do both. +// If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since +// headers are present in the request and evaluate as follows, Amazon S3 returns +// the 412 Precondition Failed response code: // -// Server-Side- Encryption-Specific Request Headers +// * x-amz-copy-source-if-none-match condition evaluates to false // -// To encrypt the target object, you must provide the appropriate encryption-related -// request headers. The one you use depends on whether you want to use AWS managed -// encryption keys or provide your own encryption key. +// * x-amz-copy-source-if-modified-since condition evaluates to true // -// * To encrypt the target object using server-side encryption with an AWS -// managed encryption key, provide the following request headers, as appropriate. -// x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id -// x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms, -// but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon -// S3 uses the AWS managed CMK in AWS KMS to protect the data. If you want -// to use a customer managed AWS KMS CMK, you must provide the x-amz-server-side-encryption-aws-kms-key-id -// of the symmetric customer managed CMK. Amazon S3 only supports symmetric -// CMKs and not asymmetric CMKs. For more information, see Using Symmetric -// and Asymmetric Keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) -// in the AWS Key Management Service Developer Guide. All GET and PUT requests -// for an object protected by AWS KMS fail if you don't make them with SSL -// or by using SigV4. For more information about server-side encryption with -// CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side -// Encryption with CMKs stored in KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). -// -// * To encrypt the target object using server-side encryption with an encryption -// key that you provide, use the following headers. x-amz-server-side​-encryption​-customer-algorithm -// x-amz-server-side​-encryption​-customer-key x-amz-server-side​-encryption​-customer-key-MD5 -// -// * If the source object is encrypted using server-side encryption with -// customer-provided encryption keys, you must use the following headers. -// x-amz-copy-source​-server-side​-encryption​-customer-algorithm x-amz-copy-source​-server-side​-encryption​-customer-key -// x-amz-copy-source-​server-side​-encryption​-customer-key-MD5 For -// more information about server-side encryption with CMKs stored in AWS -// KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs -// stored in Amazon KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). +// All headers with the x-amz- prefix, including x-amz-copy-source, must be +// signed. // -// Access-Control-List (ACL)-Specific Request Headers +// Encryption // -// You also can use the following access control–related headers with this -// operation. By default, all objects are private. Only the owner has full access -// control. When adding a new object, you can grant permissions to individual +// The source object that you are copying can be encrypted or unencrypted. The +// source object can be encrypted with server-side encryption using AWS managed +// encryption keys (SSE-S3 or SSE-KMS) or by using a customer-provided encryption +// key. With server-side encryption, Amazon S3 encrypts your data as it writes +// it to disks in its data centers and decrypts the data when you access it. +// +// You can optionally use the appropriate encryption-related headers to request +// server-side encryption for the target object. You have the option to provide +// your own encryption key or use SSE-S3 or SSE-KMS, regardless of the form +// of server-side encryption that was used to encrypt the source object. You +// can even request encryption if the source object was not encrypted. For more +// information about server-side encryption, see Using Server-Side Encryption +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html). +// +// Access Control List (ACL)-Specific Request Headers +// +// When copying an object, you can optionally use headers to grant ACL-based +// permissions. By default, all objects are private. Only the owner has full +// access control. When adding a new object, you can grant permissions to individual // AWS accounts or to predefined groups defined by Amazon S3. These permissions -// are then added to the access control list (ACL) on the object. For more information, -// see Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html). -// With this operation, you can grant access permissions using one of the following -// two methods: +// are then added to the ACL on the object. For more information, see Access +// Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) +// and Managing ACLs Using the REST API (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html). // -// * Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined -// ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees -// and permissions. For more information, see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL). +// Storage Class Options // -// * Specify access permissions explicitly — To explicitly grant access -// permissions to specific AWS accounts or groups, use the following headers. -// Each header maps to specific permissions that Amazon S3 supports in an -// ACL. For more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). -// In the header, you specify a list of grantees who get the specific permission. -// To grant permissions explicitly, use: x-amz-grant-read x-amz-grant-write -// x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You -// specify each grantee as a type=value pair, where the type is one of the -// following: emailAddress – if the value specified is the email address -// of an AWS account id – if the value specified is the canonical user -// ID of an AWS account uri – if you are granting permissions to a predefined -// group For example, the following x-amz-grant-read header grants the AWS -// accounts identified by email addresses permissions to read object data -// and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" +// You can use the CopyObject operation to change the storage class of an object +// that is already stored in Amazon S3 using the StorageClass parameter. For +// more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) +// in the Amazon S3 Service Developer Guide. +// +// Versioning +// +// By default, x-amz-copy-source identifies the current version of an object +// to copy. If the current version is a delete marker, Amazon S3 behaves as +// if the object was deleted. To copy a different version, use the versionId +// subresource. +// +// If you enable versioning on the target bucket, Amazon S3 generates a unique +// version ID for the object being copied. This version ID is different from +// the version ID of the source object. Amazon S3 returns the version ID of +// the copied object in the x-amz-version-id response header in the response. +// +// If you do not enable versioning or suspend it on the target bucket, the version +// ID that Amazon S3 generates is always null. +// +// If the source object's storage class is GLACIER, you must restore a copy +// of this object before you can use it as a source object for the copy operation. +// For more information, see RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html). // // The following operations are related to CopyObject: // -// * PutObject +// * PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) // -// * GetObject +// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // // For more information, see Copying Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html). // @@ -581,8 +542,8 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request // can optionally specify a Region in the request body. You might choose a Region // to optimize latency, minimize costs, or address regulatory requirements. // For example, if you reside in Europe, you will probably find it advantageous -// to create buckets in the EU (Ireland) Region. For more information, see How -// to Select a Region for Your Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro). +// to create buckets in the Europe (Ireland) Region. For more information, see +// How to Select a Region for Your Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro). // // If you send your create bucket request to the s3.amazonaws.com endpoint, // the request goes to the us-east-1 Region. Accordingly, the signature calculations @@ -608,21 +569,28 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request // in an ACL. For more information, see Access Control List (ACL) Overview // (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). You // specify each grantee as a type=value pair, where the type is one of the -// following: emailAddress – if the value specified is the email address -// of an AWS account id – if the value specified is the canonical user -// ID of an AWS account uri – if you are granting permissions to a predefined -// group For example, the following x-amz-grant-read header grants the AWS -// accounts identified by email addresses permissions to read object data -// and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" +// following: id – if the value specified is the canonical user ID of an +// AWS account uri – if you are granting permissions to a predefined group +// emailAddress – if the value specified is the email address of an AWS +// account Using email addresses to specify a grantee is only supported in +// the following AWS Regions: US East (N. Virginia) US West (N. California) +// US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific +// (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all +// the Amazon S3 supported Regions and endpoints, see Regions and Endpoints +// (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in +// the AWS General Reference. For example, the following x-amz-grant-read +// header grants the AWS accounts identified by account IDs permissions to +// read object data and its metadata: x-amz-grant-read: id="11112222333", +// id="444455556666" // // You can use either a canned ACL or specify access permissions explicitly. // You cannot do both. // // The following operations are related to CreateBucket: // -// * PutObject +// * PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) // -// * DeleteBucket +// * DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.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 @@ -712,8 +680,9 @@ func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (re // This operation initiates a multipart upload and returns an upload ID. This // upload ID is used to associate all of the parts in the specific multipart // upload. You specify this upload ID in each of your subsequent upload part -// requests (see UploadPart). You also include this upload ID in the final request -// to either complete or abort the multipart upload request. +// requests (see UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)). +// You also include this upload ID in the final request to either complete or +// abort the multipart upload request. // // For more information about multipart uploads, see Multipart Upload Overview // (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html). @@ -746,9 +715,10 @@ func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (re // and decrypts it when you access it. You can provide your own encryption key, // or use AWS Key Management Service (AWS KMS) customer master keys (CMKs) or // Amazon S3-managed encryption keys. If you choose to provide your own encryption -// key, the request headers you provide in UploadPart) and UploadPartCopy) requests -// must match the headers you used in the request to initiate the upload by -// using CreateMultipartUpload. +// key, the request headers you provide in UploadPart (AmazonS3/latest/API/API_UploadPart.html) +// and UploadPartCopy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) +// requests must match the headers you used in the request to initiate the upload +// by using CreateMultipartUpload. // // To perform a multipart upload with encryption using an AWS KMS CMK, the requester // must have permission to the kms:Encrypt, kms:Decrypt, kms:ReEncrypt*, kms:GenerateDataKey*, @@ -792,7 +762,7 @@ func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (re // * Use encryption keys managed by Amazon S3 or customer master keys (CMKs) // stored in AWS Key Management Service (AWS KMS) – If you want AWS to // manage the keys used to encrypt data, specify the following headers in -// the request. x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id +// the request. x-amz-server-side-encryption x-amz-server-side-encryption-aws-kms-key-id // x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms, // but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon // S3 uses the AWS managed CMK in AWS KMS to protect the data. All GET and @@ -803,11 +773,10 @@ func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (re // // * Use customer-provided encryption keys – If you want to manage your // own encryption keys, provide all the following headers in the request. -// x-amz-server-side​-encryption​-customer-algorithm x-amz-server-side​-encryption​-customer-key -// x-amz-server-side​-encryption​-customer-key-MD5 For more information -// about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see -// Protecting Data Using Server-Side Encryption with CMKs stored in AWS KMS -// (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). +// x-amz-server-side-encryption-customer-algorithm x-amz-server-side-encryption-customer-key +// x-amz-server-side-encryption-customer-key-MD5 For more information about +// server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see Protecting +// Data Using Server-Side Encryption with CMKs stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). // // Access-Control-List (ACL)-Specific Request Headers // @@ -832,24 +801,31 @@ func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (re // To grant permissions explicitly, use: x-amz-grant-read x-amz-grant-write // x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You // specify each grantee as a type=value pair, where the type is one of the -// following: emailAddress – if the value specified is the email address -// of an AWS account id – if the value specified is the canonical user -// ID of an AWS account uri – if you are granting permissions to a predefined -// group For example, the following x-amz-grant-read header grants the AWS -// accounts identified by email addresses permissions to read object data -// and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" +// following: id – if the value specified is the canonical user ID of an +// AWS account uri – if you are granting permissions to a predefined group +// emailAddress – if the value specified is the email address of an AWS +// account Using email addresses to specify a grantee is only supported in +// the following AWS Regions: US East (N. Virginia) US West (N. California) +// US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific +// (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all +// the Amazon S3 supported Regions and endpoints, see Regions and Endpoints +// (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in +// the AWS General Reference. For example, the following x-amz-grant-read +// header grants the AWS accounts identified by account IDs permissions to +// read object data and its metadata: x-amz-grant-read: id="11112222333", +// id="444455556666" // // The following operations are related to CreateMultipartUpload: // -// * UploadPart +// * UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) // -// * CompleteMultipartUpload +// * CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) // -// * AbortMultipartUpload +// * AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html) // -// * ListParts +// * ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) // -// * ListMultipartUploads +// * ListMultipartUploads (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.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 @@ -929,9 +905,9 @@ func (c *S3) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request // // Related Resources // -// * +// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // -// * +// * DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.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 @@ -1012,7 +988,7 @@ func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyt // To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration // action. The bucket owner has this permission by default. The bucket owner // can grant this permission to others. For more information about permissions, -// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) +// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html). // // For information about the Amazon S3 analytics feature, see Amazon S3 Analytics @@ -1020,11 +996,11 @@ func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyt // // The following operations are related to DeleteBucketAnalyticsConfiguration: // -// * +// * GetBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html) // -// * +// * ListBucketAnalyticsConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html) // -// * +// * PutBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.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 @@ -1110,9 +1086,9 @@ func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request // // Related Resources: // -// * +// * PutBucketCors (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html) // -// * RESTOPTIONSobject +// * RESTOPTIONSobject (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.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 @@ -1189,21 +1165,21 @@ func (c *S3) DeleteBucketEncryptionRequest(input *DeleteBucketEncryptionInput) ( // // This implementation of the DELETE operation removes default encryption from // the bucket. For information about the Amazon S3 default encryption feature, -// see Amazon S3 Default Bucket Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev//bucket-encryption.html) +// see Amazon S3 Default Bucket Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) // in the Amazon Simple Storage Service Developer Guide. // // To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration // action. The bucket owner has this permission by default. The bucket owner // can grant this permission to others. For more information about permissions, -// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) -// and Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html) +// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) +// and Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) // in the Amazon Simple Storage Service Developer Guide. // // Related Resources // -// * PutBucketEncryption +// * PutBucketEncryption (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html) // -// * GetBucketEncryption +// * GetBucketEncryption (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.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 @@ -1292,11 +1268,11 @@ func (c *S3) DeleteBucketInventoryConfigurationRequest(input *DeleteBucketInvent // // Operations related to DeleteBucketInventoryConfiguration include: // -// * GetBucketInventoryConfiguration +// * GetBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html) // -// * PutBucketInventoryConfiguration +// * PutBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html) // -// * ListBucketInventoryConfigurations +// * ListBucketInventoryConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.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 @@ -1389,9 +1365,9 @@ func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (re // // Related actions include: // -// * PutBucketLifecycleConfiguration +// * PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html) // -// * GetBucketLifecycleConfiguration +// * GetBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.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 @@ -1481,11 +1457,11 @@ func (c *S3) DeleteBucketMetricsConfigurationRequest(input *DeleteBucketMetricsC // // The following operations are related to DeleteBucketMetricsConfiguration: // -// * GetBucketMetricsConfiguration +// * GetBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html) // -// * PutBucketMetricsConfiguration +// * PutBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html) // -// * ListBucketMetricsConfigurations +// * ListBucketMetricsConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html) // // * Monitoring Metrics with Amazon CloudWatch (https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html) // @@ -1582,9 +1558,9 @@ func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *req // // The following operations are related to DeleteBucketPolicy // -// * CreateBucket +// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // -// * DeleteObject +// * DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.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 @@ -1675,9 +1651,9 @@ func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput) // // The following operations are related to DeleteBucketReplication: // -// * PutBucketReplication +// * PutBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html) // -// * GetBucketReplication +// * GetBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.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 @@ -1760,9 +1736,9 @@ func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *r // // The following operations are related to DeleteBucketTagging: // -// * GetBucketTagging +// * GetBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html) // -// * PutBucketTagging +// * PutBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.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 @@ -1854,9 +1830,9 @@ func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *r // // The following operations are related to DeleteBucketWebsite: // -// * GetBucketWebsite +// * GetBucketWebsite (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html) // -// * PutBucketWebsite +// * PutBucketWebsite (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.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 @@ -1948,14 +1924,15 @@ func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request // To see sample requests that use versioning, see Sample Request (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete). // // You can delete objects by explicitly calling the DELETE Object API or configure -// its lifecycle (PutBucketLifecycle) to enable Amazon S3 to remove them for -// you. If you want to block users or accounts from removing or deleting objects -// from your bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion, -// and s3:PutLifeCycleConfiguration actions. +// its lifecycle (PutBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html)) +// to enable Amazon S3 to remove them for you. If you want to block users or +// accounts from removing or deleting objects from your bucket, you must deny +// them the s3:DeleteObject, s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration +// actions. // // The following operation is related to DeleteObject: // -// * PutObject +// * PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.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 @@ -2041,9 +2018,9 @@ func (c *S3) DeleteObjectTaggingRequest(input *DeleteObjectTaggingInput) (req *r // // The following operations are related to DeleteBucketMetricsConfiguration: // -// * PutObjectTagging +// * PutObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html) // -// * GetObjectTagging +// * GetObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.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 @@ -2112,6 +2089,10 @@ func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Reque output = &DeleteObjectsOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -2150,15 +2131,15 @@ func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Reque // // The following operations are related to DeleteObjects: // -// * CreateMultipartUpload +// * CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) // -// * UploadPart +// * UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) // -// * CompleteMultipartUpload +// * CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) // -// * ListParts +// * ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) // -// * AbortMultipartUpload +// * AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.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 @@ -2239,15 +2220,15 @@ func (c *S3) DeletePublicAccessBlockRequest(input *DeletePublicAccessBlockInput) // Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html). // -// The following operations are related to DeleteBucketMetricsConfiguration: +// The following operations are related to DeletePublicAccessBlock: // // * Using Amazon S3 Block Public Access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html) // -// * GetPublicAccessBlock +// * GetPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html) // -// * PutPublicAccessBlock +// * PutPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html) // -// * GetBucketPolicyStatus +// * GetBucketPolicyStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.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 @@ -2329,24 +2310,25 @@ func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateC // To use this operation, you must have permission to perform the s3:GetAccelerateConfiguration // action. The bucket owner has this permission by default. The bucket owner // can grant this permission to others. For more information about permissions, -// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) -// and Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html) +// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) +// and Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) // in the Amazon Simple Storage Service Developer Guide. // // You set the Transfer Acceleration state of an existing bucket to Enabled -// or Suspended by using the PutBucketAccelerateConfiguration operation. +// or Suspended by using the PutBucketAccelerateConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html) +// operation. // // A GET accelerate request does not return a state value for a bucket that // has no transfer acceleration state. A bucket has no Transfer Acceleration // state if a state has never been set on the bucket. // // For more information about transfer acceleration, see Transfer Acceleration -// (https://docs.aws.amazon.com/AmazonS3/latest/dev//transfer-acceleration.html) +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) // in the Amazon Simple Storage Service Developer Guide. // // Related Resources // -// * PutBucketAccelerateConfiguration +// * PutBucketAccelerateConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.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 @@ -2428,7 +2410,7 @@ func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request // // Related Resources // -// * +// * ListObjects (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.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 @@ -2518,11 +2500,11 @@ func (c *S3) GetBucketAnalyticsConfigurationRequest(input *GetBucketAnalyticsCon // // Related Resources // -// * +// * DeleteBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html) // -// * +// * ListBucketAnalyticsConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html) // -// * +// * PutBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.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 @@ -2607,9 +2589,9 @@ func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Reque // // The following operations are related to GetBucketCors: // -// * PutBucketCors +// * PutBucketCors (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html) // -// * DeleteBucketCors +// * DeleteBucketCors (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.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 @@ -2695,9 +2677,9 @@ func (c *S3) GetBucketEncryptionRequest(input *GetBucketEncryptionInput) (req *r // // The following operations are related to GetBucketEncryption: // -// * PutBucketEncryption +// * PutBucketEncryption (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html) // -// * DeleteBucketEncryption +// * DeleteBucketEncryption (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.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 @@ -2785,11 +2767,11 @@ func (c *S3) GetBucketInventoryConfigurationRequest(input *GetBucketInventoryCon // // The following operations are related to GetBucketInventoryConfiguration: // -// * DeleteBucketInventoryConfiguration +// * DeleteBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html) // -// * ListBucketInventoryConfigurations +// * ListBucketInventoryConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html) // -// * PutBucketInventoryConfiguration +// * PutBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.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 @@ -2869,7 +2851,7 @@ func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *req // GetBucketLifecycle API operation for Amazon Simple Storage Service. // // -// For an updated version of this API, see GetBucketLifecycleConfiguration. +// For an updated version of this API, see GetBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html). // If you configured a bucket lifecycle using the filter element, you should // see the updated version of this topic. This topic is provided for backward // compatibility. @@ -2891,11 +2873,11 @@ func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *req // // The following operations are related to GetBucketLifecycle: // -// * GetBucketLifecycleConfiguration +// * GetBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html) // -// * PutBucketLifecycle +// * PutBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html) // -// * DeleteBucketLifecycle +// * DeleteBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.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 @@ -2980,7 +2962,7 @@ func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleCon // the new filter element that you can use to specify a filter to select a subset // of objects to which the rule applies. If you are still using previous version // of the lifecycle configuration, it works. For the earlier API description, -// see GetBucketLifecycle. +// see GetBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html). // // Returns the lifecycle configuration information set on the bucket. For information // about lifecycle configuration, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html). @@ -2997,13 +2979,13 @@ func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleCon // configuration does not exist. HTTP Status Code: 404 Not Found SOAP Fault // Code Prefix: Client // -// The following operations are related to DeleteBucketMetricsConfiguration: +// The following operations are related to GetBucketLifecycleConfiguration: // -// * GetBucketLifecycle +// * GetBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html) // -// * PutBucketLifecycle +// * PutBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html) // -// * DeleteBucketLifecycle +// * DeleteBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.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 @@ -3079,15 +3061,15 @@ func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *reque // // Returns the Region the bucket resides in. You set the bucket's Region using // the LocationConstraint request parameter in a CreateBucket request. For more -// information, see CreateBucket. +// information, see CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html). // // To use this implementation of the operation, you must be the bucket owner. // // The following operations are related to GetBucketLocation: // -// * GetObject +// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // -// * CreateBucket +// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.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 @@ -3166,9 +3148,9 @@ func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request // // The following operations are related to GetBucketLogging: // -// * CreateBucket +// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // -// * PutBucketLogging +// * PutBucketLogging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.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 @@ -3256,11 +3238,11 @@ func (c *S3) GetBucketMetricsConfigurationRequest(input *GetBucketMetricsConfigu // // The following operations are related to GetBucketMetricsConfiguration: // -// * PutBucketMetricsConfiguration +// * PutBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html) // -// * DeleteBucketMetricsConfiguration +// * DeleteBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html) // -// * ListBucketMetricsConfigurations +// * ListBucketMetricsConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html) // // * Monitoring Metrics with Amazon CloudWatch (https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html) // @@ -3341,7 +3323,7 @@ func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurat // GetBucketNotification API operation for Amazon Simple Storage Service. // -// No longer used, see GetBucketNotificationConfiguration. +// No longer used, see GetBucketNotificationConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.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 @@ -3435,7 +3417,7 @@ func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificat // // The following operation is related to GetBucketNotification: // -// * PutBucketNotification +// * PutBucketNotification (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.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 @@ -3528,7 +3510,7 @@ func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.R // // The following operation is related to GetBucketPolicy: // -// * GetObject +// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.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 @@ -3614,11 +3596,11 @@ func (c *S3) GetBucketPolicyStatusRequest(input *GetBucketPolicyStatusInput) (re // // * Using Amazon S3 Block Public Access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html) // -// * GetPublicAccessBlock +// * GetPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html) // -// * PutPublicAccessBlock +// * PutPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html) // -// * DeletePublicAccessBlock +// * DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.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 @@ -3709,13 +3691,14 @@ func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req // also include the DeleteMarkerReplication and Priority elements. The response // also returns those elements. // -// For information about GetBucketReplication errors, see ReplicationErrorCodeList +// For information about GetBucketReplication errors, see List of replication-related +// error codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList) // // The following operations are related to GetBucketReplication: // -// * PutBucketReplication +// * PutBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html) // -// * DeleteBucketReplication +// * DeleteBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.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 @@ -3795,7 +3778,7 @@ func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput) // // The following operations are related to GetBucketRequestPayment: // -// * ListObjects +// * ListObjects (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.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 @@ -3882,9 +3865,9 @@ func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request // // The following operations are related to GetBucketTagging: // -// * PutBucketTagging +// * PutBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html) // -// * DeleteBucketTagging +// * DeleteBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.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 @@ -3968,11 +3951,11 @@ func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *r // // The following operations are related to GetBucketVersioning: // -// * GetObject +// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // -// * PutObject +// * PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) // -// * DeleteObject +// * DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.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 @@ -4058,9 +4041,9 @@ func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request // // The following operations are related to DeleteBucketWebsite: // -// * DeleteBucketWebsite +// * DeleteBucketWebsite (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html) // -// * PutBucketWebsite +// * PutBucketWebsite (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.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 @@ -4154,13 +4137,14 @@ func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, outp // // To distribute large files to many people, you can save bandwidth costs by // using BitTorrent. For more information, see Amazon S3 Torrent (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html). -// For more information about returning the ACL of an object, see GetObjectAcl. +// For more information about returning the ACL of an object, see GetObjectAcl +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html). // // If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE // storage classes, before you can retrieve the object you must first restore -// a copy using . Otherwise, this operation returns an InvalidObjectStateError -// error. For information about restoring archived objects, see Restoring Archived -// Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html). +// a copy using RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html). +// Otherwise, this operation returns an InvalidObjectStateError error. For information +// about restoring archived objects, see Restoring Archived Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html). // // Encryption request headers, like x-amz-server-side-encryption, should not // be sent for GET requests if your object uses server-side encryption with @@ -4172,11 +4156,11 @@ func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, outp // encryption keys (SSE-C) when you store the object in Amazon S3, then when // you GET the object, you must use the following headers: // -// * x-amz-server-side​-encryption​-customer-algorithm +// * x-amz-server-side-encryption-customer-algorithm // -// * x-amz-server-side​-encryption​-customer-key +// * x-amz-server-side-encryption-customer-key // -// * x-amz-server-side​-encryption​-customer-key-MD5 +// * x-amz-server-side-encryption-customer-key-MD5 // // For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided // Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). @@ -4184,6 +4168,7 @@ func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, outp // Assuming you have permission to read object tags (permission for the s3:GetObjectVersionTagging // action), the response also returns the x-amz-tagging-count header that provides // the count of number of tags associated with the object. You can use GetObjectTagging +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html) // to retrieve the tag set associated with an object. // // Permissions @@ -4208,7 +4193,7 @@ func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, outp // as if the object was deleted and includes x-amz-delete-marker: true in the // response. // -// For more information about versioning, see PutBucketVersioning. +// For more information about versioning, see PutBucketVersioning (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html). // // Overriding Response Header Values // @@ -4255,9 +4240,9 @@ func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, outp // // The following operations are related to GetObject: // -// * ListBuckets +// * ListBuckets (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html) // -// * GetObjectAcl +// * GetObjectAcl (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.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 @@ -4346,11 +4331,11 @@ func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request // // The following operations are related to GetObjectAcl: // -// * GetObject +// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // -// * DeleteObject +// * DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) // -// * PutObject +// * PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.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 @@ -4674,7 +4659,7 @@ func (c *S3) GetObjectTaggingRequest(input *GetObjectTaggingInput) (req *request // // The following operation is related to GetObjectTagging: // -// * PutObjectTagging +// * PutObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.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 @@ -4760,7 +4745,7 @@ func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request // // The following operation is related to GetObjectTorrent: // -// * GetObject +// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.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 @@ -4853,11 +4838,11 @@ func (c *S3) GetPublicAccessBlockRequest(input *GetPublicAccessBlockInput) (req // // * Using Amazon S3 Block Public Access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html) // -// * PutPublicAccessBlock +// * PutPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html) // -// * GetPublicAccessBlock +// * GetPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html) // -// * DeletePublicAccessBlock +// * DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.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 @@ -5032,11 +5017,11 @@ func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, ou // encryption keys (SSE-C) when you store the object in Amazon S3, then when // you retrieve the metadata from the object, you must use the following headers: // -// * x-amz-server-side​-encryption​-customer-algorithm +// * x-amz-server-side-encryption-customer-algorithm // -// * x-amz-server-side​-encryption​-customer-key +// * x-amz-server-side-encryption-customer-key // -// * x-amz-server-side​-encryption​-customer-key-MD5 +// * x-amz-server-side-encryption-customer-key-MD5 // // For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided // Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html). @@ -5079,7 +5064,7 @@ func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, ou // // The following operation is related to HeadObject: // -// * GetObject +// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // // See http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses // for more information on returned errors. @@ -5178,11 +5163,11 @@ func (c *S3) ListBucketAnalyticsConfigurationsRequest(input *ListBucketAnalytics // // The following operations are related to ListBucketAnalyticsConfigurations: // -// * GetBucketAnalyticsConfiguration +// * GetBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html) // -// * DeleteBucketAnalyticsConfiguration +// * DeleteBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html) // -// * PutBucketAnalyticsConfiguration +// * PutBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.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 @@ -5278,11 +5263,11 @@ func (c *S3) ListBucketInventoryConfigurationsRequest(input *ListBucketInventory // // The following operations are related to ListBucketInventoryConfigurations: // -// * GetBucketInventoryConfiguration +// * GetBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html) // -// * DeleteBucketInventoryConfiguration +// * DeleteBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html) // -// * PutBucketInventoryConfiguration +// * PutBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.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 @@ -5379,11 +5364,11 @@ func (c *S3) ListBucketMetricsConfigurationsRequest(input *ListBucketMetricsConf // // The following operations are related to ListBucketMetricsConfigurations: // -// * PutBucketMetricsConfiguration +// * PutBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html) // -// * GetBucketMetricsConfiguration +// * GetBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html) // -// * DeleteBucketMetricsConfiguration +// * DeleteBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.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 @@ -5562,15 +5547,15 @@ func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req // // The following operations are related to ListMultipartUploads: // -// * CreateMultipartUpload +// * CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) // -// * UploadPart +// * UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) // -// * CompleteMultipartUpload +// * CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) // -// * ListParts +// * ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) // -// * AbortMultipartUpload +// * AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.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 @@ -5713,13 +5698,13 @@ func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *req // // The following operations are related to ListObjectVersions: // -// * ListObjectsV2 +// * ListObjectsV2 (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) // -// * GetObject +// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // -// * PutObject +// * PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) // -// * DeleteObject +// * DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.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 @@ -5857,21 +5842,22 @@ func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request, // to design your application to parse the contents of the response and handle // it appropriately. // -// This API has been revised. We recommend that you use the newer version, ListObjectsV2, +// This API has been revised. We recommend that you use the newer version, ListObjectsV2 +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html), // when developing applications. For backward compatibility, Amazon S3 continues // to support ListObjects. // // The following operations are related to ListObjects: // -// * ListObjectsV2 +// * ListObjectsV2 (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) // -// * GetObject +// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // -// * PutObject +// * PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) // -// * CreateBucket +// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // -// * ListBuckets +// * ListBuckets (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.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 @@ -6025,17 +6011,18 @@ func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Reque // // This section describes the latest revision of the API. We recommend that // you use this revised API for application development. For backward compatibility, -// Amazon S3 continues to support the prior version of this API, ListObjects. +// Amazon S3 continues to support the prior version of this API, ListObjects +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html). // -// To get a list of your buckets, see ListBuckets. +// To get a list of your buckets, see ListBuckets (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html). // // The following operations are related to ListObjectsV2: // -// * GetObject +// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // -// * PutObject +// * PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) // -// * CreateBucket +// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.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 @@ -6174,14 +6161,14 @@ func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, outp // // Lists the parts that have been uploaded for a specific multipart upload. // This operation must include the upload ID, which you obtain by sending the -// initiate multipart upload request (see CreateMultipartUpload). This request -// returns a maximum of 1,000 uploaded parts. The default number of parts returned -// is 1,000 parts. You can restrict the number of parts returned by specifying -// the max-parts request parameter. If your multipart upload consists of more -// than 1,000 parts, the response returns an IsTruncated field with the value -// of true, and a NextPartNumberMarker element. In subsequent ListParts requests -// you can include the part-number-marker query string parameter and set its -// value to the NextPartNumberMarker field value from the previous response. +// initiate multipart upload request (see CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)). +// This request returns a maximum of 1,000 uploaded parts. The default number +// of parts returned is 1,000 parts. You can restrict the number of parts returned +// by specifying the max-parts request parameter. If your multipart upload consists +// of more than 1,000 parts, the response returns an IsTruncated field with +// the value of true, and a NextPartNumberMarker element. In subsequent ListParts +// requests you can include the part-number-marker query string parameter and +// set its value to the NextPartNumberMarker field value from the previous response. // // For more information on multipart uploads, see Uploading Objects Using Multipart // Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html). @@ -6191,15 +6178,15 @@ func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, outp // // The following operations are related to ListParts: // -// * CreateMultipartUpload +// * CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) // -// * UploadPart +// * UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) // -// * CompleteMultipartUpload +// * CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) // -// * AbortMultipartUpload +// * AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html) // -// * ListMultipartUploads +// * ListMultipartUploads (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.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 @@ -6343,8 +6330,8 @@ func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateC // // * Suspended – Disables accelerated data transfers to the bucket. // -// The GetBucketAccelerateConfiguration operation returns the transfer acceleration -// state of a bucket. +// The GetBucketAccelerateConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html) +// operation returns the transfer acceleration state of a bucket. // // After setting the Transfer Acceleration state of a bucket to Enabled, it // might take up to thirty minutes before the data transfer rates to the bucket @@ -6358,9 +6345,9 @@ func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateC // // The following operations are related to PutBucketAccelerateConfiguration: // -// * GetBucketAccelerateConfiguration +// * GetBucketAccelerateConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html) // -// * CreateBucket +// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.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 @@ -6430,6 +6417,10 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request output = &PutBucketAclOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -6473,14 +6464,20 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request // Amazon S3 supports in an ACL. For more information, see Access Control // List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). // You specify each grantee as a type=value pair, where the type is one of -// the following: emailAddress – if the value specified is the email address -// of an AWS account id – if the value specified is the canonical user -// ID of an AWS account uri – if you are granting permissions to a predefined -// group For example, the following x-amz-grant-write header grants create, -// overwrite, and delete objects permission to LogDelivery group predefined -// by Amazon S3 and two AWS accounts identified by their email addresses. -// x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", -// emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" +// the following: id – if the value specified is the canonical user ID +// of an AWS account uri – if you are granting permissions to a predefined +// group emailAddress – if the value specified is the email address of +// an AWS account Using email addresses to specify a grantee is only supported +// in the following AWS Regions: US East (N. Virginia) US West (N. California) +// US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific +// (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all +// the Amazon S3 supported Regions and endpoints, see Regions and Endpoints +// (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in +// the AWS General Reference. For example, the following x-amz-grant-write +// header grants create, overwrite, and delete objects permission to LogDelivery +// group predefined by Amazon S3 and two AWS accounts identified by their +// email addresses. x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery", +// id="111122223333", id="555566667777" // // You can use either a canned ACL or specify access permissions explicitly. // You cannot do both. @@ -6490,11 +6487,6 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request // You can specify the person (grantee) to whom you're assigning access rights // (using request elements) in the following ways: // -// * By Email address: <>Grantees@email.com<>lt;/Grantee> -// The grantee is resolved to the CanonicalUser and, in a response to a GET -// Object acl request, appears as the CanonicalUser. -// // * By the person's ID: <>ID<><>GranteesEmail<> // DisplayName is optional and ignored in the request @@ -6502,13 +6494,24 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request // * By URI: <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<> // +// * By Email address: <>Grantees@email.com<>lt;/Grantee> +// The grantee is resolved to the CanonicalUser and, in a response to a GET +// Object acl request, appears as the CanonicalUser. Using email addresses +// to specify a grantee is only supported in the following AWS Regions: US +// East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific +// (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) +// South America (São Paulo) For a list of all the Amazon S3 supported Regions +// and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) +// in the AWS General Reference. +// // Related Resources // -// * CreateBucket +// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // -// * DeleteBucket +// * DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) // -// * GetObjectAcl +// * GetObjectAcl (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.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 @@ -6623,11 +6626,11 @@ func (c *S3) PutBucketAnalyticsConfigurationRequest(input *PutBucketAnalyticsCon // // Related Resources // -// * +// * GetBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html) // -// * +// * DeleteBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html) // -// * +// * ListBucketAnalyticsConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.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 @@ -6697,6 +6700,10 @@ func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Reque output = &PutBucketCorsOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -6740,11 +6747,11 @@ func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Reque // // Related Resources // -// * GetBucketCors +// * GetBucketCors (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html) // -// * DeleteBucketCors +// * DeleteBucketCors (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html) // -// * RESTOPTIONSobject +// * RESTOPTIONSobject (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.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 @@ -6814,6 +6821,10 @@ func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *r output = &PutBucketEncryptionOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -6824,7 +6835,8 @@ func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *r // // This implementation of the PUT operation sets default encryption for a bucket // using server-side encryption with Amazon S3-managed keys SSE-S3 or AWS KMS -// customer master keys (CMKs) (SSE-KMS). +// customer master keys (CMKs) (SSE-KMS). For information about the Amazon S3 +// default encryption feature, see Amazon S3 Default Bucket Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html). // // This operation requires AWS Signature Version 4. For more information, see // Authenticating Requests (AWS Signature Version 4) (sig-v4-authenticating-requests.html). @@ -6838,9 +6850,9 @@ func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *r // // Related Resources // -// * GetBucketEncryption +// * GetBucketEncryption (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html) // -// * DeleteBucketEncryption +// * DeleteBucketEncryption (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.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 @@ -6929,19 +6941,19 @@ func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryCon // bucket where you want the inventory to be stored, and whether to generate // the inventory daily or weekly. You can also configure what object metadata // to include and whether to inventory all object versions or only current versions. -// For more information, see Amazon S3 Inventory (https://docs.aws.amazon.com/AmazonS3/latest/dev//storage-inventory.html) +// For more information, see Amazon S3 Inventory (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html) // in the Amazon Simple Storage Service Developer Guide. // // You must create a bucket policy on the destination bucket to grant permissions // to Amazon S3 to write objects to the bucket in the defined location. For // an example policy, see Granting Permissions for Amazon S3 Inventory and Storage -// Class Analysis. (https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9) +// Class Analysis (https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9). // // To use this operation, you must have permissions to perform the s3:PutInventoryConfiguration // action. The bucket owner has this permission by default and can grant this // permission to others. For more information about permissions, see Permissions -// Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) -// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html) +// Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) +// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) // in the Amazon Simple Storage Service Developer Guide. // // Special Errors @@ -6954,15 +6966,15 @@ func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryCon // // * HTTP 403 Forbidden Error Code: AccessDenied Cause: You are not the owner // of the specified bucket, or you do not have the s3:PutInventoryConfiguration -// bucket permission to set the configuration on the bucket +// bucket permission to set the configuration on the bucket. // // Related Resources // -// * GetBucketInventoryConfiguration +// * GetBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html) // -// * DeleteBucketInventoryConfiguration +// * DeleteBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html) // -// * ListBucketInventoryConfigurations +// * ListBucketInventoryConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.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 @@ -7037,19 +7049,23 @@ func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *req output = &PutBucketLifecycleOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } // PutBucketLifecycle API operation for Amazon Simple Storage Service. // // -// For an updated version of this API, see PutBucketLifecycleConfiguration. +// For an updated version of this API, see PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html). // This version has been deprecated. Existing lifecycle configurations will // work. For new lifecycle configurations, use the updated API. // // Creates a new lifecycle configuration for the bucket or replaces an existing // lifecycle configuration. For information about lifecycle configuration, see -// Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev//object-lifecycle-mgmt.html) +// Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) // in the Amazon Simple Storage Service Developer Guide. // // By default, all Amazon S3 resources, including buckets, objects, and related @@ -7071,26 +7087,26 @@ func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *req // * s3:PutLifecycleConfiguration // // For more information about permissions, see Managing Access Permissions to -// your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html) +// your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) // in the Amazon Simple Storage Service Developer Guide. // // For more examples of transitioning objects to storage classes such as STANDARD_IA -// or ONEZONE_IA, see Examples of Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev//intro-lifecycle-rules.html#lifecycle-configuration-examples). +// or ONEZONE_IA, see Examples of Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#lifecycle-configuration-examples). // // Related Resources // -// * GetBucketLifecycle(Deprecated) +// * GetBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html)(Deprecated) // -// * GetBucketLifecycleConfiguration +// * GetBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html) // -// * +// * RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html) // // * By default, a resource owner—in this case, a bucket owner, which is // the AWS account that created the bucket—can perform any of the operations. // A resource owner can also grant others permission to perform the operation. // For more information, see the following topics in the Amazon Simple Storage -// Service Developer Guide: Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html) -// Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html) +// Service Developer Guide: Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html) +// Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.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 @@ -7164,6 +7180,10 @@ func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleCon output = &PutBucketLifecycleConfigurationOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -7178,7 +7198,7 @@ func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleCon // Accordingly, this section describes the latest API. The previous version // of the API supported filtering based only on an object key name prefix, which // is supported for backward compatibility. For the related API description, -// see PutBucketLifecycle. +// see PutBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html). // // Rules // @@ -7229,9 +7249,9 @@ func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleCon // // * Examples of Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html) // -// * GetBucketLifecycleConfiguration +// * GetBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html) // -// * DeleteBucketLifecycle +// * DeleteBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.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 @@ -7301,6 +7321,10 @@ func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request output = &PutBucketLoggingOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -7340,18 +7364,19 @@ func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request // For more information about server access logging, see Server Access Logging // (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html). // -// For more information about creating a bucket, see CreateBucket. For more -// information about returning the logging status of a bucket, see GetBucketLogging. +// For more information about creating a bucket, see CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html). +// For more information about returning the logging status of a bucket, see +// GetBucketLogging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html). // // The following operations are related to PutBucketLogging: // -// * PutObject +// * PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) // -// * DeleteBucket +// * DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) // -// * CreateBucket +// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // -// * GetBucketLogging +// * GetBucketLogging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.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 @@ -7443,11 +7468,11 @@ func (c *S3) PutBucketMetricsConfigurationRequest(input *PutBucketMetricsConfigu // // The following operations are related to PutBucketMetricsConfiguration: // -// * DeleteBucketMetricsConfiguration +// * DeleteBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html) // -// * PutBucketMetricsConfiguration +// * PutBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html) // -// * ListBucketMetricsConfigurations +// * ListBucketMetricsConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html) // // GetBucketLifecycle has the following special error: // @@ -7528,12 +7553,17 @@ func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (re output = &PutBucketNotificationOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } // PutBucketNotification API operation for Amazon Simple Storage Service. // -// No longer used, see the PutBucketNotificationConfiguration operation. +// No longer used, see the PutBucketNotificationConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html) +// 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 @@ -7660,7 +7690,7 @@ func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificat // // The following operation is related to PutBucketNotificationConfiguration: // -// * GetBucketNotificationConfiguration +// * GetBucketNotificationConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.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 @@ -7730,6 +7760,10 @@ func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.R output = &PutBucketPolicyOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -7754,9 +7788,9 @@ func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.R // // The following operations are related to PutBucketPolicy: // -// * CreateBucket +// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // -// * DeleteBucket +// * DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.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 @@ -7826,6 +7860,10 @@ func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req output = &PutBucketReplicationOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -7856,6 +7894,13 @@ func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req // When you add the Filter element in the configuration, you must also add the // following elements: DeleteMarkerReplication, Status, and Priority. // +// The latest version of the replication configuration XML is V2. XML V2 replication +// configurations are those that contain the Filter element for rules, and rules +// that specify S3 Replication Time Control (S3 RTC). In XML V2 replication +// configurations, Amazon S3 doesn't replicate delete markers. Therefore, you +// must set the DeleteMarkerReplication element to Disabled. For backward compatibility, +// Amazon S3 continues to support the XML V1 replication configuration. +// // For information about enabling versioning on a bucket, see Using Versioning // (https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). // @@ -7874,13 +7919,14 @@ func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req // replication configuration, see Replicating Objects Created with SSE Using // CMKs stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html). // -// For information on PutBucketReplication errors, see ReplicationErrorCodeList +// For information on PutBucketReplication errors, see List of replication-related +// error codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList) // // The following operations are related to PutBucketReplication: // -// * GetBucketReplication +// * GetBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html) // -// * DeleteBucketReplication +// * DeleteBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.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 @@ -7950,6 +7996,10 @@ func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) output = &PutBucketRequestPaymentOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -7963,9 +8013,9 @@ func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput) // // The following operations are related to PutBucketRequestPayment: // -// * CreateBucket +// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // -// * GetBucketRequestPayment +// * GetBucketRequestPayment (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.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 @@ -8035,6 +8085,10 @@ func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request output = &PutBucketTaggingOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -8065,8 +8119,8 @@ func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request // * Error code: InvalidTagError Description: The tag provided was not a // valid tag. This error can occur if the tag did not pass input validation. // For information about tag restrictions, see User-Defined Tag Restrictions -// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//allocation-tag-restrictions.html) -// and AWS-Generated Cost Allocation Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//aws-tag-restrictions.html). +// (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) +// and AWS-Generated Cost Allocation Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html). // // * Error code: MalformedXMLError Description: The XML provided does not // match the schema. @@ -8079,9 +8133,9 @@ func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request // // The following operations are related to PutBucketTagging: // -// * GetBucketTagging +// * GetBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html) // -// * DeleteBucketTagging +// * DeleteBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.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 @@ -8151,6 +8205,10 @@ func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *r output = &PutBucketVersioningOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -8168,7 +8226,8 @@ func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *r // added to the bucket receive the version ID null. // // If the versioning state has never been set on a bucket, it has no versioning -// state; a GetBucketVersioning request does not return a versioning state value. +// state; a GetBucketVersioning (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html) +// request does not return a versioning state value. // // If the bucket owner enables MFA Delete in the bucket versioning configuration, // the bucket owner must include the x-amz-mfa request header and the Status @@ -8185,11 +8244,11 @@ func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *r // // Related Resources // -// * CreateBucket +// * CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // -// * DeleteBucket +// * DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) // -// * GetBucketVersioning +// * GetBucketVersioning (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.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 @@ -8259,6 +8318,10 @@ func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request output = &PutBucketWebsiteOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -8326,6 +8389,11 @@ func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request // // * HttpRedirectCode // +// Amazon S3 has a limitation of 50 routing rules per website configuration. +// If you require more than 50 routing rules, you can use object redirect. For +// more information, see Configuring an Object Redirect (https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html) +// in the Amazon Simple Storage Service Developer Guide. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -8415,12 +8483,12 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp // you can calculate the MD5 while putting an object to Amazon S3 and compare // the returned ETag to the calculated MD5 value. // -// To configure your application to send the request headers before sending -// the request body, use the 100-continue HTTP status code. For PUT operations, -// this helps you avoid sending the message body if the message is rejected -// based on the headers (for example, because authentication fails or a redirect -// occurs). For more information on the 100-continue HTTP status code, see Section -// 8.2.3 of http://www.ietf.org/rfc/rfc2616.txt (http://www.ietf.org/rfc/rfc2616.txt). +// The Content-MD5 header is required for any request to upload an object with +// a retention period configured using Amazon S3 Object Lock. For more information +// about Amazon S3 Object Lock, see Amazon S3 Object Lock Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html) +// in the Amazon Simple Storage Service Developer Guide. +// +// Server-side Encryption // // You can optionally request server-side encryption. With server-side encryption, // Amazon S3 encrypts your data as it writes it to disks in its data centers @@ -8428,149 +8496,41 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp // your own encryption key or use AWS managed encryption keys. For more information, // see Using Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html). // -// Access Permissions -// -// You can optionally specify the accounts or groups that should be granted -// specific permissions on the new object. There are two ways to grant the permissions -// using the request headers: -// -// * Specify a canned ACL with the x-amz-acl request header. For more information, -// see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL). -// -// * Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, -// x-amz-grant-write-acp, and x-amz-grant-full-control headers. These parameters -// map to the set of permissions that Amazon S3 supports in an ACL. For more -// information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). -// -// You can use either a canned ACL or specify access permissions explicitly. -// You cannot do both. -// -// Server-Side- Encryption-Specific Request Headers -// -// You can optionally tell Amazon S3 to encrypt data at rest using server-side -// encryption. Server-side encryption is for data encryption at rest. Amazon -// S3 encrypts your data as it writes it to disks in its data centers and decrypts -// it when you access it. The option you use depends on whether you want to -// use AWS managed encryption keys or provide your own encryption key. -// -// * Use encryption keys managed by Amazon S3 or customer master keys (CMKs) -// stored in AWS Key Management Service (AWS KMS) – If you want AWS to -// manage the keys used to encrypt data, specify the following headers in -// the request. x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id -// x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms, -// but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon -// S3 uses the AWS managed CMK in AWS KMS to protect the data. If you want -// to use a customer managed AWS KMS CMK, you must provide the x-amz-server-side-encryption-aws-kms-key-id -// of the symmetric customer managed CMK. Amazon S3 only supports symmetric -// CMKs and not asymmetric CMKs. For more information, see Using Symmetric -// and Asymmetric Keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) -// in the AWS Key Management Service Developer Guide. All GET and PUT requests -// for an object protected by AWS KMS fail if you don't make them with SSL -// or by using SigV4. For more information about server-side encryption with -// CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side -// Encryption with CMKs stored in AWS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). -// -// * Use customer-provided encryption keys – If you want to manage your -// own encryption keys, provide all the following headers in the request. -// x-amz-server-side​-encryption​-customer-algorithm x-amz-server-side​-encryption​-customer-key -// x-amz-server-side​-encryption​-customer-key-MD5 For more information -// about server-side encryption with CMKs stored in KMS (SSE-KMS), see Protecting -// Data Using Server-Side Encryption with CMKs stored in AWS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). -// -// Access-Control-List (ACL)-Specific Request Headers -// -// You also can use the following access control–related headers with this -// operation. By default, all objects are private. Only the owner has full access -// control. When adding a new object, you can grant permissions to individual -// AWS accounts or to predefined groups defined by Amazon S3. These permissions -// are then added to the Access Control List (ACL) on the object. For more information, -// see Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html). -// With this operation, you can grant access permissions using one of the following -// two methods: -// -// * Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined -// ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees -// and permissions. For more information, see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL). -// -// * Specify access permissions explicitly — To explicitly grant access -// permissions to specific AWS accounts or groups, use the following headers. -// Each header maps to specific permissions that Amazon S3 supports in an -// ACL. For more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). -// In the header, you specify a list of grantees who get the specific permission. -// To grant permissions explicitly use: x-amz-grant-read x-amz-grant-write -// x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You -// specify each grantee as a type=value pair, where the type is one of the -// following: emailAddress – if the value specified is the email address -// of an AWS account Using email addresses to specify a grantee is only supported -// in the following AWS Regions: US East (N. Virginia) US West (N. California) -// US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific -// (Tokyo) EU (Ireland) South America (São Paulo) For a list of all the -// Amazon S3 supported Regions and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) -// in the AWS General Reference id – if the value specified is the canonical -// user ID of an AWS account uri – if you are granting permissions to a -// predefined group For example, the following x-amz-grant-read header grants -// the AWS accounts identified by email addresses permissions to read object -// data and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", -// emailAddress="abc@amazon.com" -// -// Server-Side- Encryption-Specific Request Headers -// -// You can optionally tell Amazon S3 to encrypt data at rest using server-side -// encryption. Server-side encryption is for data encryption at rest. Amazon -// S3 encrypts your data as it writes it to disks in its data centers and decrypts -// it when you access it. The option you use depends on whether you want to -// use AWS-managed encryption keys or provide your own encryption key. -// -// * Use encryption keys managed by Amazon S3 or customer master keys (CMKs) -// stored in AWS Key Management Service (AWS KMS) – If you want AWS to -// manage the keys used to encrypt data, specify the following headers in -// the request. x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id -// x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms, -// but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon -// S3 uses the AWS managed CMK in AWS KMS to protect the data. If you want -// to use a customer managed AWS KMS CMK, you must provide the x-amz-server-side-encryption-aws-kms-key-id -// of the symmetric customer managed CMK. Amazon S3 only supports symmetric -// CMKs and not asymmetric CMKs. For more information, see Using Symmetric -// and Asymmetric Keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) -// in the AWS Key Management Service Developer Guide. All GET and PUT requests -// for an object protected by AWS KMS fail if you don't make them with SSL -// or by using SigV4. For more information about server-side encryption with -// CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side -// Encryption with CMKs stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). +// Access Control List (ACL)-Specific Request Headers // -// * Use customer-provided encryption keys – If you want to manage your -// own encryption keys, provide all the following headers in the request. -// If you use this feature, the ETag value that Amazon S3 returns in the -// response is not the MD5 of the object. x-amz-server-side​-encryption​-customer-algorithm -// x-amz-server-side​-encryption​-customer-key x-amz-server-side​-encryption​-customer-key-MD5 -// For more information about server-side encryption with CMKs stored in -// AWS KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with -// CMKs stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). +// You can use headers to grant ACL- based permissions. By default, all objects +// are private. Only the owner has full access control. When adding a new object, +// you can grant permissions to individual AWS accounts or to predefined groups +// defined by Amazon S3. These permissions are then added to the ACL on the +// object. For more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) +// and Managing ACLs Using the REST API (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html). // // Storage Class Options // -// By default, Amazon S3 uses the Standard storage class to store newly created -// objects. The Standard storage class provides high durability and high availability. -// You can specify other storage classes depending on the performance needs. +// By default, Amazon S3 uses the STANDARD storage class to store newly created +// objects. The STANDARD storage class provides high durability and high availability. +// Depending on performance needs, you can specify a different storage class. // For more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) -// in the Amazon Simple Storage Service Developer Guide. +// in the Amazon S3 Service Developer Guide. // // Versioning // // If you enable versioning for a bucket, Amazon S3 automatically generates // a unique version ID for the object being stored. Amazon S3 returns this ID -// in the response using the x-amz-version-id response header. If versioning -// is suspended, Amazon S3 always uses null as the version ID for the object -// stored. For more information about returning the versioning state of a bucket, -// see GetBucketVersioning. If you enable versioning for a bucket, when Amazon -// S3 receives multiple write requests for the same object simultaneously, it -// stores all of the objects. +// in the response. When you enable versioning for a bucket, if Amazon S3 receives +// multiple write requests for the same object simultaneously, it stores all +// of the objects. +// +// For more information about versioning, see Adding Objects to Versioning Enabled +// Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html). +// For information about returning the versioning state of a bucket, see GetBucketVersioning +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html). // // Related Resources // -// * CopyObject +// * CopyObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) // -// * DeleteObject +// * DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.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 @@ -8639,6 +8599,10 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request output = &PutObjectAclOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -8651,7 +8615,9 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request // Depending on your application needs, you can choose to set the ACL on an // object using either the request body or the headers. For example, if you // have an existing application that updates a bucket ACL using the request -// body, you can continue to use that approach. +// body, you can continue to use that approach. For more information, see Access +// Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) +// in the Amazon S3 Developer Guide. // // Access Permissions // @@ -8673,12 +8639,19 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request // S3 supports in an ACL. For more information, see Access Control List (ACL) // Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). // You specify each grantee as a type=value pair, where the type is one of -// the following: emailAddress – if the value specified is the email address -// of an AWS account id – if the value specified is the canonical user -// ID of an AWS account uri – if you are granting permissions to a predefined -// group For example, the following x-amz-grant-read header grants list objects -// permission to the two AWS accounts identified by their email addresses. -// x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com" +// the following: id – if the value specified is the canonical user ID +// of an AWS account uri – if you are granting permissions to a predefined +// group emailAddress – if the value specified is the email address of +// an AWS account Using email addresses to specify a grantee is only supported +// in the following AWS Regions: US East (N. Virginia) US West (N. California) +// US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific +// (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all +// the Amazon S3 supported Regions and endpoints, see Regions and Endpoints +// (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in +// the AWS General Reference. For example, the following x-amz-grant-read +// header grants list objects permission to the two AWS accounts identified +// by their email addresses. x-amz-grant-read: emailAddress="xyz@amazon.com", +// emailAddress="abc@amazon.com" // // You can use either a canned ACL or specify access permissions explicitly. // You cannot do both. @@ -8688,11 +8661,6 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request // You can specify the person (grantee) to whom you're assigning access rights // (using request elements) in the following ways: // -// * By Email address: <>Grantees@email.com<>lt;/Grantee> -// The grantee is resolved to the CanonicalUser and, in a response to a GET -// Object acl request, appears as the CanonicalUser. -// // * By the person's ID: <>ID<><>GranteesEmail<> // DisplayName is optional and ignored in the request. @@ -8700,6 +8668,17 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request // * By URI: <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<> // +// * By Email address: <>Grantees@email.com<>lt;/Grantee> +// The grantee is resolved to the CanonicalUser and, in a response to a GET +// Object acl request, appears as the CanonicalUser. Using email addresses +// to specify a grantee is only supported in the following AWS Regions: US +// East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific +// (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland) +// South America (São Paulo) For a list of all the Amazon S3 supported Regions +// and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) +// in the AWS General Reference. +// // Versioning // // The ACL of an object is set at the object version level. By default, PUT @@ -8708,9 +8687,9 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request // // Related Resources // -// * CopyObject +// * CopyObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) // -// * GetObject +// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.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 @@ -8784,6 +8763,10 @@ func (c *S3) PutObjectLegalHoldRequest(input *PutObjectLegalHoldInput) (req *req output = &PutObjectLegalHoldOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -8862,6 +8845,10 @@ func (c *S3) PutObjectLockConfigurationRequest(input *PutObjectLockConfiguration output = &PutObjectLockConfigurationOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -8945,6 +8932,10 @@ func (c *S3) PutObjectRetentionRequest(input *PutObjectRetentionInput) (req *req output = &PutObjectRetentionOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -9023,17 +9014,21 @@ func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request output = &PutObjectTaggingOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } // PutObjectTagging API operation for Amazon Simple Storage Service. // -// Sets the supplied tag-set to an object that already exists in a bucket +// Sets the supplied tag-set to an object that already exists in a bucket. // // A tag is a key-value pair. You can associate tags with an object by sending // a PUT request against the tagging subresource that is associated with the // object. You can retrieve tags by sending a GET request. For more information, -// see GetObjectTagging. +// see GetObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html). // // For tagging-related restrictions related to characters and encodings, see // Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html). @@ -9065,7 +9060,7 @@ func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request // // Related Resources // -// * GetObjectTagging +// * GetObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.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 @@ -9135,6 +9130,10 @@ func (c *S3) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req output = &PutPublicAccessBlockOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(request.NamedHandler{ + Name: "contentMd5Handler", + Fn: checksum.AddBodyContentMD5Handler, + }) return } @@ -9157,11 +9156,11 @@ func (c *S3) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req // // Related Resources // -// * GetPublicAccessBlock +// * GetPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html) // -// * DeletePublicAccessBlock +// * DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html) // -// * GetBucketPolicyStatus +// * GetBucketPolicyStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html) // // * Using Amazon S3 Block Public Access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html) // @@ -9246,9 +9245,9 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque // * restore an archive - Restore an archived object // // To use this operation, you must have permissions to perform the s3:RestoreObject -// and s3:GetObject actions. The bucket owner has this permission by default -// and can grant this permission to others. For more information about permissions, -// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) +// action. The bucket owner has this permission by default and can grant this +// permission to others. For more information about permissions, see Permissions +// Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html) // in the Amazon Simple Storage Service Developer Guide. // @@ -9273,7 +9272,8 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque // (https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html) // in the Amazon Simple Storage Service Developer Guide. For more information // about the S3 structure in the request body, see the following: PutObject -// Managing Access with ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html) +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) Managing +// Access with ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html) // in the Amazon Simple Storage Service Developer Guide Protecting Data Using // Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html) // in the Amazon Simple Storage Service Developer Guide @@ -9290,8 +9290,8 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque // the query.) You cannot mix ordinal positions with header column names. // SELECT s.Id, s.FirstName, s.SSN FROM S3Object s // -// For more information about using SQL with Glacier Select restore, see SQL -// Reference for Amazon S3 Select and Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html) +// For more information about using SQL with S3 Glacier Select restore, see +// SQL Reference for Amazon S3 Select and S3 Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html) // in the Amazon Simple Storage Service Developer Guide. // // When making a select request, you can also do the following: @@ -9344,12 +9344,12 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque // retrievals and provisioned capacity are not available for the DEEP_ARCHIVE // storage class. // -// * Standard - Standard retrievals allow you to access any of your archived +// * Standard - S3 Standard retrievals allow you to access any of your archived // objects within several hours. This is the default option for the GLACIER // and DEEP_ARCHIVE retrieval requests that do not specify the retrieval -// option. Standard retrievals typically complete within 3-5 hours from the -// GLACIER storage class and typically complete within 12 hours from the -// DEEP_ARCHIVE storage class. +// option. S3 Standard retrievals typically complete within 3-5 hours from +// the GLACIER storage class and typically complete within 12 hours from +// the DEEP_ARCHIVE storage class. // // * Bulk - Bulk retrievals are Amazon S3 Glacier’s lowest-cost retrieval // option, enabling you to retrieve large amounts, even petabytes, of data @@ -9389,7 +9389,8 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque // specify in a restore request. For example, if you restore an object copy // for 10 days, but the object is scheduled to expire in 3 days, Amazon S3 deletes // the object in 3 days. For more information about lifecycle configuration, -// see PutBucketLifecycleConfiguration and Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) +// see PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html) +// and Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) // in Amazon Simple Storage Service Developer Guide. // // Responses @@ -9408,19 +9409,19 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque // (This error does not apply to SELECT type requests.) HTTP Status Code: // 409 Conflict SOAP Fault Code Prefix: Client // -// * Code: GlacierExpeditedRetrievalNotAvailable Cause: Glacier expedited +// * Code: GlacierExpeditedRetrievalNotAvailable Cause: S3 Glacier expedited // retrievals are currently not available. Try again later. (Returned if // there is insufficient capacity to process the Expedited request. This -// error applies only to Expedited retrievals and not to Standard or Bulk +// error applies only to Expedited retrievals and not to S3 Standard or Bulk // retrievals.) HTTP Status Code: 503 SOAP Fault Code Prefix: N/A // // Related Resources // -// * PutBucketLifecycleConfiguration +// * PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html) // -// * GetBucketNotificationConfiguration +// * GetBucketNotificationConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html) // -// * SQL Reference for Amazon S3 Select and Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html) +// * SQL Reference for Amazon S3 Select and S3 Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html) // in the Amazon Simple Storage Service Developer Guide // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -9522,7 +9523,7 @@ func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *r // in the Amazon Simple Storage Service Developer Guide. // // For more information about using SQL with Amazon S3 Select, see SQL Reference -// for Amazon S3 Select and Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html) +// for Amazon S3 Select and S3 Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html) // in the Amazon Simple Storage Service Developer Guide. // // Permissions @@ -9550,8 +9551,8 @@ func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *r // * Server-side encryption - Amazon S3 Select supports querying objects // that are protected with server-side encryption. For objects that are encrypted // with customer-provided encryption keys (SSE-C), you must use HTTPS, and -// you must use the headers that are documented in the GetObject. For more -// information about SSE-C, see Server-Side Encryption (Using Customer-Provided +// you must use the headers that are documented in the GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html). +// For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided // Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html) // in the Amazon Simple Storage Service Developer Guide. For objects that // are encrypted with Amazon S3 managed encryption keys (SSE-S3) and customer @@ -9565,16 +9566,18 @@ func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *r // // Given the response size is unknown, Amazon S3 Select streams the response // as a series of messages and includes a Transfer-Encoding header with chunked -// as its value in the response. For more information, see RESTSelectObjectAppendix . +// as its value in the response. For more information, see Appendix: SelectObjectContent +// Response (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html) . // // GetObject Support // // The SelectObjectContent operation does not support the following GetObject -// functionality. For more information, see GetObject. +// functionality. For more information, see GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html). // -// * Range: While you can specify a scan range for a Amazon S3 Select request, -// see SelectObjectContentRequest$ScanRange in the request parameters below, -// you cannot specify the range of bytes of an object to return. +// * Range: Although you can specify a scan range for an Amazon S3 Select +// request (see SelectObjectContentRequest - ScanRange (https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange) +// in the request parameters), you cannot specify the range of bytes of an +// object to return. // // * GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You cannot // specify the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY storage classes. @@ -9583,16 +9586,16 @@ func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *r // // Special Errors // -// For a list of special errors for this operation and for general information -// about Amazon S3 errors and a list of error codes, see ErrorResponses +// For a list of special errors for this operation, see List of SELECT Object +// Content Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList) // // Related Resources // -// * GetObject +// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // -// * GetBucketLifecycleConfiguration +// * GetBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html) // -// * PutBucketLifecycleConfiguration +// * PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.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 @@ -9622,6 +9625,8 @@ func (c *S3) SelectObjectContentWithContext(ctx aws.Context, input *SelectObject return out, req.Send() } +var _ awserr.Error + // SelectObjectContentEventStream provides the event stream handling for the SelectObjectContent. type SelectObjectContentEventStream struct { @@ -9696,6 +9701,7 @@ func (es *SelectObjectContentEventStream) waitStreamPartClose() { // * ProgressEvent // * RecordsEvent // * StatsEvent +// * SelectObjectContentEventStreamUnknownEvent func (es *SelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent { return es.Reader.Events() } @@ -9812,12 +9818,13 @@ func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, ou // In this operation, you provide part data in your request. However, you have // an option to specify your existing Amazon S3 object as a data source for // the part you are uploading. To upload a part from an existing object, you -// use the UploadPartCopy operation. +// use the UploadPartCopy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) +// operation. // -// You must initiate a multipart upload (see CreateMultipartUpload) before you -// can upload any part. In response to your initiate request, Amazon S3 returns -// an upload ID, a unique identifier, that you must include in your upload part -// request. +// You must initiate a multipart upload (see CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)) +// before you can upload any part. In response to your initiate request, Amazon +// S3 returns an upload ID, a unique identifier, that you must include in your +// upload part request. // // Part numbers can be any number from 1 to 10,000, inclusive. A part number // uniquely identifies a part and also defines its position within the object @@ -9851,25 +9858,25 @@ func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, ou // key, or you can use the AWS managed encryption keys. If you choose to provide // your own encryption key, the request headers you provide in the request must // match the headers you used in the request to initiate the upload by using -// CreateMultipartUpload. For more information, go to Using Server-Side Encryption -// (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) +// CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html). +// For more information, go to Using Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) // in the Amazon Simple Storage Service Developer Guide. // // Server-side encryption is supported by the S3 Multipart Upload actions. Unless // you are using a customer-provided encryption key, you don't need to specify // the encryption parameters in each UploadPart request. Instead, you only need // to specify the server-side encryption parameters in the initial Initiate -// Multipart request. For more information, see CreateMultipartUpload. +// Multipart request. For more information, see CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html). // // If you requested server-side encryption using a customer-provided encryption // key in your initiate multipart upload request, you must provide identical // encryption information in each part upload using the following headers. // -// * x-amz-server-side​-encryption​-customer-algorithm +// * x-amz-server-side-encryption-customer-algorithm // -// * x-amz-server-side​-encryption​-customer-key +// * x-amz-server-side-encryption-customer-key // -// * x-amz-server-side​-encryption​-customer-key-MD5 +// * x-amz-server-side-encryption-customer-key-MD5 // // Special Errors // @@ -9880,15 +9887,15 @@ func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, ou // // Related Resources // -// * CreateMultipartUpload +// * CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) // -// * CompleteMultipartUpload +// * CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) // -// * AbortMultipartUpload +// * AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html) // -// * ListParts +// * ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) // -// * ListMultipartUploads +// * ListMultipartUploads (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.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 @@ -9972,7 +9979,8 @@ func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Req // in the Amazon Simple Storage Service Developer Guide. // // Instead of using an existing object as part data, you might use the UploadPart -// operation and provide data in your request. +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) operation +// and provide data in your request. // // You must initiate a multipart upload before you can upload any part. In response // to your initiate request. Amazon S3 returns a unique identifier, the upload @@ -9993,8 +10001,8 @@ func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Req // in the Amazon Simple Storage Service Developer Guide. // // * For information about using server-side encryption with customer-provided -// encryption keys with the UploadPartCopy operation, see CopyObject and -// UploadPart. +// encryption keys with the UploadPartCopy operation, see CopyObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) +// and UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html). // // Note the following additional considerations about the request headers x-amz-copy-source-if-match, // x-amz-copy-source-if-none-match, x-amz-copy-source-if-unmodified-since, and @@ -10039,17 +10047,17 @@ func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Req // // Related Resources // -// * CreateMultipartUpload +// * CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) // -// * UploadPart +// * UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) // -// * CompleteMultipartUpload +// * CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) // -// * AbortMultipartUpload +// * AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html) // -// * ListParts +// * ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) // -// * ListMultipartUploads +// * ListMultipartUploads (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.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 @@ -10615,8 +10623,11 @@ type AnalyticsS3BucketDestination struct { // 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. + // The account ID that owns the destination S3 bucket. If no account ID is provided, + // the owner is not validated before exporting data. + // + // Although this value is optional, we strongly recommend that you set it to + // help prevent problems if the destination bucket ownership changes. BucketAccountId *string `type:"string"` // Specifies the file format used when exporting data to Amazon S3. @@ -11578,6 +11589,8 @@ func (s *ContinuationEvent) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *ContinuationEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) return msg, err @@ -11694,7 +11707,7 @@ type CopyObjectInput struct { // 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 // S3 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 + // with the algorithm specified in the x-amz-server-side-encryption-customer-algorithm // header. SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` @@ -12457,7 +12470,7 @@ type CreateMultipartUploadInput struct { // 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 // S3 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 + // with the algorithm specified in the x-amz-server-side-encryption-customer-algorithm // header. SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` @@ -14133,7 +14146,7 @@ type DeleteObjectTaggingInput struct { // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` - // Name of the tag. + // Name of the object key. // // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` @@ -14575,9 +14588,9 @@ type Destination struct { // must be replicated. Must be specified together with a Metrics block. ReplicationTime *ReplicationTime `type:"structure"` - // The storage class to use when replicating objects, such as standard or reduced - // redundancy. By default, Amazon S3 uses the storage class of the source object - // to create the object replica. + // The storage class to use when replicating objects, such as S3 Standard or + // reduced redundancy. By default, Amazon S3 uses the storage class of the source + // object to create the object replica. // // For valid values, see the StorageClass element of the PUT Bucket replication // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) @@ -14794,6 +14807,8 @@ func (s *EndEvent) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *EndEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) return msg, err @@ -16110,6 +16125,7 @@ type GetBucketLocationOutput struct { // Specifies the Region where the bucket resides. For a list of all the Amazon // S3 supported location constraints by Region, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region). + // Buckets in Region us-east-1 have a LocationConstraint of null. LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"` } @@ -16319,7 +16335,7 @@ func (s *GetBucketMetricsConfigurationOutput) SetMetricsConfiguration(v *Metrics type GetBucketNotificationConfigurationRequest struct { _ struct{} `locationName:"GetBucketNotificationConfigurationRequest" type:"structure"` - // Name of the bucket for which to get the notification configuration + // Name of the bucket for which to get the notification configuration. // // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` @@ -16967,10 +16983,10 @@ func (s *GetBucketWebsiteInput) hasEndpointARN() bool { type GetBucketWebsiteOutput struct { _ struct{} `type:"structure"` - // The name of the error document for the website. + // The object key name of the website error document to use for 4XX class errors. ErrorDocument *ErrorDocument `type:"structure"` - // The name of the index document for the website. + // The name of the index document for the website (for example index.html). IndexDocument *IndexDocument `type:"structure"` // Specifies the redirect behavior of all requests to a website endpoint of @@ -17207,7 +17223,10 @@ type GetObjectInput struct { PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"` // Downloads the specified range bytes of an object. For more information about - // the HTTP Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. + // the HTTP Range header, see https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35 + // (https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35). + // + // Amazon S3 doesn't support retrieving multiple ranges of data per GET request. Range *string `location:"header" locationName:"Range" type:"string"` // Confirms that the requester knows that they will be charged for the request. @@ -17242,7 +17261,7 @@ type GetObjectInput struct { // 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 // S3 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 + // with the algorithm specified in the x-amz-server-side-encryption-customer-algorithm // header. SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` @@ -17756,7 +17775,7 @@ type GetObjectOutput struct { ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` // Provides storage class information of the object. Amazon S3 returns this - // header for all objects except for Standard storage class objects. + // header for all objects except for S3 Standard storage class objects. StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` // The number of tags, if any, on the object. @@ -18441,11 +18460,11 @@ func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *Public return s } -// Container for Glacier job parameters. +// Container for S3 Glacier job parameters. type GlacierJobParameters struct { _ struct{} `type:"structure"` - // Glacier retrieval tier at which the restore will be processed. + // S3 Glacier retrieval tier at which the restore will be processed. // // Tier is a required field Tier *string `type:"string" required:"true" enum:"Tier"` @@ -18536,6 +18555,29 @@ type Grantee struct { DisplayName *string `type:"string"` // Email address of the grantee. + // + // Using email addresses to specify a grantee is only supported in the following + // AWS Regions: + // + // * US East (N. Virginia) + // + // * US West (N. California) + // + // * US West (Oregon) + // + // * Asia Pacific (Singapore) + // + // * Asia Pacific (Sydney) + // + // * Asia Pacific (Tokyo) + // + // * Europe (Ireland) + // + // * South America (São Paulo) + // + // For a list of all the Amazon S3 supported Regions and endpoints, see Regions + // and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) + // in the AWS General Reference. EmailAddress *string `type:"string"` // The canonical user ID of the grantee. @@ -18716,6 +18758,8 @@ type HeadObjectInput struct { // Downloads the specified range bytes of an object. For more information about // the HTTP Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. + // + // Amazon S3 doesn't support retrieving multiple ranges of data per GET request. Range *string `location:"header" locationName:"Range" type:"string"` // Confirms that the requester knows that they will be charged for the request. @@ -18732,7 +18776,7 @@ type HeadObjectInput struct { // 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 // S3 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 + // with the algorithm specified in the x-amz-server-side-encryption-customer-algorithm // header. SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` @@ -18993,7 +19037,8 @@ type HeadObjectOutput struct { // If the object is an archived object (an object whose storage class is GLACIER), // the response includes this header if either the archive restoration is in - // progress (see RestoreObject or an archive copy is already restored. + // progress (see RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html) + // or an archive copy is already restored. // // If an archive copy is already restored, the header value indicates when Amazon // S3 is scheduled to delete the object copy. For example: @@ -19029,7 +19074,7 @@ type HeadObjectOutput struct { ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` // Provides storage class information of the object. Amazon S3 returns this - // header for all objects except for Standard storage class objects. + // header for all objects except for S3 Standard storage class objects. // // For more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html). StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"` @@ -19624,7 +19669,11 @@ func (s *InventoryFilter) SetPrefix(v string) *InventoryFilter { type InventoryS3BucketDestination struct { _ struct{} `type:"structure"` - // The ID of the account that owns the destination bucket. + // The account ID that owns the destination S3 bucket. If no account ID is provided, + // the owner is not validated before exporting data. + // + // Although this value is optional, we strongly recommend that you set it to + // help prevent problems if the destination bucket ownership changes. AccountId *string `type:"string"` // The Amazon Resource Name (ARN) of the bucket where inventory results will @@ -19781,7 +19830,8 @@ func (s *JSONInput) SetType(v string) *JSONInput { type JSONOutput struct { _ struct{} `type:"structure"` - // The value used to separate individual records in the output. + // The value used to separate individual records in the output. If no value + // is specified, Amazon S3 uses a newline character ('\n'). RecordDelimiter *string `type:"string"` } @@ -21017,11 +21067,12 @@ type ListObjectVersionsInput struct { // 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. If additional keys satisfy - // the search criteria, but were not returned because max-keys was exceeded, - // the response contains true. To return the additional - // keys, see key-marker and version-id-marker. + // Sets the maximum number of keys returned in the response. By default the + // API returns up to 1,000 key names. The response might contain fewer keys + // but will never contain more. If additional keys satisfy the search criteria, + // but were not returned because max-keys was exceeded, the response contains + // true. To return the additional keys, see key-marker + // and version-id-marker. MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"` // Use this parameter to select only those keys that begin with the specified @@ -21298,8 +21349,9 @@ type ListObjectsInput struct { // 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. + // Sets the maximum number of keys returned in the response. By default the + // API returns up to 1,000 key names. 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. @@ -21451,7 +21503,7 @@ type ListObjectsOutput struct { // 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, + // specified. If response does not include the NextMarker 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"` @@ -21561,8 +21613,9 @@ type ListObjectsV2Input struct { // 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. + // Sets the maximum number of keys returned in the response. By default the + // API returns up to 1,000 key names. 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. @@ -21731,8 +21784,9 @@ type ListObjectsV2Output struct { // 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. + // Sets the maximum number of keys returned in the response. By default the + // API returns up to 1,000 key names. The response might contain fewer keys + // but will never contain more. MaxKeys *int64 `type:"integer"` // Bucket name. @@ -22929,8 +22983,22 @@ func (s *NotificationConfigurationFilter) SetKey(v *KeyFilter) *NotificationConf type Object struct { _ struct{} `type:"structure"` - // The entity tag is an MD5 hash of the object. ETag reflects only changes to - // the contents of an object, not its metadata. + // The entity tag is a hash of the object. The ETag reflects changes only to + // the contents of an object, not its metadata. The ETag may or may not be an + // MD5 digest of the object data. Whether or not it is depends on how the object + // was created and how it is encrypted as described below: + // + // * Objects created by the PUT Object, POST Object, or Copy operation, or + // through the AWS Management Console, and are encrypted by SSE-S3 or plaintext, + // have ETags that are an MD5 digest of their object data. + // + // * Objects created by the PUT Object, POST Object, or Copy operation, or + // through the AWS Management Console, and are encrypted by SSE-C or SSE-KMS, + // have ETags that are not an MD5 digest of their object data. + // + // * If an object is created by either the Multipart Upload or Part Copy + // operation, the ETag is not an MD5 digest, regardless of the method of + // encryption. ETag *string `type:"string"` // The name that you assign to an object. You use the object key to retrieve @@ -23530,6 +23598,8 @@ func (s *ProgressEvent) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *ProgressEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) var buf bytes.Buffer @@ -23976,7 +24046,7 @@ type PutBucketCorsInput struct { // Describes the cross-origin access configuration for objects in an Amazon // S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing - // (https://docs.aws.amazon.com/AmazonS3/latest/dev//cors.html) in the Amazon + // (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon // Simple Storage Service Developer Guide. // // CORSConfiguration is a required field @@ -25737,7 +25807,7 @@ type PutObjectInput struct { // 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 // S3 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 + // with the algorithm specified in the x-amz-server-side-encryption-customer-algorithm // header. SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` @@ -25767,8 +25837,8 @@ type PutObjectInput struct { // S3 (for example, AES256, aws:kms). ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"` - // If you don't specify, Standard is the default storage class. Amazon S3 supports - // other storage classes. + // If you don't specify, S3 Standard is the default storage class. Amazon S3 + // supports other storage classes. 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. @@ -26302,7 +26372,8 @@ type PutObjectOutput struct { // Entity tag for the uploaded object. ETag *string `location:"header" locationName:"ETag" type:"string"` - // If the expiration is configured for the object (see PutBucketLifecycleConfiguration), + // If the expiration is configured for the object (see PutBucketLifecycleConfiguration + // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html)), // the response includes this header. It includes the expiry-date and rule-id // key-value pairs that provide information about object expiration. The value // of the rule-id is URL encoded. @@ -26575,7 +26646,7 @@ type PutObjectTaggingInput struct { // Bucket is a required field Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"` - // Name of the tag. + // Name of the object key. // // Key is a required field Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"` @@ -26868,10 +26939,10 @@ func (s *QueueConfiguration) SetQueueArn(v string) *QueueConfiguration { return s } -// This data type is deprecated. Use QueueConfiguration for the same purposes. -// This data type specifies the configuration for publishing messages to an -// Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified -// events. +// This data type is deprecated. Use QueueConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_QueueConfiguration.html) +// for the same purposes. This data type specifies the configuration for publishing +// messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon +// S3 detects specified events. type QueueConfigurationDeprecated struct { _ struct{} `type:"structure"` @@ -26966,6 +27037,8 @@ func (s *RecordsEvent) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *RecordsEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) msg.Headers.Set(":content-type", eventstream.StringValue("application/octet-stream")) @@ -27784,7 +27857,7 @@ type RestoreRequest struct { // The optional description for the job. Description *string `type:"string"` - // Glacier related parameters pertaining to this job. Do not use with restores + // S3 Glacier related parameters pertaining to this job. Do not use with restores // that specify OutputLocation. GlacierJobParameters *GlacierJobParameters `type:"structure"` @@ -27794,7 +27867,7 @@ type RestoreRequest struct { // Describes the parameters for Select job types. SelectParameters *SelectParameters `type:"structure"` - // Glacier retrieval tier at which the restore will be processed. + // S3 Glacier retrieval tier at which the restore will be processed. Tier *string `type:"string" enum:"Tier"` // Type of restore request. @@ -27878,7 +27951,10 @@ func (s *RestoreRequest) SetType(v string) *RestoreRequest { return s } -// Specifies the redirect behavior and when a redirect is applied. +// Specifies the redirect behavior and when a redirect is applied. For more +// information about routing rules, see Configuring advanced conditional redirects +// (https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) +// in the Amazon Simple Storage Service Developer Guide. type RoutingRule struct { _ struct{} `type:"structure"` @@ -27932,8 +28008,9 @@ func (s *RoutingRule) SetRedirect(v *Redirect) *RoutingRule { } // Specifies lifecycle rules for an Amazon S3 bucket. For more information, -// see PUT Bucket lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) -// in the Amazon Simple Storage Service API Reference. +// see Put Bucket Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) +// in the Amazon Simple Storage Service API Reference. For examples, see Put +// Bucket Lifecycle Configuration Examples (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html#API_PutBucketLifecycleConfiguration_Examples) type Rule struct { _ struct{} `type:"structure"` @@ -27978,7 +28055,10 @@ type Rule struct { // Status is a required field Status *string `type:"string" required:"true" enum:"ExpirationStatus"` - // Specifies when an object transitions to a specified storage class. + // Specifies when an object transitions to a specified storage class. For more + // information about Amazon S3 lifecycle configuration rules, see Transitioning + // Objects Using Amazon S3 Lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) + // in the Amazon Simple Storage Service Developer Guide. Transition *Transition `type:"structure"` } @@ -28182,6 +28262,7 @@ type SelectObjectContentEventStreamEvent interface { // * ProgressEvent // * RecordsEvent // * StatsEvent +// * SelectObjectContentEventStreamUnknownEvent type SelectObjectContentEventStreamReader interface { // Returns a channel of events as they are read from the event stream. Events() <-chan SelectObjectContentEventStreamEvent @@ -28256,6 +28337,9 @@ func (r *readSelectObjectContentEventStream) readEventStream() { return default: } + if _, ok := err.(*eventstreamapi.UnknownMessageTypeError); ok { + continue + } r.err.SetError(err) return } @@ -28285,14 +28369,39 @@ func (u unmarshalerForSelectObjectContentEventStreamEvent) UnmarshalerForEventNa case "Stats": return &StatsEvent{}, nil default: - return nil, awserr.New( - request.ErrCodeSerialization, - fmt.Sprintf("unknown event type name, %s, for SelectObjectContentEventStream", eventType), - nil, - ) + return &SelectObjectContentEventStreamUnknownEvent{Type: eventType}, nil } } +// SelectObjectContentEventStreamUnknownEvent provides a failsafe event for the +// SelectObjectContentEventStream group of events when an unknown event is received. +type SelectObjectContentEventStreamUnknownEvent struct { + Type string + Message eventstream.Message +} + +// The SelectObjectContentEventStreamUnknownEvent is and event in the SelectObjectContentEventStream +// group of events. +func (s *SelectObjectContentEventStreamUnknownEvent) eventSelectObjectContentEventStream() {} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (e *SelectObjectContentEventStreamUnknownEvent) MarshalEvent(pm protocol.PayloadMarshaler) ( + msg eventstream.Message, err error, +) { + return e.Message.Clone(), nil +} + +// UnmarshalEvent unmarshals the EventStream Message into the SelectObjectContentEventStreamData value. +// This method is only used internally within the SDK's EventStream handling. +func (e *SelectObjectContentEventStreamUnknownEvent) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + e.Message = msg.Clone() + return 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 specify a data serialization format (JSON or CSV) of the object. @@ -28623,8 +28732,24 @@ func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *Selec type ServerSideEncryptionByDefault struct { _ struct{} `type:"structure"` - // KMS master key ID to use for the default encryption. This parameter is allowed - // if and only if SSEAlgorithm is set to aws:kms. + // AWS Key Management Service (KMS) customer master key ID to use for the default + // encryption. This parameter is allowed if and only if SSEAlgorithm is set + // to aws:kms. + // + // You can specify the key ID or the Amazon Resource Name (ARN) of the CMK. + // However, if you are using encryption with cross-account operations, you must + // use a fully qualified CMK ARN. For more information, see Using encryption + // for cross-account operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy). + // + // For example: + // + // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab + // + // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + // + // Amazon S3 only supports symmetric CMKs and not asymmetric CMKs. For more + // information, see Using Symmetric and Asymmetric Keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) + // in the AWS Key Management Service Developer Guide. KMSMasterKeyID *string `type:"string" sensitive:"true"` // Server-side encryption algorithm to use for the default encryption. @@ -28928,6 +29053,8 @@ func (s *StatsEvent) UnmarshalEvent( return nil } +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. func (s *StatsEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) var buf bytes.Buffer @@ -29043,7 +29170,7 @@ func (s *StorageClassAnalysisDataExport) SetOutputSchemaVersion(v string) *Stora type Tag struct { _ struct{} `type:"structure"` - // Name of the tag. + // Name of the object key. // // Key is a required field Key *string `min:"1" type:"string" required:"true"` @@ -29274,6 +29401,7 @@ func (s *TopicConfiguration) SetTopicArn(v string) *TopicConfiguration { // A container for specifying the configuration for publication of messages // to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 // detects specified events. This data type is deprecated. Use TopicConfiguration +// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_TopicConfiguration.html) // instead. type TopicConfigurationDeprecated struct { _ struct{} `type:"structure"` @@ -29329,7 +29457,10 @@ func (s *TopicConfigurationDeprecated) SetTopic(v string) *TopicConfigurationDep return s } -// Specifies when an object transitions to a specified storage class. +// Specifies when an object transitions to a specified storage class. For more +// information about Amazon S3 lifecycle configuration rules, see Transitioning +// Objects Using Amazon S3 Lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) +// in the Amazon Simple Storage Service Developer Guide. type Transition struct { _ struct{} `type:"structure"` @@ -29446,7 +29577,7 @@ type UploadPartCopyInput struct { // 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 // S3 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 + // 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 `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` @@ -29771,7 +29902,7 @@ type UploadPartInput struct { // 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 // S3 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 + // 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 `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"` 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 index 5c8ce5cc8a5..407f06b6ede 100644 --- 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 @@ -13,7 +13,6 @@ import ( "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 ( @@ -25,30 +24,6 @@ const ( 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. @@ -90,7 +65,7 @@ func computeBodyHashes(r *request.Request) { dst = io.MultiWriter(hashers...) } - if _, err := copySeekableBody(dst, r.Body); err != nil { + if _, err := aws.CopySeekableBody(dst, r.Body); err != nil { r.Error = awserr.New("BodyHashError", "failed to compute body hashes", err) return } @@ -119,28 +94,6 @@ const ( 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. // 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 index 036d0b2e013..a7698d5eb94 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go +++ b/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go @@ -33,12 +33,6 @@ func defaultInitRequestFn(r *request.Request) { platformRequestHandlers(r) switch r.Operation.Name { - case opPutBucketCors, opPutBucketLifecycle, opPutBucketPolicy, - opPutBucketTagging, opDeleteObjects, opPutBucketLifecycleConfiguration, - opPutObjectLegalHold, opPutObjectRetention, opPutObjectLockConfiguration, - 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) 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 index 4b65f71531a..7f7aca20859 100644 --- 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 @@ -104,19 +104,6 @@ // 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/ // diff --git a/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go b/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go index 0a749943fc0..d31b9e382bb 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go @@ -308,12 +308,8 @@ func (c *SageMaker) CreateAppRequest(input *CreateAppInput) (req *request.Reques // // Creates a running App for the specified UserProfile. Supported Apps are JupyterServer // and KernelGateway. This operation is automatically invoked by Amazon SageMaker -// Amazon SageMaker Studio (Studio) upon access to the associated Studio Domain, -// and when new kernel configurations are selected by the user. A user may have -// multiple Apps active simultaneously. Apps will automatically terminate and -// be deleted when stopped from within Studio, or when the DeleteApp API is -// manually called. UserProfiles are limited to 5 concurrently running Apps -// at a time. +// Studio upon access to the associated Domain, and when new kernel configurations +// are selected by the user. A user may have multiple Apps active simultaneously. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -587,7 +583,7 @@ func (c *SageMaker) CreateCompilationJobRequest(input *CreateCompilationJobInput // the model runs on // // * The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker -// assumes to perform the model compilation job +// assumes to perform the model compilation job. // // You can also provide a Tag to track the model compilation job's resource // use and costs. The response body contains the CompilationJobArn for the compiled @@ -678,15 +674,24 @@ func (c *SageMaker) CreateDomainRequest(input *CreateDomainInput) (req *request. // CreateDomain API operation for Amazon SageMaker Service. // -// Creates a Domain for Amazon SageMaker Amazon SageMaker Studio (Studio), which -// can be accessed by end-users in a web browser. A Domain has an associated -// directory, list of authorized users, and a variety of security, application, -// policies, and Amazon Virtual Private Cloud configurations. An AWS account -// is limited to one Domain, per region. Users within a domain can share notebook -// files and other artifacts with each other. When a Domain is created, an Amazon -// Elastic File System (EFS) is also created for use by all of the users within -// the Domain. Each user receives a private home directory within the EFS for -// notebooks, Git repositories, and data files. +// Creates a Domain used by SageMaker Studio. A domain consists of an associated +// directory, a list of authorized users, and a variety of security, application, +// policy, and Amazon Virtual Private Cloud (VPC) configurations. An AWS account +// is limited to one domain per region. Users within a domain can share notebook +// files and other artifacts with each other. +// +// When a domain is created, an Amazon Elastic File System (EFS) volume is also +// created for use by all of the users within the domain. Each user receives +// a private home directory within the EFS for notebooks, Git repositories, +// and data files. +// +// All traffic between the domain and the EFS volume is communicated through +// the specified subnet IDs. All other traffic goes over the Internet through +// an Amazon SageMaker system VPC. The EFS traffic uses the NFS/TCP protocol +// over port 2049. +// +// NFS traffic over TCP on port 2049 needs to be allowed in both inbound and +// outbound rules in order to launch a SageMaker Studio app successfully. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -788,6 +793,17 @@ func (c *SageMaker) CreateEndpointRequest(input *CreateEndpointInput) (req *requ // When it receives the request, Amazon SageMaker creates the endpoint, launches // the resources (ML compute instances), and deploys the model(s) on them. // +// When you call CreateEndpoint, a load call is made to DynamoDB to verify that +// your endpoint configuration exists. When you read data from a DynamoDB table +// supporting Eventually Consistent Reads (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html), +// the response might not reflect the results of a recently completed write +// operation. The response might include some stale data. If the dependent entities +// are not yet in DynamoDB, this causes a validation error. If you repeat your +// read request after a short time, the response should return the latest data. +// So retry logic is recommended to handle these possible issues. We also recommend +// that customers call DescribeEndpointConfig before calling CreateEndpoint +// to minimize the potential impact of a DynamoDB eventually consistent read. +// // When Amazon SageMaker receives the request, it sets the endpoint status to // Creating. After it creates the endpoint, it sets the status to InService. // Amazon SageMaker can then process incoming requests for inferences. To check @@ -902,6 +918,17 @@ func (c *SageMaker) CreateEndpointConfigRequest(input *CreateEndpointConfigInput // hosting services, see Deploy the Model to Amazon SageMaker Hosting Services // (AWS SDK for Python (Boto 3)). (https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-deploy-model.html#ex1-deploy-model-boto) // +// When you call CreateEndpoint, a load call is made to DynamoDB to verify that +// your endpoint configuration exists. When you read data from a DynamoDB table +// supporting Eventually Consistent Reads (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html), +// the response might not reflect the results of a recently completed write +// operation. The response might include some stale data. If the dependent entities +// are not yet in DynamoDB, this causes a validation error. If you repeat your +// read request after a short time, the response should return the latest data. +// So retry logic is recommended to handle these possible issues. We also recommend +// that customers call DescribeEndpointConfig before calling CreateEndpoint +// to minimize the potential impact of a DynamoDB eventually consistent read. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -980,9 +1007,9 @@ func (c *SageMaker) CreateExperimentRequest(input *CreateExperimentInput) (req * // CreateExperiment API operation for Amazon SageMaker Service. // -// Creates an Amazon SageMaker experiment. An experiment is a collection of -// trials that are observed, compared and evaluated as a group. A trial is a -// set of steps, called trial components, that produce a machine learning model. +// Creates an SageMaker experiment. An experiment is a collection of trials +// that are observed, compared and evaluated as a group. A trial is a set of +// steps, called trial components, that produce a machine learning model. // // The goal of an experiment is to determine the components that produce the // best model. Multiple trials are performed, each one isolating and measuring @@ -1941,9 +1968,9 @@ func (c *SageMaker) CreatePresignedDomainUrlRequest(input *CreatePresignedDomain // // Creates a URL for a specified UserProfile in a Domain. When accessed in a // web browser, the user will be automatically signed in to Amazon SageMaker -// Amazon SageMaker Studio (Studio), and granted access to all of the Apps and -// files associated with that Amazon Elastic File System (EFS). This operation -// can only be called when AuthMode equals IAM. +// Studio, and granted access to all of the Apps and files associated with the +// Domain's Amazon Elastic File System (EFS) volume. This operation can only +// be called when the authentication mode equals IAM. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2028,13 +2055,17 @@ func (c *SageMaker) CreatePresignedNotebookInstanceUrlRequest(input *CreatePresi // home page from the notebook instance. The console uses this API to get the // URL and show the page. // -// IAM authorization policies for this API are also enforced for every HTTP -// request and WebSocket frame that attempts to connect to the notebook instance.For -// example, you can restrict access to this API and to the URL that it returns -// to a list of IP addresses that you specify. Use the NotIpAddress condition -// operator and the aws:SourceIP condition context key to specify the list of -// IP addresses that you want to have access to the notebook instance. For more -// information, see Limit Access to a Notebook Instance by IP Address (https://docs.aws.amazon.com/sagemaker/latest/dg/security_iam_id-based-policy-examples.html#nbi-ip-filter). +// The IAM role or user used to call this API defines the permissions to access +// the notebook instance. Once the presigned URL is created, no additional permission +// is required to access this URL. IAM authorization policies for this API are +// also enforced for every HTTP request and WebSocket frame that attempts to +// connect to the notebook instance. +// +// You can restrict access to this API and to the URL that it returns to a list +// of IP addresses that you specify. Use the NotIpAddress condition operator +// and the aws:SourceIP condition context key to specify the list of IP addresses +// that you want to have access to the notebook instance. For more information, +// see Limit Access to a Notebook Instance by IP Address (https://docs.aws.amazon.com/sagemaker/latest/dg/security_iam_id-based-policy-examples.html#nbi-ip-filter). // // The URL that you get from a call to CreatePresignedNotebookInstanceUrl is // valid only for 5 minutes. If you try to use the URL after the 5-minute limit @@ -2631,13 +2662,14 @@ func (c *SageMaker) CreateUserProfileRequest(input *CreateUserProfileInput) (req // CreateUserProfile API operation for Amazon SageMaker Service. // -// Creates a new user profile. A user profile represents a single user within -// a Domain, and is the main way to reference a "person" for the purposes of -// sharing, reporting and other user-oriented features. This entity is created -// during on-boarding. If an administrator invites a person by email or imports -// them from SSO, a new UserProfile is automatically created. This entity is -// the primary holder of settings for an individual user and has a reference -// to the user's private Amazon Elastic File System (EFS) home directory. +// Creates a user profile. A user profile represents a single user within a +// domain, and is the main way to reference a "person" for the purposes of sharing, +// reporting, and other user-oriented features. This entity is created when +// a user onboards to Amazon SageMaker Studio. If an administrator invites a +// person by email or imports them from SSO, a user profile is automatically +// created. A user profile is the primary holder of settings for an individual +// user and has a reference to the user's private Amazon Elastic File System +// (EFS) home directory. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2676,6 +2708,96 @@ func (c *SageMaker) CreateUserProfileWithContext(ctx aws.Context, input *CreateU return out, req.Send() } +const opCreateWorkforce = "CreateWorkforce" + +// CreateWorkforceRequest generates a "aws/request.Request" representing the +// client's request for the CreateWorkforce operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateWorkforce for more information on using the CreateWorkforce +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateWorkforceRequest method. +// req, resp := client.CreateWorkforceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateWorkforce +func (c *SageMaker) CreateWorkforceRequest(input *CreateWorkforceInput) (req *request.Request, output *CreateWorkforceOutput) { + op := &request.Operation{ + Name: opCreateWorkforce, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateWorkforceInput{} + } + + output = &CreateWorkforceOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateWorkforce API operation for Amazon SageMaker Service. +// +// Use this operation to create a workforce. This operation will return an error +// if a workforce already exists in the AWS Region that you specify. You can +// only create one workforce in each AWS Region. +// +// If you want to create a new workforce in an AWS Region where the a workforce +// already exists, use the API operation to delete the existing workforce and +// then use this operation to create a new workforce. +// +// To create a private workforce using Amazon Cognito, you must specify a Cognito +// user pool in CognitoConfig. You can also create an Amazon Cognito workforce +// using the Amazon SageMaker console. For more information, see Create a Private +// Workforce (Amazon Cognito) (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-create-private.html). +// +// To create a private workforce using your own OIDC Identity Provider (IdP), +// specify your IdP configuration in OidcConfig. You must create a OIDC IdP +// workforce using this API operation. For more information, see Create a Private +// Workforce (OIDC IdP) (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-create-private-oidc.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation CreateWorkforce for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateWorkforce +func (c *SageMaker) CreateWorkforce(input *CreateWorkforceInput) (*CreateWorkforceOutput, error) { + req, out := c.CreateWorkforceRequest(input) + return out, req.Send() +} + +// CreateWorkforceWithContext is the same as CreateWorkforce with the addition of +// the ability to pass a context and additional request options. +// +// See CreateWorkforce for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) CreateWorkforceWithContext(ctx aws.Context, input *CreateWorkforceInput, opts ...request.Option) (*CreateWorkforceOutput, error) { + req, out := c.CreateWorkforceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateWorkteam = "CreateWorkteam" // CreateWorkteamRequest generates a "aws/request.Request" representing the @@ -3041,10 +3163,10 @@ func (c *SageMaker) DeleteDomainRequest(input *DeleteDomainInput) (req *request. // DeleteDomain API operation for Amazon SageMaker Service. // -// Used to delete a domain. If you on-boarded with IAM mode, you will need to -// delete your domain to on-board again using SSO. Use with caution. All of -// the members of the domain will lose access to their EFS volume, including -// data, notebooks, and other artifacts. +// Used to delete a domain. If you onboarded with IAM mode, you will need to +// delete your domain to onboard again using SSO. Use with caution. All of the +// members of the domain will lose access to their EFS volume, including data, +// notebooks, and other artifacts. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3211,6 +3333,13 @@ func (c *SageMaker) DeleteEndpointConfigRequest(input *DeleteEndpointConfigInput // the specified configuration. It does not delete endpoints created using the // configuration. // +// You must not delete an EndpointConfig in use by an endpoint that is live +// or while the UpdateEndpoint or CreateEndpoint operations are being performed +// on the endpoint. If you delete the EndpointConfig of an endpoint that is +// active or being created or updated you may lose visibility into the instance +// type the endpoint is using. The endpoint must be deleted in order to stop +// incurring charges. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3375,6 +3504,9 @@ func (c *SageMaker) DeleteFlowDefinitionRequest(input *DeleteFlowDefinitionInput // API operation DeleteFlowDefinition for usage and error information. // // Returned Error Types: +// * ResourceInUse +// Resource being accessed is in use. +// // * ResourceNotFound // Resource being access is not found. // @@ -3400,6 +3532,90 @@ func (c *SageMaker) DeleteFlowDefinitionWithContext(ctx aws.Context, input *Dele return out, req.Send() } +const opDeleteHumanTaskUi = "DeleteHumanTaskUi" + +// DeleteHumanTaskUiRequest generates a "aws/request.Request" representing the +// client's request for the DeleteHumanTaskUi operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteHumanTaskUi for more information on using the DeleteHumanTaskUi +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteHumanTaskUiRequest method. +// req, resp := client.DeleteHumanTaskUiRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteHumanTaskUi +func (c *SageMaker) DeleteHumanTaskUiRequest(input *DeleteHumanTaskUiInput) (req *request.Request, output *DeleteHumanTaskUiOutput) { + op := &request.Operation{ + Name: opDeleteHumanTaskUi, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteHumanTaskUiInput{} + } + + output = &DeleteHumanTaskUiOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteHumanTaskUi API operation for Amazon SageMaker Service. +// +// Use this operation to delete a human task user interface (worker task template). +// +// To see a list of human task user interfaces (work task templates) in your +// account, use . When you delete a worker task template, it no longer appears +// when you call ListHumanTaskUis. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DeleteHumanTaskUi for usage and error information. +// +// Returned Error Types: +// * ResourceNotFound +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteHumanTaskUi +func (c *SageMaker) DeleteHumanTaskUi(input *DeleteHumanTaskUiInput) (*DeleteHumanTaskUiOutput, error) { + req, out := c.DeleteHumanTaskUiRequest(input) + return out, req.Send() +} + +// DeleteHumanTaskUiWithContext is the same as DeleteHumanTaskUi with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteHumanTaskUi for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) DeleteHumanTaskUiWithContext(ctx aws.Context, input *DeleteHumanTaskUiInput, opts ...request.Option) (*DeleteHumanTaskUiOutput, error) { + req, out := c.DeleteHumanTaskUiRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteModel = "DeleteModel" // DeleteModelRequest generates a "aws/request.Request" representing the @@ -4082,7 +4298,8 @@ func (c *SageMaker) DeleteUserProfileRequest(input *DeleteUserProfileInput) (req // DeleteUserProfile API operation for Amazon SageMaker Service. // -// Deletes a user profile. +// Deletes a user profile. When a user profile is deleted, the user loses access +// to their EFS volume, including data, notebooks, and other artifacts. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4120,6 +4337,85 @@ func (c *SageMaker) DeleteUserProfileWithContext(ctx aws.Context, input *DeleteU return out, req.Send() } +const opDeleteWorkforce = "DeleteWorkforce" + +// DeleteWorkforceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWorkforce operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteWorkforce for more information on using the DeleteWorkforce +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteWorkforceRequest method. +// req, resp := client.DeleteWorkforceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteWorkforce +func (c *SageMaker) DeleteWorkforceRequest(input *DeleteWorkforceInput) (req *request.Request, output *DeleteWorkforceOutput) { + op := &request.Operation{ + Name: opDeleteWorkforce, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteWorkforceInput{} + } + + output = &DeleteWorkforceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteWorkforce API operation for Amazon SageMaker Service. +// +// Use this operation to delete a workforce. +// +// If you want to create a new workforce in an AWS Region where the a workforce +// already exists, use this operation to delete the existing workforce and then +// use to create a new workforce. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DeleteWorkforce for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteWorkforce +func (c *SageMaker) DeleteWorkforce(input *DeleteWorkforceInput) (*DeleteWorkforceOutput, error) { + req, out := c.DeleteWorkforceRequest(input) + return out, req.Send() +} + +// DeleteWorkforceWithContext is the same as DeleteWorkforce with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWorkforce for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) DeleteWorkforceWithContext(ctx aws.Context, input *DeleteWorkforceInput, opts ...request.Option) (*DeleteWorkforceOutput, error) { + req, out := c.DeleteWorkforceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteWorkteam = "DeleteWorkteam" // DeleteWorkteamRequest generates a "aws/request.Request" representing the @@ -4632,7 +4928,7 @@ func (c *SageMaker) DescribeDomainRequest(input *DescribeDomainInput) (req *requ // DescribeDomain API operation for Amazon SageMaker Service. // -// The desciption of the domain. +// The description of the domain. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5018,7 +5314,8 @@ func (c *SageMaker) DescribeHumanTaskUiRequest(input *DescribeHumanTaskUiInput) // DescribeHumanTaskUi API operation for Amazon SageMaker Service. // -// Returns information about the requested human task user interface. +// Returns information about the requested human task user interface (worker +// task 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 @@ -6107,7 +6404,7 @@ func (c *SageMaker) DescribeUserProfileRequest(input *DescribeUserProfileInput) // DescribeUserProfile API operation for Amazon SageMaker Service. // -// Describes the user profile. +// Describes a user profile. For more information, see CreateUserProfile. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -10470,6 +10767,139 @@ func (c *SageMaker) ListUserProfilesPagesWithContext(ctx aws.Context, input *Lis return p.Err() } +const opListWorkforces = "ListWorkforces" + +// ListWorkforcesRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkforces operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListWorkforces for more information on using the ListWorkforces +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListWorkforcesRequest method. +// req, resp := client.ListWorkforcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListWorkforces +func (c *SageMaker) ListWorkforcesRequest(input *ListWorkforcesInput) (req *request.Request, output *ListWorkforcesOutput) { + op := &request.Operation{ + Name: opListWorkforces, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListWorkforcesInput{} + } + + output = &ListWorkforcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListWorkforces API operation for Amazon SageMaker Service. +// +// Use this operation to list all private and vendor workforces in an AWS Region. +// Note that you can only have one private workforce per AWS Region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListWorkforces for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListWorkforces +func (c *SageMaker) ListWorkforces(input *ListWorkforcesInput) (*ListWorkforcesOutput, error) { + req, out := c.ListWorkforcesRequest(input) + return out, req.Send() +} + +// ListWorkforcesWithContext is the same as ListWorkforces with the addition of +// the ability to pass a context and additional request options. +// +// See ListWorkforces for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) ListWorkforcesWithContext(ctx aws.Context, input *ListWorkforcesInput, opts ...request.Option) (*ListWorkforcesOutput, error) { + req, out := c.ListWorkforcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListWorkforcesPages iterates over the pages of a ListWorkforces operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListWorkforces 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 ListWorkforces operation. +// pageNum := 0 +// err := client.ListWorkforcesPages(params, +// func(page *sagemaker.ListWorkforcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SageMaker) ListWorkforcesPages(input *ListWorkforcesInput, fn func(*ListWorkforcesOutput, bool) bool) error { + return c.ListWorkforcesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListWorkforcesPagesWithContext same as ListWorkforcesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SageMaker) ListWorkforcesPagesWithContext(ctx aws.Context, input *ListWorkforcesInput, fn func(*ListWorkforcesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWorkforcesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWorkforcesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListWorkforcesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListWorkteams = "ListWorkteams" // ListWorkteamsRequest generates a "aws/request.Request" representing the @@ -10656,6 +11086,11 @@ func (c *SageMaker) RenderUiTemplateRequest(input *RenderUiTemplateInput) (req * // // See the AWS API reference guide for Amazon SageMaker Service's // API operation RenderUiTemplate for usage and error information. +// +// Returned Error Types: +// * ResourceNotFound +// Resource being access is not found. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/RenderUiTemplate func (c *SageMaker) RenderUiTemplate(input *RenderUiTemplateInput) (*RenderUiTemplateOutput, error) { req, out := c.RenderUiTemplateRequest(input) @@ -11853,7 +12288,7 @@ func (c *SageMaker) UpdateDomainRequest(input *UpdateDomainInput) (req *request. // UpdateDomain API operation for Amazon SageMaker Service. // -// Updates a domain. Changes will impact all of the people in the domain. +// Updates the default settings for new user profiles in the domain. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -11951,6 +12386,10 @@ func (c *SageMaker) UpdateEndpointRequest(input *UpdateEndpointInput) (req *requ // or while the UpdateEndpoint or CreateEndpoint operations are being performed // on the endpoint. To update an endpoint, you must create a new EndpointConfig. // +// If you delete the EndpointConfig of an endpoint that is active or being created +// or updated you may lose visibility into the instance type the endpoint is +// using. The endpoint must be deleted in order to stop incurring charges. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -12699,7 +13138,7 @@ func (c *SageMaker) UpdateWorkforceRequest(input *UpdateWorkforceInput) (req *re // // Restricts access to tasks assigned to workers in the specified workforce // to those within specific ranges of IP addresses. You specify allowed IP addresses -// by creating a list of up to four CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html). +// by creating a list of up to ten CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html). // // By default, a workforce isn't restricted to specific IP addresses. If you // specify a range of IP addresses, workers who attempt to access tasks using @@ -13338,40 +13777,49 @@ func (s *AlgorithmValidationSpecification) SetValidationRole(v string) *Algorith return s } -// Configures how labels are consolidated across human workers. +// Configures how labels are consolidated across human workers and processes +// output data. type AnnotationConsolidationConfig struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of a Lambda function implements the logic - // for annotation consolidation. - // - // For the built-in bounding box, image classification, semantic segmentation, - // and text classification task types, Amazon SageMaker Ground Truth provides - // the following Lambda functions: - // - // * Bounding box - Finds the most similar boxes from different workers based - // on the Jaccard index of the boxes. arn:aws:lambda:us-east-1:432418664414:function:ACS-BoundingBox - // arn:aws:lambda:us-east-2:266458841044:function:ACS-BoundingBox arn:aws:lambda:us-west-2:081040173940:function:ACS-BoundingBox - // arn:aws:lambda:eu-west-1:568282634449:function:ACS-BoundingBox arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-BoundingBox - // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-BoundingBox arn:aws:lambda:ap-south-1:565803892007:function:ACS-BoundingBox - // arn:aws:lambda:eu-central-1:203001061592:function:ACS-BoundingBox arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-BoundingBox - // arn:aws:lambda:eu-west-2:487402164563:function:ACS-BoundingBox arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-BoundingBox - // arn:aws:lambda:ca-central-1:918755190332:function:ACS-BoundingBox - // - // * Image classification - Uses a variant of the Expectation Maximization - // approach to estimate the true class of an image based on annotations from - // individual workers. arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClass - // arn:aws:lambda:us-east-2:266458841044:function:ACS-ImageMultiClass arn:aws:lambda:us-west-2:081040173940:function:ACS-ImageMultiClass - // arn:aws:lambda:eu-west-1:568282634449:function:ACS-ImageMultiClass arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-ImageMultiClass + // for annotation consolidation (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html) + // and to process output data. + // + // This parameter is required for all labeling jobs. For built-in task types + // (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html), use + // one of the following Amazon SageMaker Ground Truth Lambda function ARNs for + // AnnotationConsolidationLambdaArn. For custom labeling workflows, see Post-annotation + // Lambda (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step3.html#sms-custom-templates-step3-postlambda). + // + // Bounding box - Finds the most similar boxes from different workers based + // on the Jaccard index of the boxes. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-BoundingBox arn:aws:lambda:us-east-2:266458841044:function:ACS-BoundingBox + // arn:aws:lambda:us-west-2:081040173940:function:ACS-BoundingBox arn:aws:lambda:eu-west-1:568282634449:function:ACS-BoundingBox + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-BoundingBox arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-BoundingBox + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-BoundingBox arn:aws:lambda:eu-central-1:203001061592:function:ACS-BoundingBox + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-BoundingBox arn:aws:lambda:eu-west-2:487402164563:function:ACS-BoundingBox + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-BoundingBox arn:aws:lambda:ca-central-1:918755190332:function:ACS-BoundingBox + // + // Image classification - Uses a variant of the Expectation Maximization approach + // to estimate the true class of an image based on annotations from individual + // workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClass arn:aws:lambda:us-east-2:266458841044:function:ACS-ImageMultiClass + // arn:aws:lambda:us-west-2:081040173940:function:ACS-ImageMultiClass arn:aws:lambda:eu-west-1:568282634449:function:ACS-ImageMultiClass + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-ImageMultiClass // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-ImageMultiClass // arn:aws:lambda:ap-south-1:565803892007:function:ACS-ImageMultiClass arn:aws:lambda:eu-central-1:203001061592:function:ACS-ImageMultiClass // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-ImageMultiClass // arn:aws:lambda:eu-west-2:487402164563:function:ACS-ImageMultiClass arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-ImageMultiClass // arn:aws:lambda:ca-central-1:918755190332:function:ACS-ImageMultiClass // - // * Multi-label image classification - Uses a variant of the Expectation - // Maximization approach to estimate the true classes of an image based on - // annotations from individual workers. arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClassMultiLabel + // Multi-label image classification - Uses a variant of the Expectation Maximization + // approach to estimate the true classes of an image based on annotations from + // individual workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClassMultiLabel // arn:aws:lambda:us-east-2:266458841044:function:ACS-ImageMultiClassMultiLabel // arn:aws:lambda:us-west-2:081040173940:function:ACS-ImageMultiClassMultiLabel // arn:aws:lambda:eu-west-1:568282634449:function:ACS-ImageMultiClassMultiLabel @@ -13384,9 +13832,10 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-ImageMultiClassMultiLabel // arn:aws:lambda:ca-central-1:918755190332:function:ACS-ImageMultiClassMultiLabel // - // * Semantic segmentation - Treats each pixel in an image as a multi-class - // classification and treats pixel annotations from workers as "votes" for - // the correct label. arn:aws:lambda:us-east-1:432418664414:function:ACS-SemanticSegmentation + // Semantic segmentation - Treats each pixel in an image as a multi-class classification + // and treats pixel annotations from workers as "votes" for the correct label. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-SemanticSegmentation // arn:aws:lambda:us-east-2:266458841044:function:ACS-SemanticSegmentation // arn:aws:lambda:us-west-2:081040173940:function:ACS-SemanticSegmentation // arn:aws:lambda:eu-west-1:568282634449:function:ACS-SemanticSegmentation @@ -13399,20 +13848,23 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-SemanticSegmentation // arn:aws:lambda:ca-central-1:918755190332:function:ACS-SemanticSegmentation // - // * Text classification - Uses a variant of the Expectation Maximization - // approach to estimate the true class of text based on annotations from - // individual workers. arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass - // arn:aws:lambda:us-east-2:266458841044:function:ACS-TextMultiClass arn:aws:lambda:us-west-2:081040173940:function:ACS-TextMultiClass - // arn:aws:lambda:eu-west-1:568282634449:function:ACS-TextMultiClass arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-TextMultiClass + // Text classification - Uses a variant of the Expectation Maximization approach + // to estimate the true class of text based on annotations from individual workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass arn:aws:lambda:us-east-2:266458841044:function:ACS-TextMultiClass + // arn:aws:lambda:us-west-2:081040173940:function:ACS-TextMultiClass arn:aws:lambda:eu-west-1:568282634449:function:ACS-TextMultiClass + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-TextMultiClass // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-TextMultiClass // arn:aws:lambda:ap-south-1:565803892007:function:ACS-TextMultiClass arn:aws:lambda:eu-central-1:203001061592:function:ACS-TextMultiClass // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-TextMultiClass // arn:aws:lambda:eu-west-2:487402164563:function:ACS-TextMultiClass arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-TextMultiClass // arn:aws:lambda:ca-central-1:918755190332:function:ACS-TextMultiClass // - // * Multi-label text classification - Uses a variant of the Expectation - // Maximization approach to estimate the true classes of text based on annotations - // from individual workers. arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClassMultiLabel + // Multi-label text classification - Uses a variant of the Expectation Maximization + // approach to estimate the true classes of text based on annotations from individual + // workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClassMultiLabel // arn:aws:lambda:us-east-2:266458841044:function:ACS-TextMultiClassMultiLabel // arn:aws:lambda:us-west-2:081040173940:function:ACS-TextMultiClassMultiLabel // arn:aws:lambda:eu-west-1:568282634449:function:ACS-TextMultiClassMultiLabel @@ -13425,8 +13877,10 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-TextMultiClassMultiLabel // arn:aws:lambda:ca-central-1:918755190332:function:ACS-TextMultiClassMultiLabel // - // * Named entity recognition - Groups similar selections and calculates - // aggregate boundaries, resolving to most-assigned label. arn:aws:lambda:us-east-1:432418664414:function:ACS-NamedEntityRecognition + // Named entity recognition - Groups similar selections and calculates aggregate + // boundaries, resolving to most-assigned label. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-NamedEntityRecognition // arn:aws:lambda:us-east-2:266458841044:function:ACS-NamedEntityRecognition // arn:aws:lambda:us-west-2:081040173940:function:ACS-NamedEntityRecognition // arn:aws:lambda:eu-west-1:568282634449:function:ACS-NamedEntityRecognition @@ -13439,25 +13893,153 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-NamedEntityRecognition // arn:aws:lambda:ca-central-1:918755190332:function:ACS-NamedEntityRecognition // - // * Bounding box verification - Uses a variant of the Expectation Maximization - // approach to estimate the true class of verification judgement for bounding - // box labels based on annotations from individual workers. arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationBoundingBox - // arn:aws:lambda:us-east-2:266458841044:function:ACS-VerificationBoundingBox - // arn:aws:lambda:us-west-2:081040173940:function:ACS-VerificationBoundingBox - // arn:aws:lambda:eu-west-1:568282634449:function:ACS-VerificationBoundingBox - // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VerificationBoundingBox - // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VerificationBoundingBox - // arn:aws:lambda:ap-south-1:565803892007:function:ACS-VerificationBoundingBox - // arn:aws:lambda:eu-central-1:203001061592:function:ACS-VerificationBoundingBox - // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VerificationBoundingBox - // arn:aws:lambda:eu-west-2:487402164563:function:ACS-VerificationBoundingBox - // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationBoundingBox - // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationBoundingBox + // Named entity recognition - Groups similar selections and calculates aggregate + // boundaries, resolving to most-assigned label. // - // * Semantic segmentation verification - Uses a variant of the Expectation - // Maximization approach to estimate the true class of verification judgment - // for semantic segmentation labels based on annotations from individual - // workers. arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationSemanticSegmentation + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-NamedEntityRecognition + // arn:aws:lambda:us-east-2:266458841044:function:ACS-NamedEntityRecognition + // arn:aws:lambda:us-west-2:081040173940:function:ACS-NamedEntityRecognition + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-NamedEntityRecognition + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-NamedEntityRecognition + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-NamedEntityRecognition + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-NamedEntityRecognition + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-NamedEntityRecognition + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-NamedEntityRecognition + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-NamedEntityRecognition + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-NamedEntityRecognition + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-NamedEntityRecognition + // + // Video Classification - Use this task type when you need workers to classify + // videos using predefined labels that you specify. Workers are shown videos + // and are asked to choose one label for each video. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoMultiClass arn:aws:lambda:us-east-2:266458841044:function:ACS-VideoMultiClass + // arn:aws:lambda:us-west-2:081040173940:function:ACS-VideoMultiClass arn:aws:lambda:eu-west-1:568282634449:function:ACS-VideoMultiClass + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VideoMultiClass + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VideoMultiClass + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-VideoMultiClass arn:aws:lambda:eu-central-1:203001061592:function:ACS-VideoMultiClass + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VideoMultiClass + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-VideoMultiClass arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VideoMultiClass + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VideoMultiClass + // + // Video Frame Object Detection - Use this task type to have workers identify + // and locate objects in a sequence of video frames (images extracted from a + // video) using bounding boxes. For example, you can use this task to ask workers + // to identify and localize various objects in a series of video frames, such + // as cars, bikes, and pedestrians. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoObjectDetection + // arn:aws:lambda:us-east-2:266458841044:function:ACS-VideoObjectDetection + // arn:aws:lambda:us-west-2:081040173940:function:ACS-VideoObjectDetection + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-VideoObjectDetection + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VideoObjectDetection + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VideoObjectDetection + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-VideoObjectDetection + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-VideoObjectDetection + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VideoObjectDetection + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-VideoObjectDetection + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VideoObjectDetection + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VideoObjectDetection + // + // Video Frame Object Tracking - Use this task type to have workers track the + // movement of objects in a sequence of video frames (images extracted from + // a video) using bounding boxes. For example, you can use this task to ask + // workers to track the movement of objects, such as cars, bikes, and pedestrians. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoObjectTracking + // arn:aws:lambda:us-east-2:266458841044:function:ACS-VideoObjectTracking + // arn:aws:lambda:us-west-2:081040173940:function:ACS-VideoObjectTracking + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-VideoObjectTracking + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VideoObjectTracking + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VideoObjectTracking + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-VideoObjectTracking + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-VideoObjectTracking + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VideoObjectTracking + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-VideoObjectTracking + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VideoObjectTracking + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VideoObjectTracking + // + // 3D point cloud object detection - Use this task type when you want workers + // to classify objects in a 3D point cloud by drawing 3D cuboids around objects. + // For example, you can use this task type to ask workers to identify different + // types of objects in a point cloud, such as cars, bikes, and pedestrians. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:us-east-2:266458841044:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:us-west-2:081040173940:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-3DPointCloudObjectDetection + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-3DPointCloudObjectDetection + // + // 3D point cloud object tracking - Use this task type when you want workers + // to draw 3D cuboids around objects that appear in a sequence of 3D point cloud + // frames. For example, you can use this task type to ask workers to track the + // movement of vehicles across multiple point cloud frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:us-east-2:266458841044:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:us-west-2:081040173940:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-3DPointCloudObjectTracking + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-3DPointCloudObjectTracking + // + // 3D point cloud semantic segmentation - Use this task type when you want workers + // to create a point-level semantic segmentation masks by painting objects in + // a 3D point cloud using different colors where each color is assigned to one + // of the classes you specify. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:us-east-2:266458841044:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:us-west-2:081040173940:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-3DPointCloudSemanticSegmentation + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-3DPointCloudSemanticSegmentation + // + // Use the following ARNs for Label Verification and Adjustment Jobs + // + // Use label verification and adjustment jobs to review and adjust labels. To + // learn more, see Verify and Adjust Labels (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-verification-data.html). + // + // Semantic segmentation adjustment - Treats each pixel in an image as a multi-class + // classification and treats pixel adjusted annotations from workers as "votes" + // for the correct label. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentSemanticSegmentation + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentSemanticSegmentation + // + // Semantic segmentation verification - Uses a variant of the Expectation Maximization + // approach to estimate the true class of verification judgment for semantic + // segmentation labels based on annotations from individual workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationSemanticSegmentation // arn:aws:lambda:us-east-2:266458841044:function:ACS-VerificationSemanticSegmentation // arn:aws:lambda:us-west-2:081040173940:function:ACS-VerificationSemanticSegmentation // arn:aws:lambda:eu-west-1:568282634449:function:ACS-VerificationSemanticSegmentation @@ -13470,8 +14052,27 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationSemanticSegmentation // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationSemanticSegmentation // - // * Bounding box adjustment - Finds the most similar boxes from different - // workers based on the Jaccard index of the adjusted annotations. arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentBoundingBox + // Bounding box verification - Uses a variant of the Expectation Maximization + // approach to estimate the true class of verification judgement for bounding + // box labels based on annotations from individual workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationBoundingBox + // arn:aws:lambda:us-east-2:266458841044:function:ACS-VerificationBoundingBox + // arn:aws:lambda:us-west-2:081040173940:function:ACS-VerificationBoundingBox + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-VerificationBoundingBox + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VerificationBoundingBox + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VerificationBoundingBox + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-VerificationBoundingBox + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-VerificationBoundingBox + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VerificationBoundingBox + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-VerificationBoundingBox + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationBoundingBox + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationBoundingBox + // + // Bounding box adjustment - Finds the most similar boxes from different workers + // based on the Jaccard index of the adjusted annotations. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentBoundingBox // arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentBoundingBox // arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentBoundingBox // arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentBoundingBox @@ -13484,22 +14085,89 @@ type AnnotationConsolidationConfig struct { // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentBoundingBox // arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentBoundingBox // - // * Semantic segmentation adjustment - Treats each pixel in an image as - // a multi-class classification and treats pixel adjusted annotations from - // workers as "votes" for the correct label. arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentSemanticSegmentation - // arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentSemanticSegmentation - // - // For more information, see Annotation Consolidation (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html). + // Video Frame Object Detection Adjustment - Use this task type when you want + // workers to adjust bounding boxes that workers have added to video frames + // to classify and localize objects in a sequence of video frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentVideoObjectDetection + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentVideoObjectDetection + // + // Video Frame Object Tracking Adjustment - Use this task type when you want + // workers to adjust bounding boxes that workers have added to video frames + // to track object movement across a sequence of video frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentVideoObjectTracking + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentVideoObjectTracking + // + // 3D point cloud object detection adjustment - Use this task type when you + // want workers to adjust 3D cuboids around objects in a 3D point cloud. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:us-east-2:266458841044:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:us-west-2:081040173940:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-Adjustment3DPointCloudObjectDetection + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-Adjustment3DPointCloudObjectDetection + // + // 3D point cloud object tracking adjustment - Use this task type when you want + // workers to adjust 3D cuboids around objects that appear in a sequence of + // 3D point cloud frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:us-east-2:266458841044:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:us-west-2:081040173940:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-Adjustment3DPointCloudObjectTracking + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-Adjustment3DPointCloudObjectTracking + // + // 3D point cloud semantic segmentation adjustment - Use this task type when + // you want workers to adjust a point-level semantic segmentation masks using + // a paint tool. + // + // * arn:aws:lambda:us-east-1:432418664414:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:us-east-2:266458841044:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:us-west-2:081040173940:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:eu-west-1:568282634449:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-south-1:565803892007:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:eu-central-1:203001061592:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:eu-west-2:487402164563:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-Adjustment3DPointCloudSemanticSegmentation + // arn:aws:lambda:ca-central-1:918755190332:function:ACS-Adjustment3DPointCloudSemanticSegmentation // // AnnotationConsolidationLambdaArn is a required field AnnotationConsolidationLambdaArn *string `type:"string" required:"true"` @@ -15085,6 +15753,71 @@ func (s *CodeRepositorySummary) SetLastModifiedTime(v time.Time) *CodeRepository return s } +// Use this parameter to configure your Amazon Cognito workforce. A single Cognito +// workforce is created using and corresponds to a single Amazon Cognito user +// pool (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html). +type CognitoConfig struct { + _ struct{} `type:"structure"` + + // The client ID for your Amazon Cognito user pool. + // + // ClientId is a required field + ClientId *string `min:"1" type:"string" required:"true"` + + // A user pool (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html) + // is a user directory in Amazon Cognito. With a user pool, your users can sign + // in to your web or mobile app through Amazon Cognito. Your users can also + // sign in through social identity providers like Google, Facebook, Amazon, + // or Apple, and through SAML identity providers. + // + // UserPool is a required field + UserPool *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CognitoConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CognitoConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CognitoConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CognitoConfig"} + if s.ClientId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientId")) + } + if s.ClientId != nil && len(*s.ClientId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientId", 1)) + } + if s.UserPool == nil { + invalidParams.Add(request.NewErrParamRequired("UserPool")) + } + if s.UserPool != nil && len(*s.UserPool) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserPool", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientId sets the ClientId field's value. +func (s *CognitoConfig) SetClientId(v string) *CognitoConfig { + s.ClientId = &v + return s +} + +// SetUserPool sets the UserPool field's value. +func (s *CognitoConfig) SetUserPool(v string) *CognitoConfig { + s.UserPool = &v + return s +} + // Identifies a Amazon Cognito user group. A user group can be used in on or // more work teams. type CognitoMemberDefinition struct { @@ -15237,10 +15970,20 @@ type CompilationJobSummary struct { // The time when the model compilation job started. CompilationStartTime *time.Time `type:"timestamp"` - // The type of device that the model will run on after compilation has completed. - // - // CompilationTargetDevice is a required field - CompilationTargetDevice *string `type:"string" required:"true" enum:"TargetDevice"` + // The type of device that the model will run on after the compilation job has + // completed. + CompilationTargetDevice *string `type:"string" enum:"TargetDevice"` + + // The type of accelerator that the model will run on after the compilation + // job has completed. + CompilationTargetPlatformAccelerator *string `type:"string" enum:"TargetPlatformAccelerator"` + + // The type of architecture that the model will run on after the compilation + // job has completed. + CompilationTargetPlatformArch *string `type:"string" enum:"TargetPlatformArch"` + + // The type of OS that the model will run on after the compilation job has completed. + CompilationTargetPlatformOs *string `type:"string" enum:"TargetPlatformOs"` // The time when the model compilation job was created. // @@ -15297,6 +16040,24 @@ func (s *CompilationJobSummary) SetCompilationTargetDevice(v string) *Compilatio return s } +// SetCompilationTargetPlatformAccelerator sets the CompilationTargetPlatformAccelerator field's value. +func (s *CompilationJobSummary) SetCompilationTargetPlatformAccelerator(v string) *CompilationJobSummary { + s.CompilationTargetPlatformAccelerator = &v + return s +} + +// SetCompilationTargetPlatformArch sets the CompilationTargetPlatformArch field's value. +func (s *CompilationJobSummary) SetCompilationTargetPlatformArch(v string) *CompilationJobSummary { + s.CompilationTargetPlatformArch = &v + return s +} + +// SetCompilationTargetPlatformOs sets the CompilationTargetPlatformOs field's value. +func (s *CompilationJobSummary) SetCompilationTargetPlatformOs(v string) *CompilationJobSummary { + s.CompilationTargetPlatformOs = &v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *CompilationJobSummary) SetCreationTime(v time.Time) *CompilationJobSummary { s.CreationTime = &v @@ -15820,7 +16581,8 @@ type CreateAppInput struct { // DomainId is a required field DomainId *string `type:"string" required:"true"` - // The instance type and quantity. + // The instance type and the Amazon Resource Name (ARN) of the SageMaker image + // created on the instance. ResourceSpec *ResourceSpec `type:"structure"` // Each tag consists of a key and an optional value. Tag keys must be unique @@ -15914,7 +16676,7 @@ func (s *CreateAppInput) SetUserProfileName(v string) *CreateAppInput { type CreateAppOutput struct { _ struct{} `type:"structure"` - // The app's Amazon Resource Name (ARN). + // The App's Amazon Resource Name (ARN). AppArn *string `type:"string"` } @@ -16389,7 +17151,7 @@ func (s *CreateCompilationJobOutput) SetCompilationJobArn(v string) *CreateCompi type CreateDomainInput struct { _ struct{} `type:"structure"` - // The mode of authentication that member use to access the domain. + // The mode of authentication that members use to access the domain. // // AuthMode is a required field AuthMode *string `type:"string" required:"true" enum:"AuthMode"` @@ -16404,20 +17166,22 @@ type CreateDomainInput struct { // DomainName is a required field DomainName *string `type:"string" required:"true"` - // The AWS Key Management Service encryption key ID. + // The AWS Key Management Service (KMS) encryption key ID. Encryption with a + // customer master key (CMK) is not supported. HomeEfsFileSystemKmsKeyId *string `type:"string"` - // Security setting to limit to a set of subnets. + // The VPC subnets to use for communication with the EFS volume. // // SubnetIds is a required field SubnetIds []*string `min:"1" type:"list" required:"true"` - // Each tag consists of a key and an optional value. Tag keys must be unique - // per resource. + // Tags to associated with the Domain. Each tag consists of a key and an optional + // value. Tag keys must be unique per resource. Tags are searchable using the + // Search API. Tags []*Tag `type:"list"` - // Security setting to limit the domain's communication to a Amazon Virtual - // Private Cloud. + // The ID of the Amazon Virtual Private Cloud (VPC) to use for communication + // with the EFS volume. // // VpcId is a required field VpcId *string `type:"string" required:"true"` @@ -17237,6 +18001,8 @@ type CreateHyperParameterTuningJobInput struct { // stopping condition. TrainingJobDefinition *HyperParameterTrainingJobDefinition `type:"structure"` + // A list of the HyperParameterTrainingJobDefinition objects launched for this + // tuning job. TrainingJobDefinitions []*HyperParameterTrainingJobDefinition `min:"1" type:"list"` // Specifies the configuration for starting the hyperparameter tuning job using @@ -17415,7 +18181,14 @@ type CreateLabelingJobInput struct { // The S3 URL of the file that defines the categories used to label the data // objects. // - // The file is a JSON structure in the following format: + // For 3D point cloud task types, see Create a Labeling Category Configuration + // File for 3D Point Cloud Labeling Jobs (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-label-category-config.html). + // + // For all other built-in task types (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html) + // and custom tasks (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html), + // your label category configuration file must be a JSON file in the following + // format. Identify the labels you want to use by replacing label_1, label_2,...,label_n + // with your label categories. // // { // @@ -17425,13 +18198,13 @@ type CreateLabelingJobInput struct { // // { // - // "label": "label 1" + // "label": "label_1" // // }, // // { // - // "label": "label 2" + // "label": "label_2" // // }, // @@ -17439,7 +18212,7 @@ type CreateLabelingJobInput struct { // // { // - // "label": "label n" + // "label": "label_n" // // } // @@ -18594,7 +19367,14 @@ type CreateProcessingJobInput struct { // Sets the environment variables in the Docker container. Environment map[string]*string `type:"map"` - // Configuration for the experiment. + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob ExperimentConfig *ExperimentConfig `type:"structure"` // Networking options for a processing job. @@ -18866,7 +19646,14 @@ type CreateTrainingJobInput struct { // have network access. EnableNetworkIsolation *bool `type:"boolean"` - // Configuration for the experiment. + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob ExperimentConfig *ExperimentConfig `type:"structure"` // Algorithm-specific parameters that influence the quality of the model. You @@ -19247,7 +20034,14 @@ type CreateTransformJobInput struct { // 16 key and values entries in the map. Environment map[string]*string `type:"map"` - // Configuration for the experiment. + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob ExperimentConfig *ExperimentConfig `type:"structure"` // The maximum number of parallel requests that can be sent to each instance @@ -19272,6 +20066,10 @@ type CreateTransformJobInput struct { // do not support HTTP chunked encoding. MaxPayloadInMB *int64 `type:"integer"` + // Configures the timeout and maximum number of retries for processing a transform + // job invocation. + ModelClientConfig *ModelClientConfig `type:"structure"` + // The name of the model that you want to use for the transform job. ModelName // must be the name of an existing Amazon SageMaker model within an AWS Region // in an AWS account. @@ -19343,6 +20141,11 @@ func (s *CreateTransformJobInput) Validate() error { invalidParams.AddNested("ExperimentConfig", err.(request.ErrInvalidParams)) } } + if s.ModelClientConfig != nil { + if err := s.ModelClientConfig.Validate(); err != nil { + invalidParams.AddNested("ModelClientConfig", err.(request.ErrInvalidParams)) + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -19411,6 +20214,12 @@ func (s *CreateTransformJobInput) SetMaxPayloadInMB(v int64) *CreateTransformJob return s } +// SetModelClientConfig sets the ModelClientConfig field's value. +func (s *CreateTransformJobInput) SetModelClientConfig(v *ModelClientConfig) *CreateTransformJobInput { + s.ModelClientConfig = v + return s +} + // SetModelName sets the ModelName field's value. func (s *CreateTransformJobInput) SetModelName(v string) *CreateTransformJobInput { s.ModelName = &v @@ -19900,6 +20709,142 @@ func (s *CreateUserProfileOutput) SetUserProfileArn(v string) *CreateUserProfile return s } +type CreateWorkforceInput struct { + _ struct{} `type:"structure"` + + // Use this parameter to configure an Amazon Cognito private workforce. A single + // Cognito workforce is created using and corresponds to a single Amazon Cognito + // user pool (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html). + // + // Do not use OidcConfig if you specify values for CognitoConfig. + CognitoConfig *CognitoConfig `type:"structure"` + + // Use this parameter to configure a private workforce using your own OIDC Identity + // Provider. Do not use CognitoConfig if you specify values for OidcConfig. + OidcConfig *OidcConfig `type:"structure"` + + // A list of IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)). + // Used to create an allow list of IP addresses for a private workforce. For + // more information, see . + SourceIpConfig *SourceIpConfig `type:"structure"` + + // An array of key-value pairs that contain metadata to help you categorize + // and organize our workforce. Each tag consists of a key and a value, both + // of which you define. + Tags []*Tag `type:"list"` + + // The name of the private workforce. + // + // WorkforceName is a required field + WorkforceName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateWorkforceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWorkforceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWorkforceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWorkforceInput"} + if s.WorkforceName == nil { + invalidParams.Add(request.NewErrParamRequired("WorkforceName")) + } + if s.WorkforceName != nil && len(*s.WorkforceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkforceName", 1)) + } + if s.CognitoConfig != nil { + if err := s.CognitoConfig.Validate(); err != nil { + invalidParams.AddNested("CognitoConfig", err.(request.ErrInvalidParams)) + } + } + if s.OidcConfig != nil { + if err := s.OidcConfig.Validate(); err != nil { + invalidParams.AddNested("OidcConfig", err.(request.ErrInvalidParams)) + } + } + if s.SourceIpConfig != nil { + if err := s.SourceIpConfig.Validate(); err != nil { + invalidParams.AddNested("SourceIpConfig", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCognitoConfig sets the CognitoConfig field's value. +func (s *CreateWorkforceInput) SetCognitoConfig(v *CognitoConfig) *CreateWorkforceInput { + s.CognitoConfig = v + return s +} + +// SetOidcConfig sets the OidcConfig field's value. +func (s *CreateWorkforceInput) SetOidcConfig(v *OidcConfig) *CreateWorkforceInput { + s.OidcConfig = v + return s +} + +// SetSourceIpConfig sets the SourceIpConfig field's value. +func (s *CreateWorkforceInput) SetSourceIpConfig(v *SourceIpConfig) *CreateWorkforceInput { + s.SourceIpConfig = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateWorkforceInput) SetTags(v []*Tag) *CreateWorkforceInput { + s.Tags = v + return s +} + +// SetWorkforceName sets the WorkforceName field's value. +func (s *CreateWorkforceInput) SetWorkforceName(v string) *CreateWorkforceInput { + s.WorkforceName = &v + return s +} + +type CreateWorkforceOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the workforce. + // + // WorkforceArn is a required field + WorkforceArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateWorkforceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateWorkforceOutput) GoString() string { + return s.String() +} + +// SetWorkforceArn sets the WorkforceArn field's value. +func (s *CreateWorkforceOutput) SetWorkforceArn(v string) *CreateWorkforceOutput { + s.WorkforceArn = &v + return s +} + type CreateWorkteamInput struct { _ struct{} `type:"structure"` @@ -19928,6 +20873,9 @@ type CreateWorkteamInput struct { // in the AWS Billing and Cost Management User Guide. Tags []*Tag `type:"list"` + // The name of the workforce. + WorkforceName *string `min:"1" type:"string"` + // The name of the work team. Use this name to identify the work team. // // WorkteamName is a required field @@ -19959,6 +20907,9 @@ func (s *CreateWorkteamInput) Validate() error { if s.MemberDefinitions != nil && len(s.MemberDefinitions) < 1 { invalidParams.Add(request.NewErrParamMinLen("MemberDefinitions", 1)) } + if s.WorkforceName != nil && len(*s.WorkforceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkforceName", 1)) + } if s.WorkteamName == nil { invalidParams.Add(request.NewErrParamRequired("WorkteamName")) } @@ -20016,6 +20967,12 @@ func (s *CreateWorkteamInput) SetTags(v []*Tag) *CreateWorkteamInput { return s } +// SetWorkforceName sets the WorkforceName field's value. +func (s *CreateWorkteamInput) SetWorkforceName(v string) *CreateWorkteamInput { + s.WorkforceName = &v + return s +} + // SetWorkteamName sets the WorkteamName field's value. func (s *CreateWorkteamInput) SetWorkteamName(v string) *CreateWorkteamInput { s.WorkteamName = &v @@ -20788,7 +21745,7 @@ type DeleteDomainInput struct { // DomainId is a required field DomainId *string `type:"string" required:"true"` - // The retention policy for this domain, which specifies which resources will + // The retention policy for this domain, which specifies whether resources will // be retained after the Domain is deleted. By default, all resources are retained // (not automatically deleted). RetentionPolicy *RetentionPolicy `type:"structure"` @@ -21066,6 +22023,62 @@ func (s DeleteFlowDefinitionOutput) GoString() string { return s.String() } +type DeleteHumanTaskUiInput struct { + _ struct{} `type:"structure"` + + // The name of the human task user interface (work task template) you want to + // delete. + // + // HumanTaskUiName is a required field + HumanTaskUiName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteHumanTaskUiInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteHumanTaskUiInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteHumanTaskUiInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteHumanTaskUiInput"} + if s.HumanTaskUiName == nil { + invalidParams.Add(request.NewErrParamRequired("HumanTaskUiName")) + } + if s.HumanTaskUiName != nil && len(*s.HumanTaskUiName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HumanTaskUiName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHumanTaskUiName sets the HumanTaskUiName field's value. +func (s *DeleteHumanTaskUiInput) SetHumanTaskUiName(v string) *DeleteHumanTaskUiInput { + s.HumanTaskUiName = &v + return s +} + +type DeleteHumanTaskUiOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteHumanTaskUiOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteHumanTaskUiOutput) GoString() string { + return s.String() +} + type DeleteModelInput struct { _ struct{} `type:"structure"` @@ -21596,6 +22609,61 @@ func (s DeleteUserProfileOutput) GoString() string { return s.String() } +type DeleteWorkforceInput struct { + _ struct{} `type:"structure"` + + // The name of the workforce. + // + // WorkforceName is a required field + WorkforceName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteWorkforceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWorkforceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWorkforceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWorkforceInput"} + if s.WorkforceName == nil { + invalidParams.Add(request.NewErrParamRequired("WorkforceName")) + } + if s.WorkforceName != nil && len(*s.WorkforceName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkforceName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWorkforceName sets the WorkforceName field's value. +func (s *DeleteWorkforceInput) SetWorkforceName(v string) *DeleteWorkforceInput { + s.WorkforceName = &v + return s +} + +type DeleteWorkforceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteWorkforceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteWorkforceOutput) GoString() string { + return s.String() +} + type DeleteWorkteamInput struct { _ struct{} `type:"structure"` @@ -21987,7 +23055,8 @@ type DescribeAppOutput struct { // The timestamp of the last user's activity. LastUserActivityTimestamp *time.Time `type:"timestamp"` - // The instance type and quantity. + // The instance type and the Amazon Resource Name (ARN) of the SageMaker image + // created on the instance. ResourceSpec *ResourceSpec `type:"structure"` // The status. @@ -23294,6 +24363,7 @@ type DescribeFlowDefinitionOutput struct { // CreationTime is a required field CreationTime *time.Time `type:"timestamp" required:"true"` + // The reason your flow definition failed. FailureReason *string `type:"string"` // The Amazon Resource Name (ARN) of the flow defintion. @@ -23409,7 +24479,8 @@ func (s *DescribeFlowDefinitionOutput) SetRoleArn(v string) *DescribeFlowDefinit type DescribeHumanTaskUiInput struct { _ struct{} `type:"structure"` - // The name of the human task user interface you want information about. + // The name of the human task user interface (worker task template) you want + // information about. // // HumanTaskUiName is a required field HumanTaskUiName *string `min:"1" type:"string" required:"true"` @@ -23455,16 +24526,21 @@ type DescribeHumanTaskUiOutput struct { // CreationTime is a required field CreationTime *time.Time `type:"timestamp" required:"true"` - // The Amazon Resource Name (ARN) of the human task user interface. + // The Amazon Resource Name (ARN) of the human task user interface (worker task + // template). // // HumanTaskUiArn is a required field HumanTaskUiArn *string `type:"string" required:"true"` - // The name of the human task user interface. + // The name of the human task user interface (worker task template). // // HumanTaskUiName is a required field HumanTaskUiName *string `min:"1" type:"string" required:"true"` + // The status of the human task user interface (worker task template). Valid + // values are listed below. + HumanTaskUiStatus *string `type:"string" enum:"HumanTaskUiStatus"` + // Container for user interface template information. // // UiTemplate is a required field @@ -23499,6 +24575,12 @@ func (s *DescribeHumanTaskUiOutput) SetHumanTaskUiName(v string) *DescribeHumanT return s } +// SetHumanTaskUiStatus sets the HumanTaskUiStatus field's value. +func (s *DescribeHumanTaskUiOutput) SetHumanTaskUiStatus(v string) *DescribeHumanTaskUiOutput { + s.HumanTaskUiStatus = &v + return s +} + // SetUiTemplate sets the UiTemplate field's value. func (s *DescribeHumanTaskUiOutput) SetUiTemplate(v *UiTemplateInfo) *DescribeHumanTaskUiOutput { s.UiTemplate = v @@ -23508,7 +24590,7 @@ func (s *DescribeHumanTaskUiOutput) SetUiTemplate(v *UiTemplateInfo) *DescribeHu type DescribeHyperParameterTuningJobInput struct { _ struct{} `type:"structure"` - // The name of the tuning job to describe. + // The name of the tuning job. // // HyperParameterTuningJobName is a required field HyperParameterTuningJobName *string `min:"1" type:"string" required:"true"` @@ -23606,6 +24688,8 @@ type DescribeHyperParameterTuningJobOutput struct { // of the training jobs that this tuning job launches. TrainingJobDefinition *HyperParameterTrainingJobDefinition `type:"structure"` + // A list of the HyperParameterTrainingJobDefinition objects launched for this + // tuning job. TrainingJobDefinitions []*HyperParameterTrainingJobDefinition `min:"1" type:"list"` // The TrainingJobStatusCounters object that specifies the number of training @@ -25199,6 +26283,7 @@ type DescribeTrainingJobOutput struct { // AlgorithmSpecification is a required field AlgorithmSpecification *AlgorithmSpecification `type:"structure" required:"true"` + // The Amazon Resource Name (ARN) of an AutoML job. AutoMLJobArn *string `min:"1" type:"string"` // The billable time in seconds. @@ -25247,7 +26332,14 @@ type DescribeTrainingJobOutput struct { // have network access. EnableNetworkIsolation *bool `type:"boolean"` - // Configuration for the experiment. + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob ExperimentConfig *ExperimentConfig `type:"structure"` // If the training job failed, the reason it failed. @@ -25684,6 +26776,7 @@ func (s *DescribeTransformJobInput) SetTransformJobName(v string) *DescribeTrans type DescribeTransformJobOutput struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the AutoML transform job. AutoMLJobArn *string `min:"1" type:"string"` // Specifies the number of records to include in a mini-batch for an HTTP inference @@ -25712,7 +26805,14 @@ type DescribeTransformJobOutput struct { // 16 key and values entries in the map. Environment map[string]*string `type:"map"` - // Configuration for the experiment. + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob ExperimentConfig *ExperimentConfig `type:"structure"` // If the transform job failed, FailureReason describes why it failed. A transform @@ -25732,6 +26832,10 @@ type DescribeTransformJobOutput struct { // The maximum payload size, in MB, used in the transform job. MaxPayloadInMB *int64 `type:"integer"` + // The timeout and maximum number of retries for processing a transform job + // invocation. + ModelClientConfig *ModelClientConfig `type:"structure"` + // The name of the model used in the transform job. // // ModelName is a required field @@ -25848,6 +26952,12 @@ func (s *DescribeTransformJobOutput) SetMaxPayloadInMB(v int64) *DescribeTransfo return s } +// SetModelClientConfig sets the ModelClientConfig field's value. +func (s *DescribeTransformJobOutput) SetModelClientConfig(v *ModelClientConfig) *DescribeTransformJobOutput { + s.ModelClientConfig = v + return s +} + // SetModelName sets the ModelName field's value. func (s *DescribeTransformJobOutput) SetModelName(v string) *DescribeTransformJobOutput { s.ModelName = &v @@ -26294,13 +27404,13 @@ type DescribeUserProfileOutput struct { // The creation time. CreationTime *time.Time `type:"timestamp"` - // The domain ID. + // The ID of the domain that contains the profile. DomainId *string `type:"string"` // The failure reason. FailureReason *string `type:"string"` - // The homa Amazon Elastic File System (EFS) Uid. + // The ID of the user's profile in the Amazon Elastic File System (EFS) volume. HomeEfsFileSystemUid *string `type:"string"` // The last modified time. @@ -27098,17 +28208,26 @@ func (s *Experiment) SetTags(v []*Tag) *Experiment { return s } -// Configuration for the experiment. +// Associates a SageMaker job as a trial component with an experiment and trial. +// Specified when you call the following APIs: +// +// * CreateProcessingJob +// +// * CreateTrainingJob +// +// * CreateTransformJob type ExperimentConfig struct { _ struct{} `type:"structure"` - // The name of the experiment. + // The name of an existing experiment to associate the trial component with. ExperimentName *string `min:"1" type:"string"` - // Display name for the trial component. + // The display name for the trial component. If this key isn't specified, the + // display name is the trial component name. TrialComponentDisplayName *string `min:"1" type:"string"` - // The name of the trial. + // The name of an existing trial to associate the trial component with. If not + // specified, a new trial is created. TrialName *string `min:"1" type:"string"` } @@ -27417,6 +28536,14 @@ type Filter struct { // // The value of Name doesn't equal Value. // + // Exists + // + // The Name property exists. + // + // NotExists + // + // The Name property does not exist. + // // GreaterThan // // The value of Name is greater than Value. Not supported for text properties. @@ -27435,23 +28562,44 @@ type Filter struct { // The value of Name is less than or equal to Value. Not supported for text // properties. // + // In + // + // The value of Name is one of the comma delimited strings in Value. Only supported + // for text properties. + // // Contains // - // The value of Name contains the string Value. A SearchExpression can include - // only one Contains operator. Only supported for text properties. + // The value of Name contains the string Value. Only supported for text properties. // - // Exists + // A SearchExpression can include the Contains operator multiple times when + // the value of Name is one of the following: // - // The Name property exists. + // * Experiment.DisplayName // - // NotExists + // * Experiment.ExperimentName // - // The Name property does not exist. + // * Experiment.Tags // - // In + // * Trial.DisplayName // - // The value of Name is one of the comma delimited strings in Value. Only supported - // for text properties. + // * Trial.TrialName + // + // * Trial.Tags + // + // * TrialComponent.DisplayName + // + // * TrialComponent.TrialComponentName + // + // * TrialComponent.Tags + // + // * TrialComponent.InputArtifacts + // + // * TrialComponent.OutputArtifacts + // + // A SearchExpression can include only one Contains operator for all other values + // of Name. In these cases, if you include multiple Contains operators in the + // SearchExpression, the result is the following error message: "'CONTAINS' + // operator usage limit of 1 exceeded." Operator *string `type:"string" enum:"Operator"` // A value used with Name and Operator to determine which resources satisfy @@ -28417,298 +29565,636 @@ type HumanTaskConfig struct { // data object is sent to a human worker. Use this function to provide input // to a custom labeling job. // - // For the built-in bounding box, image classification, semantic segmentation, - // and text classification task types, Amazon SageMaker Ground Truth provides - // the following Lambda functions: + // For built-in task types (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html), + // use one of the following Amazon SageMaker Ground Truth Lambda function ARNs + // for PreHumanTaskLambdaArn. For custom labeling workflows, see Pre-annotation + // Lambda (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step3.html#sms-custom-templates-step3-prelambda). // - // US East (Northern Virginia) (us-east-1): + // Bounding box - Finds the most similar boxes from different workers based + // on the Jaccard index of the boxes. // // * arn:aws:lambda:us-east-1:432418664414:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-SemanticSegmentation + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClass + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-BoundingBox // - // US East (Ohio) (us-east-2): + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-BoundingBox // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-BoundingBox + // Image classification - Uses a variant of the Expectation Maximization approach + // to estimate the true class of an image based on annotations from individual + // workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClass // // * arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-SemanticSegmentation + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClass + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClass // - // US West (Oregon) (us-west-2): + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClass // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-BoundingBox + // Multi-label image classification - Uses a variant of the Expectation Maximization + // approach to estimate the true classes of an image based on annotations from + // individual workers. // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClassMultiLabel + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClassMultiLabel // // * arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-SemanticSegmentation + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClass + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClassMultiLabel // - // * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClassMultiLabel + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClassMultiLabel // - // Canada (Central) (ca-central-1): + // Semantic segmentation - Treats each pixel in an image as a multi-class classification + // and treats pixel annotations from workers as "votes" for the correct label. // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-BoundingBox + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-SemanticSegmentation // // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClass + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-SemanticSegmentation // - // EU (Ireland) (eu-west-1): + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-SemanticSegmentation // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-BoundingBox + // Text classification - Uses a variant of the Expectation Maximization approach + // to estimate the true class of text based on annotations from individual workers. // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-SemanticSegmentation + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClass + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClass // // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClass // - // EU (London) (eu-west-2): + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClass // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-BoundingBox + // Multi-label text classification - Uses a variant of the Expectation Maximization + // approach to estimate the true classes of text based on annotations from individual + // workers. // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-SemanticSegmentation + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClass + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClassMultiLabel + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClassMultiLabel // // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClassMultiLabel // - // EU Frankfurt (eu-central-1): + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClassMultiLabel // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-BoundingBox + // Named entity recognition - Groups similar selections and calculates aggregate + // boundaries, resolving to most-assigned label. // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-SemanticSegmentation + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClass + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-NamedEntityRecognition + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-NamedEntityRecognition // // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-NamedEntityRecognition // - // Asia Pacific (Tokyo) (ap-northeast-1): + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-NamedEntityRecognition // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-BoundingBox + // Video Classification - Use this task type when you need workers to classify + // videos using predefined labels that you specify. Workers are shown videos + // and are asked to choose one label for each video. // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoMultiClass // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-VideoMultiClass // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-SemanticSegmentation + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-VideoMultiClass // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClass + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VideoMultiClass // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VideoMultiClass // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VideoMultiClass // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VideoMultiClass // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VideoMultiClass // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VideoMultiClass // - // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VideoMultiClass // - // Asia Pacific (Seoul) (ap-northeast-2): + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VideoMultiClass // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-BoundingBox + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VideoMultiClass // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClass + // Video Frame Object Detection - Use this task type to have workers identify + // and locate objects in a sequence of video frames (images extracted from a + // video) using bounding boxes. For example, you can use this task to ask workers + // to identify and localize various objects in a series of video frames, such + // as cars, bikes, and pedestrians. // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoObjectDetection // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-SemanticSegmentation + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-VideoObjectDetection // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClass + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-VideoObjectDetection // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VideoObjectDetection // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VideoObjectDetection // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VideoObjectDetection // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VideoObjectDetection // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VideoObjectDetection // - // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VideoObjectDetection // - // Asia Pacific (Mumbai) (ap-south-1): + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VideoObjectDetection // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-BoundingBox + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VideoObjectDetection // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClass + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VideoObjectDetection // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClassMultiLabel + // Video Frame Object Tracking - Use this task type to have workers track the + // movement of objects in a sequence of video frames (images extracted from + // a video) using bounding boxes. For example, you can use this task to ask + // workers to track the movement of objects, such as cars, bikes, and pedestrians. // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-SemanticSegmentation + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoObjectTracking // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClass + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-VideoObjectTracking // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-VideoObjectTracking // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VideoObjectTracking // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VideoObjectTracking // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VideoObjectTracking // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentBoundingBox + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VideoObjectTracking // - // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VideoObjectTracking // - // Asia Pacific (Singapore) (ap-southeast-1): + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VideoObjectTracking // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-BoundingBox + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VideoObjectTracking // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClass + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VideoObjectTracking // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VideoObjectTracking // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-SemanticSegmentation + // 3D Point Cloud Modalities // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClass + // Use the following pre-annotation lambdas for 3D point cloud labeling modality + // tasks. See 3D Point Cloud Task types (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-task-types.html) + // to learn more. // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClassMultiLabel + // 3D Point Cloud Object Detection - Use this task type when you want workers + // to classify objects in a 3D point cloud by drawing 3D cuboids around objects. + // For example, you can use this task type to ask workers to identify different + // types of objects in a point cloud, such as cars, bikes, and pedestrians. // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudObjectDetection // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudObjectDetection // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationSemanticSegmentation + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudObjectDetection + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudObjectDetection + // + // 3D Point Cloud Object Tracking - Use this task type when you want workers + // to draw 3D cuboids around objects that appear in a sequence of 3D point cloud + // frames. For example, you can use this task type to ask workers to track the + // movement of vehicles across multiple point cloud frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudObjectTracking + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudObjectTracking + // + // 3D Point Cloud Semantic Segmentation - Use this task type when you want workers + // to create a point-level semantic segmentation masks by painting objects in + // a 3D point cloud using different colors where each color is assigned to one + // of the classes you specify. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-3DPointCloudSemanticSegmentation + // + // Use the following ARNs for Label Verification and Adjustment Jobs + // + // Use label verification and adjustment jobs to review and adjust labels. To + // learn more, see Verify and Adjust Labels (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-verification-data.html). + // + // Bounding box verification - Uses a variant of the Expectation Maximization + // approach to estimate the true class of verification judgement for bounding + // box labels based on annotations from individual workers. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectTracking + // + // Bounding box adjustment - Finds the most similar boxes from different workers + // based on the Jaccard index of the adjusted annotations. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentBoundingBox + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentBoundingBox + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentBoundingBox + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentBoundingBox + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentBoundingBox + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentBoundingBox + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentBoundingBox + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentBoundingBox + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentBoundingBox + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentBoundingBox // // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentBoundingBox // - // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentSemanticSegmentation + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentBoundingBox // - // Asia Pacific (Sydney) (ap-southeast-2): + // Semantic segmentation verification - Uses a variant of the Expectation Maximization + // approach to estimate the true class of verification judgment for semantic + // segmentation labels based on annotations from individual workers. // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-BoundingBox + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClass + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClassMultiLabel + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-SemanticSegmentation + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClass + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClassMultiLabel + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-NamedEntityRecognition + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationBoundingBox + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationSemanticSegmentation + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationSemanticSegmentation + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationSemanticSegmentation + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationSemanticSegmentation // // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationSemanticSegmentation // - // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentBoundingBox + // Semantic segmentation adjustment - Treats each pixel in an image as a multi-class + // classification and treats pixel adjusted annotations from workers as "votes" + // for the correct label. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentSemanticSegmentation + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentSemanticSegmentation + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentSemanticSegmentation + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentSemanticSegmentation + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentSemanticSegmentation + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentSemanticSegmentation + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentSemanticSegmentation + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentSemanticSegmentation + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentSemanticSegmentation + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentSemanticSegmentation + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentSemanticSegmentation // // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentSemanticSegmentation // + // Video Frame Object Detection Adjustment - Use this task type when you want + // workers to adjust bounding boxes that workers have added to video frames + // to classify and localize objects in a sequence of video frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentVideoObjectDetection + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentVideoObjectDetection + // + // Video Frame Object Tracking Adjustment - Use this task type when you want + // workers to adjust bounding boxes that workers have added to video frames + // to track object movement across a sequence of video frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentVideoObjectTracking + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentVideoObjectTracking + // + // 3D point cloud object detection adjustment - Adjust 3D cuboids in a point + // cloud frame. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectDetection + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectDetection + // + // 3D point cloud object tracking adjustment - Adjust 3D cuboids across a sequence + // of point cloud frames. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudObjectTracking + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudObjectTracking + // + // 3D point cloud semantic segmentation adjustment - Adjust semantic segmentation + // masks in a 3D point cloud. + // + // * arn:aws:lambda:us-east-1:432418664414:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:us-east-2:266458841044:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:us-west-2:081040173940:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:eu-west-1:568282634449:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-south-1:565803892007:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:eu-central-1:203001061592:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:eu-west-2:487402164563:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // + // * arn:aws:lambda:ca-central-1:918755190332:function:PRE-Adjustment3DPointCloudSemanticSegmentation + // // PreHumanTaskLambdaArn is a required field PreHumanTaskLambdaArn *string `type:"string" required:"true"` @@ -28817,11 +30303,6 @@ func (s *HumanTaskConfig) Validate() error { invalidParams.AddNested("AnnotationConsolidationConfig", err.(request.ErrInvalidParams)) } } - if s.UiConfig != nil { - if err := s.UiConfig.Validate(); err != nil { - invalidParams.AddNested("UiConfig", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -30392,7 +31873,8 @@ func (s *IntegerParameterRangeSpecification) SetMinValue(v string) *IntegerParam type JupyterServerAppSettings struct { _ struct{} `type:"structure"` - // The instance type and quantity. + // The default instance type and the Amazon Resource Name (ARN) of the SageMaker + // image created on the instance. DefaultResourceSpec *ResourceSpec `type:"structure"` } @@ -30416,7 +31898,8 @@ func (s *JupyterServerAppSettings) SetDefaultResourceSpec(v *ResourceSpec) *Jupy type KernelGatewayAppSettings struct { _ struct{} `type:"structure"` - // The instance type and quantity. + // The default instance type and the Amazon Resource Name (ARN) of the SageMaker + // image created on the instance. DefaultResourceSpec *ResourceSpec `type:"structure"` } @@ -30643,9 +32126,7 @@ type LabelingJobDataSource struct { _ struct{} `type:"structure"` // The Amazon S3 location of the input data objects. - // - // S3DataSource is a required field - S3DataSource *LabelingJobS3DataSource `type:"structure" required:"true"` + S3DataSource *LabelingJobS3DataSource `type:"structure"` } // String returns the string representation @@ -30661,9 +32142,6 @@ func (s LabelingJobDataSource) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *LabelingJobDataSource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "LabelingJobDataSource"} - if s.S3DataSource == nil { - invalidParams.Add(request.NewErrParamRequired("S3DataSource")) - } if s.S3DataSource != nil { if err := s.S3DataSource.Validate(); err != nil { invalidParams.AddNested("S3DataSource", err.(request.ErrInvalidParams)) @@ -35366,6 +36844,116 @@ func (s *ListUserProfilesOutput) SetUserProfiles(v []*UserProfileDetails) *ListU return s } +type ListWorkforcesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of workforces returned in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // A filter you can use to search for workforces using part of the workforce + // name. + NameContains *string `min:"1" type:"string"` + + // A token to resume pagination. + NextToken *string `type:"string"` + + // Sort workforces using the workforce name or creation date. + SortBy *string `type:"string" enum:"ListWorkforcesSortByOptions"` + + // Sort workforces in ascending or descending order. + SortOrder *string `type:"string" enum:"SortOrder"` +} + +// String returns the string representation +func (s ListWorkforcesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWorkforcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListWorkforcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWorkforcesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NameContains != nil && len(*s.NameContains) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NameContains", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListWorkforcesInput) SetMaxResults(v int64) *ListWorkforcesInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListWorkforcesInput) SetNameContains(v string) *ListWorkforcesInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkforcesInput) SetNextToken(v string) *ListWorkforcesInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListWorkforcesInput) SetSortBy(v string) *ListWorkforcesInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListWorkforcesInput) SetSortOrder(v string) *ListWorkforcesInput { + s.SortOrder = &v + return s +} + +type ListWorkforcesOutput struct { + _ struct{} `type:"structure"` + + // A token to resume pagination. + NextToken *string `type:"string"` + + // A list containing information about your workforce. + // + // Workforces is a required field + Workforces []*Workforce `type:"list" required:"true"` +} + +// String returns the string representation +func (s ListWorkforcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListWorkforcesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkforcesOutput) SetNextToken(v string) *ListWorkforcesOutput { + s.NextToken = &v + return s +} + +// SetWorkforces sets the Workforces field's value. +func (s *ListWorkforcesOutput) SetWorkforces(v []*Workforce) *ListWorkforcesOutput { + s.Workforces = v + return s +} + type ListWorkteamsInput struct { _ struct{} `type:"structure"` @@ -35485,6 +37073,13 @@ type MemberDefinition struct { // The Amazon Cognito user group that is part of the work team. CognitoMemberDefinition *CognitoMemberDefinition `type:"structure"` + + // A list user groups that exist in your OIDC Identity Provider (IdP). One to + // ten groups can be used to create a single private work team. When you add + // a user group to the list of Groups, you can add that user group to one or + // more private work teams. If you add a user group to a private work team, + // all workers in that user group are added to the work team. + OidcMemberDefinition *OidcMemberDefinition `type:"structure"` } // String returns the string representation @@ -35505,6 +37100,11 @@ func (s *MemberDefinition) Validate() error { invalidParams.AddNested("CognitoMemberDefinition", err.(request.ErrInvalidParams)) } } + if s.OidcMemberDefinition != nil { + if err := s.OidcMemberDefinition.Validate(); err != nil { + invalidParams.AddNested("OidcMemberDefinition", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -35518,6 +37118,12 @@ func (s *MemberDefinition) SetCognitoMemberDefinition(v *CognitoMemberDefinition return s } +// SetOidcMemberDefinition sets the OidcMemberDefinition field's value. +func (s *MemberDefinition) SetOidcMemberDefinition(v *OidcMemberDefinition) *MemberDefinition { + s.OidcMemberDefinition = v + return s +} + // The name, value, and date and time of a metric that was emitted to Amazon // CloudWatch. type MetricData struct { @@ -35627,6 +37233,10 @@ func (s *MetricDefinition) SetRegex(v string) *MetricDefinition { // Provides information about the location that is configured for storing model // artifacts. +// +// Model artifacts are the output that results from training a model, and typically +// consist of trained parameters, a model defintion that desribes how to compute +// inferences, and other metadata. type ModelArtifacts struct { _ struct{} `type:"structure"` @@ -35653,6 +37263,53 @@ func (s *ModelArtifacts) SetS3ModelArtifacts(v string) *ModelArtifacts { return s } +// Configures the timeout and maximum number of retries for processing a transform +// job invocation. +type ModelClientConfig struct { + _ struct{} `type:"structure"` + + // The maximum number of retries when invocation requests are failing. + InvocationsMaxRetries *int64 `type:"integer"` + + // The timeout value in seconds for an invocation request. + InvocationsTimeoutInSeconds *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s ModelClientConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModelClientConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModelClientConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModelClientConfig"} + if s.InvocationsTimeoutInSeconds != nil && *s.InvocationsTimeoutInSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("InvocationsTimeoutInSeconds", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInvocationsMaxRetries sets the InvocationsMaxRetries field's value. +func (s *ModelClientConfig) SetInvocationsMaxRetries(v int64) *ModelClientConfig { + s.InvocationsMaxRetries = &v + return s +} + +// SetInvocationsTimeoutInSeconds sets the InvocationsTimeoutInSeconds field's value. +func (s *ModelClientConfig) SetInvocationsTimeoutInSeconds(v int64) *ModelClientConfig { + s.InvocationsTimeoutInSeconds = &v + return s +} + // Describes the Docker container for the model package. type ModelPackageContainerDefinition struct { _ struct{} `type:"structure"` @@ -37134,6 +38791,11 @@ func (s *NestedFilters) SetNestedPropertyName(v string) *NestedFilters { type NetworkConfig struct { _ struct{} `type:"structure"` + // Whether to encrypt all communications between distributed processing jobs. + // Choose True to encrypt communications. Encryption provides greater security + // for distributed processing jobs, but the processing might take longer. + EnableInterContainerTrafficEncryption *bool `type:"boolean"` + // Whether to allow inbound and outbound network calls to and from the containers // used for the processing job. EnableNetworkIsolation *bool `type:"boolean"` @@ -37171,6 +38833,12 @@ func (s *NetworkConfig) Validate() error { return nil } +// SetEnableInterContainerTrafficEncryption sets the EnableInterContainerTrafficEncryption field's value. +func (s *NetworkConfig) SetEnableInterContainerTrafficEncryption(v bool) *NetworkConfig { + s.EnableInterContainerTrafficEncryption = &v + return s +} + // SetEnableNetworkIsolation sets the EnableNetworkIsolation field's value. func (s *NetworkConfig) SetEnableNetworkIsolation(v bool) *NetworkConfig { s.EnableNetworkIsolation = &v @@ -37491,22 +39159,349 @@ func (s *ObjectiveStatusCounters) SetSucceeded(v int64) *ObjectiveStatusCounters return s } +// Use this parameter to configure your OIDC Identity Provider (IdP). +type OidcConfig struct { + _ struct{} `type:"structure"` + + // The OIDC IdP authorization endpoint used to configure your private workforce. + // + // AuthorizationEndpoint is a required field + AuthorizationEndpoint *string `type:"string" required:"true"` + + // The OIDC IdP client ID used to configure your private workforce. + // + // ClientId is a required field + ClientId *string `min:"1" type:"string" required:"true"` + + // The OIDC IdP client secret used to configure your private workforce. + // + // ClientSecret is a required field + ClientSecret *string `min:"1" type:"string" required:"true" sensitive:"true"` + + // The OIDC IdP issuer used to configure your private workforce. + // + // Issuer is a required field + Issuer *string `type:"string" required:"true"` + + // The OIDC IdP JSON Web Key Set (Jwks) URI used to configure your private workforce. + // + // JwksUri is a required field + JwksUri *string `type:"string" required:"true"` + + // The OIDC IdP logout endpoint used to configure your private workforce. + // + // LogoutEndpoint is a required field + LogoutEndpoint *string `type:"string" required:"true"` + + // The OIDC IdP token endpoint used to configure your private workforce. + // + // TokenEndpoint is a required field + TokenEndpoint *string `type:"string" required:"true"` + + // The OIDC IdP user information endpoint used to configure your private workforce. + // + // UserInfoEndpoint is a required field + UserInfoEndpoint *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s OidcConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OidcConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OidcConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OidcConfig"} + if s.AuthorizationEndpoint == nil { + invalidParams.Add(request.NewErrParamRequired("AuthorizationEndpoint")) + } + if s.ClientId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientId")) + } + if s.ClientId != nil && len(*s.ClientId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientId", 1)) + } + if s.ClientSecret == nil { + invalidParams.Add(request.NewErrParamRequired("ClientSecret")) + } + if s.ClientSecret != nil && len(*s.ClientSecret) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientSecret", 1)) + } + if s.Issuer == nil { + invalidParams.Add(request.NewErrParamRequired("Issuer")) + } + if s.JwksUri == nil { + invalidParams.Add(request.NewErrParamRequired("JwksUri")) + } + if s.LogoutEndpoint == nil { + invalidParams.Add(request.NewErrParamRequired("LogoutEndpoint")) + } + if s.TokenEndpoint == nil { + invalidParams.Add(request.NewErrParamRequired("TokenEndpoint")) + } + if s.UserInfoEndpoint == nil { + invalidParams.Add(request.NewErrParamRequired("UserInfoEndpoint")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthorizationEndpoint sets the AuthorizationEndpoint field's value. +func (s *OidcConfig) SetAuthorizationEndpoint(v string) *OidcConfig { + s.AuthorizationEndpoint = &v + return s +} + +// SetClientId sets the ClientId field's value. +func (s *OidcConfig) SetClientId(v string) *OidcConfig { + s.ClientId = &v + return s +} + +// SetClientSecret sets the ClientSecret field's value. +func (s *OidcConfig) SetClientSecret(v string) *OidcConfig { + s.ClientSecret = &v + return s +} + +// SetIssuer sets the Issuer field's value. +func (s *OidcConfig) SetIssuer(v string) *OidcConfig { + s.Issuer = &v + return s +} + +// SetJwksUri sets the JwksUri field's value. +func (s *OidcConfig) SetJwksUri(v string) *OidcConfig { + s.JwksUri = &v + return s +} + +// SetLogoutEndpoint sets the LogoutEndpoint field's value. +func (s *OidcConfig) SetLogoutEndpoint(v string) *OidcConfig { + s.LogoutEndpoint = &v + return s +} + +// SetTokenEndpoint sets the TokenEndpoint field's value. +func (s *OidcConfig) SetTokenEndpoint(v string) *OidcConfig { + s.TokenEndpoint = &v + return s +} + +// SetUserInfoEndpoint sets the UserInfoEndpoint field's value. +func (s *OidcConfig) SetUserInfoEndpoint(v string) *OidcConfig { + s.UserInfoEndpoint = &v + return s +} + +// Your Amazon Cognito workforce configuration. +type OidcConfigForResponse struct { + _ struct{} `type:"structure"` + + // The OIDC IdP authorization endpoint used to configure your private workforce. + AuthorizationEndpoint *string `type:"string"` + + // The OIDC IdP client ID used to configure your private workforce. + ClientId *string `min:"1" type:"string"` + + // The OIDC IdP issuer used to configure your private workforce. + Issuer *string `type:"string"` + + // The OIDC IdP JSON Web Key Set (Jwks) URI used to configure your private workforce. + JwksUri *string `type:"string"` + + // The OIDC IdP logout endpoint used to configure your private workforce. + LogoutEndpoint *string `type:"string"` + + // The OIDC IdP token endpoint used to configure your private workforce. + TokenEndpoint *string `type:"string"` + + // The OIDC IdP user information endpoint used to configure your private workforce. + UserInfoEndpoint *string `type:"string"` +} + +// String returns the string representation +func (s OidcConfigForResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OidcConfigForResponse) GoString() string { + return s.String() +} + +// SetAuthorizationEndpoint sets the AuthorizationEndpoint field's value. +func (s *OidcConfigForResponse) SetAuthorizationEndpoint(v string) *OidcConfigForResponse { + s.AuthorizationEndpoint = &v + return s +} + +// SetClientId sets the ClientId field's value. +func (s *OidcConfigForResponse) SetClientId(v string) *OidcConfigForResponse { + s.ClientId = &v + return s +} + +// SetIssuer sets the Issuer field's value. +func (s *OidcConfigForResponse) SetIssuer(v string) *OidcConfigForResponse { + s.Issuer = &v + return s +} + +// SetJwksUri sets the JwksUri field's value. +func (s *OidcConfigForResponse) SetJwksUri(v string) *OidcConfigForResponse { + s.JwksUri = &v + return s +} + +// SetLogoutEndpoint sets the LogoutEndpoint field's value. +func (s *OidcConfigForResponse) SetLogoutEndpoint(v string) *OidcConfigForResponse { + s.LogoutEndpoint = &v + return s +} + +// SetTokenEndpoint sets the TokenEndpoint field's value. +func (s *OidcConfigForResponse) SetTokenEndpoint(v string) *OidcConfigForResponse { + s.TokenEndpoint = &v + return s +} + +// SetUserInfoEndpoint sets the UserInfoEndpoint field's value. +func (s *OidcConfigForResponse) SetUserInfoEndpoint(v string) *OidcConfigForResponse { + s.UserInfoEndpoint = &v + return s +} + +// A list user groups that exist in your OIDC Identity Provider (IdP). One to +// ten groups can be used to create a single private work team. When you add +// a user group to the list of Groups, you can add that user group to one or +// more private work teams. If you add a user group to a private work team, +// all workers in that user group are added to the work team. +type OidcMemberDefinition struct { + _ struct{} `type:"structure"` + + // A list of comma seperated strings that identifies user groups in your OIDC + // IdP. Each user group is made up of a group of private workers. + // + // Groups is a required field + Groups []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s OidcMemberDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OidcMemberDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OidcMemberDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OidcMemberDefinition"} + if s.Groups == nil { + invalidParams.Add(request.NewErrParamRequired("Groups")) + } + if s.Groups != nil && len(s.Groups) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Groups", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroups sets the Groups field's value. +func (s *OidcMemberDefinition) SetGroups(v []*string) *OidcMemberDefinition { + s.Groups = v + return s +} + // Contains information about the output location for the compiled model and -// the device (target) that the model runs on. +// the target device that the model runs on. TargetDevice and TargetPlatform +// are mutually exclusive, so you need to choose one between the two to specify +// your target device or platform. If you cannot find your device you want to +// use from the TargetDevice list, use TargetPlatform to describe the platform +// of your edge device and CompilerOptions if there are specific settings that +// are required or recommended to use for particular TargetPlatform. type OutputConfig struct { _ struct{} `type:"structure"` - // Identifies the S3 path where you want Amazon SageMaker to store the model + // Specifies additional parameters for compiler options in JSON format. The + // compiler options are TargetPlatform specific. It is required for NVIDIA accelerators + // and highly recommended for CPU compliations. For any other cases, it is optional + // to specify CompilerOptions. + // + // * CPU: Compilation for CPU supports the following compiler options. mcpu: + // CPU micro-architecture. For example, {'mcpu': 'skylake-avx512'} mattr: + // CPU flags. For example, {'mattr': ['+neon', '+vfpv4']} + // + // * ARM: Details of ARM CPU compilations. NEON: NEON is an implementation + // of the Advanced SIMD extension used in ARMv7 processors. For example, + // add {'mattr': ['+neon']} to the compiler options if compiling for ARM + // 32-bit platform with the NEON support. + // + // * NVIDIA: Compilation for NVIDIA GPU supports the following compiler options. + // gpu_code: Specifies the targeted architecture. trt-ver: Specifies the + // TensorRT versions in x.y.z. format. cuda-ver: Specifies the CUDA version + // in x.y format. For example, {'gpu-code': 'sm_72', 'trt-ver': '6.0.1', + // 'cuda-ver': '10.1'} + // + // * ANDROID: Compilation for the Android OS supports the following compiler + // options: ANDROID_PLATFORM: Specifies the Android API levels. Available + // levels range from 21 to 29. For example, {'ANDROID_PLATFORM': 28}. mattr: + // Add {'mattr': ['+neon']} to compiler options if compiling for ARM 32-bit + // platform with NEON support. + CompilerOptions *string `min:"7" type:"string"` + + // Identifies the S3 bucket where you want Amazon SageMaker to store the model // artifacts. For example, s3://bucket-name/key-name-prefix. // // S3OutputLocation is a required field S3OutputLocation *string `type:"string" required:"true"` - // Identifies the device that you want to run your model on after it has been - // compiled. For example: ml_c5. + // Identifies the target device or the machine learning instance that you want + // to run your model on after the compilation has completed. Alternatively, + // you can specify OS, architecture, and accelerator using TargetPlatform fields. + // It can be used instead of TargetPlatform. + TargetDevice *string `type:"string" enum:"TargetDevice"` + + // Contains information about a target platform that you want your model to + // run on, such as OS, architecture, and accelerators. It is an alternative + // of TargetDevice. // - // TargetDevice is a required field - TargetDevice *string `type:"string" required:"true" enum:"TargetDevice"` + // The following examples show how to configure the TargetPlatform and CompilerOptions + // JSON strings for popular target platforms: + // + // * Raspberry Pi 3 Model B+ "TargetPlatform": {"Os": "LINUX", "Arch": "ARM_EABIHF"}, + // "CompilerOptions": {'mattr': ['+neon']} + // + // * Jetson TX2 "TargetPlatform": {"Os": "LINUX", "Arch": "ARM64", "Accelerator": + // "NVIDIA"}, "CompilerOptions": {'gpu-code': 'sm_62', 'trt-ver': '6.0.1', + // 'cuda-ver': '10.0'} + // + // * EC2 m5.2xlarge instance OS "TargetPlatform": {"Os": "LINUX", "Arch": + // "X86_64", "Accelerator": "NVIDIA"}, "CompilerOptions": {'mcpu': 'skylake-avx512'} + // + // * RK3399 "TargetPlatform": {"Os": "LINUX", "Arch": "ARM64", "Accelerator": + // "MALI"} + // + // * ARMv7 phone (CPU) "TargetPlatform": {"Os": "ANDROID", "Arch": "ARM_EABI"}, + // "CompilerOptions": {'ANDROID_PLATFORM': 25, 'mattr': ['+neon']} + // + // * ARMv8 phone (CPU) "TargetPlatform": {"Os": "ANDROID", "Arch": "ARM64"}, + // "CompilerOptions": {'ANDROID_PLATFORM': 29} + TargetPlatform *TargetPlatform `type:"structure"` } // String returns the string representation @@ -37522,11 +39517,16 @@ func (s OutputConfig) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *OutputConfig) Validate() error { invalidParams := request.ErrInvalidParams{Context: "OutputConfig"} + if s.CompilerOptions != nil && len(*s.CompilerOptions) < 7 { + invalidParams.Add(request.NewErrParamMinLen("CompilerOptions", 7)) + } if s.S3OutputLocation == nil { invalidParams.Add(request.NewErrParamRequired("S3OutputLocation")) } - if s.TargetDevice == nil { - invalidParams.Add(request.NewErrParamRequired("TargetDevice")) + if s.TargetPlatform != nil { + if err := s.TargetPlatform.Validate(); err != nil { + invalidParams.AddNested("TargetPlatform", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -37535,6 +39535,12 @@ func (s *OutputConfig) Validate() error { return nil } +// SetCompilerOptions sets the CompilerOptions field's value. +func (s *OutputConfig) SetCompilerOptions(v string) *OutputConfig { + s.CompilerOptions = &v + return s +} + // SetS3OutputLocation sets the S3OutputLocation field's value. func (s *OutputConfig) SetS3OutputLocation(v string) *OutputConfig { s.S3OutputLocation = &v @@ -37547,6 +39553,12 @@ func (s *OutputConfig) SetTargetDevice(v string) *OutputConfig { return s } +// SetTargetPlatform sets the TargetPlatform field's value. +func (s *OutputConfig) SetTargetPlatform(v *TargetPlatform) *OutputConfig { + s.TargetPlatform = v + return s +} + // Provides information about how to store model training results (model artifacts). type OutputDataConfig struct { _ struct{} `type:"structure"` @@ -38026,7 +40038,14 @@ type ProcessingJob struct { // container when the processing job exits. ExitMessage *string `type:"string"` - // Configuration for the experiment. + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob ExperimentConfig *ExperimentConfig `type:"structure"` // A string, up to one KB in size, that contains the reason a processing job @@ -39204,6 +41223,12 @@ func (s *PublicWorkforceTaskPrice) SetAmountInUsd(v *USD) *PublicWorkforceTaskPr type RenderUiTemplateInput struct { _ struct{} `type:"structure"` + // The HumanTaskUiArn of the worker UI that you want to render. Do not provide + // a HumanTaskUiArn if you use the UiTemplate parameter. + // + // See a list of available Human Ui Amazon Resource Names (ARNs) in UiConfig. + HumanTaskUiArn *string `type:"string"` + // The Amazon Resource Name (ARN) that has access to the S3 objects that are // used by the template. // @@ -39216,9 +41241,7 @@ type RenderUiTemplateInput struct { Task *RenderableTask `type:"structure" required:"true"` // A Template object containing the worker UI template to render. - // - // UiTemplate is a required field - UiTemplate *UiTemplate `type:"structure" required:"true"` + UiTemplate *UiTemplate `type:"structure"` } // String returns the string representation @@ -39243,9 +41266,6 @@ func (s *RenderUiTemplateInput) Validate() error { if s.Task == nil { invalidParams.Add(request.NewErrParamRequired("Task")) } - if s.UiTemplate == nil { - invalidParams.Add(request.NewErrParamRequired("UiTemplate")) - } if s.Task != nil { if err := s.Task.Validate(); err != nil { invalidParams.AddNested("Task", err.(request.ErrInvalidParams)) @@ -39263,6 +41283,12 @@ func (s *RenderUiTemplateInput) Validate() error { return nil } +// SetHumanTaskUiArn sets the HumanTaskUiArn field's value. +func (s *RenderUiTemplateInput) SetHumanTaskUiArn(v string) *RenderUiTemplateInput { + s.HumanTaskUiArn = &v + return s +} + // SetRoleArn sets the RoleArn field's value. func (s *RenderUiTemplateInput) SetRoleArn(v string) *RenderUiTemplateInput { s.RoleArn = &v @@ -39795,8 +41821,8 @@ func (s *ResourceNotFound) RequestID() string { return s.RespMetadata.RequestID } -// The instance type and the Amazon Resource Name (ARN) of the image created -// on the instance. The ARN is stored as metadata in Amazon SageMaker Studio +// The instance type and the Amazon Resource Name (ARN) of the SageMaker image +// created on the instance. The ARN is stored as metadata in SageMaker Studio // notebooks. type ResourceSpec struct { _ struct{} `type:"structure"` @@ -39804,7 +41830,7 @@ type ResourceSpec struct { // The instance type. InstanceType *string `type:"string" enum:"AppInstanceType"` - // The Amazon Resource Name (ARN) of the image created on the instance. + // The Amazon Resource Name (ARN) of the SageMaker image created on the instance. SageMakerImageArn *string `type:"string"` } @@ -39830,11 +41856,15 @@ func (s *ResourceSpec) SetSageMakerImageArn(v string) *ResourceSpec { return s } -// The retention policy. +// The retention policy for data stored on an Amazon Elastic File System (EFS) +// volume. type RetentionPolicy struct { _ struct{} `type:"structure"` - // The home Amazon Elastic File System (EFS). + // The default is Retain, which specifies to keep the data stored on the EFS + // volume. + // + // Specify Delete to delete the data stored on the EFS volume. HomeEfsFileSystem *string `type:"string" enum:"RetentionType"` } @@ -39900,18 +41930,22 @@ type S3DataSource struct { // Depending on the value specified for the S3DataType, identifies either a // key name prefix or a manifest. For example: // - // * A key name prefix might look like this: s3://bucketname/exampleprefix. + // * A key name prefix might look like this: s3://bucketname/exampleprefix // - // * A manifest might look like this: s3://bucketname/example.manifest The - // manifest is an S3 object which is a JSON file with the following format: - // The preceding JSON matches the following s3Uris: [ {"prefix": "s3://customer_bucket/some/prefix/"}, + // * A manifest might look like this: s3://bucketname/example.manifest A + // manifest is an S3 object which is a JSON file consisting of an array of + // elements. The first element is a prefix which is followed by one or more + // suffixes. SageMaker appends the suffix elements to the prefix to get a + // full set of S3Uri. Note that the prefix must be a valid non-empty S3Uri + // that precludes users from specifying a manifest whose individual S3Uri + // is sourced from different S3 buckets. The following code example shows + // a valid manifest format: [ {"prefix": "s3://customer_bucket/some/prefix/"}, // "relative/path/to/custdata-1", "relative/path/custdata-2", ... "relative/path/custdata-N" - // ] The preceding JSON matches the following s3Uris: s3://customer_bucket/some/prefix/relative/path/to/custdata-1 + // ] This JSON is equivalent to the following S3Uri list: s3://customer_bucket/some/prefix/relative/path/to/custdata-1 // s3://customer_bucket/some/prefix/relative/path/custdata-2 ... s3://customer_bucket/some/prefix/relative/path/custdata-N - // The complete set of s3uris in this manifest is the input data for the - // channel for this datasource. The object that each s3uris points to must - // be readable by the IAM role that Amazon SageMaker uses to perform tasks - // on your behalf. + // The complete set of S3Uri in this manifest is the input data for the channel + // for this data source. The object that each S3Uri points to must be readable + // by the IAM role that Amazon SageMaker uses to perform tasks on your behalf. // // S3Uri is a required field S3Uri *string `type:"string" required:"true"` @@ -40047,8 +42081,7 @@ func (s *ScheduleConfig) SetScheduleExpression(v string) *ScheduleConfig { // A SearchExpression contains the following components: // // * A list of Filter objects. Each filter defines a simple Boolean expression -// comprised of a resource property name, Boolean operator, and value. A -// SearchExpression can include only one Contains operator. +// comprised of a resource property name, Boolean operator, and value. // // * A list of NestedFilter objects. Each nested filter defines a list of // Boolean expressions using a list of resource properties. A nested filter @@ -40490,17 +42523,25 @@ func (s *SecondaryStatusTransition) SetStatusMessage(v string) *SecondaryStatusT return s } -// The sharing settings. +// Specifies options when sharing an Amazon SageMaker Studio notebook. These +// settings are specified as part of DefaultUserSettings when the CreateDomain +// API is called, and as part of UserSettings when the CreateUserProfile API +// is called. type SharingSettings struct { _ struct{} `type:"structure"` - // The notebook output option. + // Whether to include the notebook cell output when sharing the notebook. The + // default is Disabled. NotebookOutputOption *string `type:"string" enum:"NotebookOutputOption"` - // The AWS Key Management Service encryption key ID. + // When NotebookOutputOption is Allowed, the AWS Key Management Service (KMS) + // encryption key ID used to encrypt the notebook cell output in the Amazon + // S3 bucket. S3KmsKeyId *string `type:"string"` - // The Amazon S3 output path. + // When NotebookOutputOption is Allowed, the Amazon S3 bucket used to save the + // notebook cell output. If S3OutputPath isn't specified, a default bucket is + // used. S3OutputPath *string `type:"string"` } @@ -40699,10 +42740,10 @@ func (s *SourceAlgorithmSpecification) SetSourceAlgorithms(v []*SourceAlgorithm) type SourceIpConfig struct { _ struct{} `type:"structure"` - // A list of one to four Classless Inter-Domain Routing (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) + // A list of one to ten Classless Inter-Domain Routing (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) // (CIDR) values. // - // Maximum: Four CIDR values + // Maximum: Ten CIDR values // // The following Length Constraints apply to individual CIDR values in the CIDR // value list. @@ -41416,6 +43457,7 @@ func (s *StoppingCondition) SetMaxWaitTimeInSeconds(v int64) *StoppingCondition type SubscribedWorkteam struct { _ struct{} `type:"structure"` + // Marketplace product listing ID. ListingId *string `type:"string"` // The description of the vendor from the Amazon Marketplace. @@ -41570,11 +43612,99 @@ func (s *Tag) SetValue(v string) *Tag { return s } +// Contains information about a target platform that you want your model to +// run on, such as OS, architecture, and accelerators. It is an alternative +// of TargetDevice. +type TargetPlatform struct { + _ struct{} `type:"structure"` + + // Specifies a target platform accelerator (optional). + // + // * NVIDIA: Nvidia graphics processing unit. It also requires gpu-code, + // trt-ver, cuda-ver compiler options + // + // * MALI: ARM Mali graphics processor + // + // * INTEL_GRAPHICS: Integrated Intel graphics + Accelerator *string `type:"string" enum:"TargetPlatformAccelerator"` + + // Specifies a target platform architecture. + // + // * X86_64: 64-bit version of the x86 instruction set. + // + // * X86: 32-bit version of the x86 instruction set. + // + // * ARM64: ARMv8 64-bit CPU. + // + // * ARM_EABIHF: ARMv7 32-bit, Hard Float. + // + // * ARM_EABI: ARMv7 32-bit, Soft Float. Used by Android 32-bit ARM platform. + // + // Arch is a required field + Arch *string `type:"string" required:"true" enum:"TargetPlatformArch"` + + // Specifies a target platform OS. + // + // * LINUX: Linux-based operating systems. + // + // * ANDROID: Android operating systems. Android API level can be specified + // using the ANDROID_PLATFORM compiler option. For example, "CompilerOptions": + // {'ANDROID_PLATFORM': 28} + // + // Os is a required field + Os *string `type:"string" required:"true" enum:"TargetPlatformOs"` +} + +// String returns the string representation +func (s TargetPlatform) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TargetPlatform) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TargetPlatform) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TargetPlatform"} + if s.Arch == nil { + invalidParams.Add(request.NewErrParamRequired("Arch")) + } + if s.Os == nil { + invalidParams.Add(request.NewErrParamRequired("Os")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccelerator sets the Accelerator field's value. +func (s *TargetPlatform) SetAccelerator(v string) *TargetPlatform { + s.Accelerator = &v + return s +} + +// SetArch sets the Arch field's value. +func (s *TargetPlatform) SetArch(v string) *TargetPlatform { + s.Arch = &v + return s +} + +// SetOs sets the Os field's value. +func (s *TargetPlatform) SetOs(v string) *TargetPlatform { + s.Os = &v + return s +} + // The TensorBoard app settings. type TensorBoardAppSettings struct { _ struct{} `type:"structure"` - // The instance type and quantity. + // The default instance type and the Amazon Resource Name (ARN) of the SageMaker + // image created on the instance. DefaultResourceSpec *ResourceSpec `type:"structure"` } @@ -41689,7 +43819,14 @@ type TrainingJob struct { // VPC they run in. EnableNetworkIsolation *bool `type:"boolean"` - // Configuration for the experiment. + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob ExperimentConfig *ExperimentConfig `type:"structure"` // If the training job failed, the reason it failed. @@ -42670,6 +44807,261 @@ func (s *TransformInput) SetSplitType(v string) *TransformInput { return s } +// A batch transform job. For information about SageMaker batch transform, see +// Use Batch Transform (https://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform.html). +type TransformJob struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the AutoML job that created the transform + // job. + AutoMLJobArn *string `min:"1" type:"string"` + + // Specifies the number of records to include in a mini-batch for an HTTP inference + // request. A record is a single unit of input data that inference can be made + // on. For example, a single line in a CSV file is a record. + BatchStrategy *string `type:"string" enum:"BatchStrategy"` + + // A timestamp that shows when the transform Job was created. + CreationTime *time.Time `type:"timestamp"` + + // The data structure used to specify the data to be used for inference in a + // batch transform job and to associate the data that is relevant to the prediction + // results in the output. The input filter provided allows you to exclude input + // data that is not needed for inference in a batch transform job. The output + // filter provided allows you to include input data relevant to interpreting + // the predictions in the output from the job. For more information, see Associate + // Prediction Results with their Corresponding Input Records (https://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform-data-processing.html). + DataProcessing *DataProcessing `type:"structure"` + + // The environment variables to set in the Docker container. We support up to + // 16 key and values entries in the map. + Environment map[string]*string `type:"map"` + + // Associates a SageMaker job as a trial component with an experiment and trial. + // Specified when you call the following APIs: + // + // * CreateProcessingJob + // + // * CreateTrainingJob + // + // * CreateTransformJob + ExperimentConfig *ExperimentConfig `type:"structure"` + + // If the transform job failed, the reason it failed. + FailureReason *string `type:"string"` + + // The Amazon Resource Name (ARN) of the labeling job that created the transform + // job. + LabelingJobArn *string `type:"string"` + + // The maximum number of parallel requests that can be sent to each instance + // in a transform job. If MaxConcurrentTransforms is set to 0 or left unset, + // SageMaker checks the optional execution-parameters to determine the settings + // for your chosen algorithm. If the execution-parameters endpoint is not enabled, + // the default value is 1. For built-in algorithms, you don't need to set a + // value for MaxConcurrentTransforms. + MaxConcurrentTransforms *int64 `type:"integer"` + + // The maximum allowed size of the payload, in MB. A payload is the data portion + // of a record (without metadata). The value in MaxPayloadInMB must be greater + // than, or equal to, the size of a single record. To estimate the size of a + // record in MB, divide the size of your dataset by the number of records. To + // ensure that the records fit within the maximum payload size, we recommend + // using a slightly larger value. The default value is 6 MB. For cases where + // the payload might be arbitrarily large and is transmitted using HTTP chunked + // encoding, set the value to 0. This feature works only in supported algorithms. + // Currently, SageMaker built-in algorithms do not support HTTP chunked encoding. + MaxPayloadInMB *int64 `type:"integer"` + + // Configures the timeout and maximum number of retries for processing a transform + // job invocation. + ModelClientConfig *ModelClientConfig `type:"structure"` + + // The name of the model associated with the transform job. + ModelName *string `type:"string"` + + // A list of tags associated with the transform job. + Tags []*Tag `type:"list"` + + // Indicates when the transform job has been completed, or has stopped or failed. + // You are billed for the time interval between this time and the value of TransformStartTime. + TransformEndTime *time.Time `type:"timestamp"` + + // Describes the input source of a transform job and the way the transform job + // consumes it. + TransformInput *TransformInput `type:"structure"` + + // The Amazon Resource Name (ARN) of the transform job. + TransformJobArn *string `type:"string"` + + // The name of the transform job. + TransformJobName *string `min:"1" type:"string"` + + // The status of the transform job. + // + // Transform job statuses are: + // + // * InProgress - The job is in progress. + // + // * Completed - The job has completed. + // + // * Failed - The transform job has failed. To see the reason for the failure, + // see the FailureReason field in the response to a DescribeTransformJob + // call. + // + // * Stopping - The transform job is stopping. + // + // * Stopped - The transform job has stopped. + TransformJobStatus *string `type:"string" enum:"TransformJobStatus"` + + // Describes the results of a transform job. + TransformOutput *TransformOutput `type:"structure"` + + // Describes the resources, including ML instance types and ML instance count, + // to use for transform job. + TransformResources *TransformResources `type:"structure"` + + // Indicates when the transform job starts on ML instances. You are billed for + // the time interval between this time and the value of TransformEndTime. + TransformStartTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s TransformJob) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TransformJob) GoString() string { + return s.String() +} + +// SetAutoMLJobArn sets the AutoMLJobArn field's value. +func (s *TransformJob) SetAutoMLJobArn(v string) *TransformJob { + s.AutoMLJobArn = &v + return s +} + +// SetBatchStrategy sets the BatchStrategy field's value. +func (s *TransformJob) SetBatchStrategy(v string) *TransformJob { + s.BatchStrategy = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *TransformJob) SetCreationTime(v time.Time) *TransformJob { + s.CreationTime = &v + return s +} + +// SetDataProcessing sets the DataProcessing field's value. +func (s *TransformJob) SetDataProcessing(v *DataProcessing) *TransformJob { + s.DataProcessing = v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *TransformJob) SetEnvironment(v map[string]*string) *TransformJob { + s.Environment = v + return s +} + +// SetExperimentConfig sets the ExperimentConfig field's value. +func (s *TransformJob) SetExperimentConfig(v *ExperimentConfig) *TransformJob { + s.ExperimentConfig = v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *TransformJob) SetFailureReason(v string) *TransformJob { + s.FailureReason = &v + return s +} + +// SetLabelingJobArn sets the LabelingJobArn field's value. +func (s *TransformJob) SetLabelingJobArn(v string) *TransformJob { + s.LabelingJobArn = &v + return s +} + +// SetMaxConcurrentTransforms sets the MaxConcurrentTransforms field's value. +func (s *TransformJob) SetMaxConcurrentTransforms(v int64) *TransformJob { + s.MaxConcurrentTransforms = &v + return s +} + +// SetMaxPayloadInMB sets the MaxPayloadInMB field's value. +func (s *TransformJob) SetMaxPayloadInMB(v int64) *TransformJob { + s.MaxPayloadInMB = &v + return s +} + +// SetModelClientConfig sets the ModelClientConfig field's value. +func (s *TransformJob) SetModelClientConfig(v *ModelClientConfig) *TransformJob { + s.ModelClientConfig = v + return s +} + +// SetModelName sets the ModelName field's value. +func (s *TransformJob) SetModelName(v string) *TransformJob { + s.ModelName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TransformJob) SetTags(v []*Tag) *TransformJob { + s.Tags = v + return s +} + +// SetTransformEndTime sets the TransformEndTime field's value. +func (s *TransformJob) SetTransformEndTime(v time.Time) *TransformJob { + s.TransformEndTime = &v + return s +} + +// SetTransformInput sets the TransformInput field's value. +func (s *TransformJob) SetTransformInput(v *TransformInput) *TransformJob { + s.TransformInput = v + return s +} + +// SetTransformJobArn sets the TransformJobArn field's value. +func (s *TransformJob) SetTransformJobArn(v string) *TransformJob { + s.TransformJobArn = &v + return s +} + +// SetTransformJobName sets the TransformJobName field's value. +func (s *TransformJob) SetTransformJobName(v string) *TransformJob { + s.TransformJobName = &v + return s +} + +// SetTransformJobStatus sets the TransformJobStatus field's value. +func (s *TransformJob) SetTransformJobStatus(v string) *TransformJob { + s.TransformJobStatus = &v + return s +} + +// SetTransformOutput sets the TransformOutput field's value. +func (s *TransformJob) SetTransformOutput(v *TransformOutput) *TransformJob { + s.TransformOutput = v + return s +} + +// SetTransformResources sets the TransformResources field's value. +func (s *TransformJob) SetTransformResources(v *TransformResources) *TransformJob { + s.TransformResources = v + return s +} + +// SetTransformStartTime sets the TransformStartTime field's value. +func (s *TransformJob) SetTransformStartTime(v time.Time) *TransformJob { + s.TransformStartTime = &v + return s +} + // Defines the input needed to run a transform job using the inference specification // specified in the algorithm. type TransformJobDefinition struct { @@ -43098,7 +45490,7 @@ type TransformS3DataSource struct { // manifest is an S3 object which is a JSON file with the following format: // [ {"prefix": "s3://customer_bucket/some/prefix/"}, "relative/path/to/custdata-1", // "relative/path/custdata-2", ... "relative/path/custdata-N" ] The preceding - // JSON matches the following s3Uris: s3://customer_bucket/some/prefix/relative/path/to/custdata-1 + // JSON matches the following S3Uris: s3://customer_bucket/some/prefix/relative/path/to/custdata-1 // s3://customer_bucket/some/prefix/relative/path/custdata-2 ... s3://customer_bucket/some/prefix/relative/path/custdata-N // The complete set of S3Uris in this manifest constitutes the input data // for the channel for this datasource. The object that each S3Uris points @@ -43749,6 +46141,9 @@ type TrialComponentSourceDetail struct { // Information about a training job that's the source of a trial component. TrainingJob *TrainingJob `type:"structure"` + + // Information about a transform job that's the source of the trial component. + TransformJob *TransformJob `type:"structure"` } // String returns the string representation @@ -43779,6 +46174,12 @@ func (s *TrialComponentSourceDetail) SetTrainingJob(v *TrainingJob) *TrialCompon return s } +// SetTransformJob sets the TransformJob field's value. +func (s *TrialComponentSourceDetail) SetTransformJob(v *TransformJob) *TrialComponentSourceDetail { + s.TransformJob = v + return s +} + // The status of the trial component. type TrialComponentStatus struct { _ struct{} `type:"structure"` @@ -44125,12 +46526,50 @@ func (s *USD) SetTenthFractionsOfACent(v int64) *USD { type UiConfig struct { _ struct{} `type:"structure"` - // The Amazon S3 bucket location of the UI template. For more information about - // the contents of a UI template, see Creating Your Custom Labeling Task Template - // (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step2.html). + // The ARN of the worker task template used to render the worker UI and tools + // for labeling job tasks. + // + // Use this parameter when you are creating a labeling job for 3D point cloud + // and video fram labeling jobs. Use your labeling job task type to select one + // of the following ARN's and use it with this parameter when you create a labeling + // job. Replace aws-region with the AWS region you are creating your labeling + // job in. + // + // 3D Point Cloud HumanTaskUiArns // - // UiTemplateS3Uri is a required field - UiTemplateS3Uri *string `type:"string" required:"true"` + // Use this HumanTaskUiArn for 3D point cloud object detection and 3D point + // cloud object detection adjustment labeling jobs. + // + // * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/PointCloudObjectDetection + // + // Use this HumanTaskUiArn for 3D point cloud object tracking and 3D point cloud + // object tracking adjustment labeling jobs. + // + // * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/PointCloudObjectTracking + // + // Use this HumanTaskUiArn for 3D point cloud semantic segmentation and 3D point + // cloud semantic segmentation adjustment labeling jobs. + // + // * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/PointCloudSemanticSegmentation + // + // Video Frame HumanTaskUiArns + // + // Use this HumanTaskUiArn for video frame object detection and video frame + // object detection adjustment labeling jobs. + // + // * arn:aws:sagemaker:region:394669845002:human-task-ui/VideoObjectDetection + // + // Use this HumanTaskUiArn for video frame object tracking and video frame object + // tracking adjustment labeling jobs. + // + // * arn:aws:sagemaker:aws-region:394669845002:human-task-ui/VideoObjectTracking + HumanTaskUiArn *string `type:"string"` + + // The Amazon S3 bucket location of the UI template, or worker task template. + // This is the template used to render the worker UI and tools for labeling + // job tasks. For more information about the contents of a UI template, see + // Creating Your Custom Labeling Task Template (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step2.html). + UiTemplateS3Uri *string `type:"string"` } // String returns the string representation @@ -44143,17 +46582,10 @@ func (s UiConfig) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *UiConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UiConfig"} - if s.UiTemplateS3Uri == nil { - invalidParams.Add(request.NewErrParamRequired("UiTemplateS3Uri")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetHumanTaskUiArn sets the HumanTaskUiArn field's value. +func (s *UiConfig) SetHumanTaskUiArn(v string) *UiConfig { + s.HumanTaskUiArn = &v + return s } // SetUiTemplateS3Uri sets the UiTemplateS3Uri field's value. @@ -44328,7 +46760,7 @@ type UpdateDomainInput struct { // A collection of settings. DefaultUserSettings *UserSettings `type:"structure"` - // The domain ID. + // The ID of the domain to be updated. // // DomainId is a required field DomainId *string `type:"string" required:"true"` @@ -44377,7 +46809,7 @@ func (s *UpdateDomainInput) SetDomainId(v string) *UpdateDomainInput { type UpdateDomainOutput struct { _ struct{} `type:"structure"` - // The domain Amazon Resource Name (ARN). + // The Amazon Resource Name (ARN) of the domain. DomainArn *string `type:"string"` } @@ -45426,10 +47858,14 @@ func (s *UpdateUserProfileOutput) SetUserProfileArn(v string) *UpdateUserProfile type UpdateWorkforceInput struct { _ struct{} `type:"structure"` - // A list of one to four worker IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)) + // Use this parameter to update your OIDC Identity Provider (IdP) configuration + // for a workforce made using your own IdP. + OidcConfig *OidcConfig `type:"structure"` + + // A list of one to ten worker IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)) // that can be used to access tasks assigned to this workforce. // - // Maximum: Four CIDR values + // Maximum: Ten CIDR values SourceIpConfig *SourceIpConfig `type:"structure"` // The name of the private workforce whose access you want to restrict. WorkforceName @@ -45459,6 +47895,11 @@ func (s *UpdateWorkforceInput) Validate() error { if s.WorkforceName != nil && len(*s.WorkforceName) < 1 { invalidParams.Add(request.NewErrParamMinLen("WorkforceName", 1)) } + if s.OidcConfig != nil { + if err := s.OidcConfig.Validate(); err != nil { + invalidParams.AddNested("OidcConfig", err.(request.ErrInvalidParams)) + } + } if s.SourceIpConfig != nil { if err := s.SourceIpConfig.Validate(); err != nil { invalidParams.AddNested("SourceIpConfig", err.(request.ErrInvalidParams)) @@ -45471,6 +47912,12 @@ func (s *UpdateWorkforceInput) Validate() error { return nil } +// SetOidcConfig sets the OidcConfig field's value. +func (s *UpdateWorkforceInput) SetOidcConfig(v *OidcConfig) *UpdateWorkforceInput { + s.OidcConfig = v + return s +} + // SetSourceIpConfig sets the SourceIpConfig field's value. func (s *UpdateWorkforceInput) SetSourceIpConfig(v *SourceIpConfig) *UpdateWorkforceInput { s.SourceIpConfig = v @@ -45931,23 +48378,34 @@ func (s *VpcConfig) SetSubnets(v []*string) *VpcConfig { type Workforce struct { _ struct{} `type:"structure"` + // The configuration of an Amazon Cognito workforce. A single Cognito workforce + // is created using and corresponds to a single Amazon Cognito user pool (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html). + CognitoConfig *CognitoConfig `type:"structure"` + + // The date that the workforce is created. + CreateDate *time.Time `type:"timestamp"` + // The most recent date that was used to successfully add one or more IP address // ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)) // to a private workforce's allow list. LastUpdatedDate *time.Time `type:"timestamp"` - // A list of one to four IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)) + // The configuration of an OIDC Identity Provider (IdP) private workforce. + OidcConfig *OidcConfigForResponse `type:"structure"` + + // A list of one to ten IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)) // to be added to the workforce allow list. SourceIpConfig *SourceIpConfig `type:"structure"` + // The subdomain for your OIDC Identity Provider. + SubDomain *string `type:"string"` + // The Amazon Resource Name (ARN) of the private workforce. // // WorkforceArn is a required field WorkforceArn *string `type:"string" required:"true"` - // The name of the private workforce whose access you want to restrict. WorkforceName - // is automatically set to default when a workforce is created and cannot be - // modified. + // The name of the private workforce. // // WorkforceName is a required field WorkforceName *string `min:"1" type:"string" required:"true"` @@ -45963,18 +48421,42 @@ func (s Workforce) GoString() string { return s.String() } +// SetCognitoConfig sets the CognitoConfig field's value. +func (s *Workforce) SetCognitoConfig(v *CognitoConfig) *Workforce { + s.CognitoConfig = v + return s +} + +// SetCreateDate sets the CreateDate field's value. +func (s *Workforce) SetCreateDate(v time.Time) *Workforce { + s.CreateDate = &v + return s +} + // SetLastUpdatedDate sets the LastUpdatedDate field's value. func (s *Workforce) SetLastUpdatedDate(v time.Time) *Workforce { s.LastUpdatedDate = &v return s } +// SetOidcConfig sets the OidcConfig field's value. +func (s *Workforce) SetOidcConfig(v *OidcConfigForResponse) *Workforce { + s.OidcConfig = v + return s +} + // SetSourceIpConfig sets the SourceIpConfig field's value. func (s *Workforce) SetSourceIpConfig(v *SourceIpConfig) *Workforce { s.SourceIpConfig = v return s } +// SetSubDomain sets the SubDomain field's value. +func (s *Workforce) SetSubDomain(v string) *Workforce { + s.SubDomain = &v + return s +} + // SetWorkforceArn sets the WorkforceArn field's value. func (s *Workforce) SetWorkforceArn(v string) *Workforce { s.WorkforceArn = &v @@ -46018,6 +48500,9 @@ type Workteam struct { // labeling your data objects. SubDomain *string `type:"string"` + // The Amazon Resource Name (ARN) of the workforce. + WorkforceArn *string `type:"string"` + // The Amazon Resource Name (ARN) that identifies the work team. // // WorkteamArn is a required field @@ -46081,6 +48566,12 @@ func (s *Workteam) SetSubDomain(v string) *Workteam { return s } +// SetWorkforceArn sets the WorkforceArn field's value. +func (s *Workteam) SetWorkforceArn(v string) *Workteam { + s.WorkforceArn = &v + return s +} + // SetWorkteamArn sets the WorkteamArn field's value. func (s *Workteam) SetWorkteamArn(v string) *Workteam { s.WorkteamArn = &v @@ -46676,6 +49167,14 @@ const ( FrameworkTflite = "TFLITE" ) +const ( + // HumanTaskUiStatusActive is a HumanTaskUiStatus enum value + HumanTaskUiStatusActive = "Active" + + // HumanTaskUiStatusDeleting is a HumanTaskUiStatus enum value + HumanTaskUiStatusDeleting = "Deleting" +) + const ( // HyperParameterScalingTypeAuto is a HyperParameterScalingType enum value HyperParameterScalingTypeAuto = "Auto" @@ -46869,6 +49368,9 @@ const ( ) const ( + // LabelingJobStatusInitializing is a LabelingJobStatus enum value + LabelingJobStatusInitializing = "Initializing" + // LabelingJobStatusInProgress is a LabelingJobStatus enum value LabelingJobStatusInProgress = "InProgress" @@ -46901,6 +49403,14 @@ const ( ListLabelingJobsForWorkteamSortByOptionsCreationTime = "CreationTime" ) +const ( + // ListWorkforcesSortByOptionsName is a ListWorkforcesSortByOptions enum value + ListWorkforcesSortByOptionsName = "Name" + + // ListWorkforcesSortByOptionsCreateDate is a ListWorkforcesSortByOptions enum value + ListWorkforcesSortByOptionsCreateDate = "CreateDate" +) + const ( // ListWorkteamsSortByOptionsName is a ListWorkteamsSortByOptions enum value ListWorkteamsSortByOptionsName = "Name" @@ -47744,6 +50254,9 @@ const ( // TargetDeviceMlP3 is a TargetDevice enum value TargetDeviceMlP3 = "ml_p3" + // TargetDeviceMlG4dn is a TargetDevice enum value + TargetDeviceMlG4dn = "ml_g4dn" + // TargetDeviceMlInf1 is a TargetDevice enum value TargetDeviceMlInf1 = "ml_inf1" @@ -47791,6 +50304,48 @@ const ( // TargetDeviceAmbaCv22 is a TargetDevice enum value TargetDeviceAmbaCv22 = "amba_cv22" + + // TargetDeviceX86Win32 is a TargetDevice enum value + TargetDeviceX86Win32 = "x86_win32" + + // TargetDeviceX86Win64 is a TargetDevice enum value + TargetDeviceX86Win64 = "x86_win64" +) + +const ( + // TargetPlatformAcceleratorIntelGraphics is a TargetPlatformAccelerator enum value + TargetPlatformAcceleratorIntelGraphics = "INTEL_GRAPHICS" + + // TargetPlatformAcceleratorMali is a TargetPlatformAccelerator enum value + TargetPlatformAcceleratorMali = "MALI" + + // TargetPlatformAcceleratorNvidia is a TargetPlatformAccelerator enum value + TargetPlatformAcceleratorNvidia = "NVIDIA" +) + +const ( + // TargetPlatformArchX8664 is a TargetPlatformArch enum value + TargetPlatformArchX8664 = "X86_64" + + // TargetPlatformArchX86 is a TargetPlatformArch enum value + TargetPlatformArchX86 = "X86" + + // TargetPlatformArchArm64 is a TargetPlatformArch enum value + TargetPlatformArchArm64 = "ARM64" + + // TargetPlatformArchArmEabi is a TargetPlatformArch enum value + TargetPlatformArchArmEabi = "ARM_EABI" + + // TargetPlatformArchArmEabihf is a TargetPlatformArch enum value + TargetPlatformArchArmEabihf = "ARM_EABIHF" +) + +const ( + // TargetPlatformOsAndroid is a TargetPlatformOs enum value + TargetPlatformOsAndroid = "ANDROID" + + // TargetPlatformOsLinux is a TargetPlatformOs enum value + TargetPlatformOsLinux = "LINUX" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/api.go b/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/api.go index 7dfecc65803..c6e769105bc 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/api.go @@ -58,28 +58,28 @@ func (c *SecretsManager) CancelRotateSecretRequest(input *CancelRotateSecretInpu // CancelRotateSecret API operation for AWS Secrets Manager. // // Disables automatic scheduled rotation and cancels the rotation of a secret -// if one is currently in progress. +// if currently in progress. // // To re-enable scheduled rotation, call RotateSecret with AutomaticallyRotateAfterDays -// set to a value greater than 0. This will immediately rotate your secret and -// then enable the automatic schedule. +// set to a value greater than 0. This immediately rotates your secret and then +// enables the automatic schedule. // -// If you cancel a rotation that is in progress, it can leave the VersionStage -// labels in an unexpected state. Depending on what step of the rotation was -// in progress, you might need to remove the staging label AWSPENDING from the -// partially created version, specified by the VersionId response value. You -// should also evaluate the partially rotated new version to see if it should -// be deleted, which you can do by removing all staging labels from the new -// version's VersionStage field. +// If you cancel a rotation while in progress, it can leave the VersionStage +// labels in an unexpected state. Depending on the step of the rotation in progress, +// you might need to remove the staging label AWSPENDING from the partially +// created version, specified by the VersionId response value. You should also +// evaluate the partially rotated new version to see if it should be deleted, +// which you can do by removing all staging labels from the new version VersionStage +// field. // // To successfully start a rotation, the staging label AWSPENDING must be in // one of the following states: // -// * Not be attached to any version at all +// * Not attached to any version at all // // * Attached to the same version as the staging label AWSCURRENT // -// If the staging label AWSPENDING is attached to a different version than the +// If the staging label AWSPENDING attached to a different version than the // version with AWSCURRENT then the attempt to rotate fails. // // Minimum permissions @@ -205,7 +205,7 @@ func (c *SecretsManager) CreateSecretRequest(input *CreateSecretInput) (req *req // labels" that identify where the version is in the rotation cycle. The SecretVersionsToStages // field of the secret contains the mapping of staging labels to the active // versions of the secret. Versions without a staging label are considered deprecated -// and are not included in the list. +// and not included in the list. // // You provide the secret data to be encrypted by putting text in either the // SecretString parameter or binary data in the SecretBinary parameter, but @@ -213,20 +213,19 @@ func (c *SecretsManager) CreateSecretRequest(input *CreateSecretInput) (req *req // also creates an initial secret version and automatically attaches the staging // label AWSCURRENT to the new version. // -// * If you call an operation that needs to encrypt or decrypt the SecretString -// or SecretBinary for a secret in the same account as the calling user and -// that secret doesn't specify a AWS KMS encryption key, Secrets Manager -// uses the account's default AWS managed customer master key (CMK) with -// the alias aws/secretsmanager. If this key doesn't already exist in your -// account then Secrets Manager creates it for you automatically. All users -// and roles in the same AWS account automatically have access to use the -// default CMK. Note that if an Secrets Manager API call results in AWS having -// to create the account's AWS-managed CMK, it can result in a one-time significant -// delay in returning the result. -// -// * If the secret is in a different AWS account from the credentials calling -// an API that requires encryption or decryption of the secret value then -// you must create and use a custom AWS KMS CMK because you can't access +// * If you call an operation to encrypt or decrypt the SecretString or SecretBinary +// for a secret in the same account as the calling user and that secret doesn't +// specify a AWS KMS encryption key, Secrets Manager uses the account's default +// AWS managed customer master key (CMK) with the alias aws/secretsmanager. +// If this key doesn't already exist in your account then Secrets Manager +// creates it for you automatically. All users and roles in the same AWS +// account automatically have access to use the default CMK. Note that if +// an Secrets Manager API call results in AWS creating the account's AWS-managed +// CMK, it can result in a one-time significant delay in returning the result. +// +// * If the secret resides in a different AWS account from the credentials +// calling an API that requires encryption or decryption of the secret value +// then you must create and use a custom AWS KMS CMK because you can't access // the default CMK for the account using credentials from a different AWS // account. Store the ARN of the CMK in the secret when you create the secret // or when you update it by including it in the KMSKeyId. If you call an @@ -243,10 +242,10 @@ func (c *SecretsManager) CreateSecretRequest(input *CreateSecretInput) (req *req // // * kms:GenerateDataKey - needed only if you use a customer-managed AWS // KMS key to encrypt the secret. You do not need this permission to use -// the account's default AWS managed CMK for Secrets Manager. +// the account default AWS managed CMK for Secrets Manager. // // * kms:Decrypt - needed only if you use a customer-managed AWS KMS key -// to encrypt the secret. You do not need this permission to use the account's +// to encrypt the secret. You do not need this permission to use the account // default AWS managed CMK for Secrets Manager. // // * secretsmanager:TagResource - needed only if you include the Tags parameter. @@ -384,7 +383,7 @@ func (c *SecretsManager) DeleteResourcePolicyRequest(input *DeleteResourcePolicy // DeleteResourcePolicy API operation for AWS Secrets Manager. // -// Deletes the resource-based permission policy that's attached to the secret. +// Deletes the resource-based permission policy attached to the secret. // // Minimum permissions // @@ -628,7 +627,7 @@ func (c *SecretsManager) DescribeSecretRequest(input *DescribeSecretInput) (req // DescribeSecret API operation for AWS Secrets Manager. // // Retrieves the details of a secret. It does not include the encrypted fields. -// Only those fields that are populated with a value are returned in the response. +// Secrets Manager only returns fields populated with a value in the response. // // Minimum permissions // @@ -831,10 +830,10 @@ func (c *SecretsManager) GetResourcePolicyRequest(input *GetResourcePolicyInput) // GetResourcePolicy API operation for AWS Secrets Manager. // -// Retrieves the JSON text of the resource-based policy document that's attached -// to the specified secret. The JSON request string input and response output -// are shown formatted with white space and line breaks for better readability. -// Submit your input as a single line JSON string. +// Retrieves the JSON text of the resource-based policy document attached to +// the specified secret. The JSON request string input and response output displays +// formatted code with white space and line breaks for better readability. Submit +// your input as a single line JSON string. // // Minimum permissions // @@ -846,8 +845,7 @@ func (c *SecretsManager) GetResourcePolicyRequest(input *GetResourcePolicyInput) // // * To attach a resource policy to a secret, use PutResourcePolicy. // -// * To delete the resource-based policy that's attached to a secret, use -// DeleteResourcePolicy. +// * To delete the resource-based policy attached to a secret, use DeleteResourcePolicy. // // * To list all of the currently available secrets, use ListSecrets. // @@ -1077,7 +1075,7 @@ func (c *SecretsManager) ListSecretVersionIdsRequest(input *ListSecretVersionIds // // Always check the NextToken response parameter when calling any of the List* // operations. These operations can occasionally return an empty or shorter -// than expected list of results even when there are more results available. +// than expected list of results even when there more results become available. // When this happens, the NextToken response parameter contains a value to pass // to the next call to the same API to request the next part of the list. // @@ -1239,7 +1237,7 @@ func (c *SecretsManager) ListSecretsRequest(input *ListSecretsInput) (req *reque // // Always check the NextToken response parameter when calling any of the List* // operations. These operations can occasionally return an empty or shorter -// than expected list of results even when there are more results available. +// than expected list of results even when there more results become available. // When this happens, the NextToken response parameter contains a value to pass // to the next call to the same API to request the next part of the list. // @@ -1408,7 +1406,7 @@ func (c *SecretsManager) PutResourcePolicyRequest(input *PutResourcePolicyInput) // // Related operations // -// * To retrieve the resource policy that's attached to a secret, use GetResourcePolicy. +// * To retrieve the resource policy attached to a secret, use GetResourcePolicy. // // * To delete the resource-based policy that's attached to a secret, use // DeleteResourcePolicy. @@ -1448,6 +1446,9 @@ func (c *SecretsManager) PutResourcePolicyRequest(input *PutResourcePolicyInput) // Lambda function ARN configured and you didn't include such an ARN as a // parameter in this call. // +// * PublicPolicyException +// The resource policy did not prevent broad access to the secret. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/PutResourcePolicy func (c *SecretsManager) PutResourcePolicy(input *PutResourcePolicyInput) (*PutResourcePolicyOutput, error) { req, out := c.PutResourcePolicyRequest(input) @@ -1542,20 +1543,19 @@ func (c *SecretsManager) PutSecretValueRequest(input *PutSecretValueInput) (req // However, if the secret data is different, then the operation fails because // you cannot modify an existing version; you can only create new ones. // -// * If you call an operation that needs to encrypt or decrypt the SecretString -// or SecretBinary for a secret in the same account as the calling user and -// that secret doesn't specify a AWS KMS encryption key, Secrets Manager -// uses the account's default AWS managed customer master key (CMK) with -// the alias aws/secretsmanager. If this key doesn't already exist in your -// account then Secrets Manager creates it for you automatically. All users -// and roles in the same AWS account automatically have access to use the -// default CMK. Note that if an Secrets Manager API call results in AWS having -// to create the account's AWS-managed CMK, it can result in a one-time significant -// delay in returning the result. -// -// * If the secret is in a different AWS account from the credentials calling -// an API that requires encryption or decryption of the secret value then -// you must create and use a custom AWS KMS CMK because you can't access +// * If you call an operation to encrypt or decrypt the SecretString or SecretBinary +// for a secret in the same account as the calling user and that secret doesn't +// specify a AWS KMS encryption key, Secrets Manager uses the account's default +// AWS managed customer master key (CMK) with the alias aws/secretsmanager. +// If this key doesn't already exist in your account then Secrets Manager +// creates it for you automatically. All users and roles in the same AWS +// account automatically have access to use the default CMK. Note that if +// an Secrets Manager API call results in AWS creating the account's AWS-managed +// CMK, it can result in a one-time significant delay in returning the result. +// +// * If the secret resides in a different AWS account from the credentials +// calling an API that requires encryption or decryption of the secret value +// then you must create and use a custom AWS KMS CMK because you can't access // the default CMK for the account using credentials from a different AWS // account. Store the ARN of the CMK in the secret when you create the secret // or when you update it by including it in the KMSKeyId. If you call an @@ -1821,7 +1821,7 @@ func (c *SecretsManager) RotateSecretRequest(input *RotateSecretInput) (req *req // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) // in the AWS Secrets Manager User Guide. // -// Secrets Manager schedules the next rotation when the previous one is complete. +// Secrets Manager schedules the next rotation when the previous one completes. // Secrets Manager schedules the date by adding the rotation interval (number // of days) to the actual date of the last rotation. The service chooses the // hour within that 24-hour date window randomly. The minute is also chosen @@ -1836,10 +1836,9 @@ func (c *SecretsManager) RotateSecretRequest(input *RotateSecretInput) (req *req // // * The AWSPENDING staging label is not attached to any version of the secret. // -// If instead the AWSPENDING staging label is present but is not attached to -// the same version as AWSCURRENT then any later invocation of RotateSecret -// assumes that a previous rotation request is still in progress and returns -// an error. +// If the AWSPENDING staging label is present but not attached to the same version +// as AWSCURRENT then any later invocation of RotateSecret assumes that a previous +// rotation request is still in progress and returns an error. // // Minimum permissions // @@ -1973,14 +1972,14 @@ func (c *SecretsManager) TagResourceRequest(input *TagResourceInput) (req *reque // // * Tag keys and values are case sensitive. // -// * Do not use the aws: prefix in your tag names or values because it is -// reserved for AWS use. You can't edit or delete tag names or values with -// this prefix. Tags with this prefix do not count against your tags per -// secret limit. +// * Do not use the aws: prefix in your tag names or values because AWS reserves +// it for AWS use. You can't edit or delete tag names or values with this +// prefix. Tags with this prefix do not count against your tags per secret +// limit. // -// * If your tagging schema will be used across multiple services and resources, -// remember that other services might have restrictions on allowed characters. -// Generally allowed characters are: letters, spaces, and numbers representable +// * If you use your tagging schema across multiple services and resources, +// remember other services might have restrictions on allowed characters. +// Generally allowed characters: letters, spaces, and numbers representable // in UTF-8, plus the following special characters: + - = . _ : / @. // // If you use tags as part of your security strategy, then adding or removing @@ -2236,20 +2235,19 @@ func (c *SecretsManager) UpdateSecretRequest(input *UpdateSecretInput) (req *req // Secrets Manager automatically attaches the staging label AWSCURRENT to // the new version. // -// * If you call an operation that needs to encrypt or decrypt the SecretString -// or SecretBinary for a secret in the same account as the calling user and -// that secret doesn't specify a AWS KMS encryption key, Secrets Manager -// uses the account's default AWS managed customer master key (CMK) with -// the alias aws/secretsmanager. If this key doesn't already exist in your -// account then Secrets Manager creates it for you automatically. All users -// and roles in the same AWS account automatically have access to use the -// default CMK. Note that if an Secrets Manager API call results in AWS having -// to create the account's AWS-managed CMK, it can result in a one-time significant -// delay in returning the result. -// -// * If the secret is in a different AWS account from the credentials calling -// an API that requires encryption or decryption of the secret value then -// you must create and use a custom AWS KMS CMK because you can't access +// * If you call an operation to encrypt or decrypt the SecretString or SecretBinary +// for a secret in the same account as the calling user and that secret doesn't +// specify a AWS KMS encryption key, Secrets Manager uses the account's default +// AWS managed customer master key (CMK) with the alias aws/secretsmanager. +// If this key doesn't already exist in your account then Secrets Manager +// creates it for you automatically. All users and roles in the same AWS +// account automatically have access to use the default CMK. Note that if +// an Secrets Manager API call results in AWS creating the account's AWS-managed +// CMK, it can result in a one-time significant delay in returning the result. +// +// * If the secret resides in a different AWS account from the credentials +// calling an API that requires encryption or decryption of the secret value +// then you must create and use a custom AWS KMS CMK because you can't access // the default CMK for the account using credentials from a different AWS // account. Store the ARN of the CMK in the secret when you create the secret // or when you update it by including it in the KMSKeyId. If you call an @@ -2487,12 +2485,115 @@ func (c *SecretsManager) UpdateSecretVersionStageWithContext(ctx aws.Context, in return out, req.Send() } +const opValidateResourcePolicy = "ValidateResourcePolicy" + +// ValidateResourcePolicyRequest generates a "aws/request.Request" representing the +// client's request for the ValidateResourcePolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ValidateResourcePolicy for more information on using the ValidateResourcePolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ValidateResourcePolicyRequest method. +// req, resp := client.ValidateResourcePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/ValidateResourcePolicy +func (c *SecretsManager) ValidateResourcePolicyRequest(input *ValidateResourcePolicyInput) (req *request.Request, output *ValidateResourcePolicyOutput) { + op := &request.Operation{ + Name: opValidateResourcePolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ValidateResourcePolicyInput{} + } + + output = &ValidateResourcePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// ValidateResourcePolicy API operation for AWS Secrets Manager. +// +// Validates the JSON text of the resource-based policy document attached to +// the specified secret. The JSON request string input and response output displays +// formatted code with white space and line breaks for better readability. Submit +// your input as a single line JSON string. A resource-based policy is optional. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Secrets Manager's +// API operation ValidateResourcePolicy for usage and error information. +// +// Returned Error Types: +// * MalformedPolicyDocumentException +// The policy document that you provided isn't valid. +// +// * ResourceNotFoundException +// We can't find the resource that you asked for. +// +// * InvalidParameterException +// You provided an invalid value for a parameter. +// +// * InternalServiceError +// An error occurred on the server side. +// +// * InvalidRequestException +// You provided a parameter value that is not valid for the current state of +// the resource. +// +// Possible causes: +// +// * You tried to perform the operation on a secret that's currently marked +// deleted. +// +// * You tried to enable rotation on a secret that doesn't already have a +// Lambda function ARN configured and you didn't include such an ARN as a +// parameter in this call. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/ValidateResourcePolicy +func (c *SecretsManager) ValidateResourcePolicy(input *ValidateResourcePolicyInput) (*ValidateResourcePolicyOutput, error) { + req, out := c.ValidateResourcePolicyRequest(input) + return out, req.Send() +} + +// ValidateResourcePolicyWithContext is the same as ValidateResourcePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See ValidateResourcePolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SecretsManager) ValidateResourcePolicyWithContext(ctx aws.Context, input *ValidateResourcePolicyInput, opts ...request.Option) (*ValidateResourcePolicyOutput, error) { + req, out := c.ValidateResourcePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + type CancelRotateSecretInput struct { _ struct{} `type:"structure"` - // Specifies the secret for which you want to cancel a rotation request. You - // can specify either the Amazon Resource Name (ARN) or the friendly name of - // the secret. + // Specifies the secret to cancel a rotation request. You can specify either + // the Amazon Resource Name (ARN) or the friendly name of the secret. // // If you specify an ARN, we generally recommend that you specify a complete // ARN. You can specify a partial ARN too—for example, if you don’t include @@ -2504,7 +2605,12 @@ type CancelRotateSecretInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -2551,11 +2657,11 @@ type CancelRotateSecretOutput struct { // The friendly name of the secret for which rotation was canceled. Name *string `min:"1" type:"string"` - // The unique identifier of the version of the secret that was created during - // the rotation. This version might not be complete, and should be evaluated - // for possible deletion. At the very least, you should remove the VersionStage - // value AWSPENDING to enable this version to be deleted. Failing to clean up - // a cancelled rotation can block you from successfully starting future rotations. + // The unique identifier of the version of the secret created during the rotation. + // This version might not be complete, and should be evaluated for possible + // deletion. At the very least, you should remove the VersionStage value AWSPENDING + // to enable this version to be deleted. Failing to clean up a cancelled rotation + // can block you from successfully starting future rotations. VersionId *string `min:"32" type:"string"` } @@ -2599,7 +2705,7 @@ type CreateSecretInput struct { // for you and includes it as the value for this parameter in the request. If // you don't use the SDK and instead generate a raw HTTP request to the Secrets // Manager service endpoint, then you must generate a ClientRequestToken yourself - // for the new version and include that value in the request. + // for the new version and include the value in the request. // // This value helps ensure idempotency. Secrets Manager uses this value to prevent // the accidental creation of duplicate versions if there are failures and retries @@ -2609,9 +2715,9 @@ type CreateSecretInput struct { // * If the ClientRequestToken value isn't already associated with a version // of the secret then a new version of the secret is created. // - // * If a version with this value already exists and that version's SecretString + // * If a version with this value already exists and the version SecretString // and SecretBinary values are the same as those in the request, then the - // request is ignored (the operation is idempotent). + // request is ignored. // // * If a version with this value already exists and that version's SecretString // and SecretBinary values are different from those in the request then the @@ -2638,9 +2744,9 @@ type CreateSecretInput struct { // you automatically the first time it needs to encrypt a version's SecretString // or SecretBinary fields. // - // You can use the account's default CMK to encrypt and decrypt only if you - // call this operation using credentials from the same account that owns the - // secret. If the secret is in a different account, then you must create a custom + // You can use the account default CMK to encrypt and decrypt only if you call + // this operation using credentials from the same account that owns the secret. + // If the secret resides in a different account, then you must create a custom // CMK and specify the ARN in this field. KmsKeyId *string `type:"string"` @@ -2649,10 +2755,10 @@ type CreateSecretInput struct { // The secret name must be ASCII letters, digits, or the following characters // : /_+=.@- // - // Don't end your secret name with a hyphen followed by six characters. If you - // do so, you risk confusion and unexpected results when searching for a secret - // by partial ARN. This is because Secrets Manager automatically adds a hyphen - // and six random characters at the end of the ARN. + // Do not end your secret name with a hyphen followed by six characters. If + // you do so, you risk confusion and unexpected results when searching for a + // secret by partial ARN. Secrets Manager automatically adds a hyphen and six + // random characters at the end of the ARN. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -2688,7 +2794,7 @@ type CreateSecretInput struct { // JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json) // in the AWS CLI User Guide. For example: // - // [{"username":"bob"},{"password":"abc123xyz456"}] + // {"username":"bob","password":"abc123xyz456"} // // If your command-line tool or SDK requires quotation marks around the parameter, // you should use single quotes to avoid confusion with the double quotes required @@ -2729,14 +2835,14 @@ type CreateSecretInput struct { // // * Tag keys and values are case sensitive. // - // * Do not use the aws: prefix in your tag names or values because it is - // reserved for AWS use. You can't edit or delete tag names or values with - // this prefix. Tags with this prefix do not count against your tags per - // secret limit. + // * Do not use the aws: prefix in your tag names or values because AWS reserves + // it for AWS use. You can't edit or delete tag names or values with this + // prefix. Tags with this prefix do not count against your tags per secret + // limit. // - // * If your tagging schema will be used across multiple services and resources, - // remember that other services might have restrictions on allowed characters. - // Generally allowed characters are: letters, spaces, and numbers representable + // * If you use your tagging schema across multiple services and resources, + // remember other services might have restrictions on allowed characters. + // Generally allowed characters: letters, spaces, and numbers representable // in UTF-8, plus the following special characters: + - = . _ : / @. Tags []*Tag `type:"list"` } @@ -2838,8 +2944,8 @@ type CreateSecretOutput struct { // The friendly name of the secret that you just created. Name *string `min:"1" type:"string"` - // The unique identifier that's associated with the version of the secret you - // just created. + // The unique identifier associated with the version of the secret you just + // created. VersionId *string `min:"32" type:"string"` } @@ -2945,7 +3051,12 @@ type DeleteResourcePolicyInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -3055,7 +3166,12 @@ type DeleteSecretInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -3165,7 +3281,12 @@ type DescribeSecretInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -3209,6 +3330,9 @@ type DescribeSecretOutput struct { // The ARN of the secret. ARN *string `min:"20" type:"string"` + // The date that the secret was created. + CreatedDate *time.Time `type:"timestamp"` + // This value exists if the secret is scheduled for deletion. Some time after // the specified date and time, Secrets Manager deletes the secret and all of // its versions. @@ -3288,6 +3412,12 @@ func (s *DescribeSecretOutput) SetARN(v string) *DescribeSecretOutput { return s } +// SetCreatedDate sets the CreatedDate field's value. +func (s *DescribeSecretOutput) SetCreatedDate(v time.Time) *DescribeSecretOutput { + s.CreatedDate = &v + return s +} + // SetDeletedDate sets the DeletedDate field's value. func (s *DescribeSecretOutput) SetDeletedDate(v time.Time) *DescribeSecretOutput { s.DeletedDate = &v @@ -3425,6 +3555,52 @@ func (s *EncryptionFailure) RequestID() string { return s.RespMetadata.RequestID } +// Allows you to filter your list of secrets. +type Filter struct { + _ struct{} `type:"structure"` + + // Filters your list of secrets by a specific key. + Key *string `type:"string" enum:"FilterNameStringType"` + + // Filters your list of secrets by a specific value. + Values []*string `min:"1" type:"list"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Filter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Filter"} + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Filter) SetKey(v string) *Filter { + s.Key = &v + return s +} + +// SetValues sets the Values field's value. +func (s *Filter) SetValues(v []*string) *Filter { + s.Values = v + return s +} + type GetRandomPasswordInput struct { _ struct{} `type:"structure"` @@ -3584,7 +3760,12 @@ type GetResourcePolicyInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -3687,7 +3868,12 @@ type GetSecretValueInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -4162,7 +4348,7 @@ type ListSecretVersionIdsInput struct { // deprecated and are subject to deletion by Secrets Manager as needed. IncludeDeprecated *bool `type:"boolean"` - // (Optional) Limits the number of results that you want to include in the response. + // (Optional) Limits the number of results you want to include in the response. // If you don't include this parameter, it defaults to a value that's specific // to the operation. If additional items exist beyond the maximum you specify, // the NextToken response element is present and has a value (isn't null). Include @@ -4174,9 +4360,9 @@ type ListSecretVersionIdsInput struct { MaxResults *int64 `min:"1" type:"integer"` // (Optional) Use this parameter in a request if you receive a NextToken response - // in a previous request that indicates that there's more output available. - // In a subsequent call, set it to the value of the previous call's NextToken - // response to indicate where the output should continue from. + // in a previous request indicating there's more output available. In a subsequent + // call, set it to the value of the previous call NextToken response to indicate + // where the output should continue from. NextToken *string `min:"1" type:"string"` // The identifier for the secret containing the versions you want to list. You @@ -4193,7 +4379,12 @@ type ListSecretVersionIdsInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -4272,8 +4463,8 @@ type ListSecretVersionIdsOutput struct { Name *string `min:"1" type:"string"` // If present in the response, this value indicates that there's more output - // available than what's included in the current response. This can occur even - // when the response includes no values at all, such as when you ask for a filtered + // available than included in the current response. This can occur even when + // the response includes no values at all, such as when you ask for a filtered // view of a very long list. Use this value in the NextToken request parameter // in a subsequent call to the operation to continue processing and get the // next part of the output. You should repeat this until the NextToken response @@ -4321,7 +4512,10 @@ func (s *ListSecretVersionIdsOutput) SetVersions(v []*SecretVersionsListEntry) * type ListSecretsInput struct { _ struct{} `type:"structure"` - // (Optional) Limits the number of results that you want to include in the response. + // Lists the secret request filters. + Filters []*Filter `type:"list"` + + // (Optional) Limits the number of results you want to include in the response. // If you don't include this parameter, it defaults to a value that's specific // to the operation. If additional items exist beyond the maximum you specify, // the NextToken response element is present and has a value (isn't null). Include @@ -4333,10 +4527,13 @@ type ListSecretsInput struct { MaxResults *int64 `min:"1" type:"integer"` // (Optional) Use this parameter in a request if you receive a NextToken response - // in a previous request that indicates that there's more output available. - // In a subsequent call, set it to the value of the previous call's NextToken - // response to indicate where the output should continue from. + // in a previous request indicating there's more output available. In a subsequent + // call, set it to the value of the previous call NextToken response to indicate + // where the output should continue from. NextToken *string `min:"1" type:"string"` + + // Lists secrets in the requested order. + SortOrder *string `type:"string" enum:"SortOrderType"` } // String returns the string representation @@ -4358,6 +4555,16 @@ func (s *ListSecretsInput) Validate() error { if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -4365,6 +4572,12 @@ func (s *ListSecretsInput) Validate() error { return nil } +// SetFilters sets the Filters field's value. +func (s *ListSecretsInput) SetFilters(v []*Filter) *ListSecretsInput { + s.Filters = v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListSecretsInput) SetMaxResults(v int64) *ListSecretsInput { s.MaxResults = &v @@ -4377,12 +4590,18 @@ func (s *ListSecretsInput) SetNextToken(v string) *ListSecretsInput { return s } +// SetSortOrder sets the SortOrder field's value. +func (s *ListSecretsInput) SetSortOrder(v string) *ListSecretsInput { + s.SortOrder = &v + return s +} + type ListSecretsOutput struct { _ struct{} `type:"structure"` // If present in the response, this value indicates that there's more output - // available than what's included in the current response. This can occur even - // when the response includes no values at all, such as when you ask for a filtered + // available than included in the current response. This can occur even when + // the response includes no values at all, such as when you ask for a filtered // view of a very long list. Use this value in the NextToken request parameter // in a subsequent call to the operation to continue processing and get the // next part of the output. You should repeat this until the NextToken response @@ -4527,9 +4746,69 @@ func (s *PreconditionNotMetException) RequestID() string { return s.RespMetadata.RequestID } +// The resource policy did not prevent broad access to the secret. +type PublicPolicyException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s PublicPolicyException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PublicPolicyException) GoString() string { + return s.String() +} + +func newErrorPublicPolicyException(v protocol.ResponseMetadata) error { + return &PublicPolicyException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *PublicPolicyException) Code() string { + return "PublicPolicyException" +} + +// Message returns the exception's message. +func (s *PublicPolicyException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *PublicPolicyException) OrigErr() error { + return nil +} + +func (s *PublicPolicyException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *PublicPolicyException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *PublicPolicyException) RequestID() string { + return s.RespMetadata.RequestID +} + type PutResourcePolicyInput struct { _ struct{} `type:"structure"` + // Makes an optional API call to Zelkova to validate the Resource Policy to + // prevent broad access to your secret. + BlockPublicPolicy *bool `type:"boolean"` + // A JSON-formatted string that's constructed according to the grammar and syntax // for an AWS resource-based policy. The policy in the string identifies who // can access or manage this secret and its versions. For information on how @@ -4553,7 +4832,12 @@ type PutResourcePolicyInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -4591,6 +4875,12 @@ func (s *PutResourcePolicyInput) Validate() error { return nil } +// SetBlockPublicPolicy sets the BlockPublicPolicy field's value. +func (s *PutResourcePolicyInput) SetBlockPublicPolicy(v bool) *PutResourcePolicyInput { + s.BlockPublicPolicy = &v + return s +} + // SetResourcePolicy sets the ResourcePolicy field's value. func (s *PutResourcePolicyInput) SetResourcePolicy(v string) *PutResourcePolicyInput { s.ResourcePolicy = &v @@ -4606,11 +4896,11 @@ func (s *PutResourcePolicyInput) SetSecretId(v string) *PutResourcePolicyInput { type PutResourcePolicyOutput struct { _ struct{} `type:"structure"` - // The ARN of the secret that the resource-based policy was retrieved for. + // The ARN of the secret retrieved by the resource-based policy. ARN *string `min:"20" type:"string"` - // The friendly name of the secret that the resource-based policy was retrieved - // for. + // The friendly name of the secret that the retrieved by the resource-based + // policy. Name *string `min:"1" type:"string"` } @@ -4661,7 +4951,7 @@ type PutSecretValueInput struct { // or SecretBinary values are the same as those in the request then the request // is ignored (the operation is idempotent). // - // * If a version with this value already exists and that version's SecretString + // * If a version with this value already exists and the version of the SecretString // and SecretBinary values are different from those in the request then the // request fails because you cannot modify an existing secret version. You // can only create new versions to store new secret values. @@ -4696,7 +4986,12 @@ type PutSecretValueInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -4983,7 +5278,12 @@ type RestoreSecretInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -5066,9 +5366,9 @@ type RotateSecretInput struct { // service endpoint, then you must generate a ClientRequestToken yourself for // new versions and include that value in the request. // - // You only need to specify your own value if you are implementing your own - // retry logic and want to ensure that a given secret is not created twice. - // We recommend that you generate a UUID-type (https://wikipedia.org/wiki/Universally_unique_identifier) + // You only need to specify your own value if you implement your own retry logic + // and want to ensure that a given secret is not created twice. We recommend + // that you generate a UUID-type (https://wikipedia.org/wiki/Universally_unique_identifier) // value to ensure uniqueness within the specified secret. // // Secrets Manager uses this value to prevent the accidental creation of duplicate @@ -5095,7 +5395,12 @@ type RotateSecretInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -5259,7 +5564,10 @@ type SecretListEntry struct { // in the AWS Secrets Manager User Guide. ARN *string `min:"20" type:"string"` - // The date and time on which this secret was deleted. Not present on active + // The date and time when a secret was created. + CreatedDate *time.Time `type:"timestamp"` + + // The date and time the deletion of the secret occurred. Not present on active // secrets. The secret can be recovered until the number of days in the recovery // window has passed, as specified in the RecoveryWindowInDays parameter of // the DeleteSecret operation. @@ -5268,10 +5576,10 @@ type SecretListEntry struct { // The user-provided description of the secret. Description *string `type:"string"` - // The ARN or alias of the AWS KMS customer master key (CMK) that's used to - // encrypt the SecretString and SecretBinary fields in each version of the secret. - // If you don't provide a key, then Secrets Manager defaults to encrypting the - // secret fields with the default KMS CMK (the one named awssecretsmanager) + // The ARN or alias of the AWS KMS customer master key (CMK) used to encrypt + // the SecretString and SecretBinary fields in each version of the secret. If + // you don't provide a key, then Secrets Manager defaults to encrypting the + // secret fields with the default KMS CMK, the key named awssecretsmanager, // for this account. KmsKeyId *string `type:"string"` @@ -5297,24 +5605,24 @@ type SecretListEntry struct { // Indicates whether automatic, scheduled rotation is enabled for this secret. RotationEnabled *bool `type:"boolean"` - // The ARN of an AWS Lambda function that's invoked by Secrets Manager to rotate - // and expire the secret either automatically per the schedule or manually by - // a call to RotateSecret. + // The ARN of an AWS Lambda function invoked by Secrets Manager to rotate and + // expire the secret either automatically per the schedule or manually by a + // call to RotateSecret. RotationLambdaARN *string `type:"string"` // A structure that defines the rotation configuration for the secret. RotationRules *RotationRulesType `type:"structure"` // A list of all of the currently assigned SecretVersionStage staging labels - // and the SecretVersionId that each is attached to. Staging labels are used - // to keep track of the different versions during the rotation process. + // and the SecretVersionId attached to each one. Staging labels are used to + // keep track of the different versions during the rotation process. // // A version that does not have any SecretVersionStage is considered deprecated // and subject to deletion. Such versions are not included in this list. SecretVersionsToStages map[string][]*string `type:"map"` - // The list of user-defined tags that are associated with the secret. To add - // tags to a secret, use TagResource. To remove tags, use UntagResource. + // The list of user-defined tags associated with the secret. To add tags to + // a secret, use TagResource. To remove tags, use UntagResource. Tags []*Tag `type:"list"` } @@ -5334,6 +5642,12 @@ func (s *SecretListEntry) SetARN(v string) *SecretListEntry { return s } +// SetCreatedDate sets the CreatedDate field's value. +func (s *SecretListEntry) SetCreatedDate(v time.Time) *SecretListEntry { + s.CreatedDate = &v + return s +} + // SetDeletedDate sets the DeletedDate field's value. func (s *SecretListEntry) SetDeletedDate(v time.Time) *SecretListEntry { s.DeletedDate = &v @@ -5472,7 +5786,7 @@ type Tag struct { // The key identifier, or name, of the tag. Key *string `min:"1" type:"string"` - // The string value that's associated with the key of the tag. + // The string value associated with the key of the tag. Value *string `type:"string"` } @@ -5527,7 +5841,12 @@ type TagResourceInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -5627,7 +5946,12 @@ type UntagResourceInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -5776,7 +6100,12 @@ type UpdateSecretInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -5926,7 +6255,7 @@ func (s *UpdateSecretOutput) SetVersionId(v string) *UpdateSecretOutput { type UpdateSecretVersionStageInput struct { _ struct{} `type:"structure"` - // (Optional) The secret version ID that you want to add the staging label to. + // (Optional) The secret version ID that you want to add the staging label. // If you want to remove a label from a version, then do not specify this parameter. // // If the staging label is already attached to a different version of the secret, @@ -5941,9 +6270,9 @@ type UpdateSecretVersionStageInput struct { // the version ID does not match, then the operation fails. RemoveFromVersionId *string `min:"32" type:"string"` - // Specifies the secret with the version whose list of staging labels you want - // to modify. You can specify either the Amazon Resource Name (ARN) or the friendly - // name of the secret. + // Specifies the secret with the version with the list of staging labels you + // want to modify. You can specify either the Amazon Resource Name (ARN) or + // the friendly name of the secret. // // If you specify an ARN, we generally recommend that you specify a complete // ARN. You can specify a partial ARN too—for example, if you don’t include @@ -5955,7 +6284,12 @@ type UpdateSecretVersionStageInput struct { // a partial ARN, then those characters cause Secrets Manager to assume that // you’re specifying a complete ARN. This confusion can cause unexpected results. // To avoid this situation, we recommend that you don’t create secret names - // that end with a hyphen followed by six characters. + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. // // SecretId is a required field SecretId *string `min:"1" type:"string" required:"true"` @@ -6031,10 +6365,10 @@ func (s *UpdateSecretVersionStageInput) SetVersionStage(v string) *UpdateSecretV type UpdateSecretVersionStageOutput struct { _ struct{} `type:"structure"` - // The ARN of the secret with the staging label that was modified. + // The ARN of the secret with the modified staging label. ARN *string `min:"20" type:"string"` - // The friendly name of the secret with the staging label that was modified. + // The friendly name of the secret with the modified staging label. Name *string `min:"1" type:"string"` } @@ -6059,3 +6393,166 @@ func (s *UpdateSecretVersionStageOutput) SetName(v string) *UpdateSecretVersionS s.Name = &v return s } + +type ValidateResourcePolicyInput struct { + _ struct{} `type:"structure"` + + // Identifies the Resource Policy attached to the secret. + // + // ResourcePolicy is a required field + ResourcePolicy *string `min:"1" type:"string" required:"true"` + + // The identifier for the secret that you want to validate a resource policy. + // You can specify either the Amazon Resource Name (ARN) or the friendly name + // of the secret. + // + // If you specify an ARN, we generally recommend that you specify a complete + // ARN. You can specify a partial ARN too—for example, if you don’t include + // the final hyphen and six random characters that Secrets Manager adds at the + // end of the ARN when you created the secret. A partial ARN match can work + // as long as it uniquely matches only one secret. However, if your secret has + // a name that ends in a hyphen followed by six characters (before Secrets Manager + // adds the hyphen and six characters to the ARN) and you try to use that as + // a partial ARN, then those characters cause Secrets Manager to assume that + // you’re specifying a complete ARN. This confusion can cause unexpected results. + // To avoid this situation, we recommend that you don’t create secret names + // ending with a hyphen followed by six characters. + // + // If you specify an incomplete ARN without the random suffix, and instead provide + // the 'friendly name', you must not include the random suffix. If you do include + // the random suffix added by Secrets Manager, you receive either a ResourceNotFoundException + // or an AccessDeniedException error, depending on your permissions. + SecretId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ValidateResourcePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidateResourcePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ValidateResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ValidateResourcePolicyInput"} + if s.ResourcePolicy == nil { + invalidParams.Add(request.NewErrParamRequired("ResourcePolicy")) + } + if s.ResourcePolicy != nil && len(*s.ResourcePolicy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourcePolicy", 1)) + } + if s.SecretId != nil && len(*s.SecretId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecretId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourcePolicy sets the ResourcePolicy field's value. +func (s *ValidateResourcePolicyInput) SetResourcePolicy(v string) *ValidateResourcePolicyInput { + s.ResourcePolicy = &v + return s +} + +// SetSecretId sets the SecretId field's value. +func (s *ValidateResourcePolicyInput) SetSecretId(v string) *ValidateResourcePolicyInput { + s.SecretId = &v + return s +} + +type ValidateResourcePolicyOutput struct { + _ struct{} `type:"structure"` + + // Returns a message stating that your Reource Policy passed validation. + PolicyValidationPassed *bool `type:"boolean"` + + // Returns an error message if your policy doesn't pass validatation. + ValidationErrors []*ValidationErrorsEntry `type:"list"` +} + +// String returns the string representation +func (s ValidateResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidateResourcePolicyOutput) GoString() string { + return s.String() +} + +// SetPolicyValidationPassed sets the PolicyValidationPassed field's value. +func (s *ValidateResourcePolicyOutput) SetPolicyValidationPassed(v bool) *ValidateResourcePolicyOutput { + s.PolicyValidationPassed = &v + return s +} + +// SetValidationErrors sets the ValidationErrors field's value. +func (s *ValidateResourcePolicyOutput) SetValidationErrors(v []*ValidationErrorsEntry) *ValidateResourcePolicyOutput { + s.ValidationErrors = v + return s +} + +// Displays errors that occurred during validation of the resource policy. +type ValidationErrorsEntry struct { + _ struct{} `type:"structure"` + + // Checks the name of the policy. + CheckName *string `min:"1" type:"string"` + + // Displays error messages if validation encounters problems during validation + // of the resource policy. + ErrorMessage *string `type:"string"` +} + +// String returns the string representation +func (s ValidationErrorsEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidationErrorsEntry) GoString() string { + return s.String() +} + +// SetCheckName sets the CheckName field's value. +func (s *ValidationErrorsEntry) SetCheckName(v string) *ValidationErrorsEntry { + s.CheckName = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *ValidationErrorsEntry) SetErrorMessage(v string) *ValidationErrorsEntry { + s.ErrorMessage = &v + return s +} + +const ( + // FilterNameStringTypeDescription is a FilterNameStringType enum value + FilterNameStringTypeDescription = "description" + + // FilterNameStringTypeName is a FilterNameStringType enum value + FilterNameStringTypeName = "name" + + // FilterNameStringTypeTagKey is a FilterNameStringType enum value + FilterNameStringTypeTagKey = "tag-key" + + // FilterNameStringTypeTagValue is a FilterNameStringType enum value + FilterNameStringTypeTagValue = "tag-value" + + // FilterNameStringTypeAll is a FilterNameStringType enum value + FilterNameStringTypeAll = "all" +) + +const ( + // SortOrderTypeAsc is a SortOrderType enum value + SortOrderTypeAsc = "asc" + + // SortOrderTypeDesc is a SortOrderType enum value + SortOrderTypeDesc = "desc" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/doc.go b/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/doc.go index b931ba87c0a..71cfce04145 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/doc.go @@ -3,7 +3,7 @@ // Package secretsmanager provides the client and types for making API // requests to AWS Secrets Manager. // -// AWS Secrets Manager is a web service that enables you to store, manage, and +// AWS Secrets Manager provides a service to enable you to store, manage, and // retrieve, secrets. // // This guide provides descriptions of the Secrets Manager API. For more information @@ -14,25 +14,25 @@ // This version of the Secrets Manager API Reference documents the Secrets Manager // API version 2017-10-17. // -// As an alternative to using the API directly, you can use one of the AWS SDKs, -// which consist of libraries and sample code for various programming languages -// and platforms (such as Java, Ruby, .NET, iOS, and Android). The SDKs provide -// a convenient way to create programmatic access to AWS Secrets Manager. For -// example, the SDKs take care of cryptographically signing requests, managing -// errors, and retrying requests automatically. For more information about the -// AWS SDKs, including how to download and install them, see Tools for Amazon -// Web Services (http://aws.amazon.com/tools/). -// -// We recommend that you use the AWS SDKs to make programmatic API calls to -// Secrets Manager. However, you also can use the Secrets Manager HTTP Query -// API to make direct calls to the Secrets Manager web service. To learn more -// about the Secrets Manager HTTP Query API, see Making Query Requests (https://docs.aws.amazon.com/secretsmanager/latest/userguide/query-requests.html) +// As an alternative to using the API, you can use one of the AWS SDKs, which +// consist of libraries and sample code for various programming languages and +// platforms such as Java, Ruby, .NET, iOS, and Android. The SDKs provide a +// convenient way to create programmatic access to AWS Secrets Manager. For +// example, the SDKs provide cryptographically signing requests, managing errors, +// and retrying requests automatically. For more information about the AWS SDKs, +// including downloading and installing them, see Tools for Amazon Web Services +// (http://aws.amazon.com/tools/). +// +// We recommend you use the AWS SDKs to make programmatic API calls to Secrets +// Manager. However, you also can use the Secrets Manager HTTP Query API to +// make direct calls to the Secrets Manager web service. To learn more about +// the Secrets Manager HTTP Query API, see Making Query Requests (https://docs.aws.amazon.com/secretsmanager/latest/userguide/query-requests.html) // in the AWS Secrets Manager User Guide. // -// Secrets Manager supports GET and POST requests for all actions. That is, -// the API doesn't require you to use GET for some actions and POST for others. -// However, GET requests are subject to the limitation size of a URL. Therefore, -// for operations that require larger sizes, use a POST request. +// Secrets Manager API supports GET and POST requests for all actions, and doesn't +// require you to use GET for some actions and POST for others. However, GET +// requests are subject to the limitation size of a URL. Therefore, for operations +// that require larger sizes, use a POST request. // // Support and Feedback for AWS Secrets Manager // @@ -44,25 +44,24 @@ // How examples are presented // // The JSON that AWS Secrets Manager expects as your request parameters and -// that the service returns as a response to HTTP query requests are single, +// the service returns as a response to HTTP query requests contain single, // long strings without line breaks or white space formatting. The JSON shown -// in the examples is formatted with both line breaks and white space to improve -// readability. When example input parameters would also result in long strings -// that extend beyond the screen, we insert line breaks to enhance readability. -// You should always submit the input as a single JSON text string. +// in the examples displays the code formatted with both line breaks and white +// space to improve readability. When example input parameters can also cause +// long strings extending beyond the screen, you can insert line breaks to enhance +// readability. You should always submit the input as a single JSON text string. // // Logging API Requests // // AWS Secrets Manager supports AWS CloudTrail, a service that records AWS API // calls for your AWS account and delivers log files to an Amazon S3 bucket. // By using information that's collected by AWS CloudTrail, you can determine -// which requests were successfully made to Secrets Manager, who made the request, -// when it was made, and so on. For more about AWS Secrets Manager and its support +// the requests successfully made to Secrets Manager, who made the request, +// when it was made, and so on. For more about AWS Secrets Manager and support // for AWS CloudTrail, see Logging AWS Secrets Manager Events with AWS CloudTrail // (http://docs.aws.amazon.com/secretsmanager/latest/userguide/monitoring.html#monitoring_cloudtrail) // in the AWS Secrets Manager User Guide. To learn more about CloudTrail, including -// how to turn it on and find your log files, see the AWS CloudTrail User Guide -// (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html). +// enabling it and find your log files, see the AWS CloudTrail User Guide (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html). // // See https://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/errors.go b/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/errors.go index df82716bb59..ab90196bb65 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/secretsmanager/errors.go @@ -77,6 +77,12 @@ const ( // The request failed because you did not complete all the prerequisite steps. ErrCodePreconditionNotMetException = "PreconditionNotMetException" + // ErrCodePublicPolicyException for service response error code + // "PublicPolicyException". + // + // The resource policy did not prevent broad access to the secret. + ErrCodePublicPolicyException = "PublicPolicyException" + // ErrCodeResourceExistsException for service response error code // "ResourceExistsException". // @@ -100,6 +106,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "LimitExceededException": newErrorLimitExceededException, "MalformedPolicyDocumentException": newErrorMalformedPolicyDocumentException, "PreconditionNotMetException": newErrorPreconditionNotMetException, + "PublicPolicyException": newErrorPublicPolicyException, "ResourceExistsException": newErrorResourceExistsException, "ResourceNotFoundException": newErrorResourceNotFoundException, } diff --git a/vendor/github.com/aws/aws-sdk-go/service/securityhub/api.go b/vendor/github.com/aws/aws-sdk-go/service/securityhub/api.go index 5bd00bd6b12..a8cb6e596ab 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/securityhub/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/securityhub/api.go @@ -781,10 +781,10 @@ func (c *SecurityHub) CreateMembersRequest(input *CreateMembersInput) (req *requ // Security Hub and become member accounts in Security Hub. // // If the account owner accepts the invitation, the account becomes a member -// account in Security Hub, and a permission policy is added that permits the -// master account to view the findings generated in the member account. When -// Security Hub is enabled in the invited account, findings start to be sent -// to both the member and master accounts. +// account in Security Hub. A permissions policy is added that permits the master +// account to view the findings generated in the member account. When Security +// Hub is enabled in the invited account, findings start to be sent to both +// the member and master accounts. // // To remove the association between the master and member accounts, use the // DisassociateFromMasterAccount or DisassociateMembers operation. @@ -2418,7 +2418,7 @@ func (c *SecurityHub) EnableImportFindingsForProductRequest(input *EnableImportF // Enables the integration of a partner product with Security Hub. Integrated // products send findings to Security Hub. // -// When you enable a product integration, a permission policy that grants permission +// When you enable a product integration, a permissions policy that grants permission // for the product to send findings to Security Hub is applied. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2521,9 +2521,17 @@ func (c *SecurityHub) EnableSecurityHubRequest(input *EnableSecurityHubInput) (r // Hub. // // When you use the EnableSecurityHub operation to enable Security Hub, you -// also automatically enable the CIS AWS Foundations standard. You do not enable -// the Payment Card Industry Data Security Standard (PCI DSS) standard. To not -// enable the CIS AWS Foundations standard, set EnableDefaultStandards to false. +// also automatically enable the following standards. +// +// * CIS AWS Foundations +// +// * AWS Foundational Security Best Practices +// +// You do not enable the Payment Card Industry Data Security Standard (PCI DSS) +// standard. +// +// To not enable the automatically enabled standards, set EnableDefaultStandards +// to false. // // After you enable Security Hub, to enable a standard, use the BatchEnableStandards // operation. To disable a standard, use the BatchDisableStandards operation. @@ -4485,6 +4493,100 @@ func (c *SecurityHub) UpdateInsightWithContext(ctx aws.Context, input *UpdateIns return out, req.Send() } +const opUpdateSecurityHubConfiguration = "UpdateSecurityHubConfiguration" + +// UpdateSecurityHubConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSecurityHubConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateSecurityHubConfiguration for more information on using the UpdateSecurityHubConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateSecurityHubConfigurationRequest method. +// req, resp := client.UpdateSecurityHubConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration +func (c *SecurityHub) UpdateSecurityHubConfigurationRequest(input *UpdateSecurityHubConfigurationInput) (req *request.Request, output *UpdateSecurityHubConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateSecurityHubConfiguration, + HTTPMethod: "PATCH", + HTTPPath: "/accounts", + } + + if input == nil { + input = &UpdateSecurityHubConfigurationInput{} + } + + output = &UpdateSecurityHubConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateSecurityHubConfiguration API operation for AWS SecurityHub. +// +// Updates configuration options for Security Hub. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS SecurityHub's +// API operation UpdateSecurityHubConfiguration for usage and error information. +// +// Returned Error Types: +// * InternalException +// Internal server error. +// +// * InvalidInputException +// The request was rejected because you supplied an invalid or out-of-range +// value for an input parameter. +// +// * InvalidAccessException +// AWS Security Hub isn't enabled for the account used to make this request. +// +// * LimitExceededException +// The request was rejected because it attempted to create resources beyond +// the current AWS account limits. The error code describes the limit exceeded. +// +// * ResourceNotFoundException +// The request was rejected because we can't find the specified resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration +func (c *SecurityHub) UpdateSecurityHubConfiguration(input *UpdateSecurityHubConfigurationInput) (*UpdateSecurityHubConfigurationOutput, error) { + req, out := c.UpdateSecurityHubConfigurationRequest(input) + return out, req.Send() +} + +// UpdateSecurityHubConfigurationWithContext is the same as UpdateSecurityHubConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSecurityHubConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SecurityHub) UpdateSecurityHubConfigurationWithContext(ctx aws.Context, input *UpdateSecurityHubConfigurationInput, opts ...request.Option) (*UpdateSecurityHubConfigurationOutput, error) { + req, out := c.UpdateSecurityHubConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateStandardsControl = "UpdateStandardsControl" // UpdateStandardsControlRequest generates a "aws/request.Request" representing the @@ -4814,6 +4916,67 @@ func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone { return s } +// Provides details about an auto scaling group. +type AwsAutoScalingAutoScalingGroupDetails struct { + _ struct{} `type:"structure"` + + // The datetime when the auto scaling group was created. + CreatedTime *string `type:"string"` + + // The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before + // it checks the health status of an EC2 instance that has come into service. + HealthCheckGracePeriod *int64 `type:"integer"` + + // The service to use for the health checks. + HealthCheckType *string `type:"string"` + + // The name of the launch configuration. + LaunchConfigurationName *string `type:"string"` + + // The list of load balancers associated with the group. + LoadBalancerNames []*string `type:"list"` +} + +// String returns the string representation +func (s AwsAutoScalingAutoScalingGroupDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsAutoScalingAutoScalingGroupDetails) GoString() string { + return s.String() +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *AwsAutoScalingAutoScalingGroupDetails) SetCreatedTime(v string) *AwsAutoScalingAutoScalingGroupDetails { + s.CreatedTime = &v + return s +} + +// SetHealthCheckGracePeriod sets the HealthCheckGracePeriod field's value. +func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckGracePeriod(v int64) *AwsAutoScalingAutoScalingGroupDetails { + s.HealthCheckGracePeriod = &v + return s +} + +// SetHealthCheckType sets the HealthCheckType field's value. +func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckType(v string) *AwsAutoScalingAutoScalingGroupDetails { + s.HealthCheckType = &v + return s +} + +// SetLaunchConfigurationName sets the LaunchConfigurationName field's value. +func (s *AwsAutoScalingAutoScalingGroupDetails) SetLaunchConfigurationName(v string) *AwsAutoScalingAutoScalingGroupDetails { + s.LaunchConfigurationName = &v + return s +} + +// SetLoadBalancerNames sets the LoadBalancerNames field's value. +func (s *AwsAutoScalingAutoScalingGroupDetails) SetLoadBalancerNames(v []*string) *AwsAutoScalingAutoScalingGroupDetails { + s.LoadBalancerNames = v + return s +} + // A distribution configuration. type AwsCloudFrontDistributionDetails struct { _ struct{} `type:"structure"` @@ -4946,8 +5109,8 @@ func (s *AwsCloudFrontDistributionLogging) SetPrefix(v string) *AwsCloudFrontDis } // A complex type that describes the Amazon S3 bucket, HTTP server (for example, -// a web server), Amazon MediaStore, or other server from which CloudFront gets -// your files. +// a web server), Amazon Elemental MediaStore, or other server from which CloudFront +// gets your files. type AwsCloudFrontDistributionOriginItem struct { _ struct{} `type:"structure"` @@ -5118,20 +5281,20 @@ type AwsCodeBuildProjectEnvironment struct { // The type of build environment to use for related builds. // - // The environment type ARM_CONTAINER is available only in regions US East (N. + // The environment type ARM_CONTAINER is available only in Regions US East (N. // Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific // (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt). // // The environment type LINUX_CONTAINER with compute type build.general1.2xlarge - // is available only in regions US East (N. Virginia), US East (N. Virginia), + // is available only in Regions US East (N. Virginia), US East (N. Virginia), // US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe // (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), // Asia Pacific (Sydney), China (Beijing), and China (Ningxia). // - // The environment type LINUX_GPU_CONTAINER is available only in regions US + // The environment type LINUX_GPU_CONTAINER is available only in Regions US // East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), // Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), - // Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney) , China + // Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China // (Beijing), and China (Ningxia). // // Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER | @@ -5232,7 +5395,7 @@ type AwsCodeBuildProjectSource struct { // uses the settings in a pipeline's source action instead of this value. // // * For source code in an AWS CodeCommit repository, the HTTPS clone URL - // to the repository that contains the source code and the buildspec file + // to the repository that contains the source code and the build spec file // (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name // ). // @@ -5241,10 +5404,10 @@ type AwsCodeBuildProjectSource struct { // The path to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/). // // * For source code in a GitHub repository, the HTTPS clone URL to the repository - // that contains the source and the buildspec file. + // that contains the source and the build spec file. // // * For source code in a Bitbucket repository, the HTTPS clone URL to the - // repository that contains the source and the buildspec file. + // repository that contains the source and the build spec file. Location *string `type:"string"` // The type of repository that contains the source code to be built. Valid values @@ -5775,9 +5938,9 @@ func (s *AwsEc2SecurityGroupIpPermission) SetUserIdGroupPairs(v []*AwsEc2Securit type AwsEc2SecurityGroupIpRange struct { _ struct{} `type:"structure"` - // The IPv4 CIDR range. You can either specify either a CIDR range or a source - // security group, but not both. To specify a single IPv4 address, use the /32 - // prefix length. + // The IPv4 CIDR range. You can specify either a CIDR range or a source security + // group, but not both. To specify a single IPv4 address, use the /32 prefix + // length. CidrIp *string `type:"string"` } @@ -5801,9 +5964,9 @@ func (s *AwsEc2SecurityGroupIpRange) SetCidrIp(v string) *AwsEc2SecurityGroupIpR type AwsEc2SecurityGroupIpv6Range struct { _ struct{} `type:"structure"` - // The IPv6 CIDR range. You can either specify either a CIDR range or a source - // security group, but not both. To specify a single IPv6 address, use the /128 - // prefix length. + // The IPv6 CIDR range. You can specify either a CIDR range or a source security + // group, but not both. To specify a single IPv6 address, use the /128 prefix + // length. CidrIpv6 *string `type:"string"` } @@ -5923,6 +6086,189 @@ func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcPeeringConnectionId(v string) return s } +// An attachment to an AWS EC2 volume. +type AwsEc2VolumeAttachment struct { + _ struct{} `type:"structure"` + + // The datetime when the attachment initiated. + AttachTime *string `type:"string"` + + // Whether the EBS volume is deleted when the EC2 instance is terminated. + DeleteOnTermination *bool `type:"boolean"` + + // The identifier of the EC2 instance. + InstanceId *string `type:"string"` + + // The attachment state of the volume. + Status *string `type:"string"` +} + +// String returns the string representation +func (s AwsEc2VolumeAttachment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsEc2VolumeAttachment) GoString() string { + return s.String() +} + +// SetAttachTime sets the AttachTime field's value. +func (s *AwsEc2VolumeAttachment) SetAttachTime(v string) *AwsEc2VolumeAttachment { + s.AttachTime = &v + return s +} + +// SetDeleteOnTermination sets the DeleteOnTermination field's value. +func (s *AwsEc2VolumeAttachment) SetDeleteOnTermination(v bool) *AwsEc2VolumeAttachment { + s.DeleteOnTermination = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *AwsEc2VolumeAttachment) SetInstanceId(v string) *AwsEc2VolumeAttachment { + s.InstanceId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AwsEc2VolumeAttachment) SetStatus(v string) *AwsEc2VolumeAttachment { + s.Status = &v + return s +} + +// Details about an EC2 volume. +type AwsEc2VolumeDetails struct { + _ struct{} `type:"structure"` + + // The volume attachments. + Attachments []*AwsEc2VolumeAttachment `type:"list"` + + // The datetime when the volume was created. + CreateTime *string `type:"string"` + + // Whether the volume is encrypted. + Encrypted *bool `type:"boolean"` + + // The 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 `type:"string"` + + // The size of the volume, in GiBs. + Size *int64 `type:"integer"` + + // The snapshot from which the volume was created. + SnapshotId *string `type:"string"` + + // The volume state. + Status *string `type:"string"` +} + +// String returns the string representation +func (s AwsEc2VolumeDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsEc2VolumeDetails) GoString() string { + return s.String() +} + +// SetAttachments sets the Attachments field's value. +func (s *AwsEc2VolumeDetails) SetAttachments(v []*AwsEc2VolumeAttachment) *AwsEc2VolumeDetails { + s.Attachments = v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *AwsEc2VolumeDetails) SetCreateTime(v string) *AwsEc2VolumeDetails { + s.CreateTime = &v + return s +} + +// SetEncrypted sets the Encrypted field's value. +func (s *AwsEc2VolumeDetails) SetEncrypted(v bool) *AwsEc2VolumeDetails { + s.Encrypted = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *AwsEc2VolumeDetails) SetKmsKeyId(v string) *AwsEc2VolumeDetails { + s.KmsKeyId = &v + return s +} + +// SetSize sets the Size field's value. +func (s *AwsEc2VolumeDetails) SetSize(v int64) *AwsEc2VolumeDetails { + s.Size = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *AwsEc2VolumeDetails) SetSnapshotId(v string) *AwsEc2VolumeDetails { + s.SnapshotId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AwsEc2VolumeDetails) SetStatus(v string) *AwsEc2VolumeDetails { + s.Status = &v + return s +} + +// Details about an EC2 VPC. +type AwsEc2VpcDetails struct { + _ struct{} `type:"structure"` + + // Information about the IPv4 CIDR blocks associated with the VPC. + CidrBlockAssociationSet []*CidrBlockAssociation `type:"list"` + + // The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options + // that are associated with the VPC. If the default options are associated with + // the VPC, then this is default. + DhcpOptionsId *string `type:"string"` + + // Information about the IPv6 CIDR blocks associated with the VPC. + Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"` + + // The current state of the VPC. + State *string `type:"string"` +} + +// String returns the string representation +func (s AwsEc2VpcDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsEc2VpcDetails) GoString() string { + return s.String() +} + +// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value. +func (s *AwsEc2VpcDetails) SetCidrBlockAssociationSet(v []*CidrBlockAssociation) *AwsEc2VpcDetails { + s.CidrBlockAssociationSet = v + return s +} + +// SetDhcpOptionsId sets the DhcpOptionsId field's value. +func (s *AwsEc2VpcDetails) SetDhcpOptionsId(v string) *AwsEc2VpcDetails { + s.DhcpOptionsId = &v + return s +} + +// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value. +func (s *AwsEc2VpcDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2VpcDetails { + s.Ipv6CidrBlockAssociationSet = v + return s +} + +// SetState sets the State field's value. +func (s *AwsEc2VpcDetails) SetState(v string) *AwsEc2VpcDetails { + s.State = &v + return s +} + // Information about an Elasticsearch domain. type AwsElasticsearchDomainDetails struct { _ struct{} `type:"structure"` @@ -6959,7 +7305,7 @@ func (s *AwsLambdaFunctionVpcConfig) SetVpcId(v string) *AwsLambdaFunctionVpcCon type AwsLambdaLayerVersionDetails struct { _ struct{} `type:"structure"` - // The layer's compatible runtimes. Maximum number of 5 items. + // The layer's compatible runtimes. Maximum number of five items. // // Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6 // | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5 @@ -7015,12 +7361,12 @@ type AwsRdsDbInstanceAssociatedRole struct { // Describes the state of the association between the IAM role and the DB instance. // The Status property returns one of the following values: // - // * ACTIVE - the IAM role ARN is associated with the DB instance and can + // * ACTIVE - The IAM role ARN is associated with the DB instance and can // be used to access other AWS services on your behalf. // - // * PENDING - the IAM role ARN is being associated with the DB instance. + // * PENDING - The IAM role ARN is being associated with the DB instance. // - // * INVALID - the IAM role ARN is associated with the DB instance, but the + // * INVALID - The IAM role ARN is associated with the DB instance. But the // DB instance is unable to assume the IAM role in order to access other // AWS services on your behalf. Status *string `type:"string"` @@ -7466,7 +7812,7 @@ type AwsS3BucketServerSideEncryptionRule struct { _ struct{} `type:"structure"` // Specifies the default server-side encryption to apply to new objects in the - // bucket. If a PUT Object request doesn't specify any server-side encryption, + // bucket. If a PUT object request doesn't specify any server-side encryption, // this default encryption is applied. ApplyServerSideEncryptionByDefault *AwsS3BucketServerSideEncryptionByDefault `type:"structure"` } @@ -7487,7 +7833,7 @@ func (s *AwsS3BucketServerSideEncryptionRule) SetApplyServerSideEncryptionByDefa return s } -// Details about an AWS S3 object. +// Details about an Amazon S3 object. type AwsS3ObjectDetails struct { _ struct{} `type:"structure"` @@ -7611,7 +7957,7 @@ type AwsSecurityFinding struct { // The identifier for the solution-specific component (a discrete unit of logic) // that generated a finding. In various security-findings providers' solutions, - // this generator can be called a rule, a check, a detector, a plug-in, etc. + // this generator can be called a rule, a check, a detector, a plugin, etc. // // GeneratorId is a required field GeneratorId *string `type:"string" required:"true"` @@ -7632,6 +7978,10 @@ type AwsSecurityFinding struct { // The details of network-related information about a finding. Network *Network `type:"structure"` + // Provides information about a network path that is relevant to a finding. + // Each entry under NetworkPath represents a component of that path. + NetworkPath []*NetworkPathComponent `type:"list"` + // A user-defined note added to a finding. Note *Note `type:"structure"` @@ -7710,6 +8060,9 @@ type AwsSecurityFinding struct { // Indicates the veracity of a finding. VerificationState *string `type:"string" enum:"VerificationState"` + // Provides a list of vulnerabilities associated with the findings. + Vulnerabilities []*Vulnerability `type:"list"` + // Provides information about the status of the investigation into a finding. Workflow *Workflow `type:"structure"` @@ -7766,6 +8119,11 @@ func (s *AwsSecurityFinding) Validate() error { if s.UpdatedAt == nil { invalidParams.Add(request.NewErrParamRequired("UpdatedAt")) } + if s.Compliance != nil { + if err := s.Compliance.Validate(); err != nil { + invalidParams.AddNested("Compliance", err.(request.ErrInvalidParams)) + } + } if s.Malware != nil { for i, v := range s.Malware { if v == nil { @@ -7801,6 +8159,16 @@ func (s *AwsSecurityFinding) Validate() error { } } } + if s.Vulnerabilities != nil { + for i, v := range s.Vulnerabilities { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Vulnerabilities", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -7880,6 +8248,12 @@ func (s *AwsSecurityFinding) SetNetwork(v *Network) *AwsSecurityFinding { return s } +// SetNetworkPath sets the NetworkPath field's value. +func (s *AwsSecurityFinding) SetNetworkPath(v []*NetworkPathComponent) *AwsSecurityFinding { + s.NetworkPath = v + return s +} + // SetNote sets the Note field's value. func (s *AwsSecurityFinding) SetNote(v *Note) *AwsSecurityFinding { s.Note = v @@ -7982,6 +8356,12 @@ func (s *AwsSecurityFinding) SetVerificationState(v string) *AwsSecurityFinding return s } +// SetVulnerabilities sets the Vulnerabilities field's value. +func (s *AwsSecurityFinding) SetVulnerabilities(v []*Vulnerability) *AwsSecurityFinding { + s.Vulnerabilities = v + return s +} + // SetWorkflow sets the Workflow field's value. func (s *AwsSecurityFinding) SetWorkflow(v *Workflow) *AwsSecurityFinding { s.Workflow = v @@ -8038,7 +8418,7 @@ type AwsSecurityFindingFilters struct { // The identifier for the solution-specific component (a discrete unit of logic) // that generated a finding. In various security-findings providers' solutions, - // this generator can be called a rule, a check, a detector, a plug-in, etc. + // this generator can be called a rule, a check, a detector, a plugin, etc. GeneratorId []*StringFilter `type:"list"` // The security findings provider-specific identifier for a finding. @@ -8274,6 +8654,9 @@ type AwsSecurityFindingFilters struct { VerificationState []*StringFilter `type:"list"` // The workflow state of a finding. + // + // Note that this field is deprecated. To search for a finding based on its + // workflow status, use WorkflowStatus. WorkflowState []*StringFilter `type:"list"` // The status of the investigation into a finding. Allowed values are the following. @@ -8865,7 +9248,7 @@ func (s *AwsSecurityFindingIdentifier) SetProductArn(v string) *AwsSecurityFindi type AwsSnsTopicDetails struct { _ struct{} `type:"structure"` - // The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom + // The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom // CMK. KmsMasterKeyId *string `type:"string"` @@ -8959,7 +9342,7 @@ type AwsSqsQueueDetails struct { // to encrypt or decrypt messages before calling AWS KMS again. KmsDataKeyReusePeriodSeconds *int64 `type:"integer"` - // The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom + // The ID of an AWS managed customer master key (CMK) for Amazon SQS or a custom // CMK. KmsMasterKeyId *string `type:"string"` @@ -9005,7 +9388,7 @@ func (s *AwsSqsQueueDetails) SetQueueName(v string) *AwsSqsQueueDetails { type AwsWafWebAclDetails struct { _ struct{} `type:"structure"` - // The action to perform if none of the Rules contained in the WebACL match. + // The action to perform if none of the rules contained in the WebACL match. DefaultAction *string `type:"string"` // A friendly name or description of the WebACL. You can't change the name of @@ -9059,7 +9442,7 @@ type AwsWafWebAclRule struct { _ struct{} `type:"structure"` // Specifies the action that CloudFront or AWS WAF takes when a web request - // matches the conditions in the Rule. + // matches the conditions in the rule. Action *WafAction `type:"structure"` // Rules to exclude from a rule group. @@ -9081,13 +9464,13 @@ type AwsWafWebAclRule struct { // update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction. OverrideAction *WafOverrideAction `type:"structure"` - // Specifies the order in which the Rules in a WebACL are evaluated. Rules with - // a lower value for Priority are evaluated before Rules with a higher value. - // The value must be a unique integer. If you add multiple Rules to a WebACL, + // Specifies the order in which the rules in a WebACL are evaluated. Rules with + // a lower value for Priority are evaluated before rules with a higher value. + // The value must be a unique integer. If you add multiple rules to a WebACL, // the values do not need to be consecutive. Priority *int64 `type:"integer"` - // The identifier for a Rule. + // The identifier for a rule. RuleId *string `type:"string"` // The rule type. @@ -9648,52 +10031,126 @@ func (s *BatchUpdateFindingsUnprocessedFinding) SetFindingIdentifier(v *AwsSecur return s } -// Exclusive to findings that are generated as the result of a check run against -// a specific rule in a supported security standard, such as CIS AWS Foundations. -// Contains security standard-related finding details. -// -// Values include the following: -// -// * Allowed values are the following: PASSED - Standards check passed for -// all evaluated resources. WARNING - Some information is missing or this -// check is not supported given your configuration. FAILED - Standards check -// failed for at least one evaluated resource. NOT_AVAILABLE - Check could -// not be performed due to a service outage, API error, or because the result -// of the AWS Config evaluation was NOT_APPLICABLE. If the AWS Config evaluation -// result was NOT_APPLICABLE, then after 3 days, Security Hub automatically -// archives the finding. -type Compliance struct { +// An IPv4 CIDR block association. +type CidrBlockAssociation struct { _ struct{} `type:"structure"` - // List of requirements that are related to a standards control. - RelatedRequirements []*string `type:"list"` + // The association ID for the IPv4 CIDR block. + AssociationId *string `type:"string"` - // The result of a standards check. - Status *string `type:"string" enum:"ComplianceStatus"` + // The IPv4 CIDR block. + CidrBlock *string `type:"string"` + + // Information about the state of the IPv4 CIDR block. + CidrBlockState *string `type:"string"` } // String returns the string representation -func (s Compliance) String() string { +func (s CidrBlockAssociation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Compliance) GoString() string { +func (s CidrBlockAssociation) GoString() string { return s.String() } -// SetRelatedRequirements sets the RelatedRequirements field's value. -func (s *Compliance) SetRelatedRequirements(v []*string) *Compliance { - s.RelatedRequirements = v +// SetAssociationId sets the AssociationId field's value. +func (s *CidrBlockAssociation) SetAssociationId(v string) *CidrBlockAssociation { + s.AssociationId = &v return s } -// SetStatus sets the Status field's value. -func (s *Compliance) SetStatus(v string) *Compliance { +// SetCidrBlock sets the CidrBlock field's value. +func (s *CidrBlockAssociation) SetCidrBlock(v string) *CidrBlockAssociation { + s.CidrBlock = &v + return s +} + +// SetCidrBlockState sets the CidrBlockState field's value. +func (s *CidrBlockAssociation) SetCidrBlockState(v string) *CidrBlockAssociation { + s.CidrBlockState = &v + return s +} + +// Contains finding details that are specific to control-based findings. Only +// returned for findings generated from controls. +type Compliance struct { + _ struct{} `type:"structure"` + + // For a control, the industry or regulatory framework requirements that are + // related to the control. The check for that control is aligned with these + // requirements. + RelatedRequirements []*string `type:"list"` + + // The result of a standards check. + // + // The valid values for Status are as follows. + // + // * PASSED - Standards check passed for all evaluated resources. WARNING + // - Some information is missing or this check is not supported for your + // configuration. FAILED - Standards check failed for at least one evaluated + // resource. NOT_AVAILABLE - Check could not be performed due to a service + // outage, API error, or because the result of the AWS Config evaluation + // was NOT_APPLICABLE. If the AWS Config evaluation result was NOT_APPLICABLE, + // then after 3 days, Security Hub automatically archives the finding. + Status *string `type:"string" enum:"ComplianceStatus"` + + // For findings generated from controls, a list of reasons behind the value + // of Status. For the list of status reason codes and their meanings, see Standards-related + // information in the ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff) + // in the AWS Security Hub User Guide. + StatusReasons []*StatusReason `type:"list"` +} + +// String returns the string representation +func (s Compliance) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Compliance) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Compliance) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Compliance"} + if s.StatusReasons != nil { + for i, v := range s.StatusReasons { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StatusReasons", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRelatedRequirements sets the RelatedRequirements field's value. +func (s *Compliance) SetRelatedRequirements(v []*string) *Compliance { + s.RelatedRequirements = v + return s +} + +// SetStatus sets the Status field's value. +func (s *Compliance) SetStatus(v string) *Compliance { s.Status = &v return s } +// SetStatusReasons sets the StatusReasons field's value. +func (s *Compliance) SetStatusReasons(v []*StatusReason) *Compliance { + s.StatusReasons = v + return s +} + // Container details related to a finding. type ContainerDetails struct { _ struct{} `type:"structure"` @@ -9980,6 +10437,48 @@ func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*Result) *CreateMembers return s } +// CVSS scores from the advisory related to the vulnerability. +type Cvss struct { + _ struct{} `type:"structure"` + + // The base CVSS score. + BaseScore *float64 `type:"double"` + + // The base scoring vector for the CVSS score. + BaseVector *string `type:"string"` + + // The version of CVSS for the CVSS score. + Version *string `type:"string"` +} + +// String returns the string representation +func (s Cvss) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Cvss) GoString() string { + return s.String() +} + +// SetBaseScore sets the BaseScore field's value. +func (s *Cvss) SetBaseScore(v float64) *Cvss { + s.BaseScore = &v + return s +} + +// SetBaseVector sets the BaseVector field's value. +func (s *Cvss) SetBaseVector(v string) *Cvss { + s.BaseVector = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *Cvss) SetVersion(v string) *Cvss { + s.Version = &v + return s +} + // A date filter for querying findings. type DateFilter struct { _ struct{} `type:"structure"` @@ -10478,6 +10977,13 @@ func (s *DescribeHubInput) SetHubArn(v string) *DescribeHubInput { type DescribeHubOutput struct { _ struct{} `type:"structure"` + // Whether to automatically enable new controls when they are added to standards + // that are enabled. + // + // If set to true, then new controls for enabled standards are enabled automatically. + // If set to false, then new controls are not enabled. + AutoEnableControls *bool `type:"boolean"` + // The ARN of the Hub resource that was retrieved. HubArn *string `type:"string"` @@ -10495,6 +11001,12 @@ func (s DescribeHubOutput) GoString() string { return s.String() } +// SetAutoEnableControls sets the AutoEnableControls field's value. +func (s *DescribeHubOutput) SetAutoEnableControls(v bool) *DescribeHubOutput { + s.AutoEnableControls = &v + return s +} + // SetHubArn sets the HubArn field's value. func (s *DescribeHubOutput) SetHubArn(v string) *DescribeHubOutput { s.HubArn = &v @@ -10987,7 +11499,7 @@ type EnableSecurityHubInput struct { // EnableDefaultStandards to false. EnableDefaultStandards *bool `type:"boolean"` - // The tags to add to the Hub resource when you enable Security Hub. + // The tags to add to the hub resource when you enable Security Hub. Tags map[string]*string `min:"1" type:"map"` } @@ -11139,6 +11651,9 @@ type GetFindingsInput struct { // The finding attributes used to define a condition to filter the returned // findings. + // + // Note that in the available filter fields, WorkflowState is deprecated. To + // search for a finding based on its workflow status, use WorkflowStatus. Filters *AwsSecurityFindingFilters `type:"structure"` // The maximum number of findings to return. @@ -12044,6 +12559,48 @@ func (s *IpFilter) SetCidr(v string) *IpFilter { return s } +// An IPV6 CIDR block association. +type Ipv6CidrBlockAssociation struct { + _ struct{} `type:"structure"` + + // The association ID for the IPv6 CIDR block. + AssociationId *string `type:"string"` + + // Information about the state of the CIDR block. + CidrBlockState *string `type:"string"` + + // The IPv6 CIDR block. + Ipv6CidrBlock *string `type:"string"` +} + +// String returns the string representation +func (s Ipv6CidrBlockAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Ipv6CidrBlockAssociation) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *Ipv6CidrBlockAssociation) SetAssociationId(v string) *Ipv6CidrBlockAssociation { + s.AssociationId = &v + return s +} + +// SetCidrBlockState sets the CidrBlockState field's value. +func (s *Ipv6CidrBlockAssociation) SetCidrBlockState(v string) *Ipv6CidrBlockAssociation { + s.CidrBlockState = &v + return s +} + +// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value. +func (s *Ipv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *Ipv6CidrBlockAssociation { + s.Ipv6CidrBlock = &v + return s +} + // A keyword filter for querying findings. type KeywordFilter struct { _ struct{} `type:"structure"` @@ -12688,6 +13245,9 @@ type Network struct { // The direction of network traffic associated with a finding. Direction *string `type:"string" enum:"NetworkDirection"` + // The range of open ports that is present on the network. + OpenPortRange *PortRange `type:"structure"` + // The protocol of network-related information about a finding. Protocol *string `type:"string"` @@ -12748,6 +13308,12 @@ func (s *Network) SetDirection(v string) *Network { return s } +// SetOpenPortRange sets the OpenPortRange field's value. +func (s *Network) SetOpenPortRange(v *PortRange) *Network { + s.OpenPortRange = v + return s +} + // SetProtocol sets the Protocol field's value. func (s *Network) SetProtocol(v string) *Network { s.Protocol = &v @@ -12784,6 +13350,135 @@ func (s *Network) SetSourcePort(v int64) *Network { return s } +// Details about a network path component that occurs before or after the current +// component. +type NetworkHeader struct { + _ struct{} `type:"structure"` + + // Information about the destination of the component. + Destination *NetworkPathComponentDetails `type:"structure"` + + // The protocol used for the component. + Protocol *string `type:"string"` + + // Information about the origin of the component. + Source *NetworkPathComponentDetails `type:"structure"` +} + +// String returns the string representation +func (s NetworkHeader) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NetworkHeader) GoString() string { + return s.String() +} + +// SetDestination sets the Destination field's value. +func (s *NetworkHeader) SetDestination(v *NetworkPathComponentDetails) *NetworkHeader { + s.Destination = v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *NetworkHeader) SetProtocol(v string) *NetworkHeader { + s.Protocol = &v + return s +} + +// SetSource sets the Source field's value. +func (s *NetworkHeader) SetSource(v *NetworkPathComponentDetails) *NetworkHeader { + s.Source = v + return s +} + +// Information about a network path component. +type NetworkPathComponent struct { + _ struct{} `type:"structure"` + + // The identifier of a component in the network path. + ComponentId *string `type:"string"` + + // The type of component. + ComponentType *string `type:"string"` + + // Information about the component that comes after the current component in + // the network path. + Egress *NetworkHeader `type:"structure"` + + // Information about the component that comes before the current node in the + // network path. + Ingress *NetworkHeader `type:"structure"` +} + +// String returns the string representation +func (s NetworkPathComponent) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NetworkPathComponent) GoString() string { + return s.String() +} + +// SetComponentId sets the ComponentId field's value. +func (s *NetworkPathComponent) SetComponentId(v string) *NetworkPathComponent { + s.ComponentId = &v + return s +} + +// SetComponentType sets the ComponentType field's value. +func (s *NetworkPathComponent) SetComponentType(v string) *NetworkPathComponent { + s.ComponentType = &v + return s +} + +// SetEgress sets the Egress field's value. +func (s *NetworkPathComponent) SetEgress(v *NetworkHeader) *NetworkPathComponent { + s.Egress = v + return s +} + +// SetIngress sets the Ingress field's value. +func (s *NetworkPathComponent) SetIngress(v *NetworkHeader) *NetworkPathComponent { + s.Ingress = v + return s +} + +// Information about the destination of the next component in the network path. +type NetworkPathComponentDetails struct { + _ struct{} `type:"structure"` + + // The IP addresses of the destination. + Address []*string `type:"list"` + + // A list of port ranges for the destination. + PortRanges []*PortRange `type:"list"` +} + +// String returns the string representation +func (s NetworkPathComponentDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NetworkPathComponentDetails) GoString() string { + return s.String() +} + +// SetAddress sets the Address field's value. +func (s *NetworkPathComponentDetails) SetAddress(v []*string) *NetworkPathComponentDetails { + s.Address = v + return s +} + +// SetPortRanges sets the PortRanges field's value. +func (s *NetworkPathComponentDetails) SetPortRanges(v []*PortRange) *NetworkPathComponentDetails { + s.PortRanges = v + return s +} + // A user-defined note added to a finding. type Note struct { _ struct{} `type:"structure"` @@ -12949,6 +13644,39 @@ func (s *NumberFilter) SetLte(v float64) *NumberFilter { return s } +// A range of ports. +type PortRange struct { + _ struct{} `type:"structure"` + + // The first port in the port range. + Begin *int64 `type:"integer"` + + // The last port in the port range. + End *int64 `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() +} + +// SetBegin sets the Begin field's value. +func (s *PortRange) SetBegin(v int64) *PortRange { + s.Begin = &v + return s +} + +// SetEnd sets the End field's value. +func (s *PortRange) SetEnd(v int64) *PortRange { + s.End = &v + return s +} + // The details of process-related information about a finding. type ProcessDetails struct { _ struct{} `type:"structure"` @@ -13408,6 +14136,9 @@ func (s *ResourceConflictException) RequestID() string { type ResourceDetails struct { _ struct{} `type:"structure"` + // Details for an autoscaling group. + AwsAutoScalingAutoScalingGroup *AwsAutoScalingAutoScalingGroupDetails `type:"structure"` + // Details about a CloudFront distribution. AwsCloudFrontDistribution *AwsCloudFrontDistributionDetails `type:"structure"` @@ -13417,12 +14148,18 @@ type ResourceDetails struct { // Details about an Amazon EC2 instance related to a finding. AwsEc2Instance *AwsEc2InstanceDetails `type:"structure"` - // Details for an AWS EC2 network interface. + // Details for an Amazon EC2 network interface. AwsEc2NetworkInterface *AwsEc2NetworkInterfaceDetails `type:"structure"` // Details for an EC2 security group. AwsEc2SecurityGroup *AwsEc2SecurityGroupDetails `type:"structure"` + // Details for an EC2 volume. + AwsEc2Volume *AwsEc2VolumeDetails `type:"structure"` + + // Details for an EC2 VPC. + AwsEc2Vpc *AwsEc2VpcDetails `type:"structure"` + // Details for an Elasticsearch domain. AwsElasticsearchDomain *AwsElasticsearchDomainDetails `type:"structure"` @@ -13444,10 +14181,10 @@ type ResourceDetails struct { // Details for a Lambda layer version. AwsLambdaLayerVersion *AwsLambdaLayerVersionDetails `type:"structure"` - // Details for an RDS database instance. + // Details for an Amazon RDS database instance. AwsRdsDbInstance *AwsRdsDbInstanceDetails `type:"structure"` - // Details about an Amazon S3 Bucket related to a finding. + // Details about an Amazon S3 bucket related to a finding. AwsS3Bucket *AwsS3BucketDetails `type:"structure"` // Details about an Amazon S3 object related to a finding. @@ -13503,6 +14240,12 @@ func (s *ResourceDetails) Validate() error { return nil } +// SetAwsAutoScalingAutoScalingGroup sets the AwsAutoScalingAutoScalingGroup field's value. +func (s *ResourceDetails) SetAwsAutoScalingAutoScalingGroup(v *AwsAutoScalingAutoScalingGroupDetails) *ResourceDetails { + s.AwsAutoScalingAutoScalingGroup = v + return s +} + // SetAwsCloudFrontDistribution sets the AwsCloudFrontDistribution field's value. func (s *ResourceDetails) SetAwsCloudFrontDistribution(v *AwsCloudFrontDistributionDetails) *ResourceDetails { s.AwsCloudFrontDistribution = v @@ -13533,6 +14276,18 @@ func (s *ResourceDetails) SetAwsEc2SecurityGroup(v *AwsEc2SecurityGroupDetails) return s } +// SetAwsEc2Volume sets the AwsEc2Volume field's value. +func (s *ResourceDetails) SetAwsEc2Volume(v *AwsEc2VolumeDetails) *ResourceDetails { + s.AwsEc2Volume = v + return s +} + +// SetAwsEc2Vpc sets the AwsEc2Vpc field's value. +func (s *ResourceDetails) SetAwsEc2Vpc(v *AwsEc2VpcDetails) *ResourceDetails { + s.AwsEc2Vpc = v + return s +} + // SetAwsElasticsearchDomain sets the AwsElasticsearchDomain field's value. func (s *ResourceDetails) SetAwsElasticsearchDomain(v *AwsElasticsearchDomainDetails) *ResourceDetails { s.AwsElasticsearchDomain = v @@ -13715,6 +14470,15 @@ func (s *Result) SetProcessingResult(v string) *Result { } // The severity of the finding. +// +// The finding provider can provide the initial severity, but cannot update +// it after that. The severity can only be updated by a master account. It cannot +// be updated by a member account. +// +// The finding must have either Label or Normalized populated. If only one of +// these attributes is populated, then Security Hub automatically populates +// the other one. If neither attribute is populated, then the finding is invalid. +// Label is the preferred attribute. type Severity struct { _ struct{} `type:"structure"` @@ -13729,12 +14493,8 @@ type Severity struct { // * HIGH - The issue must be addressed as a priority. // // * CRITICAL - The issue must be remediated immediately to avoid it escalating. - Label *string `type:"string" enum:"SeverityLabel"` - - // Deprecated. This attribute is being deprecated. Instead of providing Normalized, - // provide Label. // - // If you provide Normalized and do not provide Label, Label is set automatically + // If you provide Normalized and do not provide Label, then Label is set automatically // as follows. // // * 0 - INFORMATIONAL @@ -13746,8 +14506,31 @@ type Severity struct { // * 70–89 - HIGH // // * 90–100 - CRITICAL + Label *string `type:"string" enum:"SeverityLabel"` + + // Deprecated. The normalized severity of a finding. This attribute is being + // deprecated. Instead of providing Normalized, provide Label. + // + // If you provide Label and do not provide Normalized, then Normalized is set + // automatically as follows. + // + // * INFORMATIONAL - 0 + // + // * LOW - 1 + // + // * MEDIUM - 40 + // + // * HIGH - 70 + // + // * CRITICAL - 90 Normalized *int64 `type:"integer"` + // The native severity from the finding product that generated the finding. + Original *string `type:"string"` + + // Deprecated. This attribute is being deprecated. Instead of providing Product, + // provide Original. + // // The native severity as defined by the AWS service or integrated partner product // that generated the finding. Product *float64 `type:"double"` @@ -13775,6 +14558,12 @@ func (s *Severity) SetNormalized(v int64) *Severity { return s } +// SetOriginal sets the Original field's value. +func (s *Severity) SetOriginal(v string) *Severity { + s.Original = &v + return s +} + // SetProduct sets the Product field's value. func (s *Severity) SetProduct(v float64) *Severity { s.Product = &v @@ -13848,6 +14637,66 @@ func (s *SeverityUpdate) SetProduct(v float64) *SeverityUpdate { return s } +// Information about a software package. +type SoftwarePackage struct { + _ struct{} `type:"structure"` + + // The architecture used for the software package. + Architecture *string `type:"string"` + + // The epoch of the software package. + Epoch *string `type:"string"` + + // The name of the software package. + Name *string `type:"string"` + + // The release of the software package. + Release *string `type:"string"` + + // The version of the software package. + Version *string `type:"string"` +} + +// String returns the string representation +func (s SoftwarePackage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SoftwarePackage) GoString() string { + return s.String() +} + +// SetArchitecture sets the Architecture field's value. +func (s *SoftwarePackage) SetArchitecture(v string) *SoftwarePackage { + s.Architecture = &v + return s +} + +// SetEpoch sets the Epoch field's value. +func (s *SoftwarePackage) SetEpoch(v string) *SoftwarePackage { + s.Epoch = &v + return s +} + +// SetName sets the Name field's value. +func (s *SoftwarePackage) SetName(v string) *SoftwarePackage { + s.Name = &v + return s +} + +// SetRelease sets the Release field's value. +func (s *SoftwarePackage) SetRelease(v string) *SoftwarePackage { + s.Release = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *SoftwarePackage) SetVersion(v string) *SoftwarePackage { + s.Version = &v + return s +} + // A collection of finding attributes used to sort findings. type SortCriterion struct { _ struct{} `type:"structure"` @@ -14158,6 +15007,57 @@ func (s *StandardsSubscriptionRequest) SetStandardsInput(v map[string]*string) * return s } +// Provides additional context for the value of Compliance.Status. +type StatusReason struct { + _ struct{} `type:"structure"` + + // The corresponding description for the status reason code. + Description *string `type:"string"` + + // A code that represents a reason for the control status. For the list of status + // reason codes and their meanings, see Standards-related information in the + // ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff) + // in the AWS Security Hub User Guide. + // + // ReasonCode is a required field + ReasonCode *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s StatusReason) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StatusReason) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StatusReason) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StatusReason"} + if s.ReasonCode == nil { + invalidParams.Add(request.NewErrParamRequired("ReasonCode")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *StatusReason) SetDescription(v string) *StatusReason { + s.Description = &v + return s +} + +// SetReasonCode sets the ReasonCode field's value. +func (s *StatusReason) SetReasonCode(v string) *StatusReason { + s.ReasonCode = &v + return s +} + // A string filter for querying findings. type StringFilter struct { _ struct{} `type:"structure"` @@ -14636,6 +15536,47 @@ func (s UpdateInsightOutput) GoString() string { return s.String() } +type UpdateSecurityHubConfigurationInput struct { + _ struct{} `type:"structure"` + + // Whether to automatically enable new controls when they are added to standards + // that are enabled. + // + // By default, this is set to true, and new controls are enabled automatically. + // To not automatically enable new controls, set this to false. + AutoEnableControls *bool `type:"boolean"` +} + +// String returns the string representation +func (s UpdateSecurityHubConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSecurityHubConfigurationInput) GoString() string { + return s.String() +} + +// SetAutoEnableControls sets the AutoEnableControls field's value. +func (s *UpdateSecurityHubConfigurationInput) SetAutoEnableControls(v bool) *UpdateSecurityHubConfigurationInput { + s.AutoEnableControls = &v + return s +} + +type UpdateSecurityHubConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateSecurityHubConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSecurityHubConfigurationOutput) GoString() string { + return s.String() +} + type UpdateStandardsControlInput struct { _ struct{} `type:"structure"` @@ -14643,6 +15584,7 @@ type UpdateStandardsControlInput struct { ControlStatus *string `type:"string" enum:"ControlStatus"` // A description of the reason why you are disabling a security standard control. + // If you are disabling a control, then this is required. DisabledReason *string `type:"string"` // The ARN of the security standard control to enable or disable. @@ -14709,13 +15651,177 @@ func (s UpdateStandardsControlOutput) GoString() string { return s.String() } +// A vulnerability associated with a finding. +type Vulnerability struct { + _ struct{} `type:"structure"` + + // CVSS scores from the advisory related to the vulnerability. + Cvss []*Cvss `type:"list"` + + // The identifier of the vulnerability. + // + // Id is a required field + Id *string `type:"string" required:"true"` + + // A list of URLs that provide additional information about the vulnerability. + ReferenceUrls []*string `type:"list"` + + // List of vulnerabilities that are related to this vulnerability. + RelatedVulnerabilities []*string `type:"list"` + + // Information about the vendor that generates the vulnerability report. + Vendor *VulnerabilityVendor `type:"structure"` + + // List of software packages that have the vulnerability. + VulnerablePackages []*SoftwarePackage `type:"list"` +} + +// String returns the string representation +func (s Vulnerability) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Vulnerability) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Vulnerability) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Vulnerability"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Vendor != nil { + if err := s.Vendor.Validate(); err != nil { + invalidParams.AddNested("Vendor", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCvss sets the Cvss field's value. +func (s *Vulnerability) SetCvss(v []*Cvss) *Vulnerability { + s.Cvss = v + return s +} + +// SetId sets the Id field's value. +func (s *Vulnerability) SetId(v string) *Vulnerability { + s.Id = &v + return s +} + +// SetReferenceUrls sets the ReferenceUrls field's value. +func (s *Vulnerability) SetReferenceUrls(v []*string) *Vulnerability { + s.ReferenceUrls = v + return s +} + +// SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value. +func (s *Vulnerability) SetRelatedVulnerabilities(v []*string) *Vulnerability { + s.RelatedVulnerabilities = v + return s +} + +// SetVendor sets the Vendor field's value. +func (s *Vulnerability) SetVendor(v *VulnerabilityVendor) *Vulnerability { + s.Vendor = v + return s +} + +// SetVulnerablePackages sets the VulnerablePackages field's value. +func (s *Vulnerability) SetVulnerablePackages(v []*SoftwarePackage) *Vulnerability { + s.VulnerablePackages = v + return s +} + +// A vendor that generates a vulnerability report. +type VulnerabilityVendor struct { + _ struct{} `type:"structure"` + + // The name of the vendor. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The URL of the vulnerability advisory. + Url *string `type:"string"` + + // The datetime when the vulnerability advisory was created. + VendorCreatedAt *string `type:"string"` + + // The severity that the vendor assigned to the vulnerability. + VendorSeverity *string `type:"string"` + + // The datetime when the vulnerability advisory was last updated. + VendorUpdatedAt *string `type:"string"` +} + +// String returns the string representation +func (s VulnerabilityVendor) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VulnerabilityVendor) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VulnerabilityVendor) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VulnerabilityVendor"} + 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 *VulnerabilityVendor) SetName(v string) *VulnerabilityVendor { + s.Name = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *VulnerabilityVendor) SetUrl(v string) *VulnerabilityVendor { + s.Url = &v + return s +} + +// SetVendorCreatedAt sets the VendorCreatedAt field's value. +func (s *VulnerabilityVendor) SetVendorCreatedAt(v string) *VulnerabilityVendor { + s.VendorCreatedAt = &v + return s +} + +// SetVendorSeverity sets the VendorSeverity field's value. +func (s *VulnerabilityVendor) SetVendorSeverity(v string) *VulnerabilityVendor { + s.VendorSeverity = &v + return s +} + +// SetVendorUpdatedAt sets the VendorUpdatedAt field's value. +func (s *VulnerabilityVendor) SetVendorUpdatedAt(v string) *VulnerabilityVendor { + s.VendorUpdatedAt = &v + return s +} + // Details about the action that CloudFront or AWS WAF takes when a web request -// matches the conditions in the Rule. +// matches the conditions in the rule. type WafAction struct { _ struct{} `type:"structure"` // Specifies how you want AWS WAF to respond to requests that match the settings - // in a Rule. + // in a rule. // // Valid settings include the following: // diff --git a/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go index ef25beaffd9..574e93c1736 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go @@ -327,6 +327,8 @@ func (c *ServiceCatalog) AssociateProductWithPortfolioRequest(input *AssociatePr // // Associates the specified product with the specified portfolio. // +// A delegated admin is authorized to invoke this 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. @@ -851,6 +853,8 @@ func (c *ServiceCatalog) CreateConstraintRequest(input *CreateConstraintInput) ( // // Creates a constraint. // +// A delegated admin is authorized to invoke this 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. @@ -941,6 +945,8 @@ func (c *ServiceCatalog) CreatePortfolioRequest(input *CreatePortfolioInput) (re // // Creates a portfolio. // +// A delegated admin is authorized to invoke this 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. @@ -1030,8 +1036,17 @@ func (c *ServiceCatalog) CreatePortfolioShareRequest(input *CreatePortfolioShare // // Shares the specified portfolio with the specified account or organization // node. Shares to an organization node can only be created by the master account -// of an Organization. AWSOrganizationsAccess must be enabled in order to create -// a portfolio share to an organization node. +// of an organization or by a delegated administrator. You can share portfolios +// to an organization, an organizational unit, or a specific account. +// +// Note that if a delegated admin is de-registered, they can no longer create +// portfolio shares. +// +// AWSOrganizationsAccess must be enabled in order to create a portfolio share +// to an organization node. +// +// You can't share a shared resource. This includes portfolios that contain +// a shared product. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1128,6 +1143,8 @@ func (c *ServiceCatalog) CreateProductRequest(input *CreateProductInput) (req *r // // Creates a product. // +// A delegated admin is authorized to invoke this 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. @@ -1577,6 +1594,8 @@ func (c *ServiceCatalog) DeleteConstraintRequest(input *DeleteConstraintInput) ( // // Deletes the specified constraint. // +// A delegated admin is authorized to invoke this 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. @@ -1663,6 +1682,8 @@ func (c *ServiceCatalog) DeletePortfolioRequest(input *DeletePortfolioInput) (re // You cannot delete a portfolio if it was shared with you or if it has associated // products, users, constraints, or shared accounts. // +// A delegated admin is authorized to invoke this 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. @@ -1754,7 +1775,10 @@ func (c *ServiceCatalog) DeletePortfolioShareRequest(input *DeletePortfolioShare // // Stops sharing the specified portfolio with the specified account or organization // node. Shares to an organization node can only be deleted by the master account -// of an Organization. +// of an organization or by a delegated administrator. +// +// Note that if a delegated admin is de-registered, portfolio shares created +// from that account are removed. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1850,6 +1874,8 @@ func (c *ServiceCatalog) DeleteProductRequest(input *DeleteProductInput) (req *r // You cannot delete a product if it was shared with you or is associated with // a portfolio. // +// A delegated admin is authorized to invoke this 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. @@ -2449,6 +2475,8 @@ func (c *ServiceCatalog) DescribePortfolioRequest(input *DescribePortfolioInput) // // Gets information about the specified portfolio. // +// A delegated admin is authorized to invoke this 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. @@ -2527,7 +2555,8 @@ func (c *ServiceCatalog) DescribePortfolioShareStatusRequest(input *DescribePort // DescribePortfolioShareStatus API operation for AWS Service Catalog. // // Gets the status of the specified portfolio share operation. This API can -// only be called by the master account in the organization. +// only be called by the master account in the organization or by a delegated +// admin. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2708,6 +2737,9 @@ func (c *ServiceCatalog) DescribeProductAsAdminRequest(input *DescribeProductAsA // * ResourceNotFoundException // The specified resource was not found. // +// * InvalidParametersException +// One or more parameters provided to the operation are not valid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProductAsAdmin func (c *ServiceCatalog) DescribeProductAsAdmin(input *DescribeProductAsAdminInput) (*DescribeProductAsAdminOutput, error) { req, out := c.DescribeProductAsAdminRequest(input) @@ -3031,6 +3063,9 @@ func (c *ServiceCatalog) DescribeProvisioningArtifactRequest(input *DescribeProv // * ResourceNotFoundException // The specified resource was not found. // +// * InvalidParametersException +// One or more parameters provided to the operation are not valid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DescribeProvisioningArtifact func (c *ServiceCatalog) DescribeProvisioningArtifact(input *DescribeProvisioningArtifactInput) (*DescribeProvisioningArtifactOutput, error) { req, out := c.DescribeProvisioningArtifactRequest(input) @@ -3528,6 +3563,11 @@ func (c *ServiceCatalog) DisableAWSOrganizationsAccessRequest(input *DisableAWSO // with your organization structure if it changes after calling this API. This // API can only be called by the master account in the organization. // +// This API can't be invoked if there are active delegated administrators in +// the organization. +// +// Note that a delegated administrator is not authorized to invoke DisableAWSOrganizationsAccess. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -3779,6 +3819,8 @@ func (c *ServiceCatalog) DisassociateProductFromPortfolioRequest(input *Disassoc // // Disassociates the specified product from the specified portfolio. // +// A delegated admin is authorized to invoke this 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. @@ -4039,6 +4081,8 @@ func (c *ServiceCatalog) EnableAWSOrganizationsAccessRequest(input *EnableAWSOrg // on your behalf so that your shares can be in sync with any changes in your // AWS Organizations structure. // +// Note that a delegated administrator is not authorized to invoke EnableAWSOrganizationsAccess. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -4300,7 +4344,8 @@ func (c *ServiceCatalog) GetAWSOrganizationsAccessStatusRequest(input *GetAWSOrg // GetAWSOrganizationsAccessStatus API operation for AWS Service Catalog. // // Get the Access Status for AWS Organization portfolio share feature. This -// API can only be called by the master account in the organization. +// API can only be called by the master account in the organization or by a +// delegated admin. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4951,7 +4996,10 @@ func (c *ServiceCatalog) ListOrganizationPortfolioAccessRequest(input *ListOrgan // ListOrganizationPortfolioAccess API operation for AWS Service Catalog. // // Lists the organization nodes that have access to the specified portfolio. -// This API can only be called by the master account in the organization. +// This API can only be called by the master account in the organization or +// by a delegated admin. +// +// If a delegated admin is de-registered, they can no longer perform this 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 @@ -5096,6 +5144,10 @@ func (c *ServiceCatalog) ListPortfolioAccessRequest(input *ListPortfolioAccessIn // // Lists the account IDs that have access to the specified portfolio. // +// A delegated admin can list the accounts that have access to the shared portfolio. +// Note that if a delegated admin is de-registered, they can no longer perform +// this 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. @@ -10256,7 +10308,11 @@ type CreateServiceActionInput struct { // // Name // - // The name of the AWS Systems Manager Document. For example, AWS-RestartEC2Instance. + // The name of the AWS Systems Manager document (SSM document). For example, + // AWS-RestartEC2Instance. + // + // If you are using a shared SSM document, you must provide the ARN instead + // of the name. // // Version // @@ -11491,9 +11547,10 @@ type DescribeProductAsAdminInput struct { AcceptLanguage *string `type:"string"` // The product identifier. - // - // Id is a required field - Id *string `min:"1" type:"string" required:"true"` + Id *string `min:"1" type:"string"` + + // The product name. + Name *string `type:"string"` } // String returns the string representation @@ -11509,9 +11566,6 @@ func (s DescribeProductAsAdminInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeProductAsAdminInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeProductAsAdminInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } if s.Id != nil && len(*s.Id) < 1 { invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } @@ -11534,6 +11588,12 @@ func (s *DescribeProductAsAdminInput) SetId(v string) *DescribeProductAsAdminInp return s } +// SetName sets the Name field's value. +func (s *DescribeProductAsAdminInput) SetName(v string) *DescribeProductAsAdminInput { + s.Name = &v + return s +} + type DescribeProductAsAdminOutput struct { _ struct{} `type:"structure"` @@ -11607,9 +11667,10 @@ type DescribeProductInput struct { AcceptLanguage *string `type:"string"` // The product identifier. - // - // Id is a required field - Id *string `min:"1" type:"string" required:"true"` + Id *string `min:"1" type:"string"` + + // The product name. + Name *string `type:"string"` } // String returns the string representation @@ -11625,9 +11686,6 @@ func (s DescribeProductInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeProductInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeProductInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) - } if s.Id != nil && len(*s.Id) < 1 { invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } @@ -11650,12 +11708,21 @@ func (s *DescribeProductInput) SetId(v string) *DescribeProductInput { return s } +// SetName sets the Name field's value. +func (s *DescribeProductInput) SetName(v string) *DescribeProductInput { + s.Name = &v + return s +} + type DescribeProductOutput struct { _ struct{} `type:"structure"` // Information about the associated budgets. Budgets []*BudgetDetail `type:"list"` + // Information about the associated launch paths. + LaunchPaths []*LaunchPath `type:"list"` + // Summary information about the product view. ProductViewSummary *ProductViewSummary `type:"structure"` @@ -11679,6 +11746,12 @@ func (s *DescribeProductOutput) SetBudgets(v []*BudgetDetail) *DescribeProductOu return s } +// SetLaunchPaths sets the LaunchPaths field's value. +func (s *DescribeProductOutput) SetLaunchPaths(v []*LaunchPath) *DescribeProductOutput { + s.LaunchPaths = v + return s +} + // SetProductViewSummary sets the ProductViewSummary field's value. func (s *DescribeProductOutput) SetProductViewSummary(v *ProductViewSummary) *DescribeProductOutput { s.ProductViewSummary = v @@ -11997,14 +12070,16 @@ type DescribeProvisioningArtifactInput struct { AcceptLanguage *string `type:"string"` // The product identifier. - // - // ProductId is a required field - ProductId *string `min:"1" type:"string" required:"true"` + ProductId *string `min:"1" type:"string"` + + // The product name. + ProductName *string `type:"string"` // The identifier of the provisioning artifact. - // - // ProvisioningArtifactId is a required field - ProvisioningArtifactId *string `min:"1" type:"string" required:"true"` + ProvisioningArtifactId *string `min:"1" type:"string"` + + // The provisioning artifact name. + ProvisioningArtifactName *string `type:"string"` // Indicates whether a verbose level of detail is enabled. Verbose *bool `type:"boolean"` @@ -12023,15 +12098,9 @@ func (s DescribeProvisioningArtifactInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeProvisioningArtifactInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeProvisioningArtifactInput"} - if s.ProductId == nil { - invalidParams.Add(request.NewErrParamRequired("ProductId")) - } if s.ProductId != nil && len(*s.ProductId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProductId", 1)) } - if s.ProvisioningArtifactId == nil { - invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId")) - } if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1)) } @@ -12054,12 +12123,24 @@ func (s *DescribeProvisioningArtifactInput) SetProductId(v string) *DescribeProv return s } +// SetProductName sets the ProductName field's value. +func (s *DescribeProvisioningArtifactInput) SetProductName(v string) *DescribeProvisioningArtifactInput { + s.ProductName = &v + return s +} + // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value. func (s *DescribeProvisioningArtifactInput) SetProvisioningArtifactId(v string) *DescribeProvisioningArtifactInput { s.ProvisioningArtifactId = &v return s } +// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value. +func (s *DescribeProvisioningArtifactInput) SetProvisioningArtifactName(v string) *DescribeProvisioningArtifactInput { + s.ProvisioningArtifactName = &v + return s +} + // SetVerbose sets the Verbose field's value. func (s *DescribeProvisioningArtifactInput) SetVerbose(v bool) *DescribeProvisioningArtifactInput { s.Verbose = &v @@ -12121,18 +12202,27 @@ type DescribeProvisioningParametersInput struct { // The path identifier of the product. This value is optional if the product // has a default path, and required if the product has more than one path. To - // list the paths for a product, use ListLaunchPaths. + // list the paths for a product, use ListLaunchPaths. You must provide the name + // or ID, but not both. PathId *string `min:"1" type:"string"` - // The product identifier. - // - // ProductId is a required field - ProductId *string `min:"1" type:"string" required:"true"` + // The name of the path. You must provide the name or ID, but not both. + PathName *string `min:"1" type:"string"` - // The identifier of the provisioning artifact. - // - // ProvisioningArtifactId is a required field - ProvisioningArtifactId *string `min:"1" type:"string" required:"true"` + // The product identifier. You must provide the product name or ID, but not + // both. + ProductId *string `min:"1" type:"string"` + + // The name of the product. You must provide the name or ID, but not both. + ProductName *string `type:"string"` + + // The identifier of the provisioning artifact. You must provide the name or + // ID, but not both. + ProvisioningArtifactId *string `min:"1" type:"string"` + + // The name of the provisioning artifact. You must provide the name or ID, but + // not both. + ProvisioningArtifactName *string `type:"string"` } // String returns the string representation @@ -12151,15 +12241,12 @@ func (s *DescribeProvisioningParametersInput) Validate() error { if s.PathId != nil && len(*s.PathId) < 1 { invalidParams.Add(request.NewErrParamMinLen("PathId", 1)) } - if s.ProductId == nil { - invalidParams.Add(request.NewErrParamRequired("ProductId")) + if s.PathName != nil && len(*s.PathName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PathName", 1)) } if s.ProductId != nil && len(*s.ProductId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProductId", 1)) } - if s.ProvisioningArtifactId == nil { - invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId")) - } if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1)) } @@ -12182,24 +12269,45 @@ func (s *DescribeProvisioningParametersInput) SetPathId(v string) *DescribeProvi return s } +// SetPathName sets the PathName field's value. +func (s *DescribeProvisioningParametersInput) SetPathName(v string) *DescribeProvisioningParametersInput { + s.PathName = &v + return s +} + // SetProductId sets the ProductId field's value. func (s *DescribeProvisioningParametersInput) SetProductId(v string) *DescribeProvisioningParametersInput { s.ProductId = &v return s } +// SetProductName sets the ProductName field's value. +func (s *DescribeProvisioningParametersInput) SetProductName(v string) *DescribeProvisioningParametersInput { + s.ProductName = &v + return s +} + // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value. func (s *DescribeProvisioningParametersInput) SetProvisioningArtifactId(v string) *DescribeProvisioningParametersInput { s.ProvisioningArtifactId = &v return s } +// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value. +func (s *DescribeProvisioningParametersInput) SetProvisioningArtifactName(v string) *DescribeProvisioningParametersInput { + s.ProvisioningArtifactName = &v + return s +} + type DescribeProvisioningParametersOutput struct { _ struct{} `type:"structure"` // Information about the constraints used to provision the product. ConstraintSummaries []*ConstraintSummary `type:"list"` + // The output of the provisioning artifact. + ProvisioningArtifactOutputs []*ProvisioningArtifactOutput `type:"list"` + // Information about the parameters used to provision the product. ProvisioningArtifactParameters []*ProvisioningArtifactParameter `type:"list"` @@ -12231,6 +12339,12 @@ func (s *DescribeProvisioningParametersOutput) SetConstraintSummaries(v []*Const return s } +// SetProvisioningArtifactOutputs sets the ProvisioningArtifactOutputs field's value. +func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactOutputs(v []*ProvisioningArtifactOutput) *DescribeProvisioningParametersOutput { + s.ProvisioningArtifactOutputs = v + return s +} + // SetProvisioningArtifactParameters sets the ProvisioningArtifactParameters field's value. func (s *DescribeProvisioningParametersOutput) SetProvisioningArtifactParameters(v []*ProvisioningArtifactParameter) *DescribeProvisioningParametersOutput { s.ProvisioningArtifactParameters = v @@ -13619,6 +13733,39 @@ func (s *InvalidStateException) RequestID() string { return s.RespMetadata.RequestID } +// A launch path object. +type LaunchPath struct { + _ struct{} `type:"structure"` + + // The identifier of the launch path. + Id *string `min:"1" type:"string"` + + // The name of the launch path. + Name *string `type:"string"` +} + +// String returns the string representation +func (s LaunchPath) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LaunchPath) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *LaunchPath) SetId(v string) *LaunchPath { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *LaunchPath) SetName(v string) *LaunchPath { + s.Name = &v + return s +} + // Summary information about a product path for a user. type LaunchPathSummary struct { _ struct{} `type:"structure"` @@ -16172,13 +16319,18 @@ type ProvisionProductInput struct { // The path identifier of the product. This value is optional if the product // has a default path, and required if the product has more than one path. To - // list the paths for a product, use ListLaunchPaths. + // list the paths for a product, use ListLaunchPaths. You must provide the name + // or ID, but not both. PathId *string `min:"1" type:"string"` - // The product identifier. - // - // ProductId is a required field - ProductId *string `min:"1" type:"string" required:"true"` + // The name of the path. You must provide the name or ID, but not both. + PathName *string `min:"1" type:"string"` + + // The product identifier. You must provide the name or ID, but not both. + ProductId *string `min:"1" type:"string"` + + // The name of the product. You must provide the name or ID, but not both. + ProductName *string `type:"string"` // An idempotency token that uniquely identifies the provisioning request. ProvisionToken *string `min:"1" type:"string" idempotencyToken:"true"` @@ -16189,10 +16341,13 @@ type ProvisionProductInput struct { // ProvisionedProductName is a required field ProvisionedProductName *string `min:"1" type:"string" required:"true"` - // The identifier of the provisioning artifact. - // - // ProvisioningArtifactId is a required field - ProvisioningArtifactId *string `min:"1" type:"string" required:"true"` + // The identifier of the provisioning artifact. You must provide the name or + // ID, but not both. + ProvisioningArtifactId *string `min:"1" type:"string"` + + // The name of the provisioning artifact. You must provide the name or ID, but + // not both. + ProvisioningArtifactName *string `type:"string"` // Parameters specified by the administrator that are required for provisioning // the product. @@ -16222,8 +16377,8 @@ func (s *ProvisionProductInput) Validate() error { if s.PathId != nil && len(*s.PathId) < 1 { invalidParams.Add(request.NewErrParamMinLen("PathId", 1)) } - if s.ProductId == nil { - invalidParams.Add(request.NewErrParamRequired("ProductId")) + if s.PathName != nil && len(*s.PathName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PathName", 1)) } if s.ProductId != nil && len(*s.ProductId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProductId", 1)) @@ -16237,9 +16392,6 @@ func (s *ProvisionProductInput) Validate() error { if s.ProvisionedProductName != nil && len(*s.ProvisionedProductName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProvisionedProductName", 1)) } - if s.ProvisioningArtifactId == nil { - invalidParams.Add(request.NewErrParamRequired("ProvisioningArtifactId")) - } if s.ProvisioningArtifactId != nil && len(*s.ProvisioningArtifactId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProvisioningArtifactId", 1)) } @@ -16293,12 +16445,24 @@ func (s *ProvisionProductInput) SetPathId(v string) *ProvisionProductInput { return s } +// SetPathName sets the PathName field's value. +func (s *ProvisionProductInput) SetPathName(v string) *ProvisionProductInput { + s.PathName = &v + return s +} + // SetProductId sets the ProductId field's value. func (s *ProvisionProductInput) SetProductId(v string) *ProvisionProductInput { s.ProductId = &v return s } +// SetProductName sets the ProductName field's value. +func (s *ProvisionProductInput) SetProductName(v string) *ProvisionProductInput { + s.ProductName = &v + return s +} + // SetProvisionToken sets the ProvisionToken field's value. func (s *ProvisionProductInput) SetProvisionToken(v string) *ProvisionProductInput { s.ProvisionToken = &v @@ -16317,6 +16481,12 @@ func (s *ProvisionProductInput) SetProvisioningArtifactId(v string) *ProvisionPr return s } +// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value. +func (s *ProvisionProductInput) SetProvisioningArtifactName(v string) *ProvisionProductInput { + s.ProvisioningArtifactName = &v + return s +} + // SetProvisioningParameters sets the ProvisioningParameters field's value. func (s *ProvisionProductInput) SetProvisioningParameters(v []*ProvisioningParameter) *ProvisionProductInput { s.ProvisioningParameters = v @@ -17039,6 +17209,39 @@ func (s *ProvisioningArtifactDetail) SetType(v string) *ProvisioningArtifactDeta return s } +// Provisioning artifact output. +type ProvisioningArtifactOutput struct { + _ struct{} `type:"structure"` + + // Description of the provisioning artifact output key. + Description *string `type:"string"` + + // The provisioning artifact output key. + Key *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ProvisioningArtifactOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProvisioningArtifactOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *ProvisioningArtifactOutput) SetDescription(v string) *ProvisioningArtifactOutput { + s.Description = &v + return s +} + +// SetKey sets the Key field's value. +func (s *ProvisioningArtifactOutput) SetKey(v string) *ProvisioningArtifactOutput { + s.Key = &v + return s +} + // Information about a parameter used to provision a product. type ProvisioningArtifactParameter struct { _ struct{} `type:"structure"` @@ -19841,15 +20044,22 @@ type UpdateProvisionedProductInput struct { // * zh - Chinese AcceptLanguage *string `type:"string"` - // The new path identifier. This value is optional if the product has a default - // path, and required if the product has more than one path. + // The path identifier. This value is optional if the product has a default + // path, and required if the product has more than one path. You must provide + // the name or ID, but not both. PathId *string `min:"1" type:"string"` - // The identifier of the product. + // The name of the path. You must provide the name or ID, but not both. + PathName *string `min:"1" type:"string"` + + // The identifier of the product. You must provide the name or ID, but not both. ProductId *string `min:"1" type:"string"` - // The identifier of the provisioned product. You cannot specify both ProvisionedProductName - // and ProvisionedProductId. + // The name of the product. You must provide the name or ID, but not both. + ProductName *string `type:"string"` + + // The identifier of the provisioned product. You must provide the name or ID, + // but not both. ProvisionedProductId *string `min:"1" type:"string"` // The name of the provisioned product. You cannot specify both ProvisionedProductName @@ -19859,6 +20069,10 @@ type UpdateProvisionedProductInput struct { // The identifier of the provisioning artifact. ProvisioningArtifactId *string `min:"1" type:"string"` + // The name of the provisioning artifact. You must provide the name or ID, but + // not both. + ProvisioningArtifactName *string `type:"string"` + // The new parameters. ProvisioningParameters []*UpdateProvisioningParameter `type:"list"` @@ -19890,6 +20104,9 @@ func (s *UpdateProvisionedProductInput) Validate() error { if s.PathId != nil && len(*s.PathId) < 1 { invalidParams.Add(request.NewErrParamMinLen("PathId", 1)) } + if s.PathName != nil && len(*s.PathName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PathName", 1)) + } if s.ProductId != nil && len(*s.ProductId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProductId", 1)) } @@ -19949,12 +20166,24 @@ func (s *UpdateProvisionedProductInput) SetPathId(v string) *UpdateProvisionedPr return s } +// SetPathName sets the PathName field's value. +func (s *UpdateProvisionedProductInput) SetPathName(v string) *UpdateProvisionedProductInput { + s.PathName = &v + return s +} + // SetProductId sets the ProductId field's value. func (s *UpdateProvisionedProductInput) SetProductId(v string) *UpdateProvisionedProductInput { s.ProductId = &v return s } +// SetProductName sets the ProductName field's value. +func (s *UpdateProvisionedProductInput) SetProductName(v string) *UpdateProvisionedProductInput { + s.ProductName = &v + return s +} + // SetProvisionedProductId sets the ProvisionedProductId field's value. func (s *UpdateProvisionedProductInput) SetProvisionedProductId(v string) *UpdateProvisionedProductInput { s.ProvisionedProductId = &v @@ -19973,6 +20202,12 @@ func (s *UpdateProvisionedProductInput) SetProvisioningArtifactId(v string) *Upd return s } +// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value. +func (s *UpdateProvisionedProductInput) SetProvisioningArtifactName(v string) *UpdateProvisionedProductInput { + s.ProvisioningArtifactName = &v + return s +} + // SetProvisioningParameters sets the ProvisioningParameters field's value. func (s *UpdateProvisionedProductInput) SetProvisioningParameters(v []*UpdateProvisioningParameter) *UpdateProvisionedProductInput { s.ProvisioningParameters = v @@ -20043,9 +20278,9 @@ type UpdateProvisionedProductPropertiesInput struct { // A map that contains the provisioned product properties to be updated. // - // The OWNER key only accepts user ARNs. The owner is the user that is allowed - // to see, update, terminate, and execute service actions in the provisioned - // product. + // The OWNER key accepts user ARNs and role ARNs. The owner is the user that + // is allowed to see, update, terminate, and execute service actions in the + // provisioned product. // // The administrator can change the owner of a provisioned product to another // IAM user within the same account. Both end user owners and administrators diff --git a/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/api.go b/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/api.go index b6b6d9f17c8..e3d697c2af9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/api.go @@ -61,8 +61,8 @@ func (c *ServiceDiscovery) CreateHttpNamespaceRequest(input *CreateHttpNamespace // namespace can be discovered using a DiscoverInstances request but can't be // discovered using DNS. // -// For the current limit on the number of namespaces that you can create using -// the same AWS account, see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) +// For the current quota on the number of namespaces that you can create using +// the same AWS account, see AWS Cloud Map quotas (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) // in the AWS Cloud Map Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -82,12 +82,16 @@ func (c *ServiceDiscovery) CreateHttpNamespaceRequest(input *CreateHttpNamespace // The namespace that you're trying to create already exists. // // * ResourceLimitExceeded -// The resource can't be created because you've reached the limit on the number +// The resource can't be created because you've reached the quota on the number // of resources. // // * DuplicateRequest // The operation is already in progress. // +// * TooManyTagsException +// The list of tags on the resource is over the quota. The maximum number of +// tags that can be applied to a resource is 50. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateHttpNamespace func (c *ServiceDiscovery) CreateHttpNamespace(input *CreateHttpNamespaceInput) (*CreateHttpNamespaceOutput, error) { req, out := c.CreateHttpNamespaceRequest(input) @@ -158,7 +162,7 @@ func (c *ServiceDiscovery) CreatePrivateDnsNamespaceRequest(input *CreatePrivate // a specified Amazon VPC. The namespace defines your service naming scheme. // For example, if you name your namespace example.com and name your service // backend, the resulting DNS name for the service will be backend.example.com. -// For the current limit on the number of namespaces that you can create using +// For the current quota on the number of namespaces that you can create using // the same AWS account, see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) // in the AWS Cloud Map Developer Guide. // @@ -179,12 +183,16 @@ func (c *ServiceDiscovery) CreatePrivateDnsNamespaceRequest(input *CreatePrivate // The namespace that you're trying to create already exists. // // * ResourceLimitExceeded -// The resource can't be created because you've reached the limit on the number +// The resource can't be created because you've reached the quota on the number // of resources. // // * DuplicateRequest // The operation is already in progress. // +// * TooManyTagsException +// The list of tags on the resource is over the quota. The maximum number of +// tags that can be applied to a resource is 50. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePrivateDnsNamespace func (c *ServiceDiscovery) CreatePrivateDnsNamespace(input *CreatePrivateDnsNamespaceInput) (*CreatePrivateDnsNamespaceOutput, error) { req, out := c.CreatePrivateDnsNamespaceRequest(input) @@ -254,7 +262,7 @@ func (c *ServiceDiscovery) CreatePublicDnsNamespaceRequest(input *CreatePublicDn // Creates a public namespace based on DNS, which will be visible on the internet. // The namespace defines your service naming scheme. For example, if you name // your namespace example.com and name your service backend, the resulting DNS -// name for the service will be backend.example.com. For the current limit on +// name for the service will be backend.example.com. For the current quota on // the number of namespaces that you can create using the same AWS account, // see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) // in the AWS Cloud Map Developer Guide. @@ -276,12 +284,16 @@ func (c *ServiceDiscovery) CreatePublicDnsNamespaceRequest(input *CreatePublicDn // The namespace that you're trying to create already exists. // // * ResourceLimitExceeded -// The resource can't be created because you've reached the limit on the number +// The resource can't be created because you've reached the quota on the number // of resources. // // * DuplicateRequest // The operation is already in progress. // +// * TooManyTagsException +// The list of tags on the resource is over the quota. The maximum number of +// tags that can be applied to a resource is 50. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreatePublicDnsNamespace func (c *ServiceDiscovery) CreatePublicDnsNamespace(input *CreatePublicDnsNamespaceInput) (*CreatePublicDnsNamespaceOutput, error) { req, out := c.CreatePublicDnsNamespaceRequest(input) @@ -359,7 +371,7 @@ func (c *ServiceDiscovery) CreateServiceRequest(input *CreateServiceInput) (req // request, and AWS Cloud Map uses the values in the configuration to create // the specified entities. // -// For the current limit on the number of instances that you can register using +// For the current quota on the number of instances that you can register using // the same namespace and using the same service, see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) // in the AWS Cloud Map Developer Guide. // @@ -377,7 +389,7 @@ func (c *ServiceDiscovery) CreateServiceRequest(input *CreateServiceInput) (req // a string value might exceed length constraints. // // * ResourceLimitExceeded -// The resource can't be created because you've reached the limit on the number +// The resource can't be created because you've reached the quota on the number // of resources. // // * NamespaceNotFound @@ -387,6 +399,10 @@ func (c *ServiceDiscovery) CreateServiceRequest(input *CreateServiceInput) (req // The service can't be created because a service with the same name already // exists. // +// * TooManyTagsException +// The list of tags on the resource is over the quota. The maximum number of +// tags that can be applied to a resource is 50. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/CreateService func (c *ServiceDiscovery) CreateService(input *CreateServiceInput) (*CreateServiceOutput, error) { req, out := c.CreateServiceRequest(input) @@ -757,6 +773,12 @@ func (c *ServiceDiscovery) DiscoverInstancesRequest(input *DiscoverInstancesInpu // might be missing, a numeric value might be outside the allowed range, or // a string value might exceed length constraints. // +// * RequestLimitExceeded +// The operation can't be completed because you've reached the quota for the +// number of requests. For more information, see AWS Cloud Map API request throttling +// quota (https://docs.aws.amazon.com/cloud-map/latest/dg/throttling.html) in +// the AWS Cloud Map Developer Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/DiscoverInstances func (c *ServiceDiscovery) DiscoverInstances(input *DiscoverInstancesInput) (*DiscoverInstancesOutput, error) { req, out := c.DiscoverInstancesRequest(input) @@ -1835,6 +1857,90 @@ func (c *ServiceDiscovery) ListServicesPagesWithContext(ctx aws.Context, input * return p.Err() } +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListTagsForResource +func (c *ServiceDiscovery) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS Cloud Map. +// +// Lists tags for the specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Cloud Map's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The operation can't be completed because the resource was not found. +// +// * InvalidInput +// One or more specified values aren't valid. For example, a required value +// might be missing, a numeric value might be outside the allowed range, or +// a string value might exceed length constraints. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/ListTagsForResource +func (c *ServiceDiscovery) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ServiceDiscovery) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRegisterInstance = "RegisterInstance" // RegisterInstanceRequest generates a "aws/request.Request" representing the @@ -1909,7 +2015,7 @@ func (c *ServiceDiscovery) RegisterInstanceRequest(input *RegisterInstanceInput) // * If you didn't specify a health check configuration: returns all the // records // -// For the current limit on the number of instances that you can register using +// For the current quota on the number of instances that you can register using // the same namespace and using the same service, see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) // in the AWS Cloud Map Developer Guide. // @@ -1934,7 +2040,7 @@ func (c *ServiceDiscovery) RegisterInstanceRequest(input *RegisterInstanceInput) // For example, you can't delete a service that contains any instances. // // * ResourceLimitExceeded -// The resource can't be created because you've reached the limit on the number +// The resource can't be created because you've reached the quota on the number // of resources. // // * ServiceNotFound @@ -1962,6 +2068,180 @@ func (c *ServiceDiscovery) RegisterInstanceWithContext(ctx aws.Context, input *R return out, req.Send() } +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/TagResource +func (c *ServiceDiscovery) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS Cloud Map. +// +// Adds one or more tags to the specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Cloud Map's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The operation can't be completed because the resource was not found. +// +// * TooManyTagsException +// The list of tags on the resource is over the quota. The maximum number of +// tags that can be applied to a resource is 50. +// +// * InvalidInput +// One or more specified values aren't valid. For example, a required value +// might be missing, a numeric value might be outside the allowed range, or +// a string value might exceed length constraints. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/TagResource +func (c *ServiceDiscovery) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ServiceDiscovery) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UntagResource +func (c *ServiceDiscovery) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS Cloud Map. +// +// Removes one or more tags from the specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Cloud Map's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The operation can't be completed because the resource was not found. +// +// * InvalidInput +// One or more specified values aren't valid. For example, a required value +// might be missing, a numeric value might be outside the allowed range, or +// a string value might exceed length constraints. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/servicediscovery-2017-03-14/UntagResource +func (c *ServiceDiscovery) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *ServiceDiscovery) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateInstanceCustomHealthStatus = "UpdateInstanceCustomHealthStatus" // UpdateInstanceCustomHealthStatusRequest generates a "aws/request.Request" representing the @@ -2183,6 +2463,11 @@ type CreateHttpNamespaceInput struct { // // Name is a required field Name *string `type:"string" required:"true"` + + // The tags to add to the namespace. Each tag consists of a key and an optional + // value, both of which you define. Tag keys can have a maximum character length + // of 128 characters, and tag values can have a maximum length of 256 characters. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -2201,6 +2486,16 @@ func (s *CreateHttpNamespaceInput) Validate() error { if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } + 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 @@ -2226,6 +2521,12 @@ func (s *CreateHttpNamespaceInput) SetName(v string) *CreateHttpNamespaceInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateHttpNamespaceInput) SetTags(v []*Tag) *CreateHttpNamespaceInput { + s.Tags = v + return s +} + type CreateHttpNamespaceOutput struct { _ struct{} `type:"structure"` @@ -2268,6 +2569,11 @@ type CreatePrivateDnsNamespaceInput struct { // Name is a required field Name *string `type:"string" required:"true"` + // The tags to add to the namespace. Each tag consists of a key and an optional + // value, both of which you define. Tag keys can have a maximum character length + // of 128 characters, and tag values can have a maximum length of 256 characters. + Tags []*Tag `type:"list"` + // The ID of the Amazon VPC that you want to associate the namespace with. // // Vpc is a required field @@ -2293,6 +2599,16 @@ func (s *CreatePrivateDnsNamespaceInput) Validate() error { if s.Vpc == nil { invalidParams.Add(request.NewErrParamRequired("Vpc")) } + 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 @@ -2318,6 +2634,12 @@ func (s *CreatePrivateDnsNamespaceInput) SetName(v string) *CreatePrivateDnsName return s } +// SetTags sets the Tags field's value. +func (s *CreatePrivateDnsNamespaceInput) SetTags(v []*Tag) *CreatePrivateDnsNamespaceInput { + s.Tags = v + return s +} + // SetVpc sets the Vpc field's value. func (s *CreatePrivateDnsNamespaceInput) SetVpc(v string) *CreatePrivateDnsNamespaceInput { s.Vpc = &v @@ -2363,6 +2685,11 @@ type CreatePublicDnsNamespaceInput struct { // // Name is a required field Name *string `type:"string" required:"true"` + + // The tags to add to the namespace. Each tag consists of a key and an optional + // value, both of which you define. Tag keys can have a maximum character length + // of 128 characters, and tag values can have a maximum length of 256 characters. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -2381,6 +2708,16 @@ func (s *CreatePublicDnsNamespaceInput) Validate() error { if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } + 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 @@ -2406,6 +2743,12 @@ func (s *CreatePublicDnsNamespaceInput) SetName(v string) *CreatePublicDnsNamesp return s } +// SetTags sets the Tags field's value. +func (s *CreatePublicDnsNamespaceInput) SetTags(v []*Tag) *CreatePublicDnsNamespaceInput { + s.Tags = v + return s +} + type CreatePublicDnsNamespaceOutput struct { _ struct{} `type:"structure"` @@ -2488,6 +2831,11 @@ type CreateServiceInput struct { // The ID of the namespace that you want to use to create the service. NamespaceId *string `type:"string"` + + // The tags to add to the service. Each tag consists of a key and an optional + // value, both of which you define. Tag keys can have a maximum character length + // of 128 characters, and tag values can have a maximum length of 256 characters. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -2521,6 +2869,16 @@ func (s *CreateServiceInput) Validate() error { invalidParams.AddNested("HealthCheckCustomConfig", err.(request.ErrInvalidParams)) } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2570,6 +2928,12 @@ func (s *CreateServiceInput) SetNamespaceId(v string) *CreateServiceInput { return s } +// SetTags sets the Tags field's value. +func (s *CreateServiceInput) SetTags(v []*Tag) *CreateServiceInput { + s.Tags = v + return s +} + type CreateServiceOutput struct { _ struct{} `type:"structure"` @@ -3735,14 +4099,14 @@ func (s *GetServiceOutput) SetService(v *Service) *GetServiceOutput { // // Note the following about configuring health checks. // -// A and AAAA records +// A and AAAA records // // If DnsConfig includes configurations for both A and AAAA records, AWS Cloud // Map creates a health check that uses the IPv4 address to check the health // of the resource. If the endpoint that is specified by the IPv4 address is // unhealthy, Route 53 considers both the A and AAAA records to be unhealthy. // -// CNAME records +// CNAME records // // You can't specify settings for HealthCheckConfig when the DNSConfig includes // CNAME for the value of Type. If you do, the CreateService request will fail @@ -4092,6 +4456,11 @@ type Instance struct { // * If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values // for any of the AWS_INSTANCE attributes. // + // AWS_EC2_INSTANCE_ID + // + // HTTP namespaces only. The Amazon EC2 instance ID for the instance. The AWS_INSTANCE_IPV4 + // attribute contains the primary private IPv4 address. + // // AWS_INSTANCE_CNAME // // If the service configuration includes a CNAME record, the domain name that @@ -4262,6 +4631,11 @@ type InstanceSummary struct { // Load Balancing load balancer, the DNS name that is associated with the // load balancer. // + // * AWS_EC2_INSTANCE_ID: (HTTP namespaces only) The Amazon EC2 instance + // ID for the instance. When the AWS_EC2_INSTANCE_ID attribute is specified, + // then the AWS_INSTANCE_IPV4 attribute contains the primary private IPv4 + // address. + // // * AWS_INSTANCE_CNAME: For a CNAME record, the domain name that Route 53 // returns in response to DNS queries, for example, example.com. // @@ -4817,22 +5191,87 @@ func (s *ListServicesOutput) SetServices(v []*ServiceSummary) *ListServicesOutpu return s } -// A complex type that contains information about a specified namespace. -type Namespace struct { +type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the namespace - // when you create it. - Arn *string `type:"string"` + // The Amazon Resource Name (ARN) of the resource that you want to retrieve + // tags for. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` +} - // The date that the namespace was created, in Unix date/time format and Coordinated - // Universal Time (UTC). The value of CreateDate is accurate to milliseconds. - // For example, the value 1516925490.087 represents Friday, January 26, 2018 - // 12:11:30.087 AM. - CreateDate *time.Time `type:"timestamp"` +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} - // A unique string that identifies the request and that allows failed requests - // to be retried without the risk of executing an operation twice. +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { + s.ResourceARN = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags that are assigned to the resource. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// A complex type that contains information about a specified namespace. +type Namespace struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the namespace + // when you create it. + Arn *string `type:"string"` + + // The date that the namespace was created, in Unix date/time format and Coordinated + // Universal Time (UTC). The value of CreateDate is accurate to milliseconds. + // For example, the value 1516925490.087 represents Friday, January 26, 2018 + // 12:11:30.087 AM. + CreateDate *time.Time `type:"timestamp"` + + // A unique string that identifies the request and that allows failed requests + // to be retried without the risk of executing an operation twice. CreatorRequestId *string `type:"string"` // The description that you specify for the namespace when you create it. @@ -5604,11 +6043,19 @@ type RegisterInstanceInput struct { // won't associate the health check with the alias record. // // * Auto naming currently doesn't support creating alias records that route - // traffic to AWS resources other than ELB load balancers. + // traffic to AWS resources other than Elastic Load Balancing load balancers. // // * If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values // for any of the AWS_INSTANCE attributes. // + // AWS_EC2_INSTANCE_ID + // + // HTTP namespaces only. The Amazon EC2 instance ID for the instance. If the + // AWS_EC2_INSTANCE_ID attribute is specified, then the only other attribute + // that can be specified is AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID + // attribute is specified, then the AWS_INSTANCE_IPV4 attribute will be filled + // out with the primary private IPv4 address. + // // AWS_INIT_HEALTH_STATUS // // If the service configuration includes HealthCheckCustomConfig, you can optionally @@ -5657,7 +6104,8 @@ type RegisterInstanceInput struct { // // You can add up to 30 custom attributes. For each key-value pair, the maximum // length of the attribute name is 255 characters, and the maximum length of - // the attribute value is 1,024 characters. + // the attribute value is 1,024 characters. The total size of all provided attributes + // (sum of all keys and values) must not exceed 5,000 characters. // // Attributes is a required field Attributes map[string]*string `type:"map" required:"true"` @@ -5774,6 +6222,65 @@ func (s *RegisterInstanceOutput) SetOperationId(v string) *RegisterInstanceOutpu return s } +// The operation can't be completed because you've reached the quota for the +// number of requests. For more information, see AWS Cloud Map API request throttling +// quota (https://docs.aws.amazon.com/cloud-map/latest/dg/throttling.html) in +// the AWS Cloud Map Developer Guide. +type RequestLimitExceeded struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s RequestLimitExceeded) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RequestLimitExceeded) GoString() string { + return s.String() +} + +func newErrorRequestLimitExceeded(v protocol.ResponseMetadata) error { + return &RequestLimitExceeded{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *RequestLimitExceeded) Code() string { + return "RequestLimitExceeded" +} + +// Message returns the exception's message. +func (s *RequestLimitExceeded) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *RequestLimitExceeded) OrigErr() error { + return nil +} + +func (s *RequestLimitExceeded) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *RequestLimitExceeded) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *RequestLimitExceeded) RequestID() string { + return s.RespMetadata.RequestID +} + // The specified resource can't be deleted because it contains other resources. // For example, you can't delete a service that contains any instances. type ResourceInUse struct { @@ -5831,7 +6338,7 @@ func (s *ResourceInUse) RequestID() string { return s.RespMetadata.RequestID } -// The resource can't be created because you've reached the limit on the number +// The resource can't be created because you've reached the quota on the number // of resources. type ResourceLimitExceeded struct { _ struct{} `type:"structure"` @@ -5888,6 +6395,62 @@ func (s *ResourceLimitExceeded) RequestID() string { return s.RespMetadata.RequestID } +// The operation can't be completed because the resource was not found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + // A complex type that contains information about the specified service. type Service struct { _ struct{} `type:"structure"` @@ -6094,9 +6657,7 @@ type ServiceChange struct { // A complex type that contains information about the Route 53 DNS records that // you want AWS Cloud Map to create when you register an instance. - // - // DnsConfig is a required field - DnsConfig *DnsConfigChange `type:"structure" required:"true"` + DnsConfig *DnsConfigChange `type:"structure"` // Public DNS and HTTP namespaces only. A complex type that contains settings // for an optional health check. If you specify settings for a health check, @@ -6112,14 +6673,14 @@ type ServiceChange struct { // // Note the following about configuring health checks. // - // A and AAAA records + // A and AAAA records // // If DnsConfig includes configurations for both A and AAAA records, AWS Cloud // Map creates a health check that uses the IPv4 address to check the health // of the resource. If the endpoint that is specified by the IPv4 address is // unhealthy, Route 53 considers both the A and AAAA records to be unhealthy. // - // CNAME records + // CNAME records // // You can't specify settings for HealthCheckConfig when the DNSConfig includes // CNAME for the value of Type. If you do, the CreateService request will fail @@ -6173,9 +6734,6 @@ func (s ServiceChange) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ServiceChange) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ServiceChange"} - if s.DnsConfig == nil { - invalidParams.Add(request.NewErrParamRequired("DnsConfig")) - } if s.DnsConfig != nil { if err := s.DnsConfig.Validate(); err != nil { invalidParams.AddNested("DnsConfig", err.(request.ErrInvalidParams)) @@ -6372,14 +6930,14 @@ type ServiceSummary struct { // // Note the following about configuring health checks. // - // A and AAAA records + // A and AAAA records // // If DnsConfig includes configurations for both A and AAAA records, AWS Cloud // Map creates a health check that uses the IPv4 address to check the health // of the resource. If the endpoint that is specified by the IPv4 address is // unhealthy, Route 53 considers both the A and AAAA records to be unhealthy. // - // CNAME records + // CNAME records // // You can't specify settings for HealthCheckConfig when the DNSConfig includes // CNAME for the value of Type. If you do, the CreateService request will fail @@ -6547,6 +7105,275 @@ func (s *ServiceSummary) SetName(v string) *ServiceSummary { return s } +// A custom key-value pair associated with a resource. +type Tag struct { + _ struct{} `type:"structure"` + + // The key identifier, or name, of the tag. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The string value associated with the key of the tag. You can set the value + // of a tag to an empty string, but you can't set the value of a tag to null. + // + // 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 TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you want to retrieve + // tags for. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // The tags to add to the specified resource. Specifying the tag key is required. + // You can set the value of a tag to an empty string, but you can't set the + // value of a tag to null. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// The list of tags on the resource is over the quota. The maximum number of +// tags that can be applied to a resource is 50. +type TooManyTagsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // The name of the resource. + ResourceName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s TooManyTagsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TooManyTagsException) GoString() string { + return s.String() +} + +func newErrorTooManyTagsException(v protocol.ResponseMetadata) error { + return &TooManyTagsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *TooManyTagsException) Code() string { + return "TooManyTagsException" +} + +// Message returns the exception's message. +func (s *TooManyTagsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TooManyTagsException) OrigErr() error { + return nil +} + +func (s *TooManyTagsException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *TooManyTagsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *TooManyTagsException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you want to retrieve + // tags for. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // The tag keys to remove from the specified resource. + // + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + type UpdateInstanceCustomHealthStatusInput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/errors.go b/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/errors.go index 0e4e0085797..540fb52082b 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/servicediscovery/errors.go @@ -54,6 +54,15 @@ const ( // No operation exists with the specified ID. ErrCodeOperationNotFound = "OperationNotFound" + // ErrCodeRequestLimitExceeded for service response error code + // "RequestLimitExceeded". + // + // The operation can't be completed because you've reached the quota for the + // number of requests. For more information, see AWS Cloud Map API request throttling + // quota (https://docs.aws.amazon.com/cloud-map/latest/dg/throttling.html) in + // the AWS Cloud Map Developer Guide. + ErrCodeRequestLimitExceeded = "RequestLimitExceeded" + // ErrCodeResourceInUse for service response error code // "ResourceInUse". // @@ -64,10 +73,16 @@ const ( // ErrCodeResourceLimitExceeded for service response error code // "ResourceLimitExceeded". // - // The resource can't be created because you've reached the limit on the number + // The resource can't be created because you've reached the quota on the number // of resources. ErrCodeResourceLimitExceeded = "ResourceLimitExceeded" + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The operation can't be completed because the resource was not found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + // ErrCodeServiceAlreadyExists for service response error code // "ServiceAlreadyExists". // @@ -80,18 +95,28 @@ const ( // // No service exists with the specified ID. ErrCodeServiceNotFound = "ServiceNotFound" + + // ErrCodeTooManyTagsException for service response error code + // "TooManyTagsException". + // + // The list of tags on the resource is over the quota. The maximum number of + // tags that can be applied to a resource is 50. + ErrCodeTooManyTagsException = "TooManyTagsException" ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ - "CustomHealthNotFound": newErrorCustomHealthNotFound, - "DuplicateRequest": newErrorDuplicateRequest, - "InstanceNotFound": newErrorInstanceNotFound, - "InvalidInput": newErrorInvalidInput, - "NamespaceAlreadyExists": newErrorNamespaceAlreadyExists, - "NamespaceNotFound": newErrorNamespaceNotFound, - "OperationNotFound": newErrorOperationNotFound, - "ResourceInUse": newErrorResourceInUse, - "ResourceLimitExceeded": newErrorResourceLimitExceeded, - "ServiceAlreadyExists": newErrorServiceAlreadyExists, - "ServiceNotFound": newErrorServiceNotFound, + "CustomHealthNotFound": newErrorCustomHealthNotFound, + "DuplicateRequest": newErrorDuplicateRequest, + "InstanceNotFound": newErrorInstanceNotFound, + "InvalidInput": newErrorInvalidInput, + "NamespaceAlreadyExists": newErrorNamespaceAlreadyExists, + "NamespaceNotFound": newErrorNamespaceNotFound, + "OperationNotFound": newErrorOperationNotFound, + "RequestLimitExceeded": newErrorRequestLimitExceeded, + "ResourceInUse": newErrorResourceInUse, + "ResourceLimitExceeded": newErrorResourceLimitExceeded, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceAlreadyExists": newErrorServiceAlreadyExists, + "ServiceNotFound": newErrorServiceNotFound, + "TooManyTagsException": newErrorTooManyTagsException, } diff --git a/vendor/github.com/aws/aws-sdk-go/service/shield/api.go b/vendor/github.com/aws/aws-sdk-go/service/shield/api.go index 0d070f3b51b..ab389eb9968 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/shield/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/shield/api.go @@ -58,7 +58,7 @@ func (c *Shield) AssociateDRTLogBucketRequest(input *AssociateDRTLogBucketInput) // AssociateDRTLogBucket API operation for AWS Shield. // -// Authorizes the DDoS Response team (DRT) to access the specified Amazon S3 +// Authorizes the DDoS Response Team (DRT) to access the specified Amazon S3 // bucket containing your AWS WAF logs. You can associate up to 10 Amazon S3 // buckets with your subscription. // @@ -96,14 +96,14 @@ func (c *Shield) AssociateDRTLogBucketRequest(input *AssociateDRTLogBucketInput) // Exception that indicates that the parameters passed to the API are invalid. // // * AccessDeniedForDependencyException -// In order to grant the necessary access to the DDoS Response Team, the user -// submitting the request must have the iam:PassRole permission. This error +// In order to grant the necessary access to the DDoS Response Team (DRT), the +// user submitting the request must have the iam:PassRole permission. This error // indicates the user did not have the appropriate permissions. For more information, // see Granting a User Permissions to Pass a Role to an AWS Service (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html). // // * OptimisticLockException -// Exception that indicates that the protection state has been modified by another -// client. You can retry the request. +// Exception that indicates that the resource state has been modified by another +// client. Retrieve the resource and then retry your request. // // * ResourceNotFoundException // Exception indicating the specified resource does not exist. @@ -175,7 +175,7 @@ func (c *Shield) AssociateDRTRoleRequest(input *AssociateDRTRoleInput) (req *req // AssociateDRTRole API operation for AWS Shield. // -// Authorizes the DDoS Response team (DRT), using the specified role, to access +// Authorizes the DDoS Response Team (DRT), using the specified role, to access // your AWS account to assist with DDoS attack mitigation during potential attacks. // This enables the DRT to inspect your AWS WAF configuration and create or // update AWS WAF rules and web ACLs. @@ -224,14 +224,14 @@ func (c *Shield) AssociateDRTRoleRequest(input *AssociateDRTRoleInput) (req *req // Exception that indicates that the parameters passed to the API are invalid. // // * AccessDeniedForDependencyException -// In order to grant the necessary access to the DDoS Response Team, the user -// submitting the request must have the iam:PassRole permission. This error +// In order to grant the necessary access to the DDoS Response Team (DRT), the +// user submitting the request must have the iam:PassRole permission. This error // indicates the user did not have the appropriate permissions. For more information, // see Granting a User Permissions to Pass a Role to an AWS Service (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html). // // * OptimisticLockException -// Exception that indicates that the protection state has been modified by another -// client. You can retry the request. +// Exception that indicates that the resource state has been modified by another +// client. Retrieve the resource and then retry your request. // // * ResourceNotFoundException // Exception indicating the specified resource does not exist. @@ -338,8 +338,8 @@ func (c *Shield) AssociateHealthCheckRequest(input *AssociateHealthCheckInput) ( // Exception that indicates that the parameters passed to the API are invalid. // // * OptimisticLockException -// Exception that indicates that the protection state has been modified by another -// client. You can retry the request. +// Exception that indicates that the resource state has been modified by another +// client. Retrieve the resource and then retry your request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateHealthCheck func (c *Shield) AssociateHealthCheck(input *AssociateHealthCheckInput) (*AssociateHealthCheckOutput, error) { @@ -363,6 +363,116 @@ func (c *Shield) AssociateHealthCheckWithContext(ctx aws.Context, input *Associa return out, req.Send() } +const opAssociateProactiveEngagementDetails = "AssociateProactiveEngagementDetails" + +// AssociateProactiveEngagementDetailsRequest generates a "aws/request.Request" representing the +// client's request for the AssociateProactiveEngagementDetails operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssociateProactiveEngagementDetails for more information on using the AssociateProactiveEngagementDetails +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the AssociateProactiveEngagementDetailsRequest method. +// req, resp := client.AssociateProactiveEngagementDetailsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateProactiveEngagementDetails +func (c *Shield) AssociateProactiveEngagementDetailsRequest(input *AssociateProactiveEngagementDetailsInput) (req *request.Request, output *AssociateProactiveEngagementDetailsOutput) { + op := &request.Operation{ + Name: opAssociateProactiveEngagementDetails, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateProactiveEngagementDetailsInput{} + } + + output = &AssociateProactiveEngagementDetailsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AssociateProactiveEngagementDetails API operation for AWS Shield. +// +// Initializes proactive engagement and sets the list of contacts for the DDoS +// Response Team (DRT) to use. You must provide at least one phone number in +// the emergency contact list. +// +// After you have initialized proactive engagement using this call, to disable +// or enable proactive engagement, use the calls DisableProactiveEngagement +// and EnableProactiveEngagement. +// +// This call defines the list of email addresses and phone numbers that the +// DDoS Response Team (DRT) can use to contact you for escalations to the DRT +// and to initiate proactive customer support. +// +// The contacts that you provide in the request replace any contacts that were +// already defined. If you already have contacts defined and want to use them, +// retrieve the list using DescribeEmergencyContactSettings and then provide +// it to this 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 AWS Shield's +// API operation AssociateProactiveEngagementDetails for usage and error information. +// +// Returned Error Types: +// * InternalErrorException +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * InvalidOperationException +// Exception that indicates that the operation would not cause any change to +// occur. +// +// * InvalidParameterException +// Exception that indicates that the parameters passed to the API are invalid. +// +// * ResourceNotFoundException +// Exception indicating the specified resource does not exist. +// +// * OptimisticLockException +// Exception that indicates that the resource state has been modified by another +// client. Retrieve the resource and then retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateProactiveEngagementDetails +func (c *Shield) AssociateProactiveEngagementDetails(input *AssociateProactiveEngagementDetailsInput) (*AssociateProactiveEngagementDetailsOutput, error) { + req, out := c.AssociateProactiveEngagementDetailsRequest(input) + return out, req.Send() +} + +// AssociateProactiveEngagementDetailsWithContext is the same as AssociateProactiveEngagementDetails with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateProactiveEngagementDetails for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Shield) AssociateProactiveEngagementDetailsWithContext(ctx aws.Context, input *AssociateProactiveEngagementDetailsInput, opts ...request.Option) (*AssociateProactiveEngagementDetailsOutput, error) { + req, out := c.AssociateProactiveEngagementDetailsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateProtection = "CreateProtection" // CreateProtectionRequest generates a "aws/request.Request" representing the @@ -449,8 +559,8 @@ func (c *Shield) CreateProtectionRequest(input *CreateProtectionInput) (req *req // Exception indicating the specified resource already exists. // // * OptimisticLockException -// Exception that indicates that the protection state has been modified by another -// client. You can retry the request. +// Exception that indicates that the resource state has been modified by another +// client. Retrieve the resource and then retry your request. // // * ResourceNotFoundException // Exception indicating the specified resource does not exist. @@ -524,15 +634,6 @@ func (c *Shield) CreateSubscriptionRequest(input *CreateSubscriptionInput) (req // // Activates AWS Shield Advanced for an account. // -// As part of this request you can specify EmergencySettings that automaticaly -// grant the DDoS response team (DRT) needed permissions to assist you during -// a suspected DDoS attack. For more information see Authorize the DDoS Response -// Team to Create Rules and Web ACLs on Your Behalf (https://docs.aws.amazon.com/waf/latest/developerguide/authorize-DRT.html). -// -// To use the services of the DRT, you must be subscribed to the Business Support -// plan (https://aws.amazon.com/premiumsupport/business-support/) or the Enterprise -// Support plan (https://aws.amazon.com/premiumsupport/enterprise-support/). -// // When you initally create a subscription, your subscription is set to be automatically // renewed at the end of the existing subscription period. You can change this // by submitting an UpdateSubscription request. @@ -637,8 +738,8 @@ func (c *Shield) DeleteProtectionRequest(input *DeleteProtectionInput) (req *req // Exception indicating the specified resource does not exist. // // * OptimisticLockException -// Exception that indicates that the protection state has been modified by another -// client. You can retry the request. +// Exception that indicates that the resource state has been modified by another +// client. Retrieve the resource and then retry your request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DeleteProtection func (c *Shield) DeleteProtection(input *DeleteProtectionInput) (*DeleteProtectionOutput, error) { @@ -892,7 +993,7 @@ func (c *Shield) DescribeDRTAccessRequest(input *DescribeDRTAccessInput) (req *r // DescribeDRTAccess API operation for AWS Shield. // // Returns the current role and list of Amazon S3 log buckets used by the DDoS -// Response team (DRT) to access your AWS account while assisting with attack +// Response Team (DRT) to access your AWS account while assisting with attack // mitigation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -976,8 +1077,9 @@ func (c *Shield) DescribeEmergencyContactSettingsRequest(input *DescribeEmergenc // DescribeEmergencyContactSettings API operation for AWS Shield. // -// Lists the email addresses that the DRT can use to contact you during a suspected -// attack. +// A list of email addresses and phone numbers that the DDoS Response Team (DRT) +// can use to contact you if you have proactive engagement enabled, for escalations +// to the DRT and to initiate proactive customer 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 @@ -1185,6 +1287,102 @@ func (c *Shield) DescribeSubscriptionWithContext(ctx aws.Context, input *Describ return out, req.Send() } +const opDisableProactiveEngagement = "DisableProactiveEngagement" + +// DisableProactiveEngagementRequest generates a "aws/request.Request" representing the +// client's request for the DisableProactiveEngagement operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisableProactiveEngagement for more information on using the DisableProactiveEngagement +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DisableProactiveEngagementRequest method. +// req, resp := client.DisableProactiveEngagementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisableProactiveEngagement +func (c *Shield) DisableProactiveEngagementRequest(input *DisableProactiveEngagementInput) (req *request.Request, output *DisableProactiveEngagementOutput) { + op := &request.Operation{ + Name: opDisableProactiveEngagement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisableProactiveEngagementInput{} + } + + output = &DisableProactiveEngagementOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisableProactiveEngagement API operation for AWS Shield. +// +// Removes authorization from the DDoS Response Team (DRT) to notify contacts +// about escalations to the DRT and to initiate proactive customer support. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Shield's +// API operation DisableProactiveEngagement for usage and error information. +// +// Returned Error Types: +// * InternalErrorException +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * InvalidOperationException +// Exception that indicates that the operation would not cause any change to +// occur. +// +// * InvalidParameterException +// Exception that indicates that the parameters passed to the API are invalid. +// +// * ResourceNotFoundException +// Exception indicating the specified resource does not exist. +// +// * OptimisticLockException +// Exception that indicates that the resource state has been modified by another +// client. Retrieve the resource and then retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisableProactiveEngagement +func (c *Shield) DisableProactiveEngagement(input *DisableProactiveEngagementInput) (*DisableProactiveEngagementOutput, error) { + req, out := c.DisableProactiveEngagementRequest(input) + return out, req.Send() +} + +// DisableProactiveEngagementWithContext is the same as DisableProactiveEngagement with the addition of +// the ability to pass a context and additional request options. +// +// See DisableProactiveEngagement for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Shield) DisableProactiveEngagementWithContext(ctx aws.Context, input *DisableProactiveEngagementInput, opts ...request.Option) (*DisableProactiveEngagementOutput, error) { + req, out := c.DisableProactiveEngagementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisassociateDRTLogBucket = "DisassociateDRTLogBucket" // DisassociateDRTLogBucketRequest generates a "aws/request.Request" representing the @@ -1230,7 +1428,7 @@ func (c *Shield) DisassociateDRTLogBucketRequest(input *DisassociateDRTLogBucket // DisassociateDRTLogBucket API operation for AWS Shield. // -// Removes the DDoS Response team's (DRT) access to the specified Amazon S3 +// Removes the DDoS Response Team's (DRT) access to the specified Amazon S3 // bucket containing your AWS WAF logs. // // To make a DisassociateDRTLogBucket request, you must be subscribed to the @@ -1260,14 +1458,14 @@ func (c *Shield) DisassociateDRTLogBucketRequest(input *DisassociateDRTLogBucket // The ARN of the role that you specifed does not exist. // // * AccessDeniedForDependencyException -// In order to grant the necessary access to the DDoS Response Team, the user -// submitting the request must have the iam:PassRole permission. This error +// In order to grant the necessary access to the DDoS Response Team (DRT), the +// user submitting the request must have the iam:PassRole permission. This error // indicates the user did not have the appropriate permissions. For more information, // see Granting a User Permissions to Pass a Role to an AWS Service (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html). // // * OptimisticLockException -// Exception that indicates that the protection state has been modified by another -// client. You can retry the request. +// Exception that indicates that the resource state has been modified by another +// client. Retrieve the resource and then retry your request. // // * ResourceNotFoundException // Exception indicating the specified resource does not exist. @@ -1339,7 +1537,7 @@ func (c *Shield) DisassociateDRTRoleRequest(input *DisassociateDRTRoleInput) (re // DisassociateDRTRole API operation for AWS Shield. // -// Removes the DDoS Response team's (DRT) access to your AWS account. +// Removes the DDoS Response Team's (DRT) access to your AWS account. // // To make a DisassociateDRTRole request, you must be subscribed to the Business // Support plan (https://aws.amazon.com/premiumsupport/business-support/) or @@ -1365,8 +1563,8 @@ func (c *Shield) DisassociateDRTRoleRequest(input *DisassociateDRTRoleInput) (re // occur. // // * OptimisticLockException -// Exception that indicates that the protection state has been modified by another -// client. You can retry the request. +// Exception that indicates that the resource state has been modified by another +// client. Retrieve the resource and then retry your request. // // * ResourceNotFoundException // Exception indicating the specified resource does not exist. @@ -1467,8 +1665,8 @@ func (c *Shield) DisassociateHealthCheckRequest(input *DisassociateHealthCheckIn // Exception indicating the specified resource does not exist. // // * OptimisticLockException -// Exception that indicates that the protection state has been modified by another -// client. You can retry the request. +// Exception that indicates that the resource state has been modified by another +// client. Retrieve the resource and then retry your request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisassociateHealthCheck func (c *Shield) DisassociateHealthCheck(input *DisassociateHealthCheckInput) (*DisassociateHealthCheckOutput, error) { @@ -1492,6 +1690,103 @@ func (c *Shield) DisassociateHealthCheckWithContext(ctx aws.Context, input *Disa return out, req.Send() } +const opEnableProactiveEngagement = "EnableProactiveEngagement" + +// EnableProactiveEngagementRequest generates a "aws/request.Request" representing the +// client's request for the EnableProactiveEngagement operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See EnableProactiveEngagement for more information on using the EnableProactiveEngagement +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the EnableProactiveEngagementRequest method. +// req, resp := client.EnableProactiveEngagementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/EnableProactiveEngagement +func (c *Shield) EnableProactiveEngagementRequest(input *EnableProactiveEngagementInput) (req *request.Request, output *EnableProactiveEngagementOutput) { + op := &request.Operation{ + Name: opEnableProactiveEngagement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &EnableProactiveEngagementInput{} + } + + output = &EnableProactiveEngagementOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// EnableProactiveEngagement API operation for AWS Shield. +// +// Authorizes the DDoS Response Team (DRT) to use email and phone to notify +// contacts about escalations to the DRT and to initiate proactive customer +// support. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Shield's +// API operation EnableProactiveEngagement for usage and error information. +// +// Returned Error Types: +// * InternalErrorException +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * InvalidOperationException +// Exception that indicates that the operation would not cause any change to +// occur. +// +// * InvalidParameterException +// Exception that indicates that the parameters passed to the API are invalid. +// +// * ResourceNotFoundException +// Exception indicating the specified resource does not exist. +// +// * OptimisticLockException +// Exception that indicates that the resource state has been modified by another +// client. Retrieve the resource and then retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/EnableProactiveEngagement +func (c *Shield) EnableProactiveEngagement(input *EnableProactiveEngagementInput) (*EnableProactiveEngagementOutput, error) { + req, out := c.EnableProactiveEngagementRequest(input) + return out, req.Send() +} + +// EnableProactiveEngagementWithContext is the same as EnableProactiveEngagement with the addition of +// the ability to pass a context and additional request options. +// +// See EnableProactiveEngagement for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Shield) EnableProactiveEngagementWithContext(ctx aws.Context, input *EnableProactiveEngagementInput, opts ...request.Option) (*EnableProactiveEngagementOutput, error) { + req, out := c.EnableProactiveEngagementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetSubscriptionState = "GetSubscriptionState" // GetSubscriptionStateRequest generates a "aws/request.Request" representing the @@ -1603,6 +1898,12 @@ func (c *Shield) ListAttacksRequest(input *ListAttacksInput) (req *request.Reque Name: opListAttacks, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -1660,6 +1961,58 @@ func (c *Shield) ListAttacksWithContext(ctx aws.Context, input *ListAttacksInput return out, req.Send() } +// ListAttacksPages iterates over the pages of a ListAttacks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAttacks 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 ListAttacks operation. +// pageNum := 0 +// err := client.ListAttacksPages(params, +// func(page *shield.ListAttacksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Shield) ListAttacksPages(input *ListAttacksInput, fn func(*ListAttacksOutput, bool) bool) error { + return c.ListAttacksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAttacksPagesWithContext same as ListAttacksPages 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 *Shield) ListAttacksPagesWithContext(ctx aws.Context, input *ListAttacksInput, fn func(*ListAttacksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAttacksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAttacksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAttacksOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListProtections = "ListProtections" // ListProtectionsRequest generates a "aws/request.Request" representing the @@ -1691,6 +2044,12 @@ func (c *Shield) ListProtectionsRequest(input *ListProtectionsInput) (req *reque Name: opListProtections, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -1747,6 +2106,58 @@ func (c *Shield) ListProtectionsWithContext(ctx aws.Context, input *ListProtecti return out, req.Send() } +// ListProtectionsPages iterates over the pages of a ListProtections operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProtections 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 ListProtections operation. +// pageNum := 0 +// err := client.ListProtectionsPages(params, +// func(page *shield.ListProtectionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Shield) ListProtectionsPages(input *ListProtectionsInput, fn func(*ListProtectionsOutput, bool) bool) error { + return c.ListProtectionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListProtectionsPagesWithContext same as ListProtectionsPages 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 *Shield) ListProtectionsPagesWithContext(ctx aws.Context, input *ListProtectionsInput, fn func(*ListProtectionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProtectionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProtectionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListProtectionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opUpdateEmergencyContactSettings = "UpdateEmergencyContactSettings" // UpdateEmergencyContactSettingsRequest generates a "aws/request.Request" representing the @@ -1792,8 +2203,10 @@ func (c *Shield) UpdateEmergencyContactSettingsRequest(input *UpdateEmergencyCon // UpdateEmergencyContactSettings API operation for AWS Shield. // -// Updates the details of the list of email addresses that the DRT can use to -// contact you during a suspected attack. +// Updates the details of the list of email addresses and phone numbers that +// the DDoS Response Team (DRT) can use to contact you if you have proactive +// engagement enabled, for escalations to the DRT and to initiate proactive +// customer 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 @@ -1811,8 +2224,8 @@ func (c *Shield) UpdateEmergencyContactSettingsRequest(input *UpdateEmergencyCon // Exception that indicates that the parameters passed to the API are invalid. // // * OptimisticLockException -// Exception that indicates that the protection state has been modified by another -// client. You can retry the request. +// Exception that indicates that the resource state has been modified by another +// client. Retrieve the resource and then retry your request. // // * ResourceNotFoundException // Exception indicating the specified resource does not exist. @@ -1912,8 +2325,8 @@ func (c *Shield) UpdateSubscriptionRequest(input *UpdateSubscriptionInput) (req // Exception that indicates that the parameters passed to the API are invalid. // // * OptimisticLockException -// Exception that indicates that the protection state has been modified by another -// client. You can retry the request. +// Exception that indicates that the resource state has been modified by another +// client. Retrieve the resource and then retry your request. // // See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateSubscription func (c *Shield) UpdateSubscription(input *UpdateSubscriptionInput) (*UpdateSubscriptionOutput, error) { @@ -1994,8 +2407,8 @@ func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } -// In order to grant the necessary access to the DDoS Response Team, the user -// submitting the request must have the iam:PassRole permission. This error +// In order to grant the necessary access to the DDoS Response Team (DRT), the +// user submitting the request must have the iam:PassRole permission. This error // indicates the user did not have the appropriate permissions. For more information, // see Granting a User Permissions to Pass a Role to an AWS Service (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html). type AccessDeniedForDependencyException struct { @@ -2243,6 +2656,77 @@ func (s AssociateHealthCheckOutput) GoString() string { return s.String() } +type AssociateProactiveEngagementDetailsInput struct { + _ struct{} `type:"structure"` + + // A list of email addresses and phone numbers that the DDoS Response Team (DRT) + // can use to contact you for escalations to the DRT and to initiate proactive + // customer support. + // + // To enable proactive engagement, the contact list must include at least one + // phone number. + // + // The contacts that you provide here replace any contacts that were already + // defined. If you already have contacts defined and want to use them, retrieve + // the list using DescribeEmergencyContactSettings and then provide it here. + // + // EmergencyContactList is a required field + EmergencyContactList []*EmergencyContact `type:"list" required:"true"` +} + +// String returns the string representation +func (s AssociateProactiveEngagementDetailsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateProactiveEngagementDetailsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateProactiveEngagementDetailsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateProactiveEngagementDetailsInput"} + if s.EmergencyContactList == nil { + invalidParams.Add(request.NewErrParamRequired("EmergencyContactList")) + } + if s.EmergencyContactList != nil { + for i, v := range s.EmergencyContactList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EmergencyContactList", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEmergencyContactList sets the EmergencyContactList field's value. +func (s *AssociateProactiveEngagementDetailsInput) SetEmergencyContactList(v []*EmergencyContact) *AssociateProactiveEngagementDetailsInput { + s.EmergencyContactList = v + return s +} + +type AssociateProactiveEngagementDetailsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AssociateProactiveEngagementDetailsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateProactiveEngagementDetailsOutput) GoString() string { + return s.String() +} + // The details of a DDoS attack. type AttackDetail struct { _ struct{} `type:"structure"` @@ -2895,8 +3379,9 @@ func (s DescribeEmergencyContactSettingsInput) GoString() string { type DescribeEmergencyContactSettingsOutput struct { _ struct{} `type:"structure"` - // A list of email addresses that the DRT can use to contact you during a suspected - // attack. + // A list of email addresses and phone numbers that the DDoS Response Team (DRT) + // can use to contact you if you have proactive engagement enabled, for escalations + // to the DRT and to initiate proactive customer support. EmergencyContactList []*EmergencyContact `type:"list"` } @@ -3028,6 +3513,34 @@ func (s *DescribeSubscriptionOutput) SetSubscription(v *Subscription) *DescribeS return s } +type DisableProactiveEngagementInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisableProactiveEngagementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableProactiveEngagementInput) GoString() string { + return s.String() +} + +type DisableProactiveEngagementOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DisableProactiveEngagementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableProactiveEngagementOutput) GoString() string { + return s.String() +} + type DisassociateDRTLogBucketInput struct { _ struct{} `type:"structure"` @@ -3185,15 +3698,22 @@ func (s DisassociateHealthCheckOutput) GoString() string { return s.String() } -// Contact information that the DRT can use to contact you during a suspected -// attack. +// Contact information that the DRT can use to contact you if you have proactive +// engagement enabled, for escalations to the DRT and to initiate proactive +// customer support. type EmergencyContact struct { _ struct{} `type:"structure"` - // An email address that the DRT can use to contact you during a suspected attack. + // Additional notes regarding the contact. + ContactNotes *string `min:"1" type:"string"` + + // The email address for the contact. // // EmailAddress is a required field EmailAddress *string `min:"1" type:"string" required:"true"` + + // The phone number for the contact. + PhoneNumber *string `min:"1" type:"string"` } // String returns the string representation @@ -3209,12 +3729,18 @@ func (s EmergencyContact) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *EmergencyContact) Validate() error { invalidParams := request.ErrInvalidParams{Context: "EmergencyContact"} + if s.ContactNotes != nil && len(*s.ContactNotes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactNotes", 1)) + } if s.EmailAddress == nil { invalidParams.Add(request.NewErrParamRequired("EmailAddress")) } if s.EmailAddress != nil && len(*s.EmailAddress) < 1 { invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1)) } + if s.PhoneNumber != nil && len(*s.PhoneNumber) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PhoneNumber", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -3222,12 +3748,52 @@ func (s *EmergencyContact) Validate() error { return nil } +// SetContactNotes sets the ContactNotes field's value. +func (s *EmergencyContact) SetContactNotes(v string) *EmergencyContact { + s.ContactNotes = &v + return s +} + // SetEmailAddress sets the EmailAddress field's value. func (s *EmergencyContact) SetEmailAddress(v string) *EmergencyContact { s.EmailAddress = &v return s } +// SetPhoneNumber sets the PhoneNumber field's value. +func (s *EmergencyContact) SetPhoneNumber(v string) *EmergencyContact { + s.PhoneNumber = &v + return s +} + +type EnableProactiveEngagementInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s EnableProactiveEngagementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableProactiveEngagementInput) GoString() string { + return s.String() +} + +type EnableProactiveEngagementOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s EnableProactiveEngagementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EnableProactiveEngagementOutput) GoString() string { + return s.String() +} + type GetSubscriptionStateInput struct { _ struct{} `type:"structure"` } @@ -4006,8 +4572,8 @@ func (s *NoAssociatedRoleException) RequestID() string { return s.RespMetadata.RequestID } -// Exception that indicates that the protection state has been modified by another -// client. You can retry the request. +// Exception that indicates that the resource state has been modified by another +// client. Retrieve the resource and then retry your request. type OptimisticLockException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -4297,6 +4863,17 @@ type Subscription struct { // Specifies how many protections of a given type you can create. Limits []*Limit `type:"list"` + // If ENABLED, the DDoS Response Team (DRT) will use email and phone to notify + // contacts about escalations to the DRT and to initiate proactive customer + // support. + // + // If PENDING, you have requested proactive engagement and the request is pending. + // The status changes to ENABLED when your request is fully processed. + // + // If DISABLED, the DRT will not proactively notify contacts about escalations + // or to initiate proactive customer support. + ProactiveEngagementStatus *string `type:"string" enum:"ProactiveEngagementStatus"` + // The start time of the subscription, in Unix time in seconds. For more information // see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). StartTime *time.Time `type:"timestamp"` @@ -4333,6 +4910,12 @@ func (s *Subscription) SetLimits(v []*Limit) *Subscription { return s } +// SetProactiveEngagementStatus sets the ProactiveEngagementStatus field's value. +func (s *Subscription) SetProactiveEngagementStatus(v string) *Subscription { + s.ProactiveEngagementStatus = &v + return s +} + // SetStartTime sets the StartTime field's value. func (s *Subscription) SetStartTime(v time.Time) *Subscription { s.StartTime = &v @@ -4487,8 +5070,12 @@ func (s *TimeRange) SetToExclusive(v time.Time) *TimeRange { type UpdateEmergencyContactSettingsInput struct { _ struct{} `type:"structure"` - // A list of email addresses that the DRT can use to contact you during a suspected - // attack. + // A list of email addresses and phone numbers that the DDoS Response Team (DRT) + // can use to contact you if you have proactive engagement enabled, for escalations + // to the DRT and to initiate proactive customer support. + // + // If you have proactive engagement enabled, the contact list must include at + // least one phone number. EmergencyContactList []*EmergencyContact `type:"list"` } @@ -4625,6 +5212,17 @@ const ( AutoRenewDisabled = "DISABLED" ) +const ( + // ProactiveEngagementStatusEnabled is a ProactiveEngagementStatus enum value + ProactiveEngagementStatusEnabled = "ENABLED" + + // ProactiveEngagementStatusDisabled is a ProactiveEngagementStatus enum value + ProactiveEngagementStatusDisabled = "DISABLED" + + // ProactiveEngagementStatusPending is a ProactiveEngagementStatus enum value + ProactiveEngagementStatusPending = "PENDING" +) + const ( // SubResourceTypeIp is a SubResourceType enum value SubResourceTypeIp = "IP" diff --git a/vendor/github.com/aws/aws-sdk-go/service/shield/errors.go b/vendor/github.com/aws/aws-sdk-go/service/shield/errors.go index a0af389f673..c30b5cc6a7a 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/shield/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/shield/errors.go @@ -18,8 +18,8 @@ const ( // ErrCodeAccessDeniedForDependencyException for service response error code // "AccessDeniedForDependencyException". // - // In order to grant the necessary access to the DDoS Response Team, the user - // submitting the request must have the iam:PassRole permission. This error + // In order to grant the necessary access to the DDoS Response Team (DRT), the + // user submitting the request must have the iam:PassRole permission. This error // indicates the user did not have the appropriate permissions. For more information, // see Granting a User Permissions to Pass a Role to an AWS Service (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html). ErrCodeAccessDeniedForDependencyException = "AccessDeniedForDependencyException" @@ -86,8 +86,8 @@ const ( // ErrCodeOptimisticLockException for service response error code // "OptimisticLockException". // - // Exception that indicates that the protection state has been modified by another - // client. You can retry the request. + // Exception that indicates that the resource state has been modified by another + // client. Retrieve the resource and then retry your request. ErrCodeOptimisticLockException = "OptimisticLockException" // ErrCodeResourceAlreadyExistsException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/sns/api.go b/vendor/github.com/aws/aws-sdk-go/service/sns/api.go index 780b1884323..e78534596b5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sns/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sns/api.go @@ -341,22 +341,33 @@ func (c *SNS) CreatePlatformApplicationRequest(input *CreatePlatformApplicationI // CreatePlatformApplication API operation for Amazon Simple Notification Service. // // Creates a platform application object for one of the supported push notification -// services, such as APNS and FCM, to which devices and mobile apps may register. -// You must specify PlatformPrincipal and PlatformCredential attributes when -// using the CreatePlatformApplication action. The PlatformPrincipal is received -// from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is -// "SSL certificate". For FCM, PlatformPrincipal is not applicable. For ADM, -// PlatformPrincipal is "client id". The PlatformCredential is also received -// from the notification service. For WNS, PlatformPrincipal is "Package Security -// Identifier". For MPNS, PlatformPrincipal is "TLS certificate". For Baidu, -// PlatformPrincipal is "API key". -// -// For APNS/APNS_SANDBOX, PlatformCredential is "private key". For FCM, PlatformCredential -// is "API key". For ADM, PlatformCredential is "client secret". For WNS, PlatformCredential -// is "secret key". For MPNS, PlatformCredential is "private key". For Baidu, -// PlatformCredential is "secret key". The PlatformApplicationArn that is returned -// when using CreatePlatformApplication is then used as an attribute for the -// CreatePlatformEndpoint action. +// services, such as APNS and GCM (Firebase Cloud Messaging), to which devices +// and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential +// attributes when using the CreatePlatformApplication action. +// +// PlatformPrincipal and PlatformCredential are received from the notification +// service. +// +// * For ADM, PlatformPrincipal is client id and PlatformCredential is client +// secret. +// +// * For Baidu, PlatformPrincipal is API key and PlatformCredential is secret +// key. +// +// * For APNS and APNS_SANDBOX, PlatformPrincipal is SSL certificate and +// PlatformCredential is private key. +// +// * For GCM (Firebase Cloud Messaging), there is no PlatformPrincipal and +// the PlatformCredential is API key. +// +// * For MPNS, PlatformPrincipal is TLS certificate and PlatformCredential +// is private key. +// +// * For WNS, PlatformPrincipal is Package Security Identifier and PlatformCredential +// is secret key. +// +// You can use the returned PlatformApplicationArn as an attribute for the CreatePlatformEndpoint +// action. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -442,11 +453,10 @@ func (c *SNS) CreatePlatformEndpointRequest(input *CreatePlatformEndpointInput) // CreatePlatformEndpoint API operation for Amazon Simple Notification Service. // // Creates an endpoint for a device and mobile app on one of the supported push -// notification services, such as FCM and APNS. CreatePlatformEndpoint requires -// the PlatformApplicationArn that is returned from CreatePlatformApplication. -// The EndpointArn that is returned when using CreatePlatformEndpoint can then -// be used by the Publish action to send a message to a mobile app or by the -// Subscribe action for subscription to a topic. The CreatePlatformEndpoint +// notification services, such as GCM (Firebase Cloud Messaging) and APNS. CreatePlatformEndpoint +// requires the PlatformApplicationArn that is returned from CreatePlatformApplication. +// You can use the returned EndpointArn to send a message to a mobile app or +// by the Subscribe action for subscription to a topic. The CreatePlatformEndpoint // action is idempotent, so if the requester already owns an endpoint with the // same device token and attributes, that endpoint's ARN is returned without // creating a new endpoint. For more information, see Using Amazon SNS Mobile @@ -746,8 +756,8 @@ func (c *SNS) DeletePlatformApplicationRequest(input *DeletePlatformApplicationI // DeletePlatformApplication API operation for Amazon Simple Notification Service. // // Deletes a platform application object for one of the supported push notification -// services, such as APNS and FCM. For more information, see Using Amazon SNS -// Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// services, such as APNS and GCM (Firebase Cloud Messaging). For more information, +// see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.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 @@ -937,8 +947,8 @@ func (c *SNS) GetEndpointAttributesRequest(input *GetEndpointAttributesInput) (r // GetEndpointAttributes API operation for Amazon Simple Notification Service. // // Retrieves the endpoint attributes for a device on one of the supported push -// notification services, such as FCM and APNS. For more information, see Using -// Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// notification services, such as GCM (Firebase Cloud Messaging) and APNS. For +// more information, see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.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 @@ -1027,8 +1037,8 @@ func (c *SNS) GetPlatformApplicationAttributesRequest(input *GetPlatformApplicat // GetPlatformApplicationAttributes API operation for Amazon Simple Notification Service. // // Retrieves the attributes of the platform application object for the supported -// push notification services, such as APNS and FCM. For more information, see -// Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// push notification services, such as APNS and GCM (Firebase Cloud Messaging). +// For more information, see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.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 @@ -1395,12 +1405,13 @@ func (c *SNS) ListEndpointsByPlatformApplicationRequest(input *ListEndpointsByPl // ListEndpointsByPlatformApplication API operation for Amazon Simple Notification Service. // // Lists the endpoints and endpoint attributes for devices in a supported push -// notification service, such as FCM and APNS. The results for ListEndpointsByPlatformApplication -// are paginated and return a limited list of endpoints, up to 100. If additional -// records are available after the first page results, then a NextToken string -// will be returned. To receive the next page, you call ListEndpointsByPlatformApplication -// again using the NextToken string received from the previous call. When there -// are no more records to return, NextToken will be null. For more information, +// notification service, such as GCM (Firebase Cloud Messaging) and APNS. The +// results for ListEndpointsByPlatformApplication are paginated and return a +// limited list of endpoints, up to 100. If additional records are available +// after the first page results, then a NextToken string will be returned. To +// receive the next page, you call ListEndpointsByPlatformApplication again +// using the NextToken string received from the previous call. When there are +// no more records to return, NextToken will be null. For more information, // see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). // // This action is throttled at 30 transactions per second (TPS). @@ -1647,13 +1658,13 @@ func (c *SNS) ListPlatformApplicationsRequest(input *ListPlatformApplicationsInp // ListPlatformApplications API operation for Amazon Simple Notification Service. // // Lists the platform application objects for the supported push notification -// services, such as APNS and FCM. The results for ListPlatformApplications -// are paginated and return a limited list of applications, up to 100. If additional -// records are available after the first page results, then a NextToken string -// will be returned. To receive the next page, you call ListPlatformApplications -// using the NextToken string received from the previous call. When there are -// no more records to return, NextToken will be null. For more information, -// see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// services, such as APNS and GCM (Firebase Cloud Messaging). The results for +// ListPlatformApplications are paginated and return a limited list of applications, +// up to 100. If additional records are available after the first page results, +// then a NextToken string will be returned. To receive the next page, you call +// ListPlatformApplications using the NextToken string received from the previous +// call. When there are no more records to return, NextToken will be null. For +// more information, see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). // // This action is throttled at 15 transactions per second (TPS). // @@ -2426,8 +2437,9 @@ func (c *SNS) PublishRequest(input *PublishInput) (req *request.Request, output // Publish API operation for Amazon Simple Notification Service. // -// Sends a message to an Amazon SNS topic or sends a text message (SMS message) -// directly to a phone number. +// Sends a message to an Amazon SNS topic, a text message (SMS message) directly +// to a phone number, or a message to a mobile platform endpoint (when you specify +// the TargetArn). // // If you send a message to a topic, Amazon SNS delivers the message to each // endpoint that is subscribed to the topic. The format of the message depends @@ -2444,6 +2456,8 @@ func (c *SNS) PublishRequest(input *PublishInput) (req *request.Request, output // For more information about formatting messages, see Send Custom Platform-Specific // Payloads in Messages to Mobile Devices (https://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-custommessage.html). // +// You can publish messages only to topics and endpoints in the same AWS Region. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -2660,8 +2674,8 @@ func (c *SNS) SetEndpointAttributesRequest(input *SetEndpointAttributesInput) (r // SetEndpointAttributes API operation for Amazon Simple Notification Service. // // Sets the attributes for an endpoint for a device on one of the supported -// push notification services, such as FCM and APNS. For more information, see -// Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// push notification services, such as GCM (Firebase Cloud Messaging) and APNS. +// For more information, see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.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 @@ -2751,8 +2765,8 @@ func (c *SNS) SetPlatformApplicationAttributesRequest(input *SetPlatformApplicat // SetPlatformApplicationAttributes API operation for Amazon Simple Notification Service. // // Sets the attributes of the platform application object for the supported -// push notification services, such as APNS and FCM. For more information, see -// Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// push notification services, such as APNS and GCM (Firebase Cloud Messaging). +// For more information, see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). // For information on configuring attributes for message delivery status, see // Using Amazon SNS Application Attributes for Message Delivery Status (https://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.html). // @@ -3126,10 +3140,12 @@ func (c *SNS) SubscribeRequest(input *SubscribeInput) (req *request.Request, out // Subscribe API operation for Amazon Simple Notification Service. // -// Prepares to subscribe an endpoint by sending the endpoint a confirmation -// message. To actually create a subscription, the endpoint owner must call -// the ConfirmSubscription action with the token from the confirmation message. -// Confirmation tokens are valid for three days. +// Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is HTTP/S +// or email, or if the endpoint and the topic are not in the same AWS account, +// the endpoint owner must the ConfirmSubscription action to confirm the subscription. +// +// You call the ConfirmSubscription action with the token from the subscription +// response. Confirmation tokens are valid for three days. // // This action is throttled at 100 transactions per second (TPS). // @@ -3782,7 +3798,7 @@ type CreatePlatformApplicationInput struct { Name *string `type:"string" required:"true"` // The following platforms are supported: ADM (Amazon Device Messaging), APNS - // (Apple Push Notification Service), APNS_SANDBOX, and FCM (Firebase Cloud + // (Apple Push Notification Service), APNS_SANDBOX, and GCM (Firebase Cloud // Messaging). // // Platform is a required field @@ -3880,8 +3896,9 @@ type CreatePlatformEndpointInput struct { // Unique identifier created by the notification service for an app on a device. // The specific name for Token will vary, depending on which notification service // is being used. For example, when using APNS as the notification service, - // you need the device token. Alternatively, when using FCM or ADM, the device - // token equivalent is called the registration ID. + // you need the device token. Alternatively, when using GCM (Firebase Cloud + // Messaging) or ADM, the device token equivalent is called the registration + // ID. // // Token is a required field Token *string `type:"string" required:"true"` @@ -4531,6 +4548,8 @@ type GetSubscriptionAttributesOutput struct { // account system defaults. // // * FilterPolicy – The filter policy JSON that is assigned to the subscription. + // For more information, see Amazon SNS Message Filtering (https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html) + // in the Amazon SNS Developer Guide. // // * Owner – The AWS account ID of the subscription's owner. // @@ -4636,7 +4655,7 @@ type GetTopicAttributesOutput struct { // // * TopicArn – The topic's ARN. // - // * EffectiveDeliveryPolicy – Yhe JSON serialization of the effective + // * EffectiveDeliveryPolicy – The JSON serialization of the effective // delivery policy, taking system defaults into account. // // The following attribute applies only to server-side-encryption (https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html): @@ -5641,27 +5660,27 @@ type SetPlatformApplicationAttributesInput struct { // the following: // // * PlatformCredential – The credential received from the notification - // service. For APNS/APNS_SANDBOX, PlatformCredential is private key. For - // FCM, PlatformCredential is "API key". For ADM, PlatformCredential is "client - // secret". + // service. For APNS and APNS_SANDBOX, PlatformCredential is private key. + // For GCM (Firebase Cloud Messaging), PlatformCredential is API key. For + // ADM, PlatformCredential is client secret. // // * PlatformPrincipal – The principal received from the notification service. - // For APNS/APNS_SANDBOX, PlatformPrincipal is SSL certificate. For FCM, - // PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is "client - // id". + // For APNS and APNS_SANDBOX, PlatformPrincipal is SSL certificate. For GCM + // (Firebase Cloud Messaging), there is no PlatformPrincipal. For ADM, PlatformPrincipal + // is client id. // // * EventEndpointCreated – Topic ARN to which EndpointCreated event notifications - // should be sent. + // are sent. // // * EventEndpointDeleted – Topic ARN to which EndpointDeleted event notifications - // should be sent. + // are sent. // // * EventEndpointUpdated – Topic ARN to which EndpointUpdate event notifications - // should be sent. + // are sent. // // * EventDeliveryFailure – Topic ARN to which DeliveryFailure event notifications - // should be sent upon Direct Publish delivery failure (permanent) to one - // of the application's endpoints. + // are sent upon Direct Publish delivery failure (permanent) to one of the + // application's endpoints. // // * SuccessFeedbackRoleArn – IAM role ARN used to give Amazon SNS write // access to use CloudWatch Logs on your behalf. @@ -6083,9 +6102,11 @@ type SubscribeInput struct { // The endpoint that you want to receive notifications. Endpoints vary by protocol: // - // * For the http protocol, the endpoint is an URL beginning with http:// + // * For the http protocol, the (public) endpoint is a URL beginning with + // http:// // - // * For the https protocol, the endpoint is a URL beginning with https:// + // * For the https protocol, the (public) endpoint is a URL beginning with + // https:// // // * For the email protocol, the endpoint is an email address // @@ -6128,17 +6149,13 @@ type SubscribeInput struct { // Sets whether the response from the Subscribe request includes the subscription // ARN, even if the subscription is not yet confirmed. // - // * If you have the subscription ARN returned, the response includes the - // ARN in all cases, even if the subscription is not yet confirmed. - // - // * If you don't have the subscription ARN returned, in addition to the - // ARN for confirmed subscriptions, the response also includes the pending - // subscription ARN value for subscriptions that aren't yet confirmed. A - // subscription becomes confirmed when the subscriber calls the ConfirmSubscription + // * If you set this parameter to true, the response includes the ARN in + // all cases, even if the subscription is not yet confirmed. In addition + // to the ARN for confirmed subscriptions, the response also includes the + // pending subscription ARN value for subscriptions that aren't yet confirmed. + // A subscription becomes confirmed when the subscriber calls the ConfirmSubscription // action with a confirmation token. // - // If you set this parameter to true, . - // // The default value is false. ReturnSubscriptionArn *bool `type:"boolean"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/sqs/api.go b/vendor/github.com/aws/aws-sdk-go/service/sqs/api.go index bc087b5b62e..8ca39942689 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sqs/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sqs/api.go @@ -81,9 +81,9 @@ func (c *SQS) AddPermissionRequest(input *AddPermissionInput) (req *request.Requ // param.n notation. Values of n are integers starting from 1. For example, // a parameter list with two elements looks like this: // -// &Attribute.1=first +// &AttributeName.1=first // -// &Attribute.2=second +// &AttributeName.2=second // // Cross-account permissions don't apply to this action. For more information, // see Grant Cross-Account Permissions to a Role and a User Name (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name) @@ -316,9 +316,9 @@ func (c *SQS) ChangeMessageVisibilityBatchRequest(input *ChangeMessageVisibility // param.n notation. Values of n are integers starting from 1. For example, // a parameter list with two elements looks like this: // -// &Attribute.1=first +// &AttributeName.1=first // -// &Attribute.2=second +// &AttributeName.2=second // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -407,7 +407,7 @@ func (c *SQS) CreateQueueRequest(input *CreateQueueInput) (req *request.Request, // CreateQueue API operation for Amazon Simple Queue Service. // // Creates a new standard or FIFO queue. You can pass one or more attributes -// in the request. Keep the following caveats in mind: +// in the request. Keep the following in mind: // // * If you don't specify the FifoQueue attribute, Amazon SQS creates a standard // queue. You can't change the queue type after you create it and you can't @@ -427,6 +427,9 @@ func (c *SQS) CreateQueueRequest(input *CreateQueueInput) (req *request.Request, // to the limits related to queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) // and is unique within the scope of your queues. // +// After you create a queue, you must wait at least one second after the queue +// is created to be able to use the queue. +// // To get the queue URL, use the GetQueueUrl action. GetQueueUrl requires only // the QueueName parameter. be aware of existing queue names: // @@ -441,9 +444,9 @@ func (c *SQS) CreateQueueRequest(input *CreateQueueInput) (req *request.Request, // param.n notation. Values of n are integers starting from 1. For example, // a parameter list with two elements looks like this: // -// &Attribute.1=first +// &AttributeName.1=first // -// &Attribute.2=second +// &AttributeName.2=second // // Cross-account permissions don't apply to this action. For more information, // see Grant Cross-Account Permissions to a Role and a User Name (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html#grant-cross-account-permissions-to-role-and-user-name) @@ -646,9 +649,9 @@ func (c *SQS) DeleteMessageBatchRequest(input *DeleteMessageBatchInput) (req *re // param.n notation. Values of n are integers starting from 1. For example, // a parameter list with two elements looks like this: // -// &Attribute.1=first +// &AttributeName.1=first // -// &Attribute.2=second +// &AttributeName.2=second // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -738,7 +741,6 @@ func (c *SQS) DeleteQueueRequest(input *DeleteQueueInput) (req *request.Request, // DeleteQueue API operation for Amazon Simple Queue Service. // // Deletes the queue specified by the QueueUrl, regardless of the queue's contents. -// If the specified queue doesn't exist, Amazon SQS returns a successful response. // // Be careful with the DeleteQueue action: When you delete a queue, any messages // in the queue are no longer available. @@ -832,14 +834,6 @@ func (c *SQS) GetQueueAttributesRequest(input *GetQueueAttributesInput) (req *re // To determine whether a queue is FIFO (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html), // you can check whether QueueName ends with the .fifo suffix. // -// Some actions take lists of parameters. These lists are specified using the -// param.n notation. Values of n are integers starting from 1. For example, -// a parameter list with two elements looks like this: -// -// &Attribute.1=first -// -// &Attribute.2=second -// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -990,6 +984,12 @@ func (c *SQS) ListDeadLetterSourceQueuesRequest(input *ListDeadLetterSourceQueue Name: opListDeadLetterSourceQueues, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -1043,6 +1043,58 @@ func (c *SQS) ListDeadLetterSourceQueuesWithContext(ctx aws.Context, input *List return out, req.Send() } +// ListDeadLetterSourceQueuesPages iterates over the pages of a ListDeadLetterSourceQueues operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDeadLetterSourceQueues 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 ListDeadLetterSourceQueues operation. +// pageNum := 0 +// err := client.ListDeadLetterSourceQueuesPages(params, +// func(page *sqs.ListDeadLetterSourceQueuesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SQS) ListDeadLetterSourceQueuesPages(input *ListDeadLetterSourceQueuesInput, fn func(*ListDeadLetterSourceQueuesOutput, bool) bool) error { + return c.ListDeadLetterSourceQueuesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDeadLetterSourceQueuesPagesWithContext same as ListDeadLetterSourceQueuesPages 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 *SQS) ListDeadLetterSourceQueuesPagesWithContext(ctx aws.Context, input *ListDeadLetterSourceQueuesInput, fn func(*ListDeadLetterSourceQueuesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDeadLetterSourceQueuesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDeadLetterSourceQueuesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDeadLetterSourceQueuesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListQueueTags = "ListQueueTags" // ListQueueTagsRequest generates a "aws/request.Request" representing the @@ -1154,6 +1206,12 @@ func (c *SQS) ListQueuesRequest(input *ListQueuesInput) (req *request.Request, o Name: opListQueues, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -1203,6 +1261,58 @@ func (c *SQS) ListQueuesWithContext(ctx aws.Context, input *ListQueuesInput, opt return out, req.Send() } +// ListQueuesPages iterates over the pages of a ListQueues operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListQueues method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListQueues operation. +// pageNum := 0 +// err := client.ListQueuesPages(params, +// func(page *sqs.ListQueuesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SQS) ListQueuesPages(input *ListQueuesInput, fn func(*ListQueuesOutput, bool) bool) error { + return c.ListQueuesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListQueuesPagesWithContext same as ListQueuesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SQS) ListQueuesPagesWithContext(ctx aws.Context, input *ListQueuesInput, fn func(*ListQueuesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListQueuesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListQueuesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListQueuesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opPurgeQueue = "PurgeQueue" // PurgeQueueRequest generates a "aws/request.Request" representing the @@ -1676,9 +1786,9 @@ func (c *SQS) SendMessageBatchRequest(input *SendMessageBatchInput) (req *reques // param.n notation. Values of n are integers starting from 1. For example, // a parameter list with two elements looks like this: // -// &Attribute.1=first +// &AttributeName.1=first // -// &Attribute.2=second +// &AttributeName.2=second // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2129,7 +2239,7 @@ type BatchResultErrorEntry struct { // A message explaining why the action failed on this entry. Message *string `type:"string"` - // Specifies whether the error happened due to the producer. + // Specifies whether the error happened due to the caller of the batch API action. // // SenderFault is a required field SenderFault *bool `type:"boolean" required:"true"` @@ -2290,7 +2400,10 @@ type ChangeMessageVisibilityBatchRequestEntry struct { // An identifier for this particular receipt handle used to communicate the // result. // - // The Ids of a batch request need to be unique within a request + // The Ids of a batch request need to be unique within a request. + // + // This identifier can have up to 80 characters. The following characters are + // accepted: alphanumeric characters, hyphens(-), and underscores (_). // // Id is a required field Id *string `type:"string" required:"true"` @@ -2466,41 +2579,41 @@ type CreateQueueInput struct { // The following lists the names, descriptions, and values of the special request // parameters that the CreateQueue action uses: // - // * DelaySeconds - The length of time, in seconds, for which the delivery + // * DelaySeconds – The length of time, in seconds, for which the delivery // of all messages in the queue is delayed. Valid values: An integer from // 0 to 900 seconds (15 minutes). Default: 0. // - // * MaximumMessageSize - The limit of how many bytes a message can contain + // * MaximumMessageSize – The limit of how many bytes a message can contain // before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes // (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB). // - // * MessageRetentionPeriod - The length of time, in seconds, for which Amazon - // SQS retains a message. Valid values: An integer from 60 seconds (1 minute) - // to 1,209,600 seconds (14 days). Default: 345,600 (4 days). + // * MessageRetentionPeriod – The length of time, in seconds, for which + // Amazon SQS retains a message. Valid values: An integer from 60 seconds + // (1 minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days). // - // * Policy - The queue's policy. A valid AWS policy. For more information + // * Policy – The queue's policy. A valid AWS policy. For more information // about policy structure, see Overview of AWS IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html) // in the Amazon IAM User Guide. // - // * ReceiveMessageWaitTimeSeconds - The length of time, in seconds, for + // * ReceiveMessageWaitTimeSeconds – The length of time, in seconds, for // which a ReceiveMessage action waits for a message to arrive. Valid values: // An integer from 0 to 20 (seconds). Default: 0. // - // * RedrivePolicy - The string that includes the parameters for the dead-letter - // queue functionality of the source queue. For more information about the - // redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter - // Queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) + // * RedrivePolicy – The string that includes the parameters for the dead-letter + // queue functionality of the source queue as a JSON object. For more information + // about the redrive policy and dead-letter queues, see Using Amazon SQS + // Dead-Letter Queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) // in the Amazon Simple Queue Service Developer Guide. deadLetterTargetArn - // - The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon + // – The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon // SQS moves messages after the value of maxReceiveCount is exceeded. maxReceiveCount - // - The number of times a message is delivered to the source queue before + // – The number of times a message is delivered to the source queue before // being moved to the dead-letter queue. When the ReceiveCount for a message // exceeds the maxReceiveCount for a queue, Amazon SQS moves the message // to the dead-letter-queue. The dead-letter queue of a FIFO queue must also // be a FIFO queue. Similarly, the dead-letter queue of a standard queue // must also be a standard queue. // - // * VisibilityTimeout - The visibility timeout for the queue, in seconds. + // * VisibilityTimeout – The visibility timeout for the queue, in seconds. // Valid values: An integer from 0 to 43,200 (12 hours). Default: 30. For // more information about the visibility timeout, see Visibility Timeout // (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html) @@ -2508,15 +2621,15 @@ type CreateQueueInput struct { // // The following attributes apply only to server-side-encryption (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html): // - // * KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) + // * KmsMasterKeyId – The ID of an AWS-managed customer master key (CMK) // for Amazon SQS or a custom CMK. For more information, see Key Terms (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms). // While the alias of the AWS-managed CMK for Amazon SQS is always alias/aws/sqs, // the alias of a custom CMK can, for example, be alias/MyAlias . For more // examples, see KeyId (https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) // in the AWS Key Management Service API Reference. // - // * KmsDataKeyReusePeriodSeconds - The length of time, in seconds, for which - // Amazon SQS can reuse a data key (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) + // * KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for + // which Amazon SQS can reuse a data key (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) // to encrypt or decrypt messages before calling AWS KMS again. An integer // representing seconds, between 60 seconds (1 minute) and 86,400 seconds // (24 hours). Default: 300 (5 minutes). A shorter time period provides better @@ -2526,15 +2639,15 @@ type CreateQueueInput struct { // // The following attributes apply only to FIFO (first-in-first-out) queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html): // - // * FifoQueue - Designates a queue as FIFO. Valid values: true, false. If - // you don't specify the FifoQueue attribute, Amazon SQS creates a standard + // * FifoQueue – Designates a queue as FIFO. Valid values: true, false. + // If you don't specify the FifoQueue attribute, Amazon SQS creates a standard // queue. You can provide this attribute only during queue creation. You // can't change it for an existing queue. When you set this attribute, you // must also provide the MessageGroupId for your messages explicitly. For // more information, see FIFO Queue Logic (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic) // in the Amazon Simple Queue Service Developer Guide. // - // * ContentBasedDeduplication - Enables content-based deduplication. Valid + // * ContentBasedDeduplication – Enables content-based deduplication. Valid // values: true, false. For more information, see Exactly-Once Processing // (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing) // in the Amazon Simple Queue Service Developer Guide. Every message must @@ -2771,7 +2884,10 @@ type DeleteMessageBatchRequestEntry struct { // An identifier for this particular receipt handle. This is used to communicate // the result. // - // The Ids of a batch request need to be unique within a request + // The Ids of a batch request need to be unique within a request. + // + // This identifier can have up to 80 characters. The following characters are + // accepted: alphanumeric characters, hyphens(-), and underscores (_). // // Id is a required field Id *string `type:"string" required:"true"` @@ -2979,79 +3095,84 @@ type GetQueueAttributesInput struct { // // The following attributes are supported: // - // * All - Returns all values. + // The ApproximateNumberOfMessagesDelayed, ApproximateNumberOfMessagesNotVisible, + // and ApproximateNumberOfMessagesVisible metrics may not achieve consistency + // until at least 1 minute after the producers stop sending messages. This period + // is required for the queue metadata to reach eventual consistency. + // + // * All – Returns all values. // - // * ApproximateNumberOfMessages - Returns the approximate number of messages + // * ApproximateNumberOfMessages – Returns the approximate number of messages // available for retrieval from the queue. // - // * ApproximateNumberOfMessagesDelayed - Returns the approximate number + // * ApproximateNumberOfMessagesDelayed – Returns the approximate number // of messages in the queue that are delayed and not available for reading // immediately. This can happen when the queue is configured as a delay queue // or when a message has been sent with a delay parameter. // - // * ApproximateNumberOfMessagesNotVisible - Returns the approximate number + // * ApproximateNumberOfMessagesNotVisible – Returns the approximate number // of messages that are in flight. Messages are considered to be in flight // if they have been sent to a client but have not yet been deleted or have // not yet reached the end of their visibility window. // - // * CreatedTimestamp - Returns the time when the queue was created in seconds - // (epoch time (http://en.wikipedia.org/wiki/Unix_time)). + // * CreatedTimestamp – Returns the time when the queue was created in + // seconds (epoch time (http://en.wikipedia.org/wiki/Unix_time)). // - // * DelaySeconds - Returns the default delay on the queue in seconds. + // * DelaySeconds – Returns the default delay on the queue in seconds. // - // * LastModifiedTimestamp - Returns the time when the queue was last changed + // * LastModifiedTimestamp – Returns the time when the queue was last changed // in seconds (epoch time (http://en.wikipedia.org/wiki/Unix_time)). // - // * MaximumMessageSize - Returns the limit of how many bytes a message can - // contain before Amazon SQS rejects it. + // * MaximumMessageSize – Returns the limit of how many bytes a message + // can contain before Amazon SQS rejects it. // - // * MessageRetentionPeriod - Returns the length of time, in seconds, for + // * MessageRetentionPeriod – Returns the length of time, in seconds, for // which Amazon SQS retains a message. // - // * Policy - Returns the policy of the queue. + // * Policy – Returns the policy of the queue. // - // * QueueArn - Returns the Amazon resource name (ARN) of the queue. + // * QueueArn – Returns the Amazon resource name (ARN) of the queue. // - // * ReceiveMessageWaitTimeSeconds - Returns the length of time, in seconds, + // * ReceiveMessageWaitTimeSeconds – Returns the length of time, in seconds, // for which the ReceiveMessage action waits for a message to arrive. // - // * RedrivePolicy - Returns the string that includes the parameters for - // dead-letter queue functionality of the source queue. For more information + // * RedrivePolicy – The string that includes the parameters for the dead-letter + // queue functionality of the source queue as a JSON object. For more information // about the redrive policy and dead-letter queues, see Using Amazon SQS // Dead-Letter Queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) // in the Amazon Simple Queue Service Developer Guide. deadLetterTargetArn - // - The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon + // – The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon // SQS moves messages after the value of maxReceiveCount is exceeded. maxReceiveCount - // - The number of times a message is delivered to the source queue before + // – The number of times a message is delivered to the source queue before // being moved to the dead-letter queue. When the ReceiveCount for a message // exceeds the maxReceiveCount for a queue, Amazon SQS moves the message // to the dead-letter-queue. // - // * VisibilityTimeout - Returns the visibility timeout for the queue. For - // more information about the visibility timeout, see Visibility Timeout + // * VisibilityTimeout – Returns the visibility timeout for the queue. + // For more information about the visibility timeout, see Visibility Timeout // (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html) // in the Amazon Simple Queue Service Developer Guide. // // The following attributes apply only to server-side-encryption (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html): // - // * KmsMasterKeyId - Returns the ID of an AWS-managed customer master key - // (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms - // (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms). + // * KmsMasterKeyId – Returns the ID of an AWS-managed customer master + // key (CMK) for Amazon SQS or a custom CMK. For more information, see Key + // Terms (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms). // - // * KmsDataKeyReusePeriodSeconds - Returns the length of time, in seconds, + // * KmsDataKeyReusePeriodSeconds – Returns the length of time, in seconds, // for which Amazon SQS can reuse a data key to encrypt or decrypt messages // before calling AWS KMS again. For more information, see How Does the Data // Key Reuse Period Work? (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-how-does-the-data-key-reuse-period-work). // // The following attributes apply only to FIFO (first-in-first-out) queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html): // - // * FifoQueue - Returns whether the queue is FIFO. For more information, + // * FifoQueue – Returns whether the queue is FIFO. For more information, // see FIFO Queue Logic (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic) // in the Amazon Simple Queue Service Developer Guide. To determine whether // a queue is FIFO (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html), // you can check whether QueueName ends with the .fifo suffix. // - // * ContentBasedDeduplication - Returns whether content-based deduplication + // * ContentBasedDeduplication – Returns whether content-based deduplication // is enabled for the queue. For more information, see Exactly-Once Processing // (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing) // in the Amazon Simple Queue Service Developer Guide. @@ -3202,6 +3323,12 @@ func (s *GetQueueUrlOutput) SetQueueUrl(v string) *GetQueueUrlOutput { type ListDeadLetterSourceQueuesInput struct { _ struct{} `type:"structure"` + // Maximum number of results to include in the response. + MaxResults *int64 `type:"integer"` + + // Pagination token to request the next set of results. + NextToken *string `type:"string"` + // The URL of a dead-letter queue. // // Queue URLs and names are case-sensitive. @@ -3233,6 +3360,18 @@ func (s *ListDeadLetterSourceQueuesInput) Validate() error { return nil } +// SetMaxResults sets the MaxResults field's value. +func (s *ListDeadLetterSourceQueuesInput) SetMaxResults(v int64) *ListDeadLetterSourceQueuesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDeadLetterSourceQueuesInput) SetNextToken(v string) *ListDeadLetterSourceQueuesInput { + s.NextToken = &v + return s +} + // SetQueueUrl sets the QueueUrl field's value. func (s *ListDeadLetterSourceQueuesInput) SetQueueUrl(v string) *ListDeadLetterSourceQueuesInput { s.QueueUrl = &v @@ -3243,6 +3382,9 @@ func (s *ListDeadLetterSourceQueuesInput) SetQueueUrl(v string) *ListDeadLetterS type ListDeadLetterSourceQueuesOutput struct { _ struct{} `type:"structure"` + // Pagination token to include in the next request. + NextToken *string `type:"string"` + // A list of source queue URLs that have the RedrivePolicy queue attribute configured // with a dead-letter queue. // @@ -3260,6 +3402,12 @@ func (s ListDeadLetterSourceQueuesOutput) GoString() string { return s.String() } +// SetNextToken sets the NextToken field's value. +func (s *ListDeadLetterSourceQueuesOutput) SetNextToken(v string) *ListDeadLetterSourceQueuesOutput { + s.NextToken = &v + return s +} + // SetQueueUrls sets the QueueUrls field's value. func (s *ListDeadLetterSourceQueuesOutput) SetQueueUrls(v []*string) *ListDeadLetterSourceQueuesOutput { s.QueueUrls = v @@ -3330,6 +3478,12 @@ func (s *ListQueueTagsOutput) SetTags(v map[string]*string) *ListQueueTagsOutput type ListQueuesInput struct { _ struct{} `type:"structure"` + // Maximum number of results to include in the response. + MaxResults *int64 `type:"integer"` + + // Pagination token to request the next set of results. + NextToken *string `type:"string"` + // A string to use for filtering the list results. Only those queues whose name // begins with the specified string are returned. // @@ -3347,6 +3501,18 @@ func (s ListQueuesInput) GoString() string { return s.String() } +// SetMaxResults sets the MaxResults field's value. +func (s *ListQueuesInput) SetMaxResults(v int64) *ListQueuesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListQueuesInput) SetNextToken(v string) *ListQueuesInput { + s.NextToken = &v + return s +} + // SetQueueNamePrefix sets the QueueNamePrefix field's value. func (s *ListQueuesInput) SetQueueNamePrefix(v string) *ListQueuesInput { s.QueueNamePrefix = &v @@ -3357,7 +3523,11 @@ func (s *ListQueuesInput) SetQueueNamePrefix(v string) *ListQueuesInput { type ListQueuesOutput struct { _ struct{} `type:"structure"` - // A list of queue URLs, up to 1,000 entries. + // Pagination token to include in the next request. + NextToken *string `type:"string"` + + // A list of queue URLs, up to 1,000 entries, or the value of MaxResults that + // you sent in the request. QueueUrls []*string `locationNameList:"QueueUrl" type:"list" flattened:"true"` } @@ -3371,6 +3541,12 @@ func (s ListQueuesOutput) GoString() string { return s.String() } +// SetNextToken sets the NextToken field's value. +func (s *ListQueuesOutput) SetNextToken(v string) *ListQueuesOutput { + s.NextToken = &v + return s +} + // SetQueueUrls sets the QueueUrls field's value. func (s *ListQueuesOutput) SetQueueUrls(v []*string) *ListQueuesOutput { s.QueueUrls = v @@ -3720,31 +3896,31 @@ type ReceiveMessageInput struct { // A list of attributes that need to be returned along with each message. These // attributes include: // - // * All - Returns all values. + // * All – Returns all values. // - // * ApproximateFirstReceiveTimestamp - Returns the time the message was + // * ApproximateFirstReceiveTimestamp – Returns the time the message was // first received from the queue (epoch time (http://en.wikipedia.org/wiki/Unix_time) // in milliseconds). // - // * ApproximateReceiveCount - Returns the number of times a message has - // been received from the queue but not deleted. + // * ApproximateReceiveCount – Returns the number of times a message has + // been received across all queues but not deleted. // - // * AWSTraceHeader - Returns the AWS X-Ray trace header string. + // * AWSTraceHeader – Returns the AWS X-Ray trace header string. // // * SenderId For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R. // For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456. // - // * SentTimestamp - Returns the time the message was sent to the queue (epoch - // time (http://en.wikipedia.org/wiki/Unix_time) in milliseconds). + // * SentTimestamp – Returns the time the message was sent to the queue + // (epoch time (http://en.wikipedia.org/wiki/Unix_time) in milliseconds). // - // * MessageDeduplicationId - Returns the value provided by the producer + // * MessageDeduplicationId – Returns the value provided by the producer // that calls the SendMessage action. // - // * MessageGroupId - Returns the value provided by the producer that calls + // * MessageGroupId – Returns the value provided by the producer that calls // the SendMessage action. Messages with the same MessageGroupId are returned // in sequence. // - // * SequenceNumber - Returns the value provided by Amazon SQS. + // * SequenceNumber – Returns the value provided by Amazon SQS. AttributeNames []*string `locationNameList:"AttributeName" type:"list" flattened:"true"` // The maximum number of messages to return. Amazon SQS never returns more messages @@ -3785,9 +3961,9 @@ type ReceiveMessageInput struct { // // The token used for deduplication of ReceiveMessage calls. If a networking // issue occurs after a ReceiveMessage action, and instead of a response you - // receive a generic error, you can retry the same action with an identical - // ReceiveRequestAttemptId to retrieve the same set of messages, even if their - // visibility timeout has not yet expired. + // receive a generic error, it is possible to retry the same action with an + // identical ReceiveRequestAttemptId to retrieve the same set of messages, even + // if their visibility timeout has not yet expired. // // * You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage // action. @@ -3798,7 +3974,7 @@ type ReceiveMessageInput struct { // * If a caller of the ReceiveMessage action doesn't provide a ReceiveRequestAttemptId, // Amazon SQS generates a ReceiveRequestAttemptId. // - // * You can retry the ReceiveMessage action with the same ReceiveRequestAttemptId + // * It is possible to retry the ReceiveMessage action with the same ReceiveRequestAttemptId // if none of the messages have been modified (deleted or had their visibility // changes). // @@ -3825,7 +4001,7 @@ type ReceiveMessageInput struct { // no retries work until the original visibility timeout expires. As a result, // delays might occur but the messages in the queue remain in a strict order. // - // The length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId + // The maximum length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId // can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). // // For best practices of using ReceiveRequestAttemptId, see Using the ReceiveRequestAttemptId @@ -3841,6 +4017,13 @@ type ReceiveMessageInput struct { // in the queue before returning. If a message is available, the call returns // sooner than WaitTimeSeconds. If no messages are available and the wait time // expires, the call returns successfully with an empty list of messages. + // + // To avoid HTTP errors, ensure that the HTTP response timeout for ReceiveMessage + // requests is longer than the WaitTimeSeconds parameter. For example, with + // the Java SDK, you can set HTTP transport settings using the NettyNioAsyncHttpClient + // (https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/nio/netty/NettyNioAsyncHttpClient.html) + // for asynchronous clients, or the ApacheHttpClient (https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/apache/ApacheHttpClient.html) + // for synchronous clients. WaitTimeSeconds *int64 `type:"integer"` } @@ -4121,7 +4304,7 @@ type SendMessageBatchRequestEntry struct { // An identifier for a message in this batch used to communicate the result. // - // The Ids of a batch request need to be unique within a request + // The Ids of a batch request need to be unique within a request. // // This identifier can have up to 80 characters. The following characters are // accepted: alphanumeric characters, hyphens(-), and underscores (_). @@ -4216,7 +4399,7 @@ type SendMessageBatchRequestEntry struct { // // * Currently, the only supported message system attribute is AWSTraceHeader. // Its type must be String and its value must be a correctly formatted AWS - // X-Ray trace string. + // X-Ray trace header string. // // * The size of a message system attribute doesn't count towards the total // size of a message. @@ -4467,7 +4650,7 @@ type SendMessageInput struct { // Amazon SQS continues to keep track of the message deduplication ID even after // the message is received and deleted. // - // The length of MessageDeduplicationId is 128 characters. MessageDeduplicationId + // The maximum length of MessageDeduplicationId is 128 characters. MessageDeduplicationId // can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). // // For best practices of using MessageDeduplicationId, see Using the MessageDeduplicationId @@ -4508,7 +4691,7 @@ type SendMessageInput struct { // // * Currently, the only supported message system attribute is AWSTraceHeader. // Its type must be String and its value must be a correctly formatted AWS - // X-Ray trace string. + // X-Ray trace header string. // // * The size of a message system attribute doesn't count towards the total // size of a message. @@ -4693,57 +4876,57 @@ type SetQueueAttributesInput struct { // The following lists the names, descriptions, and values of the special request // parameters that the SetQueueAttributes action uses: // - // * DelaySeconds - The length of time, in seconds, for which the delivery + // * DelaySeconds – The length of time, in seconds, for which the delivery // of all messages in the queue is delayed. Valid values: An integer from // 0 to 900 (15 minutes). Default: 0. // - // * MaximumMessageSize - The limit of how many bytes a message can contain + // * MaximumMessageSize – The limit of how many bytes a message can contain // before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes // (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB). // - // * MessageRetentionPeriod - The length of time, in seconds, for which Amazon - // SQS retains a message. Valid values: An integer representing seconds, + // * MessageRetentionPeriod – The length of time, in seconds, for which + // Amazon SQS retains a message. Valid values: An integer representing seconds, // from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days). // - // * Policy - The queue's policy. A valid AWS policy. For more information + // * Policy – The queue's policy. A valid AWS policy. For more information // about policy structure, see Overview of AWS IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/PoliciesOverview.html) // in the Amazon IAM User Guide. // - // * ReceiveMessageWaitTimeSeconds - The length of time, in seconds, for + // * ReceiveMessageWaitTimeSeconds – The length of time, in seconds, for // which a ReceiveMessage action waits for a message to arrive. Valid values: - // an integer from 0 to 20 (seconds). Default: 0. + // An integer from 0 to 20 (seconds). Default: 0. // - // * RedrivePolicy - The string that includes the parameters for the dead-letter - // queue functionality of the source queue. For more information about the - // redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter - // Queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) + // * RedrivePolicy – The string that includes the parameters for the dead-letter + // queue functionality of the source queue as a JSON object. For more information + // about the redrive policy and dead-letter queues, see Using Amazon SQS + // Dead-Letter Queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) // in the Amazon Simple Queue Service Developer Guide. deadLetterTargetArn - // - The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon + // – The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon // SQS moves messages after the value of maxReceiveCount is exceeded. maxReceiveCount - // - The number of times a message is delivered to the source queue before + // – The number of times a message is delivered to the source queue before // being moved to the dead-letter queue. When the ReceiveCount for a message // exceeds the maxReceiveCount for a queue, Amazon SQS moves the message // to the dead-letter-queue. The dead-letter queue of a FIFO queue must also // be a FIFO queue. Similarly, the dead-letter queue of a standard queue // must also be a standard queue. // - // * VisibilityTimeout - The visibility timeout for the queue, in seconds. - // Valid values: an integer from 0 to 43,200 (12 hours). Default: 30. For + // * VisibilityTimeout – The visibility timeout for the queue, in seconds. + // Valid values: An integer from 0 to 43,200 (12 hours). Default: 30. For // more information about the visibility timeout, see Visibility Timeout // (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html) // in the Amazon Simple Queue Service Developer Guide. // // The following attributes apply only to server-side-encryption (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html): // - // * KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) + // * KmsMasterKeyId – The ID of an AWS-managed customer master key (CMK) // for Amazon SQS or a custom CMK. For more information, see Key Terms (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms). // While the alias of the AWS-managed CMK for Amazon SQS is always alias/aws/sqs, // the alias of a custom CMK can, for example, be alias/MyAlias . For more // examples, see KeyId (https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) // in the AWS Key Management Service API Reference. // - // * KmsDataKeyReusePeriodSeconds - The length of time, in seconds, for which - // Amazon SQS can reuse a data key (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) + // * KmsDataKeyReusePeriodSeconds – The length of time, in seconds, for + // which Amazon SQS can reuse a data key (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) // to encrypt or decrypt messages before calling AWS KMS again. An integer // representing seconds, between 60 seconds (1 minute) and 86,400 seconds // (24 hours). Default: 300 (5 minutes). A shorter time period provides better @@ -4754,7 +4937,7 @@ type SetQueueAttributesInput struct { // The following attribute applies only to FIFO (first-in-first-out) queues // (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html): // - // * ContentBasedDeduplication - Enables content-based deduplication. For + // * ContentBasedDeduplication – Enables content-based deduplication. For // more information, see Exactly-Once Processing (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing) // in the Amazon Simple Queue Service Developer Guide. Every message must // have a unique MessageDeduplicationId, You may provide a MessageDeduplicationId diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go index d8bb7c631f2..549d09f16a5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/api.go @@ -449,15 +449,18 @@ func (c *SSM) CreateAssociationRequest(input *CreateAssociationInput) (req *requ // CreateAssociation API operation for Amazon Simple Systems Manager (SSM). // -// Associates the specified Systems Manager document with the specified instances -// or targets. -// -// When you associate a document with one or more instances using instance IDs -// or tags, SSM Agent running on the instance processes the document and configures -// the instance as specified. -// -// If you associate a document with an instance that already has an associated -// document, the system returns the AssociationAlreadyExists exception. +// A State Manager association defines the state that you want to maintain on +// your instances. For example, an association can specify that anti-virus software +// must be installed and running on your instances, or that certain ports must +// be closed. For static targets, the association specifies a schedule for when +// the configuration is reapplied. For dynamic targets, such as an AWS Resource +// Group or an AWS Autoscaling Group, State Manager applies the configuration +// when new instances are added to the group. The association also specifies +// actions to take when applying the configuration. For example, an association +// for anti-virus software might run once a day. If the software is not installed, +// then State Manager installs it. If the software is installed, but the service +// is not running, then the association might instruct State Manager to start +// 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 @@ -2610,6 +2613,12 @@ func (c *SSM) DescribeAssociationExecutionTargetsRequest(input *DescribeAssociat Name: opDescribeAssociationExecutionTargets, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -2668,6 +2677,58 @@ func (c *SSM) DescribeAssociationExecutionTargetsWithContext(ctx aws.Context, in return out, req.Send() } +// DescribeAssociationExecutionTargetsPages iterates over the pages of a DescribeAssociationExecutionTargets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeAssociationExecutionTargets 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 DescribeAssociationExecutionTargets operation. +// pageNum := 0 +// err := client.DescribeAssociationExecutionTargetsPages(params, +// func(page *ssm.DescribeAssociationExecutionTargetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeAssociationExecutionTargetsPages(input *DescribeAssociationExecutionTargetsInput, fn func(*DescribeAssociationExecutionTargetsOutput, bool) bool) error { + return c.DescribeAssociationExecutionTargetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeAssociationExecutionTargetsPagesWithContext same as DescribeAssociationExecutionTargetsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeAssociationExecutionTargetsPagesWithContext(ctx aws.Context, input *DescribeAssociationExecutionTargetsInput, fn func(*DescribeAssociationExecutionTargetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeAssociationExecutionTargetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeAssociationExecutionTargetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeAssociationExecutionTargetsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeAssociationExecutions = "DescribeAssociationExecutions" // DescribeAssociationExecutionsRequest generates a "aws/request.Request" representing the @@ -2699,6 +2760,12 @@ func (c *SSM) DescribeAssociationExecutionsRequest(input *DescribeAssociationExe Name: opDescribeAssociationExecutions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -2753,6 +2820,58 @@ func (c *SSM) DescribeAssociationExecutionsWithContext(ctx aws.Context, input *D return out, req.Send() } +// DescribeAssociationExecutionsPages iterates over the pages of a DescribeAssociationExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeAssociationExecutions 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 DescribeAssociationExecutions operation. +// pageNum := 0 +// err := client.DescribeAssociationExecutionsPages(params, +// func(page *ssm.DescribeAssociationExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeAssociationExecutionsPages(input *DescribeAssociationExecutionsInput, fn func(*DescribeAssociationExecutionsOutput, bool) bool) error { + return c.DescribeAssociationExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeAssociationExecutionsPagesWithContext same as DescribeAssociationExecutionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeAssociationExecutionsPagesWithContext(ctx aws.Context, input *DescribeAssociationExecutionsInput, fn func(*DescribeAssociationExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeAssociationExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeAssociationExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeAssociationExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeAutomationExecutions = "DescribeAutomationExecutions" // DescribeAutomationExecutionsRequest generates a "aws/request.Request" representing the @@ -2784,6 +2903,12 @@ func (c *SSM) DescribeAutomationExecutionsRequest(input *DescribeAutomationExecu Name: opDescribeAutomationExecutions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -2841,6 +2966,58 @@ func (c *SSM) DescribeAutomationExecutionsWithContext(ctx aws.Context, input *De return out, req.Send() } +// DescribeAutomationExecutionsPages iterates over the pages of a DescribeAutomationExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeAutomationExecutions 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 DescribeAutomationExecutions operation. +// pageNum := 0 +// err := client.DescribeAutomationExecutionsPages(params, +// func(page *ssm.DescribeAutomationExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeAutomationExecutionsPages(input *DescribeAutomationExecutionsInput, fn func(*DescribeAutomationExecutionsOutput, bool) bool) error { + return c.DescribeAutomationExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeAutomationExecutionsPagesWithContext same as DescribeAutomationExecutionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeAutomationExecutionsPagesWithContext(ctx aws.Context, input *DescribeAutomationExecutionsInput, fn func(*DescribeAutomationExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeAutomationExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeAutomationExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeAutomationExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeAutomationStepExecutions = "DescribeAutomationStepExecutions" // DescribeAutomationStepExecutionsRequest generates a "aws/request.Request" representing the @@ -2872,6 +3049,12 @@ func (c *SSM) DescribeAutomationStepExecutionsRequest(input *DescribeAutomationS Name: opDescribeAutomationStepExecutions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -2934,6 +3117,58 @@ func (c *SSM) DescribeAutomationStepExecutionsWithContext(ctx aws.Context, input return out, req.Send() } +// DescribeAutomationStepExecutionsPages iterates over the pages of a DescribeAutomationStepExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeAutomationStepExecutions 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 DescribeAutomationStepExecutions operation. +// pageNum := 0 +// err := client.DescribeAutomationStepExecutionsPages(params, +// func(page *ssm.DescribeAutomationStepExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeAutomationStepExecutionsPages(input *DescribeAutomationStepExecutionsInput, fn func(*DescribeAutomationStepExecutionsOutput, bool) bool) error { + return c.DescribeAutomationStepExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeAutomationStepExecutionsPagesWithContext same as DescribeAutomationStepExecutionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeAutomationStepExecutionsPagesWithContext(ctx aws.Context, input *DescribeAutomationStepExecutionsInput, fn func(*DescribeAutomationStepExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeAutomationStepExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeAutomationStepExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeAutomationStepExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeAvailablePatches = "DescribeAvailablePatches" // DescribeAvailablePatchesRequest generates a "aws/request.Request" representing the @@ -2965,6 +3200,12 @@ func (c *SSM) DescribeAvailablePatchesRequest(input *DescribeAvailablePatchesInp Name: opDescribeAvailablePatches, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3013,6 +3254,58 @@ func (c *SSM) DescribeAvailablePatchesWithContext(ctx aws.Context, input *Descri return out, req.Send() } +// DescribeAvailablePatchesPages iterates over the pages of a DescribeAvailablePatches operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeAvailablePatches 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 DescribeAvailablePatches operation. +// pageNum := 0 +// err := client.DescribeAvailablePatchesPages(params, +// func(page *ssm.DescribeAvailablePatchesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeAvailablePatchesPages(input *DescribeAvailablePatchesInput, fn func(*DescribeAvailablePatchesOutput, bool) bool) error { + return c.DescribeAvailablePatchesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeAvailablePatchesPagesWithContext same as DescribeAvailablePatchesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeAvailablePatchesPagesWithContext(ctx aws.Context, input *DescribeAvailablePatchesInput, fn func(*DescribeAvailablePatchesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeAvailablePatchesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeAvailablePatchesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeAvailablePatchesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeDocument = "DescribeDocument" // DescribeDocumentRequest generates a "aws/request.Request" representing the @@ -3217,6 +3510,12 @@ func (c *SSM) DescribeEffectiveInstanceAssociationsRequest(input *DescribeEffect Name: opDescribeEffectiveInstanceAssociations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3280,6 +3579,58 @@ func (c *SSM) DescribeEffectiveInstanceAssociationsWithContext(ctx aws.Context, return out, req.Send() } +// DescribeEffectiveInstanceAssociationsPages iterates over the pages of a DescribeEffectiveInstanceAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEffectiveInstanceAssociations 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 DescribeEffectiveInstanceAssociations operation. +// pageNum := 0 +// err := client.DescribeEffectiveInstanceAssociationsPages(params, +// func(page *ssm.DescribeEffectiveInstanceAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeEffectiveInstanceAssociationsPages(input *DescribeEffectiveInstanceAssociationsInput, fn func(*DescribeEffectiveInstanceAssociationsOutput, bool) bool) error { + return c.DescribeEffectiveInstanceAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeEffectiveInstanceAssociationsPagesWithContext same as DescribeEffectiveInstanceAssociationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeEffectiveInstanceAssociationsPagesWithContext(ctx aws.Context, input *DescribeEffectiveInstanceAssociationsInput, fn func(*DescribeEffectiveInstanceAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeEffectiveInstanceAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEffectiveInstanceAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeEffectiveInstanceAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeEffectivePatchesForPatchBaseline = "DescribeEffectivePatchesForPatchBaseline" // DescribeEffectivePatchesForPatchBaselineRequest generates a "aws/request.Request" representing the @@ -3311,6 +3662,12 @@ func (c *SSM) DescribeEffectivePatchesForPatchBaselineRequest(input *DescribeEff Name: opDescribeEffectivePatchesForPatchBaseline, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3378,6 +3735,58 @@ func (c *SSM) DescribeEffectivePatchesForPatchBaselineWithContext(ctx aws.Contex return out, req.Send() } +// DescribeEffectivePatchesForPatchBaselinePages iterates over the pages of a DescribeEffectivePatchesForPatchBaseline operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEffectivePatchesForPatchBaseline 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 DescribeEffectivePatchesForPatchBaseline operation. +// pageNum := 0 +// err := client.DescribeEffectivePatchesForPatchBaselinePages(params, +// func(page *ssm.DescribeEffectivePatchesForPatchBaselineOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeEffectivePatchesForPatchBaselinePages(input *DescribeEffectivePatchesForPatchBaselineInput, fn func(*DescribeEffectivePatchesForPatchBaselineOutput, bool) bool) error { + return c.DescribeEffectivePatchesForPatchBaselinePagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeEffectivePatchesForPatchBaselinePagesWithContext same as DescribeEffectivePatchesForPatchBaselinePages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeEffectivePatchesForPatchBaselinePagesWithContext(ctx aws.Context, input *DescribeEffectivePatchesForPatchBaselineInput, fn func(*DescribeEffectivePatchesForPatchBaselineOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeEffectivePatchesForPatchBaselineInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEffectivePatchesForPatchBaselineRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeEffectivePatchesForPatchBaselineOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeInstanceAssociationsStatus = "DescribeInstanceAssociationsStatus" // DescribeInstanceAssociationsStatusRequest generates a "aws/request.Request" representing the @@ -3409,6 +3818,12 @@ func (c *SSM) DescribeInstanceAssociationsStatusRequest(input *DescribeInstanceA Name: opDescribeInstanceAssociationsStatus, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3472,6 +3887,58 @@ func (c *SSM) DescribeInstanceAssociationsStatusWithContext(ctx aws.Context, inp return out, req.Send() } +// DescribeInstanceAssociationsStatusPages iterates over the pages of a DescribeInstanceAssociationsStatus operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInstanceAssociationsStatus 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 DescribeInstanceAssociationsStatus operation. +// pageNum := 0 +// err := client.DescribeInstanceAssociationsStatusPages(params, +// func(page *ssm.DescribeInstanceAssociationsStatusOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeInstanceAssociationsStatusPages(input *DescribeInstanceAssociationsStatusInput, fn func(*DescribeInstanceAssociationsStatusOutput, bool) bool) error { + return c.DescribeInstanceAssociationsStatusPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeInstanceAssociationsStatusPagesWithContext same as DescribeInstanceAssociationsStatusPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeInstanceAssociationsStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceAssociationsStatusInput, fn func(*DescribeInstanceAssociationsStatusOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInstanceAssociationsStatusInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInstanceAssociationsStatusRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInstanceAssociationsStatusOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeInstanceInformation = "DescribeInstanceInformation" // DescribeInstanceInformationRequest generates a "aws/request.Request" representing the @@ -3672,6 +4139,12 @@ func (c *SSM) DescribeInstancePatchStatesRequest(input *DescribeInstancePatchSta Name: opDescribeInstancePatchStates, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3723,6 +4196,58 @@ func (c *SSM) DescribeInstancePatchStatesWithContext(ctx aws.Context, input *Des return out, req.Send() } +// DescribeInstancePatchStatesPages iterates over the pages of a DescribeInstancePatchStates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInstancePatchStates 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 DescribeInstancePatchStates operation. +// pageNum := 0 +// err := client.DescribeInstancePatchStatesPages(params, +// func(page *ssm.DescribeInstancePatchStatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeInstancePatchStatesPages(input *DescribeInstancePatchStatesInput, fn func(*DescribeInstancePatchStatesOutput, bool) bool) error { + return c.DescribeInstancePatchStatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeInstancePatchStatesPagesWithContext same as DescribeInstancePatchStatesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeInstancePatchStatesPagesWithContext(ctx aws.Context, input *DescribeInstancePatchStatesInput, fn func(*DescribeInstancePatchStatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInstancePatchStatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInstancePatchStatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInstancePatchStatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeInstancePatchStatesForPatchGroup = "DescribeInstancePatchStatesForPatchGroup" // DescribeInstancePatchStatesForPatchGroupRequest generates a "aws/request.Request" representing the @@ -3754,6 +4279,12 @@ func (c *SSM) DescribeInstancePatchStatesForPatchGroupRequest(input *DescribeIns Name: opDescribeInstancePatchStatesForPatchGroup, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3810,6 +4341,58 @@ func (c *SSM) DescribeInstancePatchStatesForPatchGroupWithContext(ctx aws.Contex return out, req.Send() } +// DescribeInstancePatchStatesForPatchGroupPages iterates over the pages of a DescribeInstancePatchStatesForPatchGroup operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInstancePatchStatesForPatchGroup 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 DescribeInstancePatchStatesForPatchGroup operation. +// pageNum := 0 +// err := client.DescribeInstancePatchStatesForPatchGroupPages(params, +// func(page *ssm.DescribeInstancePatchStatesForPatchGroupOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeInstancePatchStatesForPatchGroupPages(input *DescribeInstancePatchStatesForPatchGroupInput, fn func(*DescribeInstancePatchStatesForPatchGroupOutput, bool) bool) error { + return c.DescribeInstancePatchStatesForPatchGroupPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeInstancePatchStatesForPatchGroupPagesWithContext same as DescribeInstancePatchStatesForPatchGroupPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeInstancePatchStatesForPatchGroupPagesWithContext(ctx aws.Context, input *DescribeInstancePatchStatesForPatchGroupInput, fn func(*DescribeInstancePatchStatesForPatchGroupOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInstancePatchStatesForPatchGroupInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInstancePatchStatesForPatchGroupRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInstancePatchStatesForPatchGroupOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeInstancePatches = "DescribeInstancePatches" // DescribeInstancePatchesRequest generates a "aws/request.Request" representing the @@ -3841,6 +4424,12 @@ func (c *SSM) DescribeInstancePatchesRequest(input *DescribeInstancePatchesInput Name: opDescribeInstancePatches, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3909,6 +4498,58 @@ func (c *SSM) DescribeInstancePatchesWithContext(ctx aws.Context, input *Describ return out, req.Send() } +// DescribeInstancePatchesPages iterates over the pages of a DescribeInstancePatches operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInstancePatches 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 DescribeInstancePatches operation. +// pageNum := 0 +// err := client.DescribeInstancePatchesPages(params, +// func(page *ssm.DescribeInstancePatchesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeInstancePatchesPages(input *DescribeInstancePatchesInput, fn func(*DescribeInstancePatchesOutput, bool) bool) error { + return c.DescribeInstancePatchesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeInstancePatchesPagesWithContext same as DescribeInstancePatchesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeInstancePatchesPagesWithContext(ctx aws.Context, input *DescribeInstancePatchesInput, fn func(*DescribeInstancePatchesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInstancePatchesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInstancePatchesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInstancePatchesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeInventoryDeletions = "DescribeInventoryDeletions" // DescribeInventoryDeletionsRequest generates a "aws/request.Request" representing the @@ -3940,6 +4581,12 @@ func (c *SSM) DescribeInventoryDeletionsRequest(input *DescribeInventoryDeletion Name: opDescribeInventoryDeletions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -3995,6 +4642,58 @@ func (c *SSM) DescribeInventoryDeletionsWithContext(ctx aws.Context, input *Desc return out, req.Send() } +// DescribeInventoryDeletionsPages iterates over the pages of a DescribeInventoryDeletions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeInventoryDeletions 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 DescribeInventoryDeletions operation. +// pageNum := 0 +// err := client.DescribeInventoryDeletionsPages(params, +// func(page *ssm.DescribeInventoryDeletionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeInventoryDeletionsPages(input *DescribeInventoryDeletionsInput, fn func(*DescribeInventoryDeletionsOutput, bool) bool) error { + return c.DescribeInventoryDeletionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeInventoryDeletionsPagesWithContext same as DescribeInventoryDeletionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeInventoryDeletionsPagesWithContext(ctx aws.Context, input *DescribeInventoryDeletionsInput, fn func(*DescribeInventoryDeletionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeInventoryDeletionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeInventoryDeletionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeInventoryDeletionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindowExecutionTaskInvocations = "DescribeMaintenanceWindowExecutionTaskInvocations" // DescribeMaintenanceWindowExecutionTaskInvocationsRequest generates a "aws/request.Request" representing the @@ -4026,6 +4725,12 @@ func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input *De Name: opDescribeMaintenanceWindowExecutionTaskInvocations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4083,6 +4788,58 @@ func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsWithContext(ctx a return out, req.Send() } +// DescribeMaintenanceWindowExecutionTaskInvocationsPages iterates over the pages of a DescribeMaintenanceWindowExecutionTaskInvocations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindowExecutionTaskInvocations 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 DescribeMaintenanceWindowExecutionTaskInvocations operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowExecutionTaskInvocationsPages(params, +// func(page *ssm.DescribeMaintenanceWindowExecutionTaskInvocationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsPages(input *DescribeMaintenanceWindowExecutionTaskInvocationsInput, fn func(*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, bool) bool) error { + return c.DescribeMaintenanceWindowExecutionTaskInvocationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowExecutionTaskInvocationsPagesWithContext same as DescribeMaintenanceWindowExecutionTaskInvocationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTaskInvocationsInput, fn func(*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowExecutionTaskInvocationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowExecutionTaskInvocationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindowExecutionTasks = "DescribeMaintenanceWindowExecutionTasks" // DescribeMaintenanceWindowExecutionTasksRequest generates a "aws/request.Request" representing the @@ -4114,6 +4871,12 @@ func (c *SSM) DescribeMaintenanceWindowExecutionTasksRequest(input *DescribeMain Name: opDescribeMaintenanceWindowExecutionTasks, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4170,6 +4933,58 @@ func (c *SSM) DescribeMaintenanceWindowExecutionTasksWithContext(ctx aws.Context return out, req.Send() } +// DescribeMaintenanceWindowExecutionTasksPages iterates over the pages of a DescribeMaintenanceWindowExecutionTasks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindowExecutionTasks 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 DescribeMaintenanceWindowExecutionTasks operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowExecutionTasksPages(params, +// func(page *ssm.DescribeMaintenanceWindowExecutionTasksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowExecutionTasksPages(input *DescribeMaintenanceWindowExecutionTasksInput, fn func(*DescribeMaintenanceWindowExecutionTasksOutput, bool) bool) error { + return c.DescribeMaintenanceWindowExecutionTasksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowExecutionTasksPagesWithContext same as DescribeMaintenanceWindowExecutionTasksPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeMaintenanceWindowExecutionTasksPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTasksInput, fn func(*DescribeMaintenanceWindowExecutionTasksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowExecutionTasksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowExecutionTasksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowExecutionTasksOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindowExecutions = "DescribeMaintenanceWindowExecutions" // DescribeMaintenanceWindowExecutionsRequest generates a "aws/request.Request" representing the @@ -4201,6 +5016,12 @@ func (c *SSM) DescribeMaintenanceWindowExecutionsRequest(input *DescribeMaintena Name: opDescribeMaintenanceWindowExecutions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4251,6 +5072,58 @@ func (c *SSM) DescribeMaintenanceWindowExecutionsWithContext(ctx aws.Context, in return out, req.Send() } +// DescribeMaintenanceWindowExecutionsPages iterates over the pages of a DescribeMaintenanceWindowExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindowExecutions 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 DescribeMaintenanceWindowExecutions operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowExecutionsPages(params, +// func(page *ssm.DescribeMaintenanceWindowExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowExecutionsPages(input *DescribeMaintenanceWindowExecutionsInput, fn func(*DescribeMaintenanceWindowExecutionsOutput, bool) bool) error { + return c.DescribeMaintenanceWindowExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowExecutionsPagesWithContext same as DescribeMaintenanceWindowExecutionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeMaintenanceWindowExecutionsPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionsInput, fn func(*DescribeMaintenanceWindowExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindowSchedule = "DescribeMaintenanceWindowSchedule" // DescribeMaintenanceWindowScheduleRequest generates a "aws/request.Request" representing the @@ -4282,6 +5155,12 @@ func (c *SSM) DescribeMaintenanceWindowScheduleRequest(input *DescribeMaintenanc Name: opDescribeMaintenanceWindowSchedule, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4338,6 +5217,58 @@ func (c *SSM) DescribeMaintenanceWindowScheduleWithContext(ctx aws.Context, inpu return out, req.Send() } +// DescribeMaintenanceWindowSchedulePages iterates over the pages of a DescribeMaintenanceWindowSchedule operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindowSchedule 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 DescribeMaintenanceWindowSchedule operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowSchedulePages(params, +// func(page *ssm.DescribeMaintenanceWindowScheduleOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowSchedulePages(input *DescribeMaintenanceWindowScheduleInput, fn func(*DescribeMaintenanceWindowScheduleOutput, bool) bool) error { + return c.DescribeMaintenanceWindowSchedulePagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowSchedulePagesWithContext same as DescribeMaintenanceWindowSchedulePages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeMaintenanceWindowSchedulePagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowScheduleInput, fn func(*DescribeMaintenanceWindowScheduleOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowScheduleInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowScheduleRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowScheduleOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindowTargets = "DescribeMaintenanceWindowTargets" // DescribeMaintenanceWindowTargetsRequest generates a "aws/request.Request" representing the @@ -4369,6 +5300,12 @@ func (c *SSM) DescribeMaintenanceWindowTargetsRequest(input *DescribeMaintenance Name: opDescribeMaintenanceWindowTargets, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4425,6 +5362,58 @@ func (c *SSM) DescribeMaintenanceWindowTargetsWithContext(ctx aws.Context, input return out, req.Send() } +// DescribeMaintenanceWindowTargetsPages iterates over the pages of a DescribeMaintenanceWindowTargets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindowTargets 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 DescribeMaintenanceWindowTargets operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowTargetsPages(params, +// func(page *ssm.DescribeMaintenanceWindowTargetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowTargetsPages(input *DescribeMaintenanceWindowTargetsInput, fn func(*DescribeMaintenanceWindowTargetsOutput, bool) bool) error { + return c.DescribeMaintenanceWindowTargetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowTargetsPagesWithContext same as DescribeMaintenanceWindowTargetsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeMaintenanceWindowTargetsPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTargetsInput, fn func(*DescribeMaintenanceWindowTargetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowTargetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowTargetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowTargetsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindowTasks = "DescribeMaintenanceWindowTasks" // DescribeMaintenanceWindowTasksRequest generates a "aws/request.Request" representing the @@ -4456,6 +5445,12 @@ func (c *SSM) DescribeMaintenanceWindowTasksRequest(input *DescribeMaintenanceWi Name: opDescribeMaintenanceWindowTasks, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4512,6 +5507,58 @@ func (c *SSM) DescribeMaintenanceWindowTasksWithContext(ctx aws.Context, input * return out, req.Send() } +// DescribeMaintenanceWindowTasksPages iterates over the pages of a DescribeMaintenanceWindowTasks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindowTasks 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 DescribeMaintenanceWindowTasks operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowTasksPages(params, +// func(page *ssm.DescribeMaintenanceWindowTasksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowTasksPages(input *DescribeMaintenanceWindowTasksInput, fn func(*DescribeMaintenanceWindowTasksOutput, bool) bool) error { + return c.DescribeMaintenanceWindowTasksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowTasksPagesWithContext same as DescribeMaintenanceWindowTasksPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeMaintenanceWindowTasksPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTasksInput, fn func(*DescribeMaintenanceWindowTasksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowTasksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowTasksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowTasksOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindows = "DescribeMaintenanceWindows" // DescribeMaintenanceWindowsRequest generates a "aws/request.Request" representing the @@ -4543,6 +5590,12 @@ func (c *SSM) DescribeMaintenanceWindowsRequest(input *DescribeMaintenanceWindow Name: opDescribeMaintenanceWindows, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4591,6 +5644,58 @@ func (c *SSM) DescribeMaintenanceWindowsWithContext(ctx aws.Context, input *Desc return out, req.Send() } +// DescribeMaintenanceWindowsPages iterates over the pages of a DescribeMaintenanceWindows operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindows 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 DescribeMaintenanceWindows operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowsPages(params, +// func(page *ssm.DescribeMaintenanceWindowsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowsPages(input *DescribeMaintenanceWindowsInput, fn func(*DescribeMaintenanceWindowsOutput, bool) bool) error { + return c.DescribeMaintenanceWindowsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowsPagesWithContext same as DescribeMaintenanceWindowsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeMaintenanceWindowsPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowsInput, fn func(*DescribeMaintenanceWindowsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeMaintenanceWindowsForTarget = "DescribeMaintenanceWindowsForTarget" // DescribeMaintenanceWindowsForTargetRequest generates a "aws/request.Request" representing the @@ -4622,6 +5727,12 @@ func (c *SSM) DescribeMaintenanceWindowsForTargetRequest(input *DescribeMaintena Name: opDescribeMaintenanceWindowsForTarget, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4671,6 +5782,58 @@ func (c *SSM) DescribeMaintenanceWindowsForTargetWithContext(ctx aws.Context, in return out, req.Send() } +// DescribeMaintenanceWindowsForTargetPages iterates over the pages of a DescribeMaintenanceWindowsForTarget operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeMaintenanceWindowsForTarget 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 DescribeMaintenanceWindowsForTarget operation. +// pageNum := 0 +// err := client.DescribeMaintenanceWindowsForTargetPages(params, +// func(page *ssm.DescribeMaintenanceWindowsForTargetOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeMaintenanceWindowsForTargetPages(input *DescribeMaintenanceWindowsForTargetInput, fn func(*DescribeMaintenanceWindowsForTargetOutput, bool) bool) error { + return c.DescribeMaintenanceWindowsForTargetPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeMaintenanceWindowsForTargetPagesWithContext same as DescribeMaintenanceWindowsForTargetPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeMaintenanceWindowsForTargetPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowsForTargetInput, fn func(*DescribeMaintenanceWindowsForTargetOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeMaintenanceWindowsForTargetInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeMaintenanceWindowsForTargetRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeMaintenanceWindowsForTargetOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeOpsItems = "DescribeOpsItems" // DescribeOpsItemsRequest generates a "aws/request.Request" representing the @@ -4702,6 +5865,12 @@ func (c *SSM) DescribeOpsItemsRequest(input *DescribeOpsItemsInput) (req *reques Name: opDescribeOpsItems, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4759,6 +5928,58 @@ func (c *SSM) DescribeOpsItemsWithContext(ctx aws.Context, input *DescribeOpsIte return out, req.Send() } +// DescribeOpsItemsPages iterates over the pages of a DescribeOpsItems operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeOpsItems 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 DescribeOpsItems operation. +// pageNum := 0 +// err := client.DescribeOpsItemsPages(params, +// func(page *ssm.DescribeOpsItemsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeOpsItemsPages(input *DescribeOpsItemsInput, fn func(*DescribeOpsItemsOutput, bool) bool) error { + return c.DescribeOpsItemsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeOpsItemsPagesWithContext same as DescribeOpsItemsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeOpsItemsPagesWithContext(ctx aws.Context, input *DescribeOpsItemsInput, fn func(*DescribeOpsItemsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeOpsItemsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeOpsItemsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeOpsItemsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeParameters = "DescribeParameters" // DescribeParametersRequest generates a "aws/request.Request" representing the @@ -4948,6 +6169,12 @@ func (c *SSM) DescribePatchBaselinesRequest(input *DescribePatchBaselinesInput) Name: opDescribePatchBaselines, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -4996,6 +6223,58 @@ func (c *SSM) DescribePatchBaselinesWithContext(ctx aws.Context, input *Describe return out, req.Send() } +// DescribePatchBaselinesPages iterates over the pages of a DescribePatchBaselines operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribePatchBaselines 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 DescribePatchBaselines operation. +// pageNum := 0 +// err := client.DescribePatchBaselinesPages(params, +// func(page *ssm.DescribePatchBaselinesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribePatchBaselinesPages(input *DescribePatchBaselinesInput, fn func(*DescribePatchBaselinesOutput, bool) bool) error { + return c.DescribePatchBaselinesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribePatchBaselinesPagesWithContext same as DescribePatchBaselinesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribePatchBaselinesPagesWithContext(ctx aws.Context, input *DescribePatchBaselinesInput, fn func(*DescribePatchBaselinesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribePatchBaselinesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribePatchBaselinesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribePatchBaselinesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribePatchGroupState = "DescribePatchGroupState" // DescribePatchGroupStateRequest generates a "aws/request.Request" representing the @@ -5109,6 +6388,12 @@ func (c *SSM) DescribePatchGroupsRequest(input *DescribePatchGroupsInput) (req * Name: opDescribePatchGroups, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -5157,6 +6442,58 @@ func (c *SSM) DescribePatchGroupsWithContext(ctx aws.Context, input *DescribePat return out, req.Send() } +// DescribePatchGroupsPages iterates over the pages of a DescribePatchGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribePatchGroups 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 DescribePatchGroups operation. +// pageNum := 0 +// err := client.DescribePatchGroupsPages(params, +// func(page *ssm.DescribePatchGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribePatchGroupsPages(input *DescribePatchGroupsInput, fn func(*DescribePatchGroupsOutput, bool) bool) error { + return c.DescribePatchGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribePatchGroupsPagesWithContext same as DescribePatchGroupsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribePatchGroupsPagesWithContext(ctx aws.Context, input *DescribePatchGroupsInput, fn func(*DescribePatchGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribePatchGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribePatchGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribePatchGroupsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribePatchProperties = "DescribePatchProperties" // DescribePatchPropertiesRequest generates a "aws/request.Request" representing the @@ -5188,6 +6525,12 @@ func (c *SSM) DescribePatchPropertiesRequest(input *DescribePatchPropertiesInput Name: opDescribePatchProperties, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -5271,6 +6614,58 @@ func (c *SSM) DescribePatchPropertiesWithContext(ctx aws.Context, input *Describ return out, req.Send() } +// DescribePatchPropertiesPages iterates over the pages of a DescribePatchProperties operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribePatchProperties 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 DescribePatchProperties operation. +// pageNum := 0 +// err := client.DescribePatchPropertiesPages(params, +// func(page *ssm.DescribePatchPropertiesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribePatchPropertiesPages(input *DescribePatchPropertiesInput, fn func(*DescribePatchPropertiesOutput, bool) bool) error { + return c.DescribePatchPropertiesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribePatchPropertiesPagesWithContext same as DescribePatchPropertiesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribePatchPropertiesPagesWithContext(ctx aws.Context, input *DescribePatchPropertiesInput, fn func(*DescribePatchPropertiesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribePatchPropertiesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribePatchPropertiesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribePatchPropertiesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeSessions = "DescribeSessions" // DescribeSessionsRequest generates a "aws/request.Request" representing the @@ -5302,6 +6697,12 @@ func (c *SSM) DescribeSessionsRequest(input *DescribeSessionsInput) (req *reques Name: opDescribeSessions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -5357,6 +6758,58 @@ func (c *SSM) DescribeSessionsWithContext(ctx aws.Context, input *DescribeSessio return out, req.Send() } +// DescribeSessionsPages iterates over the pages of a DescribeSessions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSessions 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 DescribeSessions operation. +// pageNum := 0 +// err := client.DescribeSessionsPages(params, +// func(page *ssm.DescribeSessionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) DescribeSessionsPages(input *DescribeSessionsInput, fn func(*DescribeSessionsOutput, bool) bool) error { + return c.DescribeSessionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeSessionsPagesWithContext same as DescribeSessionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) DescribeSessionsPagesWithContext(ctx aws.Context, input *DescribeSessionsInput, fn func(*DescribeSessionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeSessionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeSessionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeSessionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetAutomationExecution = "GetAutomationExecution" // GetAutomationExecutionRequest generates a "aws/request.Request" representing the @@ -6010,6 +7463,12 @@ func (c *SSM) GetInventoryRequest(input *GetInventoryInput) (req *request.Reques Name: opGetInventory, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -6078,6 +7537,58 @@ func (c *SSM) GetInventoryWithContext(ctx aws.Context, input *GetInventoryInput, return out, req.Send() } +// GetInventoryPages iterates over the pages of a GetInventory operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetInventory 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 GetInventory operation. +// pageNum := 0 +// err := client.GetInventoryPages(params, +// func(page *ssm.GetInventoryOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) GetInventoryPages(input *GetInventoryInput, fn func(*GetInventoryOutput, bool) bool) error { + return c.GetInventoryPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetInventoryPagesWithContext same as GetInventoryPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) GetInventoryPagesWithContext(ctx aws.Context, input *GetInventoryInput, fn func(*GetInventoryOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetInventoryInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetInventoryRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetInventoryOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetInventorySchema = "GetInventorySchema" // GetInventorySchemaRequest generates a "aws/request.Request" representing the @@ -6109,6 +7620,12 @@ func (c *SSM) GetInventorySchemaRequest(input *GetInventorySchemaInput) (req *re Name: opGetInventorySchema, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -6164,6 +7681,58 @@ func (c *SSM) GetInventorySchemaWithContext(ctx aws.Context, input *GetInventory return out, req.Send() } +// GetInventorySchemaPages iterates over the pages of a GetInventorySchema operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetInventorySchema 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 GetInventorySchema operation. +// pageNum := 0 +// err := client.GetInventorySchemaPages(params, +// func(page *ssm.GetInventorySchemaOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) GetInventorySchemaPages(input *GetInventorySchemaInput, fn func(*GetInventorySchemaOutput, bool) bool) error { + return c.GetInventorySchemaPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetInventorySchemaPagesWithContext same as GetInventorySchemaPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) GetInventorySchemaPagesWithContext(ctx aws.Context, input *GetInventorySchemaInput, fn func(*GetInventorySchemaOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetInventorySchemaInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetInventorySchemaRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetInventorySchemaOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetMaintenanceWindow = "GetMaintenanceWindow" // GetMaintenanceWindowRequest generates a "aws/request.Request" representing the @@ -6722,6 +8291,12 @@ func (c *SSM) GetOpsSummaryRequest(input *GetOpsSummaryInput) (req *request.Requ Name: opGetOpsSummary, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -6787,6 +8362,58 @@ func (c *SSM) GetOpsSummaryWithContext(ctx aws.Context, input *GetOpsSummaryInpu return out, req.Send() } +// GetOpsSummaryPages iterates over the pages of a GetOpsSummary operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetOpsSummary 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 GetOpsSummary operation. +// pageNum := 0 +// err := client.GetOpsSummaryPages(params, +// func(page *ssm.GetOpsSummaryOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) GetOpsSummaryPages(input *GetOpsSummaryInput, fn func(*GetOpsSummaryOutput, bool) bool) error { + return c.GetOpsSummaryPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetOpsSummaryPagesWithContext same as GetOpsSummaryPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) GetOpsSummaryPagesWithContext(ctx aws.Context, input *GetOpsSummaryInput, fn func(*GetOpsSummaryOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetOpsSummaryInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetOpsSummaryRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetOpsSummaryOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opGetParameter = "GetParameter" // GetParameterRequest generates a "aws/request.Request" representing the @@ -7687,6 +9314,12 @@ func (c *SSM) ListAssociationVersionsRequest(input *ListAssociationVersionsInput Name: opListAssociationVersions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -7741,6 +9374,58 @@ func (c *SSM) ListAssociationVersionsWithContext(ctx aws.Context, input *ListAss return out, req.Send() } +// ListAssociationVersionsPages iterates over the pages of a ListAssociationVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAssociationVersions 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 ListAssociationVersions operation. +// pageNum := 0 +// err := client.ListAssociationVersionsPages(params, +// func(page *ssm.ListAssociationVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListAssociationVersionsPages(input *ListAssociationVersionsInput, fn func(*ListAssociationVersionsOutput, bool) bool) error { + return c.ListAssociationVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAssociationVersionsPagesWithContext same as ListAssociationVersionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) ListAssociationVersionsPagesWithContext(ctx aws.Context, input *ListAssociationVersionsInput, fn func(*ListAssociationVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAssociationVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAssociationVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAssociationVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListAssociations = "ListAssociations" // ListAssociationsRequest generates a "aws/request.Request" representing the @@ -8232,6 +9917,12 @@ func (c *SSM) ListComplianceItemsRequest(input *ListComplianceItemsInput) (req * Name: opListComplianceItems, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -8298,6 +9989,58 @@ func (c *SSM) ListComplianceItemsWithContext(ctx aws.Context, input *ListComplia return out, req.Send() } +// ListComplianceItemsPages iterates over the pages of a ListComplianceItems operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListComplianceItems 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 ListComplianceItems operation. +// pageNum := 0 +// err := client.ListComplianceItemsPages(params, +// func(page *ssm.ListComplianceItemsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListComplianceItemsPages(input *ListComplianceItemsInput, fn func(*ListComplianceItemsOutput, bool) bool) error { + return c.ListComplianceItemsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListComplianceItemsPagesWithContext same as ListComplianceItemsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) ListComplianceItemsPagesWithContext(ctx aws.Context, input *ListComplianceItemsInput, fn func(*ListComplianceItemsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListComplianceItemsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListComplianceItemsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListComplianceItemsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListComplianceSummaries = "ListComplianceSummaries" // ListComplianceSummariesRequest generates a "aws/request.Request" representing the @@ -8329,6 +10072,12 @@ func (c *SSM) ListComplianceSummariesRequest(input *ListComplianceSummariesInput Name: opListComplianceSummaries, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -8386,6 +10135,58 @@ func (c *SSM) ListComplianceSummariesWithContext(ctx aws.Context, input *ListCom return out, req.Send() } +// ListComplianceSummariesPages iterates over the pages of a ListComplianceSummaries operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListComplianceSummaries 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 ListComplianceSummaries operation. +// pageNum := 0 +// err := client.ListComplianceSummariesPages(params, +// func(page *ssm.ListComplianceSummariesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListComplianceSummariesPages(input *ListComplianceSummariesInput, fn func(*ListComplianceSummariesOutput, bool) bool) error { + return c.ListComplianceSummariesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListComplianceSummariesPagesWithContext same as ListComplianceSummariesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) ListComplianceSummariesPagesWithContext(ctx aws.Context, input *ListComplianceSummariesInput, fn func(*ListComplianceSummariesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListComplianceSummariesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListComplianceSummariesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListComplianceSummariesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListDocumentVersions = "ListDocumentVersions" // ListDocumentVersionsRequest generates a "aws/request.Request" representing the @@ -8417,6 +10218,12 @@ func (c *SSM) ListDocumentVersionsRequest(input *ListDocumentVersionsInput) (req Name: opListDocumentVersions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -8471,6 +10278,58 @@ func (c *SSM) ListDocumentVersionsWithContext(ctx aws.Context, input *ListDocume return out, req.Send() } +// ListDocumentVersionsPages iterates over the pages of a ListDocumentVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDocumentVersions 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 ListDocumentVersions operation. +// pageNum := 0 +// err := client.ListDocumentVersionsPages(params, +// func(page *ssm.ListDocumentVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListDocumentVersionsPages(input *ListDocumentVersionsInput, fn func(*ListDocumentVersionsOutput, bool) bool) error { + return c.ListDocumentVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDocumentVersionsPagesWithContext same as ListDocumentVersionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) ListDocumentVersionsPagesWithContext(ctx aws.Context, input *ListDocumentVersionsInput, fn func(*ListDocumentVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDocumentVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDocumentVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDocumentVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListDocuments = "ListDocuments" // ListDocumentsRequest generates a "aws/request.Request" representing the @@ -8747,6 +10606,12 @@ func (c *SSM) ListResourceComplianceSummariesRequest(input *ListResourceComplian Name: opListResourceComplianceSummaries, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -8804,6 +10669,58 @@ func (c *SSM) ListResourceComplianceSummariesWithContext(ctx aws.Context, input return out, req.Send() } +// ListResourceComplianceSummariesPages iterates over the pages of a ListResourceComplianceSummaries operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResourceComplianceSummaries 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 ListResourceComplianceSummaries operation. +// pageNum := 0 +// err := client.ListResourceComplianceSummariesPages(params, +// func(page *ssm.ListResourceComplianceSummariesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListResourceComplianceSummariesPages(input *ListResourceComplianceSummariesInput, fn func(*ListResourceComplianceSummariesOutput, bool) bool) error { + return c.ListResourceComplianceSummariesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResourceComplianceSummariesPagesWithContext same as ListResourceComplianceSummariesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) ListResourceComplianceSummariesPagesWithContext(ctx aws.Context, input *ListResourceComplianceSummariesInput, fn func(*ListResourceComplianceSummariesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResourceComplianceSummariesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResourceComplianceSummariesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResourceComplianceSummariesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListResourceDataSync = "ListResourceDataSync" // ListResourceDataSyncRequest generates a "aws/request.Request" representing the @@ -8835,6 +10752,12 @@ func (c *SSM) ListResourceDataSyncRequest(input *ListResourceDataSyncInput) (req Name: opListResourceDataSync, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { @@ -8898,6 +10821,58 @@ func (c *SSM) ListResourceDataSyncWithContext(ctx aws.Context, input *ListResour return out, req.Send() } +// ListResourceDataSyncPages iterates over the pages of a ListResourceDataSync operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResourceDataSync 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 ListResourceDataSync operation. +// pageNum := 0 +// err := client.ListResourceDataSyncPages(params, +// func(page *ssm.ListResourceDataSyncOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SSM) ListResourceDataSyncPages(input *ListResourceDataSyncInput, fn func(*ListResourceDataSyncOutput, bool) bool) error { + return c.ListResourceDataSyncPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResourceDataSyncPagesWithContext same as ListResourceDataSyncPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSM) ListResourceDataSyncPagesWithContext(ctx aws.Context, input *ListResourceDataSyncInput, fn func(*ListResourceDataSyncOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResourceDataSyncInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResourceDataSyncRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResourceDataSyncOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the @@ -12610,6 +14585,12 @@ func (s *AssociationAlreadyExists) RequestID() string { type AssociationDescription struct { _ struct{} `type:"structure"` + // By default, when you create a new associations, the system runs it immediately + // after it is created and then according to the schedule you specified. Specify + // this option if you don't want an association to run immediately after you + // create it. + ApplyOnlyAtCronInterval *bool `type:"boolean"` + // The association ID. AssociationId *string `type:"string"` @@ -12716,6 +14697,12 @@ func (s AssociationDescription) GoString() string { return s.String() } +// SetApplyOnlyAtCronInterval sets the ApplyOnlyAtCronInterval field's value. +func (s *AssociationDescription) SetApplyOnlyAtCronInterval(v bool) *AssociationDescription { + s.ApplyOnlyAtCronInterval = &v + return s +} + // SetAssociationId sets the AssociationId field's value. func (s *AssociationDescription) SetAssociationId(v string) *AssociationDescription { s.AssociationId = &v @@ -13503,6 +15490,12 @@ func (s *AssociationStatus) SetName(v string) *AssociationStatus { type AssociationVersionInfo struct { _ struct{} `type:"structure"` + // By default, when you create a new associations, the system runs it immediately + // after it is created and then according to the schedule you specified. Specify + // this option if you don't want an association to run immediately after you + // create it. + ApplyOnlyAtCronInterval *bool `type:"boolean"` + // The ID created by the system when the association was created. AssociationId *string `type:"string"` @@ -13592,6 +15585,12 @@ func (s AssociationVersionInfo) GoString() string { return s.String() } +// SetApplyOnlyAtCronInterval sets the ApplyOnlyAtCronInterval field's value. +func (s *AssociationVersionInfo) SetApplyOnlyAtCronInterval(v bool) *AssociationVersionInfo { + s.ApplyOnlyAtCronInterval = &v + return s +} + // SetAssociationId sets the AssociationId field's value. func (s *AssociationVersionInfo) SetAssociationId(v string) *AssociationVersionInfo { s.AssociationId = &v @@ -15168,6 +17167,9 @@ func (s *Command) SetTimeoutSeconds(v int64) *Command { } // Describes a command filter. +// +// An instance ID can't be specified when a command status is Pending because +// the command hasn't run on the instance yet. type CommandFilter struct { _ struct{} `type:"structure"` @@ -16348,6 +18350,12 @@ func (s *CreateAssociationBatchOutput) SetSuccessful(v []*AssociationDescription type CreateAssociationBatchRequestEntry struct { _ struct{} `type:"structure"` + // By default, when you create a new associations, the system runs it immediately + // after it is created and then according to the schedule you specified. Specify + // this option if you don't want an association to run immediately after you + // create it. + ApplyOnlyAtCronInterval *bool `type:"boolean"` + // Specify a descriptive name for the association. AssociationName *string `type:"string"` @@ -16489,240 +18497,258 @@ func (s *CreateAssociationBatchRequestEntry) Validate() error { return nil } -// SetAssociationName sets the AssociationName field's value. -func (s *CreateAssociationBatchRequestEntry) SetAssociationName(v string) *CreateAssociationBatchRequestEntry { - s.AssociationName = &v - return s -} - -// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value. -func (s *CreateAssociationBatchRequestEntry) SetAutomationTargetParameterName(v string) *CreateAssociationBatchRequestEntry { - s.AutomationTargetParameterName = &v - return s -} - -// SetComplianceSeverity sets the ComplianceSeverity field's value. -func (s *CreateAssociationBatchRequestEntry) SetComplianceSeverity(v string) *CreateAssociationBatchRequestEntry { - s.ComplianceSeverity = &v - return s -} - -// SetDocumentVersion sets the DocumentVersion field's value. -func (s *CreateAssociationBatchRequestEntry) SetDocumentVersion(v string) *CreateAssociationBatchRequestEntry { - s.DocumentVersion = &v - return s -} - -// SetInstanceId sets the InstanceId field's value. -func (s *CreateAssociationBatchRequestEntry) SetInstanceId(v string) *CreateAssociationBatchRequestEntry { - s.InstanceId = &v - return s -} - -// SetMaxConcurrency sets the MaxConcurrency field's value. -func (s *CreateAssociationBatchRequestEntry) SetMaxConcurrency(v string) *CreateAssociationBatchRequestEntry { - s.MaxConcurrency = &v - return s -} - -// SetMaxErrors sets the MaxErrors field's value. -func (s *CreateAssociationBatchRequestEntry) SetMaxErrors(v string) *CreateAssociationBatchRequestEntry { - s.MaxErrors = &v - return s -} - -// SetName sets the Name field's value. -func (s *CreateAssociationBatchRequestEntry) SetName(v string) *CreateAssociationBatchRequestEntry { - s.Name = &v - return s -} - -// SetOutputLocation sets the OutputLocation field's value. -func (s *CreateAssociationBatchRequestEntry) SetOutputLocation(v *InstanceAssociationOutputLocation) *CreateAssociationBatchRequestEntry { - s.OutputLocation = v - return s -} - -// SetParameters sets the Parameters field's value. -func (s *CreateAssociationBatchRequestEntry) SetParameters(v map[string][]*string) *CreateAssociationBatchRequestEntry { - s.Parameters = v - return s -} - -// SetScheduleExpression sets the ScheduleExpression field's value. -func (s *CreateAssociationBatchRequestEntry) SetScheduleExpression(v string) *CreateAssociationBatchRequestEntry { - s.ScheduleExpression = &v - return s -} - -// SetSyncCompliance sets the SyncCompliance field's value. -func (s *CreateAssociationBatchRequestEntry) SetSyncCompliance(v string) *CreateAssociationBatchRequestEntry { - s.SyncCompliance = &v - return s -} - -// SetTargets sets the Targets field's value. -func (s *CreateAssociationBatchRequestEntry) SetTargets(v []*Target) *CreateAssociationBatchRequestEntry { - s.Targets = v +// SetApplyOnlyAtCronInterval sets the ApplyOnlyAtCronInterval field's value. +func (s *CreateAssociationBatchRequestEntry) SetApplyOnlyAtCronInterval(v bool) *CreateAssociationBatchRequestEntry { + s.ApplyOnlyAtCronInterval = &v + return s +} + +// SetAssociationName sets the AssociationName field's value. +func (s *CreateAssociationBatchRequestEntry) SetAssociationName(v string) *CreateAssociationBatchRequestEntry { + s.AssociationName = &v + return s +} + +// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value. +func (s *CreateAssociationBatchRequestEntry) SetAutomationTargetParameterName(v string) *CreateAssociationBatchRequestEntry { + s.AutomationTargetParameterName = &v + return s +} + +// SetComplianceSeverity sets the ComplianceSeverity field's value. +func (s *CreateAssociationBatchRequestEntry) SetComplianceSeverity(v string) *CreateAssociationBatchRequestEntry { + s.ComplianceSeverity = &v + return s +} + +// SetDocumentVersion sets the DocumentVersion field's value. +func (s *CreateAssociationBatchRequestEntry) SetDocumentVersion(v string) *CreateAssociationBatchRequestEntry { + s.DocumentVersion = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *CreateAssociationBatchRequestEntry) SetInstanceId(v string) *CreateAssociationBatchRequestEntry { + s.InstanceId = &v + return s +} + +// SetMaxConcurrency sets the MaxConcurrency field's value. +func (s *CreateAssociationBatchRequestEntry) SetMaxConcurrency(v string) *CreateAssociationBatchRequestEntry { + s.MaxConcurrency = &v + return s +} + +// SetMaxErrors sets the MaxErrors field's value. +func (s *CreateAssociationBatchRequestEntry) SetMaxErrors(v string) *CreateAssociationBatchRequestEntry { + s.MaxErrors = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateAssociationBatchRequestEntry) SetName(v string) *CreateAssociationBatchRequestEntry { + s.Name = &v + return s +} + +// SetOutputLocation sets the OutputLocation field's value. +func (s *CreateAssociationBatchRequestEntry) SetOutputLocation(v *InstanceAssociationOutputLocation) *CreateAssociationBatchRequestEntry { + s.OutputLocation = v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *CreateAssociationBatchRequestEntry) SetParameters(v map[string][]*string) *CreateAssociationBatchRequestEntry { + s.Parameters = v + return s +} + +// SetScheduleExpression sets the ScheduleExpression field's value. +func (s *CreateAssociationBatchRequestEntry) SetScheduleExpression(v string) *CreateAssociationBatchRequestEntry { + s.ScheduleExpression = &v + return s +} + +// SetSyncCompliance sets the SyncCompliance field's value. +func (s *CreateAssociationBatchRequestEntry) SetSyncCompliance(v string) *CreateAssociationBatchRequestEntry { + s.SyncCompliance = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *CreateAssociationBatchRequestEntry) SetTargets(v []*Target) *CreateAssociationBatchRequestEntry { + s.Targets = v + return s +} + +type CreateAssociationInput struct { + _ struct{} `type:"structure"` + + // By default, when you create a new associations, the system runs it immediately + // after it is created and then according to the schedule you specified. Specify + // this option if you don't want an association to run immediately after you + // create it. + ApplyOnlyAtCronInterval *bool `type:"boolean"` + + // Specify a descriptive name for the association. + AssociationName *string `type:"string"` + + // Specify the target for the association. This target is required for associations + // that use an Automation document and target resources by using rate controls. + AutomationTargetParameterName *string `min:"1" type:"string"` + + // The severity level to assign to the association. + ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"` + + // The document version you want to associate with the target(s). Can be a specific + // version or the default version. + DocumentVersion *string `type:"string"` + + // The instance ID. + // + // InstanceId has been deprecated. To specify an instance ID for an association, + // use the Targets parameter. Requests that include the parameter InstanceID + // with SSM documents that use schema version 2.0 or later will fail. In addition, + // if you use the parameter InstanceId, you cannot use the parameters AssociationName, + // DocumentVersion, MaxErrors, MaxConcurrency, OutputLocation, or ScheduleExpression. + // To use these parameters, you must use the Targets parameter. + InstanceId *string `type:"string"` + + // The maximum number of targets allowed to run the association at the same + // time. You can specify a number, for example 10, or a percentage of the target + // set, for example 10%. The default value is 100%, which means all targets + // run the association at the same time. + // + // If a new instance starts and attempts to run an association while Systems + // Manager is running MaxConcurrency associations, the association is allowed + // to run. During the next association interval, the new instance will process + // its association within the limit specified for MaxConcurrency. + MaxConcurrency *string `min:"1" type:"string"` + + // The number of errors that are allowed before the system stops sending requests + // to run the association on additional targets. You can specify either an absolute + // number of errors, for example 10, or a percentage of the target set, for + // example 10%. If you specify 3, for example, the system stops sending requests + // when the fourth error is received. If you specify 0, then the system stops + // sending requests after the first error is returned. If you run an association + // on 50 instances and set MaxError to 10%, then the system stops sending the + // request when the sixth error is received. + // + // Executions that are already running an association when MaxErrors is reached + // are allowed to complete, but some of these executions may fail as well. If + // you need to ensure that there won't be more than max-errors failed executions, + // set MaxConcurrency to 1 so that executions proceed one at a time. + MaxErrors *string `min:"1" type:"string"` + + // The name of the SSM document that contains the configuration information + // for the instance. You can specify Command or Automation documents. + // + // You can specify AWS-predefined documents, documents you created, or a document + // that is shared with you from another account. + // + // For SSM documents that are shared with you from other AWS accounts, you must + // specify the complete SSM document ARN, in the following format: + // + // arn:partition:ssm:region:account-id:document/document-name + // + // For example: + // + // arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document + // + // For AWS-predefined documents and SSM documents you created in your account, + // you only need to specify the document name. For example, AWS-ApplyPatchBaseline + // or My-Document. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // An S3 bucket where you want to store the output details of the request. + OutputLocation *InstanceAssociationOutputLocation `type:"structure"` + + // The parameters for the runtime configuration of the document. + Parameters map[string][]*string `type:"map"` + + // A cron expression when the association will be applied to the target(s). + ScheduleExpression *string `min:"1" type:"string"` + + // The mode for generating association compliance. You can specify AUTO or MANUAL. + // In AUTO mode, the system uses the status of the association execution to + // determine the compliance status. If the association execution runs successfully, + // then the association is COMPLIANT. If the association execution doesn't run + // successfully, the association is NON-COMPLIANT. + // + // In MANUAL mode, you must specify the AssociationId as a parameter for the + // PutComplianceItems API action. In this case, compliance data is not managed + // by State Manager. It is managed by your direct call to the PutComplianceItems + // API action. + // + // By default, all associations use AUTO mode. + SyncCompliance *string `type:"string" enum:"AssociationSyncCompliance"` + + // The targets for the association. You can target instances by using tags, + // AWS Resource Groups, all instances in an AWS account, or individual instance + // IDs. For more information about choosing targets for an association, see + // Using targets and rate controls with State Manager associations (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state-manager-targets-and-rate-controls.html) + // in the AWS Systems Manager User Guide. + Targets []*Target `type:"list"` +} + +// String returns the string representation +func (s CreateAssociationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAssociationInput"} + if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1)) + } + if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) + } + if s.MaxErrors != nil && len(*s.MaxErrors) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1)) + } + if s.OutputLocation != nil { + if err := s.OutputLocation.Validate(); err != nil { + invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams)) + } + } + if s.Targets != nil { + for i, v := range s.Targets { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplyOnlyAtCronInterval sets the ApplyOnlyAtCronInterval field's value. +func (s *CreateAssociationInput) SetApplyOnlyAtCronInterval(v bool) *CreateAssociationInput { + s.ApplyOnlyAtCronInterval = &v return s } -type CreateAssociationInput struct { - _ struct{} `type:"structure"` - - // Specify a descriptive name for the association. - AssociationName *string `type:"string"` - - // Specify the target for the association. This target is required for associations - // that use an Automation document and target resources by using rate controls. - AutomationTargetParameterName *string `min:"1" type:"string"` - - // The severity level to assign to the association. - ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"` - - // The document version you want to associate with the target(s). Can be a specific - // version or the default version. - DocumentVersion *string `type:"string"` - - // The instance ID. - // - // InstanceId has been deprecated. To specify an instance ID for an association, - // use the Targets parameter. Requests that include the parameter InstanceID - // with SSM documents that use schema version 2.0 or later will fail. In addition, - // if you use the parameter InstanceId, you cannot use the parameters AssociationName, - // DocumentVersion, MaxErrors, MaxConcurrency, OutputLocation, or ScheduleExpression. - // To use these parameters, you must use the Targets parameter. - InstanceId *string `type:"string"` - - // The maximum number of targets allowed to run the association at the same - // time. You can specify a number, for example 10, or a percentage of the target - // set, for example 10%. The default value is 100%, which means all targets - // run the association at the same time. - // - // If a new instance starts and attempts to run an association while Systems - // Manager is running MaxConcurrency associations, the association is allowed - // to run. During the next association interval, the new instance will process - // its association within the limit specified for MaxConcurrency. - MaxConcurrency *string `min:"1" type:"string"` - - // The number of errors that are allowed before the system stops sending requests - // to run the association on additional targets. You can specify either an absolute - // number of errors, for example 10, or a percentage of the target set, for - // example 10%. If you specify 3, for example, the system stops sending requests - // when the fourth error is received. If you specify 0, then the system stops - // sending requests after the first error is returned. If you run an association - // on 50 instances and set MaxError to 10%, then the system stops sending the - // request when the sixth error is received. - // - // Executions that are already running an association when MaxErrors is reached - // are allowed to complete, but some of these executions may fail as well. If - // you need to ensure that there won't be more than max-errors failed executions, - // set MaxConcurrency to 1 so that executions proceed one at a time. - MaxErrors *string `min:"1" type:"string"` - - // The name of the SSM document that contains the configuration information - // for the instance. You can specify Command or Automation documents. - // - // You can specify AWS-predefined documents, documents you created, or a document - // that is shared with you from another account. - // - // For SSM documents that are shared with you from other AWS accounts, you must - // specify the complete SSM document ARN, in the following format: - // - // arn:partition:ssm:region:account-id:document/document-name - // - // For example: - // - // arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document - // - // For AWS-predefined documents and SSM documents you created in your account, - // you only need to specify the document name. For example, AWS-ApplyPatchBaseline - // or My-Document. - // - // Name is a required field - Name *string `type:"string" required:"true"` - - // An S3 bucket where you want to store the output details of the request. - OutputLocation *InstanceAssociationOutputLocation `type:"structure"` - - // The parameters for the runtime configuration of the document. - Parameters map[string][]*string `type:"map"` - - // A cron expression when the association will be applied to the target(s). - ScheduleExpression *string `min:"1" type:"string"` - - // The mode for generating association compliance. You can specify AUTO or MANUAL. - // In AUTO mode, the system uses the status of the association execution to - // determine the compliance status. If the association execution runs successfully, - // then the association is COMPLIANT. If the association execution doesn't run - // successfully, the association is NON-COMPLIANT. - // - // In MANUAL mode, you must specify the AssociationId as a parameter for the - // PutComplianceItems API action. In this case, compliance data is not managed - // by State Manager. It is managed by your direct call to the PutComplianceItems - // API action. - // - // By default, all associations use AUTO mode. - SyncCompliance *string `type:"string" enum:"AssociationSyncCompliance"` - - // The targets for the association. You can target instances by using tags, - // AWS Resource Groups, all instances in an AWS account, or individual instance - // IDs. For more information about choosing targets for an association, see - // Using targets and rate controls with State Manager associations (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state-manager-targets-and-rate-controls.html) - // in the AWS Systems Manager User Guide. - Targets []*Target `type:"list"` -} - -// String returns the string representation -func (s CreateAssociationInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s CreateAssociationInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateAssociationInput"} - if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1)) - } - if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) - } - if s.MaxErrors != nil && len(*s.MaxErrors) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1)) - } - if s.OutputLocation != nil { - if err := s.OutputLocation.Validate(); err != nil { - invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams)) - } - } - if s.Targets != nil { - for i, v := range s.Targets { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetAssociationName sets the AssociationName field's value. func (s *CreateAssociationInput) SetAssociationName(v string) *CreateAssociationInput { s.AssociationName = &v @@ -16858,7 +18884,7 @@ type CreateDocumentInput struct { // You can't use the following strings as document name prefixes. These are // reserved by AWS for use as document name prefixes: // - // * aws + // * aws- // // * amazon // @@ -17090,6 +19116,18 @@ type CreateMaintenanceWindowInput struct { // Schedule is a required field Schedule *string `min:"1" type:"string" required:"true"` + // The number of days to wait after the date and time specified by a CRON expression + // before running the maintenance window. + // + // For example, the following cron expression schedules a maintenance window + // to run on the third Tuesday of every month at 11:30 PM. + // + // cron(0 30 23 ? * TUE#3 *) + // + // If the schedule offset is 2, the maintenance window won't run until two days + // later. + ScheduleOffset *int64 `min:"1" type:"integer"` + // The time zone that the scheduled maintenance window executions are based // on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", // "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database @@ -17161,6 +19199,9 @@ func (s *CreateMaintenanceWindowInput) Validate() error { if s.Schedule != nil && len(*s.Schedule) < 1 { invalidParams.Add(request.NewErrParamMinLen("Schedule", 1)) } + if s.ScheduleOffset != nil && *s.ScheduleOffset < 1 { + invalidParams.Add(request.NewErrParamMinValue("ScheduleOffset", 1)) + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -17226,6 +19267,12 @@ func (s *CreateMaintenanceWindowInput) SetSchedule(v string) *CreateMaintenanceW return s } +// SetScheduleOffset sets the ScheduleOffset field's value. +func (s *CreateMaintenanceWindowInput) SetScheduleOffset(v int64) *CreateMaintenanceWindowInput { + s.ScheduleOffset = &v + return s +} + // SetScheduleTimezone sets the ScheduleTimezone field's value. func (s *CreateMaintenanceWindowInput) SetScheduleTimezone(v string) *CreateMaintenanceWindowInput { s.ScheduleTimezone = &v @@ -22164,6 +24211,15 @@ type DescribePatchGroupsInput struct { _ struct{} `type:"structure"` // One or more filters. Use a filter to return a more specific list of results. + // + // For DescribePatchGroups,valid filter keys include the following: + // + // * NAME_PREFIX: The name of the patch group. Wildcards (*) are accepted. + // + // * OPERATING_SYSTEM: The supported operating system type to return results + // for. For valid operating system values, see GetDefaultPatchBaselineRequest$OperatingSystem + // in CreatePatchBaseline. Examples: --filters Key=NAME_PREFIX,Values=MyPatchGroup* + // --filters Key=OPERATING_SYSTEM,Values=AMAZON_LINUX_2 Filters []*PatchOrchestratorFilter `type:"list"` // The maximum number of patch groups to return (per page). @@ -24032,6 +26088,8 @@ type GetCommandInvocationInput struct { // (Optional) The name of the plugin for which you want detailed results. If // the document contains only one plugin, the name can be omitted and the details // will be returned. + // + // Plugin names are also referred to as step names in Systems Manager documents. PluginName *string `min:"4" type:"string"` } @@ -25592,6 +27650,10 @@ type GetMaintenanceWindowOutput struct { // The schedule of the maintenance window in the form of a cron or rate expression. Schedule *string `min:"1" type:"string"` + // The number of days to wait to run a maintenance window after the scheduled + // CRON expression date and time. + ScheduleOffset *int64 `min:"1" type:"integer"` + // The time zone that the scheduled maintenance window executions are based // on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", // "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database @@ -25683,6 +27745,12 @@ func (s *GetMaintenanceWindowOutput) SetSchedule(v string) *GetMaintenanceWindow return s } +// SetScheduleOffset sets the ScheduleOffset field's value. +func (s *GetMaintenanceWindowOutput) SetScheduleOffset(v int64) *GetMaintenanceWindowOutput { + s.ScheduleOffset = &v + return s +} + // SetScheduleTimezone sets the ScheduleTimezone field's value. func (s *GetMaintenanceWindowOutput) SetScheduleTimezone(v string) *GetMaintenanceWindowOutput { s.ScheduleTimezone = &v @@ -27428,8 +29496,12 @@ type InstanceInformation struct { IPAddress *string `min:"1" type:"string"` // The Amazon Identity and Access Management (IAM) role assigned to the on-premises - // Systems Manager managed instances. This call does not return the IAM role - // for EC2 instances. + // Systems Manager managed instance. This call does not return the IAM role + // for EC2 instances. To retrieve the IAM role for an EC2 instance, use the + // Amazon EC2 DescribeInstances action. For information, see DescribeInstances + // (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html) + // in the Amazon EC2 API Reference or describe-instances (http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) + // in the AWS CLI Command Reference. IamRole *string `type:"string"` // The instance ID. @@ -27450,7 +29522,17 @@ type InstanceInformation struct { // The last date the association was successfully run. LastSuccessfulAssociationExecutionDate *time.Time `type:"timestamp"` - // The name of the managed instance. + // The name assigned to an on-premises server or virtual machine (VM) when it + // is activated as a Systems Manager managed instance. The name is specified + // as the DefaultInstanceName property using the CreateActivation command. It + // is applied to the managed instance by specifying the Activation Code and + // Activation ID when you install SSM Agent on the instance, as explained in + // Install SSM Agent for a hybrid environment (Linux) (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-linux.html) + // and Install SSM Agent for a hybrid environment (Windows) (http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-win.html). + // To retrieve the Name tag of an EC2 instance, use the Amazon EC2 DescribeInstances + // action. For information, see DescribeInstances (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html) + // in the Amazon EC2 API Reference or describe-instances (http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) + // in the AWS CLI Command Reference. Name *string `type:"string"` // Connection status of SSM Agent. @@ -32091,6 +34173,9 @@ type ListCommandsInput struct { Filters []*CommandFilter `min:"1" type:"list"` // (Optional) Lists commands issued against this instance ID. + // + // You can't specify an instance ID in the same command that you specify Status + // = Pending. This is because the command has not reached the instance yet. InstanceId *string `type:"string"` // (Optional) The maximum number of items to return for this call. The call @@ -33595,6 +35680,10 @@ type MaintenanceWindowIdentity struct { // The schedule of the maintenance window in the form of a cron or rate expression. Schedule *string `min:"1" type:"string"` + // The number of days to wait to run a maintenance window after the scheduled + // CRON expression date and time. + ScheduleOffset *int64 `min:"1" type:"integer"` + // The time zone that the scheduled maintenance window executions are based // on, in Internet Assigned Numbers Authority (IANA) format. ScheduleTimezone *string `type:"string"` @@ -33665,6 +35754,12 @@ func (s *MaintenanceWindowIdentity) SetSchedule(v string) *MaintenanceWindowIden return s } +// SetScheduleOffset sets the ScheduleOffset field's value. +func (s *MaintenanceWindowIdentity) SetScheduleOffset(v int64) *MaintenanceWindowIdentity { + s.ScheduleOffset = &v + return s +} + // SetScheduleTimezone sets the ScheduleTimezone field's value. func (s *MaintenanceWindowIdentity) SetScheduleTimezone(v string) *MaintenanceWindowIdentity { s.ScheduleTimezone = &v @@ -37706,9 +39801,9 @@ type PutParameterInput struct { // * aws:ec2:image // // When you create a String parameter and specify aws:ec2:image, Systems Manager - // validates the parameter value you provide against that data type. The required - // format is ami-12345abcdeEXAMPLE. For more information, see Native parameter - // support for Amazon Machine Image IDs (http://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-ec2-aliases.html) + // validates the parameter value is in the required format, such as ami-12345abcdeEXAMPLE, + // and that the specified AMI is available in your AWS account. For more information, + // see Native parameter support for Amazon Machine Image IDs (http://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-ec2-aliases.html) // in the AWS Systems Manager User Guide. DataType *string `type:"string"` @@ -37879,12 +39974,15 @@ type PutParameterInput struct { // The type of parameter that you want to add to the system. // + // SecureString is not currently supported for AWS CloudFormation templates + // or in the China Regions. + // // Items in a StringList must be separated by a comma (,). You can't use other // punctuation or special character to escape items in the list. If you have // a parameter value that requires a comma, then use the String data type. // - // SecureString is not currently supported for AWS CloudFormation templates - // or in the China Regions. + // Specifying a parameter type is not required when updating a parameter. You + // must specify a parameter type when creating a parameter. Type *string `type:"string" enum:"ParameterType"` // The parameter value that you want to add to the system. Standard parameters @@ -40328,11 +42426,18 @@ type SendCommandInput struct { // --document-version "3" DocumentVersion *string `type:"string"` - // The instance IDs where the command should run. You can specify a maximum - // of 50 IDs. If you prefer not to list individual instance IDs, you can instead - // send commands to a fleet of instances using the Targets parameter, which - // accepts EC2 tags. For more information about how to use targets, see Using - // targets and rate controls to send commands to a fleet (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html) + // The IDs of the instances where the command should run. Specifying instance + // IDs is most useful when you are targeting a limited number of instances, + // though you can specify up to 50 IDs. + // + // To target a larger number of instances, or if you prefer not to list individual + // instance IDs, we recommend using the Targets option instead. Using Targets, + // which accepts tag key-value pairs to identify the instances to send commands + // to, you can a send command to tens, hundreds, or thousands of instances at + // once. + // + // For more information about how to use targets, see Using targets and rate + // controls to send commands to a fleet (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html) // in the AWS Systems Manager User Guide. InstanceIds []*string `type:"list"` @@ -40373,10 +42478,17 @@ type SendCommandInput struct { // Service (Amazon SNS) notifications for Run Command commands. ServiceRoleArn *string `type:"string"` - // (Optional) An array of search criteria that targets instances using a Key,Value - // combination that you specify. Targets is required if you don't provide one - // or more instance IDs in the call. For more information about how to use targets, - // see Sending commands to a fleet (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html) + // An array of search criteria that targets instances using a Key,Value combination + // that you specify. Specifying targets is most useful when you want to send + // a command to a large number of instances at once. Using Targets, which accepts + // tag key-value pairs to identify instances, you can send a command to tens, + // hundreds, or thousands of instances at once. + // + // To send a command to a smaller number of instances, you can use the InstanceIds + // option instead. + // + // For more information about how to use targets, see Sending commands to a + // fleet (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html) // in the AWS Systems Manager User Guide. Targets []*Target `type:"list"` @@ -41301,8 +43413,10 @@ type StartSessionInput struct { _ struct{} `type:"structure"` // The name of the SSM document to define the parameters and plugin settings - // for the session. For example, SSM-SessionManagerRunShell. If no document - // name is provided, a shell to the instance is launched by default. + // for the session. For example, SSM-SessionManagerRunShell. You can call the + // GetDocument API to verify the document exists before attempting to start + // a session. If no document name is provided, a shell to the instance is launched + // by default. DocumentName *string `type:"string"` // Reserved for future use. @@ -41942,9 +44056,11 @@ func (s *Tag) SetValue(v string) *Tag { // // * Key=tag-key,Values=my-tag-key-1,my-tag-key-2 // -// * (Maintenance window targets only) Key=resource-groups:Name,Values=resource-group-name +// * Run Command and Maintenance window targets only: Key=resource-groups:Name,Values=resource-group-name // -// * (Maintenance window targets only) Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2 +// * Maintenance window targets only: Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2 +// +// * Automation targets only: Key=ResourceGroup;Values=resource-group-name // // For example: // @@ -41954,20 +44070,22 @@ func (s *Tag) SetValue(v string) *Tag { // // * Key=tag-key,Values=Name,Instance-Type,CostCenter // -// * (Maintenance window targets only) Key=resource-groups:Name,Values=ProductionResourceGroup +// * Run Command and Maintenance window targets only: Key=resource-groups:Name,Values=ProductionResourceGroup // This example demonstrates how to target all resources in the resource // group ProductionResourceGroup in your maintenance window. // -// * (Maintenance window targets only) Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC +// * Maintenance window targets only: Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC // This example demonstrates how to target only EC2 instances and VPCs in // your maintenance window. // -// * (State Manager association targets only) Key=InstanceIds,Values=* This +// * Automation targets only: Key=ResourceGroup,Values=MyResourceGroup +// +// * State Manager association targets only: Key=InstanceIds,Values=* This // example demonstrates how to target all managed instances in the AWS Region // where the association was created. // -// For information about how to send commands that target instances using Key,Value -// parameters, see Targeting multiple instances (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-targeting) +// For more information about how to send commands that target instances using +// Key,Value parameters, see Targeting multiple instances (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-targeting) // in the AWS Systems Manager User Guide. type Target struct { _ struct{} `type:"structure"` @@ -42864,6 +44982,18 @@ func (s *UnsupportedPlatformType) RequestID() string { type UpdateAssociationInput struct { _ struct{} `type:"structure"` + // By default, when you update an association, the system runs it immediately + // after it is updated and then according to the schedule you specified. Specify + // this option if you don't want an association to run immediately after you + // update it. + // + // Also, if you specified this option when you created the association, you + // can reset it. To do so, specify the no-apply-only-at-cron-interval parameter + // when you update the association from the command line. This parameter forces + // the association to run immediately after updating it and according to the + // interval specified. + ApplyOnlyAtCronInterval *bool `type:"boolean"` + // The ID of the association you want to update. // // AssociationId is a required field @@ -43011,6 +45141,12 @@ func (s *UpdateAssociationInput) Validate() error { return nil } +// SetApplyOnlyAtCronInterval sets the ApplyOnlyAtCronInterval field's value. +func (s *UpdateAssociationInput) SetApplyOnlyAtCronInterval(v bool) *UpdateAssociationInput { + s.ApplyOnlyAtCronInterval = &v + return s +} + // SetAssociationId sets the AssociationId field's value. func (s *UpdateAssociationInput) SetAssociationId(v string) *UpdateAssociationInput { s.AssociationId = &v @@ -43463,6 +45599,18 @@ type UpdateMaintenanceWindowInput struct { // The schedule of the maintenance window in the form of a cron or rate expression. Schedule *string `min:"1" type:"string"` + // The number of days to wait after the date and time specified by a CRON expression + // before running the maintenance window. + // + // For example, the following cron expression schedules a maintenance window + // to run the third Tuesday of every month at 11:30 PM. + // + // cron(0 30 23 ? * TUE#3 *) + // + // If the schedule offset is 2, the maintenance window won't run until two days + // later. + ScheduleOffset *int64 `min:"1" type:"integer"` + // The time zone that the scheduled maintenance window executions are based // on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", // "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database @@ -43506,6 +45654,9 @@ func (s *UpdateMaintenanceWindowInput) Validate() error { if s.Schedule != nil && len(*s.Schedule) < 1 { invalidParams.Add(request.NewErrParamMinLen("Schedule", 1)) } + if s.ScheduleOffset != nil && *s.ScheduleOffset < 1 { + invalidParams.Add(request.NewErrParamMinValue("ScheduleOffset", 1)) + } if s.WindowId == nil { invalidParams.Add(request.NewErrParamRequired("WindowId")) } @@ -43573,6 +45724,12 @@ func (s *UpdateMaintenanceWindowInput) SetSchedule(v string) *UpdateMaintenanceW return s } +// SetScheduleOffset sets the ScheduleOffset field's value. +func (s *UpdateMaintenanceWindowInput) SetScheduleOffset(v int64) *UpdateMaintenanceWindowInput { + s.ScheduleOffset = &v + return s +} + // SetScheduleTimezone sets the ScheduleTimezone field's value. func (s *UpdateMaintenanceWindowInput) SetScheduleTimezone(v string) *UpdateMaintenanceWindowInput { s.ScheduleTimezone = &v @@ -43622,6 +45779,10 @@ type UpdateMaintenanceWindowOutput struct { // The schedule of the maintenance window in the form of a cron or rate expression. Schedule *string `min:"1" type:"string"` + // The number of days to wait to run a maintenance window after the scheduled + // CRON expression date and time. + ScheduleOffset *int64 `min:"1" type:"integer"` + // The time zone that the scheduled maintenance window executions are based // on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", // "etc/UTC", or "Asia/Seoul". For more information, see the Time Zone Database @@ -43695,6 +45856,12 @@ func (s *UpdateMaintenanceWindowOutput) SetSchedule(v string) *UpdateMaintenance return s } +// SetScheduleOffset sets the ScheduleOffset field's value. +func (s *UpdateMaintenanceWindowOutput) SetScheduleOffset(v int64) *UpdateMaintenanceWindowOutput { + s.ScheduleOffset = &v + return s +} + // SetScheduleTimezone sets the ScheduleTimezone field's value. func (s *UpdateMaintenanceWindowOutput) SetScheduleTimezone(v string) *UpdateMaintenanceWindowOutput { s.ScheduleTimezone = &v @@ -45713,6 +47880,12 @@ const ( // OperatingSystemCentos is a OperatingSystem enum value OperatingSystemCentos = "CENTOS" + + // OperatingSystemOracleLinux is a OperatingSystem enum value + OperatingSystemOracleLinux = "ORACLE_LINUX" + + // OperatingSystemDebian is a OperatingSystem enum value + OperatingSystemDebian = "DEBIAN" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/ssm/waiters.go b/vendor/github.com/aws/aws-sdk-go/service/ssm/waiters.go new file mode 100644 index 00000000000..4bc0d1401d9 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/ssm/waiters.go @@ -0,0 +1,91 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package ssm + +import ( + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" +) + +// WaitUntilCommandExecuted uses the Amazon SSM API operation +// GetCommandInvocation 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 *SSM) WaitUntilCommandExecuted(input *GetCommandInvocationInput) error { + return c.WaitUntilCommandExecutedWithContext(aws.BackgroundContext(), input) +} + +// WaitUntilCommandExecutedWithContext is an extended version of WaitUntilCommandExecuted. +// 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 *SSM) WaitUntilCommandExecutedWithContext(ctx aws.Context, input *GetCommandInvocationInput, opts ...request.WaiterOption) error { + w := request.Waiter{ + Name: "WaitUntilCommandExecuted", + MaxAttempts: 20, + Delay: request.ConstantWaiterDelay(5 * time.Second), + Acceptors: []request.WaiterAcceptor{ + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "Pending", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "InProgress", + }, + { + State: request.RetryWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "Delayed", + }, + { + State: request.SuccessWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "Success", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "Cancelled", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "TimedOut", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "Failed", + }, + { + State: request.FailureWaiterState, + Matcher: request.PathWaiterMatch, Argument: "Status", + Expected: "Cancelling", + }, + }, + Logger: c.Config.Logger, + NewRequest: func(opts []request.Option) (*request.Request, error) { + var inCpy *GetCommandInvocationInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetCommandInvocationRequest(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/storagegateway/api.go b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go index b05c45073b4..0cbb35689b9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go @@ -60,8 +60,8 @@ func (c *StorageGateway) ActivateGatewayRequest(input *ActivateGatewayInput) (re // process, you specify information such as the AWS Region that you want to // use for storing snapshots or tapes, the time zone for scheduled snapshots // the gateway snapshot schedule window, an activation key, and a name for your -// gateway. The activation process also associates your gateway with your account; -// for more information, see UpdateGatewayInformation. +// gateway. The activation process also associates your gateway with your account. +// For more information, see UpdateGatewayInformation. // // You must turn on the gateway VM before you can activate your gateway. // @@ -148,8 +148,8 @@ func (c *StorageGateway) AddCacheRequest(input *AddCacheInput) (req *request.Req // AddCache API operation for AWS Storage Gateway. // // Configures one or more gateway local disks as cache for a gateway. This operation -// is only supported in the cached volume, tape and file gateway type (see Storage -// Gateway Concepts (https://docs.aws.amazon.com/storagegateway/latest/userguide/StorageGatewayConcepts.html)). +// is only supported in the cached volume, tape, and file gateway type (see +// How AWS Storage Gateway works (architecture) (https://docs.aws.amazon.com/storagegateway/latest/userguide/StorageGatewayConcepts.html). // // In the request, you specify the gateway Amazon Resource Name (ARN) to which // you want to add cache, and one or more disk IDs that you want to configure @@ -526,7 +526,7 @@ func (c *StorageGateway) AssignTapePoolRequest(input *AssignTapePoolInput) (req // into the S3 storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds // to the pool. // -// Valid values: "GLACIER", "DEEP_ARCHIVE" +// Valid Values: GLACIER | DEEP_ARCHIVE // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -979,8 +979,8 @@ func (c *StorageGateway) CreateNFSFileShareRequest(input *CreateNFSFileShareInpu // to enable you to create a file share. Make sure AWS STS is activated in the // AWS Region you are creating your file gateway in. If AWS STS is not activated // in the AWS Region, activate it. For information about how to activate AWS -// STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS -// Identity and Access Management User Guide. +// STS, see Activating and deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the AWS Identity and Access Management User Guide. // // File gateway does not support creating hard or symbolic links on a file share. // @@ -1075,7 +1075,7 @@ func (c *StorageGateway) CreateSMBFileShareRequest(input *CreateSMBFileShareInpu // to enable you to create a file share. Make sure that AWS STS is activated // in the AWS Region you are creating your file gateway in. If AWS STS is not // activated in this AWS Region, activate it. For information about how to activate -// AWS STS, see Activating and Deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// AWS STS, see Activating and deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) // in the AWS Identity and Access Management User Guide. // // File gateways don't support creating hard or symbolic links on a file share. @@ -1165,12 +1165,11 @@ func (c *StorageGateway) CreateSnapshotRequest(input *CreateSnapshotInput) (req // Initiates a snapshot of a volume. // // AWS Storage Gateway provides the ability to back up point-in-time snapshots -// of your data to Amazon Simple Storage Service (Amazon S3) for durable off-site -// recovery, as well as import the data to an Amazon Elastic Block Store (EBS) -// volume in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your -// gateway volume on a scheduled or ad hoc basis. This API enables you to take -// an ad hoc snapshot. For more information, see Editing a Snapshot Schedule -// (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#SchedulingSnapshot). +// of your data to Amazon Simple Storage (Amazon S3) for durable off-site recovery, +// as well as import the data to an Amazon Elastic Block Store (EBS) volume +// in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway +// volume on a scheduled or ad hoc basis. This API enables you to take ad-hoc +// snapshot. For more information, see Editing a snapshot schedule (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#SchedulingSnapshot). // // In the CreateSnapshot request you identify the volume by providing its Amazon // Resource Name (ARN). You must also provide description for the snapshot. @@ -1182,7 +1181,9 @@ func (c *StorageGateway) CreateSnapshotRequest(input *CreateSnapshotInput) (req // cached volume gateway type. // // To list or delete a snapshot, you must use the Amazon EC2 API. For more information, -// see DescribeSnapshots or DeleteSnapshot in the EC2 API reference (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Operations.html). +// see DescribeSnapshots (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSnapshots.html) +// or DeleteSnapshot (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteSnapshot.html) +// in the Amazon Elastic Compute Cloud API Reference. // // Volume and snapshot IDs are changing to a longer length ID format. For more // information, see the important note on the Welcome (https://docs.aws.amazon.com/storagegateway/latest/APIReference/Welcome.html) @@ -1290,7 +1291,9 @@ func (c *StorageGateway) CreateSnapshotFromVolumeRecoveryPointRequest(input *Cre // a volume from a snapshot. // // To list or delete a snapshot, you must use the Amazon EC2 API. For more information, -// in Amazon Elastic Compute Cloud API Reference. +// see DescribeSnapshots (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSnapshots.html) +// or DeleteSnapshot (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteSnapshot.html) +// in the Amazon Elastic Compute Cloud API Reference. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1475,7 +1478,7 @@ func (c *StorageGateway) CreateTapeWithBarcodeRequest(input *CreateTapeWithBarco // CreateTapeWithBarcode API operation for AWS Storage Gateway. // // Creates a virtual tape by using your own barcode. You write data to the virtual -// tape and then archive the tape. A barcode is unique and cannot be reused +// tape and then archive the tape. A barcode is unique and can not be reused // if it has already been used on a tape. This applies to barcodes used on deleted // tapes. This operation is only supported in the tape gateway type. // @@ -2014,7 +2017,7 @@ func (c *StorageGateway) DeleteGatewayRequest(input *DeleteGatewayInput) (req *r // for these snapshots. You can choose to remove all remaining Amazon EBS snapshots // by canceling your Amazon EC2 subscription. If you prefer not to cancel your // Amazon EC2 subscription, you can delete your snapshots using the Amazon EC2 -// console. For more information, see the AWS Storage Gateway Detail Page (http://aws.amazon.com/storagegateway). +// console. For more information, see the AWS Storage Gateway detail page (http://aws.amazon.com/storagegateway). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2102,7 +2105,7 @@ func (c *StorageGateway) DeleteSnapshotScheduleRequest(input *DeleteSnapshotSche // // You can take snapshots of your gateway volumes on a scheduled or ad hoc basis. // This API action enables you to delete a snapshot schedule for a volume. For -// more information, see Working with Snapshots (https://docs.aws.amazon.com/storagegateway/latest/userguide/WorkingWithSnapshots.html). +// more information, see Backing up your volumes (https://docs.aws.amazon.com/storagegatewaylatest/userguide/backing-up-volumes.html). // In the DeleteSnapshotSchedule request, you identify the volume by providing // its Amazon Resource Name (ARN). This operation is only supported in stored // and cached volume gateway types. @@ -2549,7 +2552,7 @@ func (c *StorageGateway) DescribeBandwidthRateLimitRequest(input *DescribeBandwi // // Returns the bandwidth rate limits of a gateway. By default, these limits // are not set, which means no bandwidth rate limiting is in effect. This operation -// is supported for the stored volume, cached volume and tape gateway types.' +// is supported for the stored volume, cached volume and tape gateway types. // // This operation only returns a value for a bandwidth rate limit only if the // limit is set. If no limits are set for the gateway, then this operation returns @@ -3417,7 +3420,7 @@ func (c *StorageGateway) DescribeStorediSCSIVolumesRequest(input *DescribeStored // // Returns the description of the gateway volumes specified in the request. // The list of gateway volumes in the request must be from one gateway. In the -// response AWS Storage Gateway returns volume information sorted by volume +// response, AWS Storage Gateway returns volume information sorted by volume // ARNs. This operation is only supported in stored volume gateway type. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3942,7 +3945,7 @@ func (c *StorageGateway) DescribeUploadBufferRequest(input *DescribeUploadBuffer // DescribeUploadBuffer API operation for AWS Storage Gateway. // // Returns information about the upload buffer of a gateway. This operation -// is supported for the stored volume, cached volume and tape gateway types. +// is supported for the stored volume, cached volume, and tape gateway types. // // The response includes disk IDs that are configured as upload buffer space, // and it includes the amount of upload buffer space allocated and used. @@ -5644,8 +5647,8 @@ func (c *StorageGateway) NotifyWhenUploadedRequest(input *NotifyWhenUploadedInpu // event targets such as Amazon SNS or AWS Lambda function. This operation is // only supported for file gateways. // -// For more information, see Getting File Upload Notification in the Storage -// Gateway User Guide (https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-upload-notification). +// For more information, see Getting file upload notification (https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-upload-notification) +// in the AWS Storage Gateway 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 @@ -5730,11 +5733,12 @@ func (c *StorageGateway) RefreshCacheRequest(input *RefreshCacheInput) (req *req // RefreshCache API operation for AWS Storage Gateway. // // Refreshes the cache for the specified file share. This operation finds objects -// in the Amazon S3 bucket that were added, removed or replaced since the gateway +// in the Amazon S3 bucket that were added, removed, or replaced since the gateway // last listed the bucket's contents and cached the results. This operation // is only supported in the file gateway type. You can subscribe to be notified // through an Amazon CloudWatch event when your RefreshCache operation completes. -// For more information, see Getting Notified About File Operations (https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-notification). +// For more information, see Getting notified about file operations (https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-notification) +// in the AWS Storage Gateway User Guide. // // When this API is called, it only initiates the refresh operation. When the // API call completes and returns a success code, it doesn't necessarily mean @@ -5746,13 +5750,15 @@ func (c *StorageGateway) RefreshCacheRequest(input *RefreshCacheInput) (req *req // Throttle limit: This API is asynchronous so the gateway will accept no more // than two refreshes at any time. We recommend using the refresh-complete CloudWatch // event notification before issuing additional requests. For more information, -// see Getting Notified About File Operations (https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-notification). +// see Getting notified about file operations (https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-notification) +// in the AWS Storage Gateway User Guide. // // If you invoke the RefreshCache API when two requests are already being processed, // any new request will cause an InvalidGatewayRequestException error because // too many requests were sent to the server. // -// For more information, see "https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-notification". +// For more information, see Getting notified about file operations (https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-notification) +// in the AWS Storage Gateway 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 @@ -6384,7 +6390,7 @@ func (c *StorageGateway) ShutdownGatewayRequest(input *ShutdownGatewayInput) (re // the gateway component in the VM to avoid unpredictable conditions. // // After the gateway is shutdown, you cannot call any other API except StartGateway, -// DescribeGatewayInformation and ListGateways. For more information, see ActivateGateway. +// DescribeGatewayInformation, and ListGateways. For more information, see ActivateGateway. // Your applications cannot read from or write to the gateway's storage volumes, // and there are no snapshots taken. // @@ -6756,7 +6762,7 @@ func (c *StorageGateway) UpdateBandwidthRateLimitRequest(input *UpdateBandwidthR // Updates the bandwidth rate limits of a gateway. You can update both the upload // and download bandwidth rate limit or specify only one of the two. If you // don't set a bandwidth rate limit, the existing rate limit remains. This operation -// is supported for the stored volume, cached volume and tape gateway types.' +// is supported for the stored volume, cached volume, and tape gateway types. // // By default, a gateway's bandwidth rate limits are not set. If you don't set // any limit, the gateway does not have any limitations on its bandwidth usage @@ -7038,9 +7044,9 @@ func (c *StorageGateway) UpdateGatewaySoftwareNowRequest(input *UpdateGatewaySof // A software update forces a system restart of your gateway. You can minimize // the chance of any disruption to your applications by increasing your iSCSI // Initiators' timeouts. For more information about increasing iSCSI Initiator -// timeouts for Windows and Linux, see Customizing Your Windows iSCSI Settings +// timeouts for Windows and Linux, see Customizing your Windows iSCSI settings // (https://docs.aws.amazon.com/storagegateway/latest/userguide/ConfiguringiSCSIClientInitiatorWindowsClient.html#CustomizeWindowsiSCSISettings) -// and Customizing Your Linux iSCSI Settings (https://docs.aws.amazon.com/storagegateway/latest/userguide/ConfiguringiSCSIClientInitiatorRedHatClient.html#CustomizeLinuxiSCSISettings), +// and Customizing your Linux iSCSI settings (https://docs.aws.amazon.com/storagegateway/latest/userguide/ConfiguringiSCSIClientInitiatorRedHatClient.html#CustomizeLinuxiSCSISettings), // respectively. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -7323,7 +7329,7 @@ func (c *StorageGateway) UpdateSMBFileShareRequest(input *UpdateSMBFileShareInpu // to enable you to create a file share. Make sure that AWS STS is activated // in the AWS Region you are creating your file gateway in. If AWS STS is not // activated in this AWS Region, activate it. For information about how to activate -// AWS STS, see Activating and Deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// AWS STS, see Activating and deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) // in the AWS Identity and Access Management User Guide. // // File gateways don't support creating hard or symbolic links on a file share. @@ -7648,9 +7654,9 @@ func (c *StorageGateway) UpdateVTLDeviceTypeWithContext(ctx aws.Context, input * // // * ActivateGatewayInput$GatewayType // -// * ActivateGatewayInput$TapeDriveType -// // * ActivateGatewayInput$MediumChangerType +// +// * ActivateGatewayInput$TapeDriveType type ActivateGatewayInput struct { _ struct{} `type:"structure"` @@ -7662,8 +7668,8 @@ type ActivateGatewayInput struct { // defaults -- the arguments you pass to the ActivateGateway API call determine // the actual configuration of your gateway. // - // For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html - // in the Storage Gateway User Guide. + // For more information, see Getting activation key (https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html) + // in the AWS Storage Gateway User Guide. // // ActivationKey is a required field ActivationKey *string `min:"1" type:"string" required:"true"` @@ -7676,11 +7682,11 @@ type ActivateGatewayInput struct { // A value that indicates the AWS Region where you want to store your data. // The gateway AWS Region specified must be the same AWS Region as the AWS Region // in your Host header in the request. For more information about available - // AWS Regions and endpoints for AWS Storage Gateway, see Regions and Endpoints - // (https://docs.aws.amazon.com/general/latest/gr/rande.html#sg_region) in the - // Amazon Web Services Glossary. + // AWS Regions and endpoints for AWS Storage Gateway, see AWS Storage Gateway + // endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/sg.html) + // in the AWS General Reference. // - // Valid Values: See AWS Storage Gateway Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#sg_region) + // Valid Values: See AWS Storage Gateway endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/sg.html) // in the AWS General Reference. // // GatewayRegion is a required field @@ -7699,13 +7705,13 @@ type ActivateGatewayInput struct { // is critical to all later functions of the gateway and cannot be changed after // activation. The default value is CACHED. // - // Valid Values: "STORED", "CACHED", "VTL", "FILE_S3" + // Valid Values: STORED | CACHED | VTL | FILE_S3 GatewayType *string `min:"2" type:"string"` // The value that indicates the type of medium changer to use for tape gateway. // This field is optional. // - // Valid Values: "STK-L700", "AWS-Gateway-VTL" + // Valid Values: STK-L700 | AWS-Gateway-VTL MediumChangerType *string `min:"2" type:"string"` // A list of up to 50 tags that you can assign to the gateway. Each tag is a @@ -7720,7 +7726,7 @@ type ActivateGatewayInput struct { // The value that indicates the type of tape drive to use for tape gateway. // This field is optional. // - // Valid Values: "IBM-ULT3580-TD5" + // Valid Values: IBM-ULT3580-TD5 TapeDriveType *string `min:"2" type:"string"` } @@ -8223,7 +8229,7 @@ type AssignTapePoolInput struct { // is archived directly into the storage class (S3 Glacier or S3 Glacier Deep // Archive) that corresponds to the pool. // - // Valid values: "GLACIER", "DEEP_ARCHIVE" + // Valid Values: GLACIER | DEEP_ARCHIVE // // PoolId is a required field PoolId *string `min:"1" type:"string" required:"true"` @@ -8503,7 +8509,7 @@ type AutomaticTapeCreationRule struct { // tape is archived directly into the storage class (S3 Glacier or S3 Glacier // Deep Archive) that corresponds to the pool. // - // Valid values: "GLACIER", "DEEP_ARCHIVE" + // Valid Values: GLACIER | DEEP_ARCHIVE // // PoolId is a required field PoolId *string `min:"1" type:"string" required:"true"` @@ -8588,6 +8594,35 @@ func (s *AutomaticTapeCreationRule) SetTapeSizeInBytes(v int64) *AutomaticTapeCr return s } +// Lists refresh cache information. +type CacheAttributes struct { + _ struct{} `type:"structure"` + + // Refreshes a file share's cache by using Time To Live (TTL). TTL is the length + // of time since the last refresh after which access to the directory would + // cause the file gateway to first refresh that directory's contents from the + // Amazon S3 bucket. The TTL duration is in seconds. + // + // Valid Values: 300 to 2,592,000 seconds (5 minutes to 30 days) + CacheStaleTimeoutInSeconds *int64 `type:"integer"` +} + +// String returns the string representation +func (s CacheAttributes) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CacheAttributes) GoString() string { + return s.String() +} + +// SetCacheStaleTimeoutInSeconds sets the CacheStaleTimeoutInSeconds field's value. +func (s *CacheAttributes) SetCacheStaleTimeoutInSeconds(v int64) *CacheAttributes { + s.CacheStaleTimeoutInSeconds = &v + return s +} + // Describes an iSCSI cached volume. type CachediSCSIVolume struct { _ struct{} `type:"structure"` @@ -8596,8 +8631,9 @@ type CachediSCSIVolume struct { // don’t have this time stamp. CreatedDate *time.Time `type:"timestamp"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side - // encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used + // for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // If the cached volume was created from a snapshot, this field contains the @@ -8617,8 +8653,8 @@ type CachediSCSIVolume struct { VolumeARN *string `min:"50" type:"string"` // A value that indicates whether a storage volume is attached to or detached - // from a gateway. For more information, see Moving Your Volumes to a Different - // Gateway (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#attach-detach-volume). + // from a gateway. For more information, see Moving your volumes to a different + // gateway (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#attach-detach-volume). VolumeAttachmentStatus *string `min:"3" type:"string"` // The unique identifier of the volume, e.g. vol-AE4B946D. @@ -8986,12 +9022,15 @@ type CreateCachediSCSIVolumeInput struct { // GatewayARN is a required field GatewayARN *string `min:"50" type:"string" required:"true"` - // True to use Amazon S3 server-side encryption with your own AWS KMS key, or - // false to use a key managed by Amazon S3. Optional. + // Set to true to use Amazon S3 server-side encryption with your own AWS KMS + // key, or false to use a key managed by Amazon S3. Optional. + // + // Valid Values: true | false KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side - // encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used + // for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The network interface of the gateway on which to expose the iSCSI target. @@ -9005,7 +9044,7 @@ type CreateCachediSCSIVolumeInput struct { // The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the // new cached volume. Specify this field if you want to create the iSCSI storage - // volume from a snapshot otherwise do not include this field. To list snapshots + // volume from a snapshot; otherwise, do not include this field. To list snapshots // for your account use DescribeSnapshots (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html) // in the Amazon Elastic Compute Cloud API Reference. SnapshotId *string `type:"string"` @@ -9199,6 +9238,9 @@ func (s *CreateCachediSCSIVolumeOutput) SetVolumeARN(v string) *CreateCachediSCS type CreateNFSFileShareInput struct { _ struct{} `type:"structure"` + // Refresh cache information. + CacheAttributes *CacheAttributes `type:"structure"` + // The list of clients that are allowed to access the file gateway. The list // must contain either valid IP addresses or valid CIDR blocks. ClientList []*string `min:"1" type:"list"` @@ -9210,10 +9252,16 @@ type CreateNFSFileShareInput struct { ClientToken *string `min:"5" type:"string" required:"true"` // The default storage class for objects put into an Amazon S3 bucket by the - // file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. - // If this field is not populated, the default value S3_STANDARD is used. Optional. + // file gateway. The default value is S3_INTELLIGENT_TIERING. Optional. + // + // Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | S3_STANDARD_IA | S3_ONEZONE_IA DefaultStorageClass *string `min:"5" type:"string"` + // The name of the file share. Optional. + // + // FileShareName must be set if an S3 prefix name is set in LocationARN. + FileShareName *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the file gateway on which you want to create // a file share. // @@ -9222,18 +9270,24 @@ type CreateNFSFileShareInput struct { // A value that enables guessing of the MIME type for uploaded objects based // on file extensions. Set this value to true to enable MIME type guessing, - // and otherwise to false. The default value is true. + // otherwise set to false. The default value is true. + // + // Valid Values: true | false GuessMIMETypeEnabled *bool `type:"boolean"` - // True to use Amazon S3 server-side encryption with your own AWS KMS key, or - // false to use a key managed by Amazon S3. Optional. + // Set to true to use Amazon S3 server-side encryption with your own AWS KMS + // key, or false to use a key managed by Amazon S3. Optional. + // + // Valid Values: true | false KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) AWS KMS key used for Amazon S3 server-side - // encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used + // for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` - // The ARN of the backed storage used for storing file data. + // The ARN of the backend storage used for storing file data. A prefix name + // can be added to the S3 bucket name. It must end with a "/". // // LocationARN is a required field LocationARN *string `min:"16" type:"string" required:"true"` @@ -9241,22 +9295,27 @@ type CreateNFSFileShareInput struct { // File share default values. Optional. NFSFileShareDefaults *NFSFileShareDefaults `type:"structure"` - // A value that sets the access control list permission for objects in the S3 - // bucket that a file gateway puts objects into. The default value is "private". + // A value that sets the access control list (ACL) permission for objects in + // the S3 bucket that a file gateway puts objects into. The default value is + // private. ObjectACL *string `type:"string" enum:"ObjectACL"` - // A value that sets the write status of a file share. This value is true if - // the write status is read-only, and otherwise false. + // A value that sets the write status of a file share. Set this value to true + // to set the write status to read-only, otherwise set to false. + // + // Valid Values: true | false ReadOnly *bool `type:"boolean"` // A value that sets who pays the cost of the request and the cost associated // with data download from the S3 bucket. If this value is set to true, the - // requester pays the costs. Otherwise the S3 bucket owner pays. However, the + // requester pays the costs; otherwise, the S3 bucket owner pays. However, the // S3 bucket owner always pays the cost of storing data. // // RequesterPays is a configuration for the S3 bucket that backs the file share, // so make sure that the configuration on the file share is the same as the // S3 bucket configuration. + // + // Valid Values: true | false RequesterPays *bool `type:"boolean"` // The ARN of the AWS Identity and Access Management (IAM) role that a file @@ -9265,13 +9324,15 @@ type CreateNFSFileShareInput struct { // Role is a required field Role *string `min:"20" type:"string" required:"true"` - // A value that maps a user to anonymous user. Valid options are the following: + // A value that maps a user to anonymous user. + // + // Valid values are the following: // - // * RootSquash - Only root is mapped to anonymous user. + // * RootSquash: Only root is mapped to anonymous user. // - // * NoSquash - No one is mapped to anonymous user + // * NoSquash: No one is mapped to anonymous user. // - // * AllSquash - Everyone is mapped to anonymous user. + // * AllSquash: Everyone is mapped to anonymous user. Squash *string `min:"5" type:"string"` // A list of up to 50 tags that can be assigned to the NFS file share. Each @@ -9309,6 +9370,9 @@ func (s *CreateNFSFileShareInput) Validate() error { if s.DefaultStorageClass != nil && len(*s.DefaultStorageClass) < 5 { invalidParams.Add(request.NewErrParamMinLen("DefaultStorageClass", 5)) } + if s.FileShareName != nil && len(*s.FileShareName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileShareName", 1)) + } if s.GatewayARN == nil { invalidParams.Add(request.NewErrParamRequired("GatewayARN")) } @@ -9355,6 +9419,12 @@ func (s *CreateNFSFileShareInput) Validate() error { return nil } +// SetCacheAttributes sets the CacheAttributes field's value. +func (s *CreateNFSFileShareInput) SetCacheAttributes(v *CacheAttributes) *CreateNFSFileShareInput { + s.CacheAttributes = v + return s +} + // SetClientList sets the ClientList field's value. func (s *CreateNFSFileShareInput) SetClientList(v []*string) *CreateNFSFileShareInput { s.ClientList = v @@ -9373,6 +9443,12 @@ func (s *CreateNFSFileShareInput) SetDefaultStorageClass(v string) *CreateNFSFil return s } +// SetFileShareName sets the FileShareName field's value. +func (s *CreateNFSFileShareInput) SetFileShareName(v string) *CreateNFSFileShareInput { + s.FileShareName = &v + return s +} + // SetGatewayARN sets the GatewayARN field's value. func (s *CreateNFSFileShareInput) SetGatewayARN(v string) *CreateNFSFileShareInput { s.GatewayARN = &v @@ -9473,9 +9549,10 @@ func (s *CreateNFSFileShareOutput) SetFileShareARN(v string) *CreateNFSFileShare type CreateSMBFileShareInput struct { _ struct{} `type:"structure"` - // A list of users in the Active Directory that will be granted administrator + // A list of users or groups in the Active Directory that will be granted administrator // privileges on the file share. These users can do all file operations as the - // super-user. + // super-user. Acceptable formats include: DOMAIN\User1, user1, @group1, and + // @DOMAIN\group1. // // Use this option very carefully, because any user in this list can do anything // they like on the file share, regardless of file permissions. @@ -9484,11 +9561,20 @@ type CreateSMBFileShareInput struct { // The Amazon Resource Name (ARN) of the storage used for the audit logs. AuditDestinationARN *string `type:"string"` - // The authentication method that users use to access the file share. + // The authentication method that users use to access the file share. The default + // is ActiveDirectory. // - // Valid values are ActiveDirectory or GuestAccess. The default is ActiveDirectory. + // Valid Values: ActiveDirectory | GuestAccess Authentication *string `min:"5" type:"string"` + // Refresh cache information. + CacheAttributes *CacheAttributes `type:"structure"` + + // The case of an object name in an Amazon S3 bucket. For ClientSpecified, the + // client determines the case sensitivity. For CaseSensitive, the gateway determines + // the case sensitivity. The default value is ClientSpecified. + CaseSensitivity *string `type:"string" enum:"CaseSensitivity"` + // A unique string value that you supply that is used by file gateway to ensure // idempotent file share creation. // @@ -9496,10 +9582,16 @@ type CreateSMBFileShareInput struct { ClientToken *string `min:"5" type:"string" required:"true"` // The default storage class for objects put into an Amazon S3 bucket by the - // file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. - // If this field is not populated, the default value S3_STANDARD is used. Optional. + // file gateway. The default value is S3_INTELLIGENT_TIERING. Optional. + // + // Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | S3_STANDARD_IA | S3_ONEZONE_IA DefaultStorageClass *string `min:"5" type:"string"` + // The name of the file share. Optional. + // + // FileShareName must be set if an S3 prefix name is set in LocationARN. + FileShareName *string `min:"1" type:"string"` + // The ARN of the file gateway on which you want to create a file share. // // GatewayARN is a required field @@ -9507,43 +9599,55 @@ type CreateSMBFileShareInput struct { // A value that enables guessing of the MIME type for uploaded objects based // on file extensions. Set this value to true to enable MIME type guessing, - // and otherwise to false. The default value is true. + // otherwise set to false. The default value is true. + // + // Valid Values: true | false GuessMIMETypeEnabled *bool `type:"boolean"` // A list of users or groups in the Active Directory that are not allowed to - // access the file share. A group must be prefixed with the @ character. For - // example, @group1. Can only be set if Authentication is set to ActiveDirectory. + // access the file share. A group must be prefixed with the @ character. Acceptable + // formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. Can only + // be set if Authentication is set to ActiveDirectory. InvalidUserList []*string `type:"list"` - // True to use Amazon S3 server-side encryption with your own AWS KMS key, or - // false to use a key managed by Amazon S3. Optional. + // Set to true to use Amazon S3 server-side encryption with your own AWS KMS + // key, or false to use a key managed by Amazon S3. Optional. + // + // Valid Values: true | false KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side - // encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used + // for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` - // The ARN of the backed storage used for storing file data. + // The ARN of the backend storage used for storing file data. A prefix name + // can be added to the S3 bucket name. It must end with a "/". // // LocationARN is a required field LocationARN *string `min:"16" type:"string" required:"true"` - // A value that sets the access control list permission for objects in the S3 - // bucket that a file gateway puts objects into. The default value is "private". + // A value that sets the access control list (ACL) permission for objects in + // the S3 bucket that a file gateway puts objects into. The default value is + // private. ObjectACL *string `type:"string" enum:"ObjectACL"` - // A value that sets the write status of a file share. This value is true if - // the write status is read-only, and otherwise false. + // A value that sets the write status of a file share. Set this value to true + // to set the write status to read-only, otherwise set to false. + // + // Valid Values: true | false ReadOnly *bool `type:"boolean"` // A value that sets who pays the cost of the request and the cost associated // with data download from the S3 bucket. If this value is set to true, the - // requester pays the costs. Otherwise the S3 bucket owner pays. However, the + // requester pays the costs; otherwise, the S3 bucket owner pays. However, the // S3 bucket owner always pays the cost of storing data. // // RequesterPays is a configuration for the S3 bucket that backs the file share, // so make sure that the configuration on the file share is the same as the // S3 bucket configuration. + // + // Valid Values: true | false RequesterPays *bool `type:"boolean"` // The ARN of the AWS Identity and Access Management (IAM) role that a file @@ -9552,12 +9656,15 @@ type CreateSMBFileShareInput struct { // Role is a required field Role *string `min:"20" type:"string" required:"true"` - // Set this value to "true to enable ACL (access control list) on the SMB file - // share. Set it to "false" to map file and directory permissions to the POSIX + // Set this value to true to enable access control list (ACL) on the SMB file + // share. Set it to false to map file and directory permissions to the POSIX // permissions. // - // For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html - // in the Storage Gateway User Guide. + // For more information, see Using Microsoft Windows ACLs to control access + // to an SMB file share (https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html) + // in the AWS Storage Gateway User Guide. + // + // Valid Values: true | false SMBACLEnabled *bool `type:"boolean"` // A list of up to 50 tags that can be assigned to the NFS file share. Each @@ -9570,8 +9677,9 @@ type CreateSMBFileShareInput struct { Tags []*Tag `type:"list"` // A list of users or groups in the Active Directory that are allowed to access - // the file share. A group must be prefixed with the @ character. For example - // @group1. Can only be set if Authentication is set to ActiveDirectory. + // the file share. A group must be prefixed with the @ character. Acceptable + // formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. Can only + // be set if Authentication is set to ActiveDirectory. ValidUserList []*string `type:"list"` } @@ -9600,6 +9708,9 @@ func (s *CreateSMBFileShareInput) Validate() error { if s.DefaultStorageClass != nil && len(*s.DefaultStorageClass) < 5 { invalidParams.Add(request.NewErrParamMinLen("DefaultStorageClass", 5)) } + if s.FileShareName != nil && len(*s.FileShareName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileShareName", 1)) + } if s.GatewayARN == nil { invalidParams.Add(request.NewErrParamRequired("GatewayARN")) } @@ -9656,6 +9767,18 @@ func (s *CreateSMBFileShareInput) SetAuthentication(v string) *CreateSMBFileShar return s } +// SetCacheAttributes sets the CacheAttributes field's value. +func (s *CreateSMBFileShareInput) SetCacheAttributes(v *CacheAttributes) *CreateSMBFileShareInput { + s.CacheAttributes = v + return s +} + +// SetCaseSensitivity sets the CaseSensitivity field's value. +func (s *CreateSMBFileShareInput) SetCaseSensitivity(v string) *CreateSMBFileShareInput { + s.CaseSensitivity = &v + return s +} + // SetClientToken sets the ClientToken field's value. func (s *CreateSMBFileShareInput) SetClientToken(v string) *CreateSMBFileShareInput { s.ClientToken = &v @@ -9668,6 +9791,12 @@ func (s *CreateSMBFileShareInput) SetDefaultStorageClass(v string) *CreateSMBFil return s } +// SetFileShareName sets the FileShareName field's value. +func (s *CreateSMBFileShareInput) SetFileShareName(v string) *CreateSMBFileShareInput { + s.FileShareName = &v + return s +} + // SetGatewayARN sets the GatewayARN field's value. func (s *CreateSMBFileShareInput) SetGatewayARN(v string) *CreateSMBFileShareInput { s.GatewayARN = &v @@ -9775,7 +9904,7 @@ type CreateSnapshotFromVolumeRecoveryPointInput struct { // Textual description of the snapshot that appears in the Amazon EC2 console, // Elastic Block Store snapshots panel in the Description field, and in the - // AWS Storage Gateway snapshot Details pane, Description field + // AWS Storage Gateway snapshot Details pane, Description field. // // SnapshotDescription is a required field SnapshotDescription *string `min:"1" type:"string" required:"true"` @@ -9908,7 +10037,7 @@ type CreateSnapshotInput struct { // Textual description of the snapshot that appears in the Amazon EC2 console, // Elastic Block Store snapshots panel in the Description field, and in the - // AWS Storage Gateway snapshot Details pane, Description field + // AWS Storage Gateway snapshot Details pane, Description field. // // SnapshotDescription is a required field SnapshotDescription *string `min:"1" type:"string" required:"true"` @@ -10051,12 +10180,15 @@ type CreateStorediSCSIVolumeInput struct { // GatewayARN is a required field GatewayARN *string `min:"50" type:"string" required:"true"` - // True to use Amazon S3 server-side encryption with your own AWS KMS key, or - // false to use a key managed by Amazon S3. Optional. + // Set to true to use Amazon S3 server-side encryption with your own AWS KMS + // key, or false to use a key managed by Amazon S3. Optional. + // + // Valid Values: true | false KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the KMS key used for Amazon S3 server-side - // encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used + // for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The network interface of the gateway on which to expose the iSCSI target. @@ -10068,17 +10200,17 @@ type CreateStorediSCSIVolumeInput struct { // NetworkInterfaceId is a required field NetworkInterfaceId *string `type:"string" required:"true"` - // Specify this field as true if you want to preserve the data on the local - // disk. Otherwise, specifying this field as false creates an empty volume. + // Set to true true if you want to preserve the data on the local disk. Otherwise, + // set to false to create an empty volume. // - // Valid Values: true, false + // Valid Values: true | false // // PreserveExistingData is a required field PreserveExistingData *bool `type:"boolean" required:"true"` // The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the // new stored volume. Specify this field if you want to create the iSCSI storage - // volume from a snapshot otherwise do not include this field. To list snapshots + // volume from a snapshot; otherwise, do not include this field. To list snapshots // for your account use DescribeSnapshots (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html) // in the Amazon Elastic Compute Cloud API Reference. SnapshotId *string `type:"string"` @@ -10269,21 +10401,24 @@ type CreateTapeWithBarcodeInput struct { // GatewayARN is a required field GatewayARN *string `min:"50" type:"string" required:"true"` - // True to use Amazon S3 server-side encryption with your own AWS KMS key, or - // false to use a key managed by Amazon S3. Optional. + // Set to true to use Amazon S3 server-side encryption with your own AWS KMS + // key, or false to use a key managed by Amazon S3. Optional. + // + // Valid Values: true | false KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side - // encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used + // for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The ID of the pool that you want to add your tape to for archiving. The tape // in this pool is archived in the S3 storage class that is associated with // the pool. When you use your backup application to eject the tape, the tape - // is archived directly into the storage class (S3 Glacier or S3 Glacier Deep - // Archive) that corresponds to the pool. + // is archived directly into the storage class (S3 Glacier or S3 Deep Archive) + // that corresponds to the pool. // - // Valid values: "GLACIER", "DEEP_ARCHIVE" + // Valid Values: GLACIER | DEEP_ARCHIVE PoolId *string `min:"1" type:"string"` // A list of up to 50 tags that can be assigned to a virtual tape that has a @@ -10448,12 +10583,15 @@ type CreateTapesInput struct { // GatewayARN is a required field GatewayARN *string `min:"50" type:"string" required:"true"` - // True to use Amazon S3 server-side encryption with your own AWS KMS key, or - // false to use a key managed by Amazon S3. Optional. + // Set to true to use Amazon S3 server-side encryption with your own AWS KMS + // key, or false to use a key managed by Amazon S3. Optional. + // + // Valid Values: true | false KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side - // encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used + // for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The number of virtual tapes that you want to create. @@ -10467,7 +10605,7 @@ type CreateTapesInput struct { // is archived directly into the storage class (S3 Glacier or S3 Glacier Deep // Archive) that corresponds to the pool. // - // Valid values: "GLACIER", "DEEP_ARCHIVE" + // Valid Values: GLACIER | DEEP_ARCHIVE PoolId *string `min:"1" type:"string"` // A list of up to 50 tags that can be assigned to a virtual tape. Each tag @@ -10713,7 +10851,7 @@ type DeleteBandwidthRateLimitInput struct { // One of the BandwidthType values that indicates the gateway bandwidth rate // limit to delete. // - // Valid Values: Upload, Download, All. + // Valid Values: Upload | Download | All // // BandwidthType is a required field BandwidthType *string `min:"3" type:"string" required:"true"` @@ -10905,6 +11043,8 @@ type DeleteFileShareInput struct { // and aborts all data uploads to AWS. Otherwise, the file share is not deleted // until all data is uploaded to AWS. This process aborts the data upload process, // and the file share enters the FORCE_DELETING status. + // + // Valid Values: true | false ForceDelete *bool `type:"boolean"` } @@ -11299,7 +11439,7 @@ func (s *DeleteVolumeInput) SetVolumeARN(v string) *DeleteVolumeInput { } // A JSON object containing the Amazon Resource Name (ARN) of the storage volume -// that was deleted +// that was deleted. type DeleteVolumeOutput struct { _ struct{} `type:"structure"` @@ -11735,7 +11875,7 @@ func (s *DescribeChapCredentialsInput) SetTargetARN(v string) *DescribeChapCrede return s } -// A JSON object containing a . +// A JSON object containing the following fields: type DescribeChapCredentialsOutput struct { _ struct{} `type:"structure"` @@ -11824,12 +11964,21 @@ type DescribeGatewayInformationOutput struct { // used to monitor events in the gateway. CloudWatchLogGroupARN *string `type:"string"` + // Date after which this gateway will not receive software updates for new features + // and bug fixes. + DeprecationDate *string `min:"1" type:"string"` + // The ID of the Amazon EC2 instance that was used to launch the gateway. Ec2InstanceId *string `type:"string"` // The AWS Region where the Amazon EC2 instance is located. Ec2InstanceRegion *string `type:"string"` + // The type of endpoint for your gateway. + // + // Valid Values: STANDARD | FIPS + EndpointType *string `min:"4" type:"string"` + // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation // to return a list of gateways for your account and AWS Region. GatewayARN *string `min:"50" type:"string"` @@ -11868,6 +12017,9 @@ type DescribeGatewayInformationOutput struct { // this field is not returned in the response. NextUpdateAvailabilityDate *string `min:"1" type:"string"` + // Date after which this gateway will not receive software updates for new features. + SoftwareUpdatesEndDate *string `min:"1" type:"string"` + // A list of up to 50 tags assigned to the gateway, sorted alphabetically by // key name. Each tag is a key-value pair. For a gateway with more than 10 tags // assigned, you can view all tags using the ListTagsForResource API operation. @@ -11894,6 +12046,12 @@ func (s *DescribeGatewayInformationOutput) SetCloudWatchLogGroupARN(v string) *D return s } +// SetDeprecationDate sets the DeprecationDate field's value. +func (s *DescribeGatewayInformationOutput) SetDeprecationDate(v string) *DescribeGatewayInformationOutput { + s.DeprecationDate = &v + return s +} + // SetEc2InstanceId sets the Ec2InstanceId field's value. func (s *DescribeGatewayInformationOutput) SetEc2InstanceId(v string) *DescribeGatewayInformationOutput { s.Ec2InstanceId = &v @@ -11906,6 +12064,12 @@ func (s *DescribeGatewayInformationOutput) SetEc2InstanceRegion(v string) *Descr return s } +// SetEndpointType sets the EndpointType field's value. +func (s *DescribeGatewayInformationOutput) SetEndpointType(v string) *DescribeGatewayInformationOutput { + s.EndpointType = &v + return s +} + // SetGatewayARN sets the GatewayARN field's value. func (s *DescribeGatewayInformationOutput) SetGatewayARN(v string) *DescribeGatewayInformationOutput { s.GatewayARN = &v @@ -11966,6 +12130,12 @@ func (s *DescribeGatewayInformationOutput) SetNextUpdateAvailabilityDate(v strin return s } +// SetSoftwareUpdatesEndDate sets the SoftwareUpdatesEndDate field's value. +func (s *DescribeGatewayInformationOutput) SetSoftwareUpdatesEndDate(v string) *DescribeGatewayInformationOutput { + s.SoftwareUpdatesEndDate = &v + return s +} + // SetTags sets the Tags field's value. func (s *DescribeGatewayInformationOutput) SetTags(v []*Tag) *DescribeGatewayInformationOutput { s.Tags = v @@ -12038,8 +12208,6 @@ type DescribeMaintenanceStartTimeOutput struct { // The day of the month component of the maintenance start time represented // as an ordinal number from 1 to 28, where 1 represents the first day of the // month and 28 represents the last day of the month. - // - // This value is only available for tape and volume gateways. DayOfMonth *int64 `min:"1" type:"integer"` // An ordinal number between 0 and 6 that represents the day of the week, where @@ -12320,24 +12488,27 @@ type DescribeSMBSettingsOutput struct { // to return a list of gateways for your account and AWS Region. GatewayARN *string `min:"50" type:"string"` - // This value is true if a password for the guest user “smbguest” is set, - // and otherwise false. + // This value is true if a password for the guest user smbguest is set, otherwise + // false. + // + // Valid Values: true | false SMBGuestPasswordSet *bool `type:"boolean"` // The type of security strategy that was specified for file gateway. // - // ClientSpecified: if you use this option, requests are established based on - // what is negotiated by the client. This option is recommended when you want - // to maximize compatibility across different clients in your environment. + // * ClientSpecified: If you use this option, requests are established based + // on what is negotiated by the client. This option is recommended when you + // want to maximize compatibility across different clients in your environment. // - // MandatorySigning: if you use this option, file gateway only allows connections - // from SMBv2 or SMBv3 clients that have signing enabled. This option works - // with SMB clients on Microsoft Windows Vista, Windows Server 2008 or newer. + // * MandatorySigning: If you use this option, file gateway only allows connections + // from SMBv2 or SMBv3 clients that have signing enabled. This option works + // with SMB clients on Microsoft Windows Vista, Windows Server 2008 or newer. // - // MandatoryEncryption: if you use this option, file gateway only allows connections - // from SMBv3 clients that have encryption enabled. This option is highly recommended - // for environments that handle sensitive data. This option works with SMB clients - // on Microsoft Windows 8, Windows Server 2012 or newer. + // * MandatoryEncryption: If you use this option, file gateway only allows + // connections from SMBv3 clients that have encryption enabled. This option + // is highly recommended for environments that handle sensitive data. This + // option works with SMB clients on Microsoft Windows 8, Windows Server 2012 + // or newer. SMBSecurityStrategy *string `type:"string" enum:"SMBSecurityStrategy"` } @@ -12554,7 +12725,7 @@ type DescribeStorediSCSIVolumesOutput struct { // // * NetworkInterfacePort: The port used to communicate with iSCSI targets. // - // * PreservedExistingData: Indicates if when the stored volume was created, + // * PreservedExistingData: Indicates when the stored volume was created, // existing data on the underlying local disk was preserved. // // * SourceSnapshotId: If the stored volume was created from a snapshot, @@ -12587,7 +12758,7 @@ type DescribeStorediSCSIVolumesOutput struct { // of the volume. // // * VolumeType: One of the enumeration values describing the type of the - // volume. Currently, on STORED volumes are supported. + // volume. Currently, only STORED volumes are supported. StorediSCSIVolumes []*StorediSCSIVolume `type:"list"` } @@ -12682,7 +12853,7 @@ type DescribeTapeArchivesOutput struct { // An array of virtual tape objects in the virtual tape shelf (VTS). The description // includes of the Amazon Resource Name (ARN) of the virtual tapes. The information // returned includes the Amazon Resource Names (ARNs) of the tapes, size of - // the tapes, status of the tapes, progress of the description and tape barcode. + // the tapes, status of the tapes, progress of the description, and tape barcode. TapeArchives []*TapeArchive `type:"list"` } @@ -13280,6 +13451,8 @@ type DetachVolumeInput struct { // Set to true to forcibly remove the iSCSI connection of the target volume // and detach the volume. The default is false. If this value is set to false, // you must manually disconnect the iSCSI connection from the target volume. + // + // Valid Values: true | false ForceDetach *bool `type:"boolean"` // The Amazon Resource Name (ARN) of the volume to detach from the gateway. @@ -13479,7 +13652,9 @@ type Disk struct { DiskAllocationResource *string `type:"string"` // One of the DiskAllocationType enumeration values that identifies how a local - // disk is used. Valid values: UPLOAD_BUFFER, CACHE_STORAGE + // disk is used. + // + // Valid Values: UPLOAD_BUFFER | CACHE_STORAGE DiskAllocationType *string `min:"3" type:"string"` // A list of values that represents attributes of a local disk. @@ -13605,8 +13780,9 @@ type FileShareInfo struct { // The ID of the file share. FileShareId *string `min:"12" type:"string"` - // The status of the file share. Possible values are CREATING, UPDATING, AVAILABLE - // and DELETING. + // The status of the file share. + // + // Valid Values: CREATING | UPDATING | AVAILABLE | DELETING FileShareStatus *string `min:"3" type:"string"` // The type of the file share. @@ -13681,7 +13857,7 @@ type GatewayInfo struct { // The state of the gateway. // - // Valid Values: DISABLED or ACTIVE + // Valid Values: DISABLED | ACTIVE GatewayOperationalState *string `min:"2" type:"string"` // The type of the gateway. @@ -14880,13 +15056,13 @@ func (s *ListVolumesOutput) SetVolumeInfos(v []*VolumeInfo) *ListVolumesOutput { type NFSFileShareDefaults struct { _ struct{} `type:"structure"` - // The Unix directory mode in the form "nnnn". For example, "0666" represents + // The Unix directory mode in the form "nnnn". For example, 0666 represents // the default access mode for all directories inside the file share. The default // value is 0777. DirectoryMode *string `min:"1" type:"string"` - // The Unix file mode in the form "nnnn". For example, "0666" represents the - // default file mode inside the file share. The default value is 0666. + // The Unix file mode in the form "nnnn". For example, 0666 represents the default + // file mode inside the file share. The default value is 0666. FileMode *string `min:"1" type:"string"` // The default group ID for the file share (unless the files have another group @@ -14954,13 +15130,17 @@ func (s *NFSFileShareDefaults) SetOwnerId(v int64) *NFSFileShareDefaults { type NFSFileShareInfo struct { _ struct{} `type:"structure"` + // Refresh cache information. + CacheAttributes *CacheAttributes `type:"structure"` + // The list of clients that are allowed to access the file gateway. The list // must contain either valid IP addresses or valid CIDR blocks. ClientList []*string `min:"1" type:"list"` // The default storage class for objects put into an Amazon S3 bucket by the - // file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. - // If this field is not populated, the default value S3_STANDARD is used. Optional. + // file gateway. The default value is S3_INTELLIGENT_TIERING. Optional. + // + // Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | S3_STANDARD_IA | S3_ONEZONE_IA DefaultStorageClass *string `min:"5" type:"string"` // The Amazon Resource Name (ARN) of the file share. @@ -14969,8 +15149,14 @@ type NFSFileShareInfo struct { // The ID of the file share. FileShareId *string `min:"12" type:"string"` - // The status of the file share. Possible values are CREATING, UPDATING, AVAILABLE - // and DELETING. + // The name of the file share. Optional. + // + // FileShareName must be set if an S3 prefix name is set in LocationARN. + FileShareName *string `min:"1" type:"string"` + + // The status of the file share. + // + // Valid Values: CREATING | UPDATING | AVAILABLE | DELETING FileShareStatus *string `min:"3" type:"string"` // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation @@ -14979,18 +15165,24 @@ type NFSFileShareInfo struct { // A value that enables guessing of the MIME type for uploaded objects based // on file extensions. Set this value to true to enable MIME type guessing, - // and otherwise to false. The default value is true. + // otherwise set to false. The default value is true. + // + // Valid Values: true | false GuessMIMETypeEnabled *bool `type:"boolean"` - // True to use Amazon S3 server-side encryption with your own AWS KMS key, or - // false to use a key managed by Amazon S3. Optional. + // Set to true to use Amazon S3 server-side encryption with your own AWS KMS + // key, or false to use a key managed by Amazon S3. Optional. + // + // Valid Values: true | false KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side - // encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used + // for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` - // The ARN of the backend storage used for storing file data. + // The ARN of the backend storage used for storing file data. A prefix name + // can be added to the S3 bucket name. It must end with a "/". LocationARN *string `min:"16" type:"string"` // Describes Network File System (NFS) file share default values. Files and @@ -15001,25 +15193,30 @@ type NFSFileShareInfo struct { // gateways. NFSFileShareDefaults *NFSFileShareDefaults `type:"structure"` - // A value that sets the access control list permission for objects in the S3 - // bucket that a file gateway puts objects into. The default value is "private". + // A value that sets the access control list (ACL) permission for objects in + // the S3 bucket that a file gateway puts objects into. The default value is + // private. ObjectACL *string `type:"string" enum:"ObjectACL"` // The file share path used by the NFS client to identify the mount point. Path *string `type:"string"` - // A value that sets the write status of a file share. This value is true if - // the write status is read-only, and otherwise false. + // A value that sets the write status of a file share. Set this value to true + // to set the write status to read-only, otherwise set to false. + // + // Valid Values: true | false ReadOnly *bool `type:"boolean"` // A value that sets who pays the cost of the request and the cost associated // with data download from the S3 bucket. If this value is set to true, the - // requester pays the costs. Otherwise the S3 bucket owner pays. However, the + // requester pays the costs; otherwise, the S3 bucket owner pays. However, the // S3 bucket owner always pays the cost of storing data. // // RequesterPays is a configuration for the S3 bucket that backs the file share, // so make sure that the configuration on the file share is the same as the // S3 bucket configuration. + // + // Valid Values: true | false RequesterPays *bool `type:"boolean"` // The ARN of the IAM role that file gateway assumes when it accesses the underlying @@ -15028,11 +15225,11 @@ type NFSFileShareInfo struct { // The user mapped to anonymous user. Valid options are the following: // - // * RootSquash - Only root is mapped to anonymous user. + // * RootSquash: Only root is mapped to anonymous user. // - // * NoSquash - No one is mapped to anonymous user + // * NoSquash: No one is mapped to anonymous user. // - // * AllSquash - Everyone is mapped to anonymous user. + // * AllSquash: Everyone is mapped to anonymous user. Squash *string `min:"5" type:"string"` // A list of up to 50 tags assigned to the NFS file share, sorted alphabetically @@ -15051,6 +15248,12 @@ func (s NFSFileShareInfo) GoString() string { return s.String() } +// SetCacheAttributes sets the CacheAttributes field's value. +func (s *NFSFileShareInfo) SetCacheAttributes(v *CacheAttributes) *NFSFileShareInfo { + s.CacheAttributes = v + return s +} + // SetClientList sets the ClientList field's value. func (s *NFSFileShareInfo) SetClientList(v []*string) *NFSFileShareInfo { s.ClientList = v @@ -15075,6 +15278,12 @@ func (s *NFSFileShareInfo) SetFileShareId(v string) *NFSFileShareInfo { return s } +// SetFileShareName sets the FileShareName field's value. +func (s *NFSFileShareInfo) SetFileShareName(v string) *NFSFileShareInfo { + s.FileShareName = &v + return s +} + // SetFileShareStatus sets the FileShareStatus field's value. func (s *NFSFileShareInfo) SetFileShareStatus(v string) *NFSFileShareInfo { s.FileShareStatus = &v @@ -15289,17 +15498,19 @@ type RefreshCacheInput struct { // A comma-separated list of the paths of folders to refresh in the cache. The // default is ["/"]. The default refreshes objects and folders at the root of - // the Amazon S3 bucket. If Recursive is set to "true", the entire S3 bucket - // that the file share has access to is refreshed. + // the Amazon S3 bucket. If Recursive is set to true, the entire S3 bucket that + // the file share has access to is refreshed. FolderList []*string `min:"1" type:"list"` // A value that specifies whether to recursively refresh folders in the cache. // The refresh includes folders that were in the cache the last time the gateway - // listed the folder's contents. If this value set to "true", each folder that + // listed the folder's contents. If this value set to true, each folder that // is listed in FolderList is recursively updated. Otherwise, subfolders listed // in FolderList are not refreshed. Only objects that are in folders listed // directly under FolderList are found and used for the update. The default - // is "true". + // is true. + // + // Valid Values: true | false Recursive *bool `type:"boolean"` } @@ -15716,20 +15927,30 @@ type SMBFileShareInfo struct { // A list of users or groups in the Active Directory that have administrator // rights to the file share. A group must be prefixed with the @ character. - // For example @group1. Can only be set if Authentication is set to ActiveDirectory. + // Acceptable formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. + // Can only be set if Authentication is set to ActiveDirectory. AdminUserList []*string `type:"list"` // The Amazon Resource Name (ARN) of the storage used for the audit logs. AuditDestinationARN *string `type:"string"` - // The authentication method of the file share. + // The authentication method of the file share. The default is ActiveDirectory. // - // Valid values are ActiveDirectory or GuestAccess. The default is ActiveDirectory. + // Valid Values: ActiveDirectory | GuestAccess Authentication *string `min:"5" type:"string"` + // Refresh cache information. + CacheAttributes *CacheAttributes `type:"structure"` + + // The case of an object name in an Amazon S3 bucket. For ClientSpecified, the + // client determines the case sensitivity. For CaseSensitive, the gateway determines + // the case sensitivity. The default value is ClientSpecified. + CaseSensitivity *string `type:"string" enum:"CaseSensitivity"` + // The default storage class for objects put into an Amazon S3 bucket by the - // file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. - // If this field is not populated, the default value S3_STANDARD is used. Optional. + // file gateway. The default value is S3_INTELLIGENT_TIERING. Optional. + // + // Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | S3_STANDARD_IA | S3_ONEZONE_IA DefaultStorageClass *string `min:"5" type:"string"` // The Amazon Resource Name (ARN) of the file share. @@ -15738,8 +15959,14 @@ type SMBFileShareInfo struct { // The ID of the file share. FileShareId *string `min:"12" type:"string"` - // The status of the file share. Possible values are CREATING, UPDATING, AVAILABLE - // and DELETING. + // The name of the file share. Optional. + // + // FileShareName must be set if an S3 prefix name is set in LocationARN. + FileShareName *string `min:"1" type:"string"` + + // The status of the file share. + // + // Valid Values: CREATING | UPDATING | AVAILABLE | DELETING FileShareStatus *string `min:"3" type:"string"` // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation @@ -15748,56 +15975,69 @@ type SMBFileShareInfo struct { // A value that enables guessing of the MIME type for uploaded objects based // on file extensions. Set this value to true to enable MIME type guessing, - // and otherwise to false. The default value is true. + // otherwise set to false. The default value is true. + // + // Valid Values: true | false GuessMIMETypeEnabled *bool `type:"boolean"` // A list of users or groups in the Active Directory that are not allowed to - // access the file share. A group must be prefixed with the @ character. For - // example @group1. Can only be set if Authentication is set to ActiveDirectory. + // access the file share. A group must be prefixed with the @ character. Acceptable + // formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. Can only + // be set if Authentication is set to ActiveDirectory. InvalidUserList []*string `type:"list"` - // True to use Amazon S3 server-side encryption with your own AWS KMS key, or - // false to use a key managed by Amazon S3. Optional. + // Set to true to use Amazon S3 server-side encryption with your own AWS KMS + // key, or false to use a key managed by Amazon S3. Optional. + // + // Valid Values: true | false KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side - // encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used + // for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` - // The ARN of the backend storage used for storing file data. + // The ARN of the backend storage used for storing file data. A prefix name + // can be added to the S3 bucket name. It must end with a "/". LocationARN *string `min:"16" type:"string"` - // A value that sets the access control list permission for objects in the S3 - // bucket that a file gateway puts objects into. The default value is "private". + // A value that sets the access control list (ACL) permission for objects in + // the S3 bucket that a file gateway puts objects into. The default value is + // private. ObjectACL *string `type:"string" enum:"ObjectACL"` // The file share path used by the SMB client to identify the mount point. Path *string `type:"string"` - // A value that sets the write status of a file share. This value is true if - // the write status is read-only, and otherwise false. + // A value that sets the write status of a file share. Set this value to true + // to set the write status to read-only, otherwise set to false. + // + // Valid Values: true | false ReadOnly *bool `type:"boolean"` // A value that sets who pays the cost of the request and the cost associated // with data download from the S3 bucket. If this value is set to true, the - // requester pays the costs. Otherwise the S3 bucket owner pays. However, the + // requester pays the costs; otherwise, the S3 bucket owner pays. However, the // S3 bucket owner always pays the cost of storing data. // // RequesterPays is a configuration for the S3 bucket that backs the file share, // so make sure that the configuration on the file share is the same as the // S3 bucket configuration. + // + // Valid Values: true | false RequesterPays *bool `type:"boolean"` // The ARN of the IAM role that file gateway assumes when it accesses the underlying // storage. Role *string `min:"20" type:"string"` - // If this value is set to "true", indicates that ACL (access control list) - // is enabled on the SMB file share. If it is set to "false", it indicates that + // If this value is set to true, it indicates that access control list (ACL) + // is enabled on the SMB file share. If it is set to false, it indicates that // file and directory permissions are mapped to the POSIX permission. // - // For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html - // in the Storage Gateway User Guide. + // For more information, see Using Microsoft Windows ACLs to control access + // to an SMB file share (https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html) + // in the AWS Storage Gateway User Guide. SMBACLEnabled *bool `type:"boolean"` // A list of up to 50 tags assigned to the SMB file share, sorted alphabetically @@ -15806,8 +16046,9 @@ type SMBFileShareInfo struct { Tags []*Tag `type:"list"` // A list of users or groups in the Active Directory that are allowed to access - // the file share. A group must be prefixed with the @ character. For example - // @group1. Can only be set if Authentication is set to ActiveDirectory. + // the file share. A group must be prefixed with the @ character. Acceptable + // formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. Can only + // be set if Authentication is set to ActiveDirectory. ValidUserList []*string `type:"list"` } @@ -15839,6 +16080,18 @@ func (s *SMBFileShareInfo) SetAuthentication(v string) *SMBFileShareInfo { return s } +// SetCacheAttributes sets the CacheAttributes field's value. +func (s *SMBFileShareInfo) SetCacheAttributes(v *CacheAttributes) *SMBFileShareInfo { + s.CacheAttributes = v + return s +} + +// SetCaseSensitivity sets the CaseSensitivity field's value. +func (s *SMBFileShareInfo) SetCaseSensitivity(v string) *SMBFileShareInfo { + s.CaseSensitivity = &v + return s +} + // SetDefaultStorageClass sets the DefaultStorageClass field's value. func (s *SMBFileShareInfo) SetDefaultStorageClass(v string) *SMBFileShareInfo { s.DefaultStorageClass = &v @@ -15857,6 +16110,12 @@ func (s *SMBFileShareInfo) SetFileShareId(v string) *SMBFileShareInfo { return s } +// SetFileShareName sets the FileShareName field's value. +func (s *SMBFileShareInfo) SetFileShareName(v string) *SMBFileShareInfo { + s.FileShareName = &v + return s +} + // SetFileShareStatus sets the FileShareStatus field's value. func (s *SMBFileShareInfo) SetFileShareStatus(v string) *SMBFileShareInfo { s.FileShareStatus = &v @@ -16103,7 +16362,7 @@ type SetSMBGuestPasswordInput struct { // GatewayARN is a required field GatewayARN *string `min:"50" type:"string" required:"true"` - // The password that you want to set for your SMB Server. + // The password that you want to set for your SMB server. // // Password is a required field Password *string `min:"6" type:"string" required:"true" sensitive:"true"` @@ -16391,14 +16650,15 @@ type StorediSCSIVolume struct { // don’t have this time stamp. CreatedDate *time.Time `type:"timestamp"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side - // encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used + // for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // Indicates if when the stored volume was created, existing data on the underlying // local disk was preserved. // - // Valid Values: true, false + // Valid Values: true | false PreservedExistingData *bool `type:"boolean"` // If the stored volume was created from a snapshot, this field contains the @@ -16419,7 +16679,7 @@ type StorediSCSIVolume struct { // A value that indicates whether a storage volume is attached to, detached // from, or is in the process of detaching from a gateway. For more information, - // see Moving Your Volumes to a Different Gateway (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#attach-detach-volume). + // see Moving your volumes to a different gateway (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#attach-detach-volume). VolumeAttachmentStatus *string `min:"3" type:"string"` // The ID of the local disk that was specified in the CreateStorediSCSIVolume @@ -16561,11 +16821,11 @@ func (s *StorediSCSIVolume) SetVolumeiSCSIAttributes(v *VolumeiSCSIAttributes) * // A key-value pair that helps you manage, filter, and search for your resource. // Allowed characters: letters, white space, and numbers, representable in UTF-8, -// and the following characters: + - = . _ : / +// and the following characters: + - = . _ : /. type Tag struct { _ struct{} `type:"structure"` - // Tag key (String). The key can't start with aws:. + // Tag key. The key can't start with aws:. // // Key is a required field Key *string `min:"1" type:"string" required:"true"` @@ -16621,17 +16881,18 @@ func (s *Tag) SetValue(v string) *Tag { type Tape struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side - // encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used + // for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The ID of the pool that contains tapes that will be archived. The tapes in // this pool are archived in the S3 storage class that is associated with the // pool. When you use your backup application to eject the tape, the tape is - // archived directly into the storage class (S3 Glacier or S# Glacier Deep Archive) + // archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) // that corresponds to the pool. // - // Valid values: "GLACIER", "DEEP_ARCHIVE" + // Valid Values: GLACIER | DEEP_ARCHIVE PoolId *string `min:"1" type:"string"` // For archiving virtual tapes, indicates how much data remains to be uploaded @@ -16745,14 +17006,15 @@ type TapeArchive struct { // format. CompletionTime *time.Time `type:"timestamp"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side - // encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used + // for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The ID of the pool that was used to archive the tape. The tapes in this pool // are archived in the S3 storage class that is associated with the pool. // - // Valid values: "GLACIER", "DEEP_ARCHIVE" + // Valid Values: GLACIER | DEEP_ARCHIVE PoolId *string `min:"1" type:"string"` // The Amazon Resource Name (ARN) of the tape gateway that the virtual tape @@ -16866,7 +17128,7 @@ type TapeInfo struct { // is archived directly into the storage class (S3 Glacier or S3 Glacier Deep // Archive) that corresponds to the pool. // - // Valid values: "GLACIER", "DEEP_ARCHIVE" + // Valid Values: GLACIER | DEEP_ARCHIVE PoolId *string `min:"1" type:"string"` // The Amazon Resource Name (ARN) of a virtual tape. @@ -17320,7 +17582,7 @@ type UpdateGatewayInformationInput struct { // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that you // want to use to monitor and log events in the gateway. // - // For more information, see What Is Amazon CloudWatch Logs? (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html). + // For more information, see What is Amazon CloudWatch logs? (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html). CloudWatchLogGroupARN *string `type:"string"` // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation @@ -17392,7 +17654,8 @@ func (s *UpdateGatewayInformationInput) SetGatewayTimezone(v string) *UpdateGate return s } -// A JSON object containing the ARN of the gateway that was updated. +// A JSON object containing the Amazon Resource Name (ARN) of the gateway that +// was updated. type UpdateGatewayInformationOutput struct { _ struct{} `type:"structure"` @@ -17511,8 +17774,6 @@ type UpdateMaintenanceStartTimeInput struct { // The day of the month component of the maintenance start time represented // as an ordinal number from 1 to 28, where 1 represents the first day of the // month and 28 represents the last day of the month. - // - // This value is only available for tape and volume gateways. DayOfMonth *int64 `min:"1" type:"integer"` // The day of the week component of the maintenance start time week represented @@ -17635,13 +17896,17 @@ func (s *UpdateMaintenanceStartTimeOutput) SetGatewayARN(v string) *UpdateMainte type UpdateNFSFileShareInput struct { _ struct{} `type:"structure"` + // Refresh cache information. + CacheAttributes *CacheAttributes `type:"structure"` + // The list of clients that are allowed to access the file gateway. The list // must contain either valid IP addresses or valid CIDR blocks. ClientList []*string `min:"1" type:"list"` // The default storage class for objects put into an Amazon S3 bucket by the - // file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. - // If this field is not populated, the default value S3_STANDARD is used. Optional. + // file gateway. The default value is S3_INTELLIGENT_TIERING. Optional. + // + // Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | S3_STANDARD_IA | S3_ONEZONE_IA DefaultStorageClass *string `min:"5" type:"string"` // The Amazon Resource Name (ARN) of the file share to be updated. @@ -17649,47 +17914,64 @@ type UpdateNFSFileShareInput struct { // FileShareARN is a required field FileShareARN *string `min:"50" type:"string" required:"true"` + // The name of the file share. Optional. + // + // FileShareName must be set if an S3 prefix name is set in LocationARN. + FileShareName *string `min:"1" type:"string"` + // A value that enables guessing of the MIME type for uploaded objects based // on file extensions. Set this value to true to enable MIME type guessing, - // and otherwise to false. The default value is true. + // otherwise set to false. The default value is true. + // + // Valid Values: true | false GuessMIMETypeEnabled *bool `type:"boolean"` - // True to use Amazon S3 server-side encryption with your own AWS KMS key, or - // false to use a key managed by Amazon S3. Optional. + // Set to true to use Amazon S3 server-side encryption with your own AWS KMS + // key, or false to use a key managed by Amazon S3. Optional. + // + // Valid Values: true | false KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side - // encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used + // for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` // The default values for the file share. Optional. NFSFileShareDefaults *NFSFileShareDefaults `type:"structure"` - // A value that sets the access control list permission for objects in the S3 - // bucket that a file gateway puts objects into. The default value is "private". + // A value that sets the access control list (ACL) permission for objects in + // the S3 bucket that a file gateway puts objects into. The default value is + // private. ObjectACL *string `type:"string" enum:"ObjectACL"` - // A value that sets the write status of a file share. This value is true if - // the write status is read-only, and otherwise false. + // A value that sets the write status of a file share. Set this value to true + // to set the write status to read-only, otherwise set to false. + // + // Valid Values: true | false ReadOnly *bool `type:"boolean"` // A value that sets who pays the cost of the request and the cost associated // with data download from the S3 bucket. If this value is set to true, the - // requester pays the costs. Otherwise the S3 bucket owner pays. However, the + // requester pays the costs; otherwise, the S3 bucket owner pays. However, the // S3 bucket owner always pays the cost of storing data. // // RequesterPays is a configuration for the S3 bucket that backs the file share, // so make sure that the configuration on the file share is the same as the // S3 bucket configuration. + // + // Valid Values: true | false RequesterPays *bool `type:"boolean"` - // The user mapped to anonymous user. Valid options are the following: + // The user mapped to anonymous user. + // + // Valid values are the following: // - // * RootSquash - Only root is mapped to anonymous user. + // * RootSquash: Only root is mapped to anonymous user. // - // * NoSquash - No one is mapped to anonymous user + // * NoSquash: No one is mapped to anonymous user. // - // * AllSquash - Everyone is mapped to anonymous user. + // * AllSquash: Everyone is mapped to anonymous user. Squash *string `min:"5" type:"string"` } @@ -17718,6 +18000,9 @@ func (s *UpdateNFSFileShareInput) Validate() error { if s.FileShareARN != nil && len(*s.FileShareARN) < 50 { invalidParams.Add(request.NewErrParamMinLen("FileShareARN", 50)) } + if s.FileShareName != nil && len(*s.FileShareName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileShareName", 1)) + } if s.KMSKey != nil && len(*s.KMSKey) < 7 { invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7)) } @@ -17736,6 +18021,12 @@ func (s *UpdateNFSFileShareInput) Validate() error { return nil } +// SetCacheAttributes sets the CacheAttributes field's value. +func (s *UpdateNFSFileShareInput) SetCacheAttributes(v *CacheAttributes) *UpdateNFSFileShareInput { + s.CacheAttributes = v + return s +} + // SetClientList sets the ClientList field's value. func (s *UpdateNFSFileShareInput) SetClientList(v []*string) *UpdateNFSFileShareInput { s.ClientList = v @@ -17754,6 +18045,12 @@ func (s *UpdateNFSFileShareInput) SetFileShareARN(v string) *UpdateNFSFileShareI return s } +// SetFileShareName sets the FileShareName field's value. +func (s *UpdateNFSFileShareInput) SetFileShareName(v string) *UpdateNFSFileShareInput { + s.FileShareName = &v + return s +} + // SetGuessMIMETypeEnabled sets the GuessMIMETypeEnabled field's value. func (s *UpdateNFSFileShareInput) SetGuessMIMETypeEnabled(v bool) *UpdateNFSFileShareInput { s.GuessMIMETypeEnabled = &v @@ -17830,17 +18127,27 @@ func (s *UpdateNFSFileShareOutput) SetFileShareARN(v string) *UpdateNFSFileShare type UpdateSMBFileShareInput struct { _ struct{} `type:"structure"` - // A list of users in the Active Directory that have administrator rights to - // the file share. A group must be prefixed with the @ character. For example - // @group1. Can only be set if Authentication is set to ActiveDirectory. + // A list of users or groups in the Active Directory that have administrator + // rights to the file share. A group must be prefixed with the @ character. + // Acceptable formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. + // Can only be set if Authentication is set to ActiveDirectory. AdminUserList []*string `type:"list"` // The Amazon Resource Name (ARN) of the storage used for the audit logs. AuditDestinationARN *string `type:"string"` + // Refresh cache information. + CacheAttributes *CacheAttributes `type:"structure"` + + // The case of an object name in an Amazon S3 bucket. For ClientSpecified, the + // client determines the case sensitivity. For CaseSensitive, the gateway determines + // the case sensitivity. The default value is ClientSpecified. + CaseSensitivity *string `type:"string" enum:"CaseSensitivity"` + // The default storage class for objects put into an Amazon S3 bucket by the - // file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. - // If this field is not populated, the default value S3_STANDARD is used. Optional. + // file gateway. The default value is S3_INTELLIGENT_TIERING. Optional. + // + // Valid Values: S3_STANDARD | S3_INTELLIGENT_TIERING | S3_STANDARD_IA | S3_ONEZONE_IA DefaultStorageClass *string `min:"5" type:"string"` // The Amazon Resource Name (ARN) of the SMB file share that you want to update. @@ -17848,53 +18155,73 @@ type UpdateSMBFileShareInput struct { // FileShareARN is a required field FileShareARN *string `min:"50" type:"string" required:"true"` + // The name of the file share. Optional. + // + // FileShareName must be set if an S3 prefix name is set in LocationARN. + FileShareName *string `min:"1" type:"string"` + // A value that enables guessing of the MIME type for uploaded objects based // on file extensions. Set this value to true to enable MIME type guessing, - // and otherwise to false. The default value is true. + // otherwise set to false. The default value is true. + // + // Valid Values: true | false GuessMIMETypeEnabled *bool `type:"boolean"` // A list of users or groups in the Active Directory that are not allowed to - // access the file share. A group must be prefixed with the @ character. For - // example @group1. Can only be set if Authentication is set to ActiveDirectory. + // access the file share. A group must be prefixed with the @ character. Acceptable + // formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. Can only + // be set if Authentication is set to ActiveDirectory. InvalidUserList []*string `type:"list"` - // True to use Amazon S3 server-side encryption with your own AWS KMS key, or - // false to use a key managed by Amazon S3. Optional. + // Set to true to use Amazon S3 server-side encryption with your own AWS KMS + // key, or false to use a key managed by Amazon S3. Optional. + // + // Valid Values: true | false KMSEncrypted *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side - // encryption. This value can only be set when KMSEncrypted is true. Optional. + // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used + // for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric + // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` - // A value that sets the access control list permission for objects in the S3 - // bucket that a file gateway puts objects into. The default value is "private". + // A value that sets the access control list (ACL) permission for objects in + // the S3 bucket that a file gateway puts objects into. The default value is + // private. ObjectACL *string `type:"string" enum:"ObjectACL"` - // A value that sets the write status of a file share. This value is true if - // the write status is read-only, and otherwise false. + // A value that sets the write status of a file share. Set this value to true + // to set write status to read-only, otherwise set to false. + // + // Valid Values: true | false ReadOnly *bool `type:"boolean"` // A value that sets who pays the cost of the request and the cost associated // with data download from the S3 bucket. If this value is set to true, the - // requester pays the costs. Otherwise the S3 bucket owner pays. However, the + // requester pays the costs; otherwise, the S3 bucket owner pays. However, the // S3 bucket owner always pays the cost of storing data. // // RequesterPays is a configuration for the S3 bucket that backs the file share, // so make sure that the configuration on the file share is the same as the // S3 bucket configuration. + // + // Valid Values: true | false RequesterPays *bool `type:"boolean"` - // Set this value to "true to enable ACL (access control list) on the SMB file - // share. Set it to "false" to map file and directory permissions to the POSIX + // Set this value to true to enable access control list (ACL) on the SMB file + // share. Set it to false to map file and directory permissions to the POSIX // permissions. // - // For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.htmlin - // the Storage Gateway User Guide. + // For more information, see Using Microsoft Windows ACLs to control access + // to an SMB file share (https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html) + // in the AWS Storage Gateway User Guide. + // + // Valid Values: true | false SMBACLEnabled *bool `type:"boolean"` // A list of users or groups in the Active Directory that are allowed to access - // the file share. A group must be prefixed with the @ character. For example - // @group1. Can only be set if Authentication is set to ActiveDirectory. + // the file share. A group must be prefixed with the @ character. Acceptable + // formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. Can only + // be set if Authentication is set to ActiveDirectory. ValidUserList []*string `type:"list"` } @@ -17920,6 +18247,9 @@ func (s *UpdateSMBFileShareInput) Validate() error { if s.FileShareARN != nil && len(*s.FileShareARN) < 50 { invalidParams.Add(request.NewErrParamMinLen("FileShareARN", 50)) } + if s.FileShareName != nil && len(*s.FileShareName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileShareName", 1)) + } if s.KMSKey != nil && len(*s.KMSKey) < 7 { invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7)) } @@ -17942,6 +18272,18 @@ func (s *UpdateSMBFileShareInput) SetAuditDestinationARN(v string) *UpdateSMBFil return s } +// SetCacheAttributes sets the CacheAttributes field's value. +func (s *UpdateSMBFileShareInput) SetCacheAttributes(v *CacheAttributes) *UpdateSMBFileShareInput { + s.CacheAttributes = v + return s +} + +// SetCaseSensitivity sets the CaseSensitivity field's value. +func (s *UpdateSMBFileShareInput) SetCaseSensitivity(v string) *UpdateSMBFileShareInput { + s.CaseSensitivity = &v + return s +} + // SetDefaultStorageClass sets the DefaultStorageClass field's value. func (s *UpdateSMBFileShareInput) SetDefaultStorageClass(v string) *UpdateSMBFileShareInput { s.DefaultStorageClass = &v @@ -17954,6 +18296,12 @@ func (s *UpdateSMBFileShareInput) SetFileShareARN(v string) *UpdateSMBFileShareI return s } +// SetFileShareName sets the FileShareName field's value. +func (s *UpdateSMBFileShareInput) SetFileShareName(v string) *UpdateSMBFileShareInput { + s.FileShareName = &v + return s +} + // SetGuessMIMETypeEnabled sets the GuessMIMETypeEnabled field's value. func (s *UpdateSMBFileShareInput) SetGuessMIMETypeEnabled(v bool) *UpdateSMBFileShareInput { s.GuessMIMETypeEnabled = &v @@ -18277,7 +18625,7 @@ type UpdateVTLDeviceTypeInput struct { // The type of medium changer you want to select. // - // Valid Values: "STK-L700", "AWS-Gateway-VTL" + // Valid Values: STK-L700 | AWS-Gateway-VTL // // DeviceType is a required field DeviceType *string `min:"2" type:"string" required:"true"` @@ -18662,6 +19010,14 @@ const ( AvailabilityMonitorTestStatusPending = "PENDING" ) +const ( + // CaseSensitivityClientSpecified is a CaseSensitivity enum value + CaseSensitivityClientSpecified = "ClientSpecified" + + // CaseSensitivityCaseSensitive is a CaseSensitivity enum value + CaseSensitivityCaseSensitive = "CaseSensitive" +) + const ( // ErrorCodeActivationKeyExpired is a ErrorCode enum value ErrorCodeActivationKeyExpired = "ActivationKeyExpired" @@ -18876,8 +19232,9 @@ const ( HostEnvironmentOther = "OTHER" ) -// A value that sets the access control list permission for objects in the S3 -// bucket that a file gateway puts objects into. The default value is "private". +// A value that sets the access control list (ACL) permission for objects in +// the S3 bucket that a file gateway puts objects into. The default value is +// private. const ( // ObjectACLPrivate is a ObjectACL enum value ObjectACLPrivate = "private" diff --git a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go index 61d492bc29b..773ea9ee1c5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go @@ -12,15 +12,15 @@ // Use the following links to get started using the AWS Storage Gateway Service // API Reference: // -// * AWS Storage Gateway Required Request Headers (https://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#AWSStorageGatewayHTTPRequestsHeaders): +// * AWS Storage Gateway required request headers (https://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#AWSStorageGatewayHTTPRequestsHeaders): // Describes the required headers that you must send with every POST request // to AWS Storage Gateway. // -// * Signing Requests (https://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#AWSStorageGatewaySigningRequests): +// * Signing requests (https://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#AWSStorageGatewaySigningRequests): // AWS Storage Gateway requires that you authenticate every request you send; // this topic describes how sign such a request. // -// * Error Responses (https://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#APIErrorResponses): +// * Error responses (https://docs.aws.amazon.com/storagegateway/latest/userguide/AWSStorageGatewayAPI.html#APIErrorResponses): // Provides reference information about AWS Storage Gateway errors. // // * Operations in AWS Storage Gateway (https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_Operations.html): @@ -28,7 +28,7 @@ // their request parameters, response elements, possible errors, and examples // of requests and responses. // -// * AWS Storage Gateway Regions and Endpoints: (http://docs.aws.amazon.com/general/latest/gr/rande.html#sg_region) +// * AWS Storage Gateway endpoints and quotas: (https://docs.aws.amazon.com/general/latest/gr/sg.html) // Provides a list of each AWS Region and the endpoints available for use // with AWS Storage Gateway. // @@ -44,7 +44,7 @@ // volumes and snapshots will be created with a 17-character string. Starting // in April 2016, you will be able to use these longer IDs so you can test your // systems with the new format. For more information, see Longer EC2 and EBS -// Resource IDs (https://aws.amazon.com/ec2/faqs/#longer-ids). +// resource IDs (http://aws.amazon.com/ec2/faqs/#longer-ids). // // For example, a volume Amazon Resource Name (ARN) with the longer volume ID // format looks like the following: @@ -54,7 +54,7 @@ // A snapshot ID with the longer ID format looks like the following: snap-78e226633445566ee. // // For more information, see Announcement: Heads-up – Longer AWS Storage Gateway -// volume and snapshot IDs coming in 2016 (https://forums.aws.amazon.com/ann.jspa?annID=3557). +// volume and snapshot IDs coming in 2016 (http://forums.aws.amazon.com/ann.jspa?annID=3557). // // See https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30 for more information on this service. // diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go index 7f60d4aa185..550b5f687f9 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go @@ -1788,7 +1788,7 @@ type AssumeRoleWithSAMLInput struct { // in the IAM User Guide. // // SAMLAssertion is a required field - SAMLAssertion *string `min:"4" type:"string" required:"true"` + SAMLAssertion *string `min:"4" type:"string" required:"true" sensitive:"true"` } // String returns the string representation @@ -2100,7 +2100,7 @@ type AssumeRoleWithWebIdentityInput struct { // the application makes an AssumeRoleWithWebIdentity call. // // WebIdentityToken is a required field - WebIdentityToken *string `min:"4" type:"string" required:"true"` + WebIdentityToken *string `min:"4" type:"string" required:"true" sensitive:"true"` } // String returns the string representation diff --git a/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go b/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go index 2bb9c8f3628..3a9fc512c6c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/transfer/api.go @@ -2061,6 +2061,33 @@ type CreateServerInput struct { // The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. // Required when Protocols is set to FTPS. + // + // To request a new public certificate, see Request a public certificate (https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) + // in the AWS Certificate Manager User Guide. + // + // To import an existing certificate into ACM, see Importing certificates into + // ACM (https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) + // in the AWS Certificate Manager User Guide. + // + // To request a private certificate to use FTPS through private IP addresses, + // see Request a private certificate (https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) + // in the AWS Certificate Manager User Guide. + // + // Certificates with the following cryptographic algorithms and key sizes are + // supported: + // + // * 2048-bit RSA (RSA_2048) + // + // * 4096-bit RSA (RSA_4096) + // + // * Elliptic Prime Curve 256 bit (EC_prime256v1) + // + // * Elliptic Prime Curve 384 bit (EC_secp384r1) + // + // * Elliptic Prime Curve 521 bit (EC_secp521r1) + // + // The certificate must be a valid SSL/TLS X.509 version 3 certificate with + // FQDN or IP address specified and information about the issuer. Certificate *string `type:"string"` // The virtual private cloud (VPC) endpoint settings that are configured for @@ -2072,19 +2099,25 @@ type CreateServerInput struct { // The type of VPC endpoint that you want your file transfer protocol-enabled // server to connect to. You can choose to connect to the public internet or - // a virtual private cloud (VPC) endpoint. With a VPC endpoint, you can restrict - // access to your server and resources only within your VPC. + // a VPC endpoint. With a VPC endpoint, you can restrict access to your server + // and resources only within your VPC. + // + // It is recommended that you use VPC as the EndpointType. With this endpoint + // type, you have the option to directly associate up to three Elastic IPv4 + // addresses (BYO IP included) with your server's endpoint and use VPC security + // groups to restrict traffic by the client's public IP address. This is not + // possible with EndpointType set to VPC_ENDPOINT. EndpointType *string `type:"string" enum:"EndpointType"` - // The RSA private key as generated by the ssh-keygen -N "" -f my-new-server-key + // The RSA private key as generated by the ssh-keygen -N "" -m PEM -f my-new-server-key // command. // // If you aren't planning to migrate existing users from an existing SFTP-enabled // server to a new server, don't update the host key. Accidentally changing // a server's host key can be disruptive. // - // For more information, see Changing the Host Key for Your AWS Transfer Family - // Server (https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key) + // For more information, see Change the host key for your SFTP-enabled server + // (https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key) // in the AWS Transfer Family User Guide. HostKey *string `type:"string" sensitive:"true"` @@ -2110,12 +2143,24 @@ type CreateServerInput struct { // protocol client can connect to your server's endpoint. The available protocols // are: // - // * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over + // * SFTP (Secure Shell (SSH) File Transfer Protocol): File transfer over // SSH // - // * File Transfer Protocol Secure (FTPS): File transfer with TLS encryption + // * FTPS (File Transfer Protocol Secure): File transfer with TLS encryption // - // * File Transfer Protocol (FTP): Unencrypted file transfer + // * FTP (File Transfer Protocol): Unencrypted file transfer + // + // If you select FTPS, you must choose a certificate stored in AWS Certificate + // Manager (ACM) which will be used to identify your server when clients connect + // to it over FTPS. + // + // If Protocol includes either FTP or FTPS, then the EndpointType must be VPC + // and the IdentityProviderType must be API_GATEWAY. + // + // If Protocol includes FTP, then AddressAllocationIds cannot be associated. + // + // If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and + // the IdentityProviderType can be set to SERVICE_MANAGED. Protocols []*string `min:"1" type:"list"` // Key-value pairs that can be used to group and search for file transfer protocol-enabled @@ -2258,7 +2303,7 @@ type CreateUserInput struct { // The landing directory (folder) for a user when they log in to the file transfer // protocol-enabled server using the client. // - // An example is your-Amazon-S3-bucket-name>/home/username. + // An example is your-Amazon-S3-bucket-name>/home/username . HomeDirectory *string `type:"string"` // Logical directory mappings that specify what Amazon S3 paths and keys should @@ -2266,8 +2311,7 @@ type CreateUserInput struct { // to specify the "Entry" and "Target" pair, where Entry shows how the path // is made visible and Target is the actual Amazon S3 path. If you only specify // a target, it will be displayed as is. You will need to also make sure that - // your AWS IAM Role provides access to paths in Target. The following is an - // example. + // your IAM role provides access to paths in Target. The following is an example. // // '[ "/bucket2/documentation", { "Entry": "your-personal-report.pdf", "Target": // "/bucket3/customized-reports/${transfer:UserName}.pdf" } ]' @@ -2302,7 +2346,7 @@ type CreateUserInput struct { // blob, instead of the Amazon Resource Name (ARN) of the policy. You save the // policy as a JSON blob and pass it in the Policy argument. // - // For an example of a scope-down policy, see Creating a Scope-Down Policy (https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down). + // For an example of a scope-down policy, see Creating a scope-down policy (https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down). // // For more information, see AssumeRole (https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) // in the AWS Security Token Service API Reference. @@ -2887,8 +2931,10 @@ func (s *DescribeUserOutput) SetUser(v *DescribedUser) *DescribeUserOutput { // Describes the properties of a file transfer protocol-enabled server that // was specified. Information returned includes the following: the server Amazon -// Resource Name (ARN), the authentication configuration and type, the logging -// role, the server ID and state, and assigned tags or metadata. +// Resource Name (ARN), the certificate ARN (if the FTPS protocol was selected), +// the endpoint type and details, the authentication configuration and type, +// the logging role, the file transfer protocol or protocols, the server ID +// and state, and assigned tags or metadata. type DescribedServer struct { _ struct{} `type:"structure"` @@ -2898,22 +2944,22 @@ type DescribedServer struct { // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` - // The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. - // Required when Protocols is set to FTPS. + // Specifies the ARN of the AWS Certificate Manager (ACM) certificate. Required + // when Protocols is set to FTPS. Certificate *string `type:"string"` - // The virtual private cloud (VPC) endpoint settings that you configured for - // your file transfer protocol-enabled server. + // Specifies the virtual private cloud (VPC) endpoint settings that you configured + // for your file transfer protocol-enabled server. EndpointDetails *EndpointDetails `type:"structure"` - // The type of endpoint that your file transfer protocol-enabled server is connected - // to. If your server is connected to a VPC endpoint, your server isn't accessible - // over the public internet. + // Defines the type of endpoint that your file transfer protocol-enabled server + // is connected to. If your server is connected to a VPC endpoint, your server + // isn't accessible over the public internet. EndpointType *string `type:"string" enum:"EndpointType"` - // Contains the message-digest algorithm (MD5) hash of a file transfer protocol-enabled - // server's host key. This value is equivalent to the output of the ssh-keygen - // -l -E md5 -f my-new-server-key command. + // Specifies the Base64-encoded SHA256 fingerprint of the server's host key. + // This value is equivalent to the output of the ssh-keygen -l -f my-new-server-key + // command. HostKeyFingerprint *string `type:"string"` // Specifies information to call a customer-supplied authentication API. This @@ -2921,50 +2967,51 @@ type DescribedServer struct { // server is SERVICE_MANAGED. IdentityProviderDetails *IdentityProviderDetails `type:"structure"` - // Defines the mode of authentication method enabled for this service. A value + // Specifies the mode of authentication method enabled for this service. A value // of SERVICE_MANAGED means that you are using this file transfer protocol-enabled // server to store and access user credentials within the service. A value of // API_GATEWAY indicates that you have integrated an API Gateway endpoint that // will be invoked for authenticating your user into the service. IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` - // An AWS Identity and Access Management (IAM) entity that allows a file transfer - // protocol-enabled server to turn on Amazon CloudWatch logging for Amazon S3 - // events. When set, user activity can be viewed in your CloudWatch logs. + // Specifies the AWS Identity and Access Management (IAM) role that allows a + // file transfer protocol-enabled server to turn on Amazon CloudWatch logging + // for Amazon S3 events. When set, user activity can be viewed in your CloudWatch + // logs. LoggingRole *string `min:"20" type:"string"` // Specifies the file transfer protocol or protocols over which your file transfer // protocol client can connect to your server's endpoint. The available protocols // are: // - // * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over + // * SFTP (Secure Shell (SSH) File Transfer Protocol): File transfer over // SSH // - // * File Transfer Protocol Secure (FTPS): File transfer with TLS encryption + // * FTPS (File Transfer Protocol Secure): File transfer with TLS encryption // - // * File Transfer Protocol (FTP): Unencrypted file transfer + // * FTP (File Transfer Protocol): Unencrypted file transfer Protocols []*string `min:"1" type:"list"` - // Unique system-assigned identifier for a file transfer protocol-enabled server - // that you instantiate. + // Specifies the unique system-assigned identifier for a file transfer protocol-enabled + // server that you instantiate. ServerId *string `min:"19" type:"string"` - // The condition of a file transfer protocol-enabled server for the server that - // was described. A value of ONLINE indicates that the server can accept jobs - // and transfer files. A State value of OFFLINE means that the server cannot - // perform file transfer operations. + // Specifies the condition of a file transfer protocol-enabled server for the + // server that was described. A value of ONLINE indicates that the server can + // accept jobs and transfer files. A State value of OFFLINE means that the server + // cannot perform file transfer operations. // // The states of STARTING and STOPPING indicate that the server is in an intermediate // state, either not fully able to respond, or not fully offline. The values // of START_FAILED or STOP_FAILED can indicate an error condition. State *string `type:"string" enum:"State"` - // Contains the key-value pairs that you can use to search for and group file + // Specifies the key-value pairs that you can use to search for and group file // transfer protocol-enabled servers that were assigned to the server that was // described. Tags []*Tag `min:"1" type:"list"` - // The number of users that are assigned to a file transfer protocol-enabled + // Specifies the number of users that are assigned to a file transfer protocol-enabled // server you specified with the ServerId. UserCount *int64 `type:"integer"` } @@ -3061,35 +3108,36 @@ func (s *DescribedServer) SetUserCount(v int64) *DescribedServer { type DescribedUser struct { _ struct{} `type:"structure"` - // Contains the unique Amazon Resource Name (ARN) for the user that was requested + // Specifies the unique Amazon Resource Name (ARN) for the user that was requested // to be described. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` // Specifies the landing directory (or folder), which is the location that files - // are written to or read from in an Amazon S3 bucket for the described user. - // An example is /your s3 bucket name/home/username . + // are written to or read from in an Amazon S3 bucket, for the described user. + // An example is your-Amazon-S3-bucket-name>/home/username . HomeDirectory *string `type:"string"` - // Logical directory mappings that you specified for what Amazon S3 paths and - // keys should be visible to your user and how you want to make them visible. + // Specifies the logical directory mappings that specify what Amazon S3 paths + // and keys should be visible to your user and how you want to make them visible. // You will need to specify the "Entry" and "Target" pair, where Entry shows // how the path is made visible and Target is the actual Amazon S3 path. If // you only specify a target, it will be displayed as is. You will need to also - // make sure that your AWS IAM Role provides access to paths in Target. + // make sure that your AWS Identity and Access Management (IAM) role provides + // access to paths in Target. // // In most cases, you can use this value instead of the scope-down policy to // lock your user down to the designated home directory ("chroot"). To do this, // you can set Entry to '/' and set Target to the HomeDirectory parameter value. HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` - // The type of landing directory (folder) you mapped for your users to see when - // they log into the file transfer protocol-enabled server. If you set it to - // PATH, the user will see the absolute Amazon S3 bucket paths as is in their - // file transfer protocol clients. If you set it LOGICAL, you will need to provide - // mappings in the HomeDirectoryMappings for how you want to make Amazon S3 - // paths visible to your users. + // Specifies the type of landing directory (folder) you mapped for your users + // to see when they log into the file transfer protocol-enabled server. If you + // set it to PATH, the user will see the absolute Amazon S3 bucket paths as + // is in their file transfer protocol clients. If you set it LOGICAL, you will + // need to provide mappings in the HomeDirectoryMappings for how you want to + // make Amazon S3 paths visible to your users. HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` // Specifies the name of the policy in use for the described user. @@ -3103,17 +3151,17 @@ type DescribedUser struct { // when servicing your users' transfer requests. Role *string `min:"20" type:"string"` - // Contains the public key portion of the Secure Shell (SSH) keys stored for + // Specifies the public key portion of the Secure Shell (SSH) keys stored for // the described user. SshPublicKeys []*SshPublicKey `type:"list"` - // Contains the key-value pairs for the user requested. Tag can be used to search - // for and group users for a variety of purposes. + // Specifies the key-value pairs for the user requested. Tag can be used to + // search for and group users for a variety of purposes. Tags []*Tag `min:"1" type:"list"` - // The name of the user that was requested to be described. User names are used - // for authentication purposes. This is the string that will be used by your - // user when they log in to your file transfer protocol-enabled server. + // Specifies the name of the user that was requested to be described. User names + // are used for authentication purposes. This is the string that will be used + // by your user when they log in to your file transfer protocol-enabled server. UserName *string `min:"3" type:"string"` } @@ -3198,13 +3246,19 @@ type EndpointDetails struct { // A list of subnet IDs that are required to host your file transfer protocol-enabled // server endpoint in your VPC. + // + // This property can only be used when EndpointType is set to VPC. SubnetIds []*string `type:"list"` // The ID of the VPC endpoint. + // + // This property can only be used when EndpointType is set to VPC_ENDPOINT. VpcEndpointId *string `min:"22" type:"string"` // The VPC ID of the VPC in which a file transfer protocol-enabled server's // endpoint will be hosted. + // + // This property can only be used when EndpointType is set to VPC. VpcId *string `type:"string"` } @@ -3317,7 +3371,7 @@ type IdentityProviderDetails struct { // Provides the type of InvocationRole used to authenticate the user account. InvocationRole *string `min:"20" type:"string"` - // Contains the location of the service endpoint used to authenticate users. + // Provides the location of the service endpoint used to authenticate users. Url *string `type:"string"` } @@ -3974,32 +4028,32 @@ func (s *ListUsersOutput) SetUsers(v []*ListedUser) *ListUsersOutput { type ListedServer struct { _ struct{} `type:"structure"` - // The unique Amazon Resource Name (ARN) for a file transfer protocol-enabled + // Specifies the unique Amazon Resource Name (ARN) for a file transfer protocol-enabled // server to be listed. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` - // The type of VPC endpoint that your file transfer protocol-enabled server - // is connected to. If your server is connected to a VPC endpoint, your server - // isn't accessible over the public internet. + // Specifies the type of VPC endpoint that your file transfer protocol-enabled + // server is connected to. If your server is connected to a VPC endpoint, your + // server isn't accessible over the public internet. EndpointType *string `type:"string" enum:"EndpointType"` - // The authentication method used to validate a user for a file transfer protocol-enabled - // server that was specified. This can include Secure Shell (SSH), user name - // and password combinations, or your own custom authentication method. Valid - // values include SERVICE_MANAGED or API_GATEWAY. + // Specifies the authentication method used to validate a user for a file transfer + // protocol-enabled server that was specified. This can include Secure Shell + // (SSH), user name and password combinations, or your own custom authentication + // method. Valid values include SERVICE_MANAGED or API_GATEWAY. IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` - // The AWS Identity and Access Management (IAM) entity that allows a file transfer - // protocol-enabled server to turn on Amazon CloudWatch logging. + // Specifies the AWS Identity and Access Management (IAM) role that allows a + // file transfer protocol-enabled server to turn on Amazon CloudWatch logging. LoggingRole *string `min:"20" type:"string"` - // The unique system assigned identifier for a file transfer protocol-enabled + // Specifies the unique system assigned identifier for a file transfer protocol-enabled // servers that were listed. ServerId *string `min:"19" type:"string"` - // Describes the condition of a file transfer protocol-enabled server for the + // Specifies the condition of a file transfer protocol-enabled server for the // server that was described. A value of ONLINE indicates that the server can // accept jobs and transfer files. A State value of OFFLINE means that the server // cannot perform file transfer operations. @@ -4009,8 +4063,8 @@ type ListedServer struct { // of START_FAILED or STOP_FAILED can indicate an error condition. State *string `type:"string" enum:"State"` - // A numeric value that indicates the number of users that are assigned to a - // file transfer protocol-enabled server you specified with the ServerId. + // Specifies the number of users that are assigned to a file transfer protocol-enabled + // server you specified with the ServerId. UserCount *int64 `type:"integer"` } @@ -4070,8 +4124,8 @@ func (s *ListedServer) SetUserCount(v int64) *ListedServer { type ListedUser struct { _ struct{} `type:"structure"` - // The unique Amazon Resource Name (ARN) for the user that you want to learn - // about. + // Provides the unique Amazon Resource Name (ARN) for the user that you want + // to learn about. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` @@ -4080,25 +4134,25 @@ type ListedUser struct { // bucket for the user you specify by their ARN. HomeDirectory *string `type:"string"` - // The type of landing directory (folder) you mapped for your users' home directory. - // If you set it to PATH, the user will see the absolute Amazon S3 bucket paths - // as is in their file transfer protocol clients. If you set it LOGICAL, you - // will need to provide mappings in the HomeDirectoryMappings for how you want - // to make Amazon S3 paths visible to your users. + // Specifies the type of landing directory (folder) you mapped for your users' + // home directory. If you set it to PATH, the user will see the absolute Amazon + // S3 bucket paths as is in their file transfer protocol clients. If you set + // it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings + // for how you want to make Amazon S3 paths visible to your users. HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` - // The role in use by this user. A role is an AWS Identity and Access Management - // (IAM) entity that, in this case, allows a file transfer protocol-enabled - // server to act on a user's behalf. It allows the server to inherit the trust - // relationship that enables that user to perform file operations to their Amazon - // S3 bucket. + // Specifies the role that is in use by this user. A role is an AWS Identity + // and Access Management (IAM) entity that, in this case, allows a file transfer + // protocol-enabled server to act on a user's behalf. It allows the server to + // inherit the trust relationship that enables that user to perform file operations + // to their Amazon S3 bucket. Role *string `min:"20" type:"string"` - // The number of SSH public keys stored for the user you specified. + // Specifies the number of SSH public keys stored for the user you specified. SshPublicKeyCount *int64 `type:"integer"` - // The name of the user whose ARN was specified. User names are used for authentication - // purposes. + // Specifies the name of the user whose ARN was specified. User names are used + // for authentication purposes. UserName *string `min:"3" type:"string"` } @@ -4338,17 +4392,18 @@ func (s *ServiceUnavailableException) RequestID() string { type SshPublicKey struct { _ struct{} `type:"structure"` - // The date that the public key was added to the user account. + // Specifies the date that the public key was added to the user account. // // DateImported is a required field DateImported *time.Time `type:"timestamp" required:"true"` - // The content of the SSH public key as specified by the PublicKeyId. + // Specifies the content of the SSH public key as specified by the PublicKeyId. // // SshPublicKeyBody is a required field SshPublicKeyBody *string `type:"string" required:"true"` - // The SshPublicKeyId parameter contains the identifier of the public key. + // Specifies the SshPublicKeyId parameter contains the identifier of the public + // key. // // SshPublicKeyId is a required field SshPublicKeyId *string `min:"21" type:"string" required:"true"` @@ -4658,6 +4713,9 @@ type TestIdentityProviderInput struct { // * File Transfer Protocol (FTP) ServerProtocol *string `type:"string" enum:"Protocol"` + // The source IP address of the user account to be tested. + SourceIp *string `type:"string"` + // The name of the user account to be tested. // // UserName is a required field @@ -4711,6 +4769,12 @@ func (s *TestIdentityProviderInput) SetServerProtocol(v string) *TestIdentityPro return s } +// SetSourceIp sets the SourceIp field's value. +func (s *TestIdentityProviderInput) SetSourceIp(v string) *TestIdentityProviderInput { + s.SourceIp = &v + return s +} + // SetUserName sets the UserName field's value. func (s *TestIdentityProviderInput) SetUserName(v string) *TestIdentityProviderInput { s.UserName = &v @@ -4918,6 +4982,33 @@ type UpdateServerInput struct { // The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. // Required when Protocols is set to FTPS. + // + // To request a new public certificate, see Request a public certificate (https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) + // in the AWS Certificate Manager User Guide. + // + // To import an existing certificate into ACM, see Importing certificates into + // ACM (https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) + // in the AWS Certificate Manager User Guide. + // + // To request a private certificate to use FTPS through private IP addresses, + // see Request a private certificate (https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) + // in the AWS Certificate Manager User Guide. + // + // Certificates with the following cryptographic algorithms and key sizes are + // supported: + // + // * 2048-bit RSA (RSA_2048) + // + // * 4096-bit RSA (RSA_4096) + // + // * Elliptic Prime Curve 256 bit (EC_prime256v1) + // + // * Elliptic Prime Curve 384 bit (EC_secp384r1) + // + // * Elliptic Prime Curve 521 bit (EC_secp521r1) + // + // The certificate must be a valid SSL/TLS X.509 version 3 certificate with + // FQDN or IP address specified and information about the issuer. Certificate *string `type:"string"` // The virtual private cloud (VPC) endpoint settings that are configured for @@ -4929,18 +5020,24 @@ type UpdateServerInput struct { // The type of endpoint that you want your file transfer protocol-enabled server // to connect to. You can choose to connect to the public internet or a VPC - // endpoint. With a VPC endpoint, your server isn't accessible over the public - // internet. + // endpoint. With a VPC endpoint, you can restrict access to your server and + // resources only within your VPC. + // + // It is recommended that you use VPC as the EndpointType. With this endpoint + // type, you have the option to directly associate up to three Elastic IPv4 + // addresses (BYO IP included) with your server's endpoint and use VPC security + // groups to restrict traffic by the client's public IP address. This is not + // possible with EndpointType set to VPC_ENDPOINT. EndpointType *string `type:"string" enum:"EndpointType"` - // The RSA private key as generated by ssh-keygen -N "" -f my-new-server-key. + // The RSA private key as generated by ssh-keygen -N "" -m PEM -f my-new-server-key. // // If you aren't planning to migrate existing users from an existing file transfer // protocol-enabled server to a new server, don't update the host key. Accidentally // changing a server's host key can be disruptive. // - // For more information, see Changing the Host Key for Your AWS Transfer Family - // Server (https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key) + // For more information, see Change the host key for your SFTP-enabled server + // (https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key) // in the AWS Transfer Family User Guide. HostKey *string `type:"string" sensitive:"true"` @@ -4962,6 +5059,18 @@ type UpdateServerInput struct { // * File Transfer Protocol Secure (FTPS): File transfer with TLS encryption // // * File Transfer Protocol (FTP): Unencrypted file transfer + // + // If you select FTPS, you must choose a certificate stored in AWS Certificate + // Manager (ACM) which will be used to identify your server when clients connect + // to it over FTPS. + // + // If Protocol includes either FTP or FTPS, then the EndpointType must be VPC + // and the IdentityProviderType must be API_GATEWAY. + // + // If Protocol includes FTP, then AddressAllocationIds cannot be associated. + // + // If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and + // the IdentityProviderType can be set to SERVICE_MANAGED. Protocols []*string `min:"1" type:"list"` // A system-assigned unique identifier for a file transfer protocol-enabled @@ -5099,8 +5208,7 @@ type UpdateUserInput struct { // to specify the "Entry" and "Target" pair, where Entry shows how the path // is made visible and Target is the actual Amazon S3 path. If you only specify // a target, it will be displayed as is. You will need to also make sure that - // your AWS IAM Role provides access to paths in Target. The following is an - // example. + // your IAM role provides access to paths in Target. The following is an example. // // '[ "/bucket2/documentation", { "Entry": "your-personal-report.pdf", "Target": // "/bucket3/customized-reports/${transfer:UserName}.pdf" } ]' @@ -5127,16 +5235,15 @@ type UpdateUserInput struct { HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` // Allows you to supply a scope-down policy for your user so you can use the - // same AWS Identity and Access Management (IAM) role across multiple users. - // The policy scopes down user access to portions of your Amazon S3 bucket. - // Variables you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, - // and ${Transfer:HomeBucket}. + // same IAM role across multiple users. The policy scopes down user access to + // portions of your Amazon S3 bucket. Variables you can use inside this policy + // include ${Transfer:UserName}, ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. // // For scope-down policies, AWS Transfer Family stores the policy as a JSON // blob, instead of the Amazon Resource Name (ARN) of the policy. You save the // policy as a JSON blob and pass it in the Policy argument. // - // For an example of a scope-down policy, see Creating a Scope-Down Policy (https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down). + // For an example of a scope-down policy, see Creating a scope-down policy (https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down). // // For more information, see AssumeRole (https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) // in the AWS Security Token Service API Reference. diff --git a/vendor/github.com/aws/aws-sdk-go/service/wafv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/wafv2/api.go index 68de2cffaa7..e7c5fa25d40 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/wafv2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/wafv2/api.go @@ -3509,7 +3509,15 @@ func (c *WAFV2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req // 2019. For information, including how to migrate your AWS WAF resources from // the prior release, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). // -// Retrieves the TagInfoForResource for the specified resource. +// Retrieves the TagInfoForResource for the specified resource. Tags are key:value +// pairs that you can use to categorize and manage your resources, for purposes +// like billing. For example, you might set the tag key to "customer" and the +// value to the customer name or ID. You can specify one or more tags to add +// to each AWS resource, up to 50 tags for a resource. +// +// You can tag the AWS resources that you manage through AWS WAF: web ACLs, +// rule groups, IP sets, and regex pattern sets. You can't manage or view tags +// through the AWS WAF console. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3738,6 +3746,9 @@ func (c *WAFV2) PutLoggingConfigurationRequest(input *PutLoggingConfigurationInp // operating. If you are capturing logs for Amazon CloudFront, always create // the firehose in US East (N. Virginia). // +// Give the data firehose a name that starts with the prefix aws-waf-logs-. +// For example, aws-waf-logs-us-east-2-analytics. +// // Do not create the data firehose using a Kinesis stream as your source. // // Associate that firehose to your web ACL using a PutLoggingConfiguration request. @@ -3798,6 +3809,12 @@ func (c *WAFV2) PutLoggingConfigurationRequest(input *PutLoggingConfigurationInp // * WAFInvalidOperationException // The operation isn't valid. // +// * WAFLimitsExceededException +// AWS WAF couldn’t perform the operation because you exceeded your resource +// limit. For example, the maximum number of WebACL objects that you can create +// for an AWS account. For more information, see Limits (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) +// in the AWS WAF Developer Guide. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutLoggingConfiguration func (c *WAFV2) PutLoggingConfiguration(input *PutLoggingConfigurationInput) (*PutLoggingConfigurationOutput, error) { req, out := c.PutLoggingConfigurationRequest(input) @@ -4002,10 +4019,14 @@ func (c *WAFV2) TagResourceRequest(input *TagResourceInput) (req *request.Reques // the prior release, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). // // Associates tags with the specified AWS resource. Tags are key:value pairs -// that you can associate with AWS resources. For example, the tag key might -// be "customer" and the tag value might be "companyA." You can specify one -// or more tags to add to each container. You can add up to 50 tags to each -// AWS resource. +// that you can use to categorize and manage your resources, for purposes like +// billing. For example, you might set the tag key to "customer" and the value +// to the customer name or ID. You can specify one or more tags to add to each +// AWS resource, up to 50 tags for a resource. +// +// You can tag the AWS resources that you manage through AWS WAF: web ACLs, +// rule groups, IP sets, and regex pattern sets. You can't manage or view tags +// through the AWS WAF console. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7183,6 +7204,88 @@ func (s *FirewallManagerStatement) SetRuleGroupReferenceStatement(v *RuleGroupRe return s } +// The configuration for inspecting IP addresses in an HTTP header that you +// specify, instead of using the IP address that's reported by the web request +// origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify +// any header name. +// +// If the specified header isn't present in the request, AWS WAF doesn't apply +// the rule to the web request at all. +// +// This configuration is used for GeoMatchStatement and RateBasedStatement. +// For IPSetReferenceStatement, use IPSetForwardedIPConfig instead. +// +// AWS WAF only evaluates the first IP address found in the specified HTTP header. +type ForwardedIPConfig struct { + _ struct{} `type:"structure"` + + // The match status to assign to the web request if the request doesn't have + // a valid IP address in the specified position. + // + // If the specified header isn't present in the request, AWS WAF doesn't apply + // the rule to the web request at all. + // + // You can specify the following fallback behaviors: + // + // * MATCH - Treat the web request as matching the rule statement. AWS WAF + // applies the rule action to the request. + // + // * NO_MATCH - Treat the web request as not matching the rule statement. + // + // FallbackBehavior is a required field + FallbackBehavior *string `type:"string" required:"true" enum:"FallbackBehavior"` + + // The name of the HTTP header to use for the IP address. For example, to use + // the X-Forwarded-For (XFF) header, set this to X-Forwarded-For. + // + // If the specified header isn't present in the request, AWS WAF doesn't apply + // the rule to the web request at all. + // + // HeaderName is a required field + HeaderName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ForwardedIPConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ForwardedIPConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ForwardedIPConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ForwardedIPConfig"} + if s.FallbackBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("FallbackBehavior")) + } + if s.HeaderName == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderName")) + } + if s.HeaderName != nil && len(*s.HeaderName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HeaderName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFallbackBehavior sets the FallbackBehavior field's value. +func (s *ForwardedIPConfig) SetFallbackBehavior(v string) *ForwardedIPConfig { + s.FallbackBehavior = &v + return s +} + +// SetHeaderName sets the HeaderName field's value. +func (s *ForwardedIPConfig) SetHeaderName(v string) *ForwardedIPConfig { + s.HeaderName = &v + return s +} + // // This is the latest version of AWS WAF, named AWS WAFV2, released in November, // 2019. For information, including how to migrate your AWS WAF resources from @@ -7195,6 +7298,15 @@ type GeoMatchStatement struct { // An array of two-character country codes, for example, [ "US", "CN" ], from // the alpha-2 country ISO codes of the ISO 3166 international standard. CountryCodes []*string `min:"1" type:"list"` + + // The configuration for inspecting IP addresses in an HTTP header that you + // specify, instead of using the IP address that's reported by the web request + // origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify + // any header name. + // + // If the specified header isn't present in the request, AWS WAF doesn't apply + // the rule to the web request at all. + ForwardedIPConfig *ForwardedIPConfig `type:"structure"` } // String returns the string representation @@ -7213,6 +7325,11 @@ func (s *GeoMatchStatement) Validate() error { if s.CountryCodes != nil && len(s.CountryCodes) < 1 { invalidParams.Add(request.NewErrParamMinLen("CountryCodes", 1)) } + if s.ForwardedIPConfig != nil { + if err := s.ForwardedIPConfig.Validate(); err != nil { + invalidParams.AddNested("ForwardedIPConfig", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -7226,6 +7343,12 @@ func (s *GeoMatchStatement) SetCountryCodes(v []*string) *GeoMatchStatement { return s } +// SetForwardedIPConfig sets the ForwardedIPConfig field's value. +func (s *GeoMatchStatement) SetForwardedIPConfig(v *ForwardedIPConfig) *GeoMatchStatement { + s.ForwardedIPConfig = v + return s +} + type GetIPSetInput struct { _ struct{} `type:"structure"` @@ -7920,9 +8043,10 @@ type GetSampledRequestsInput struct { Scope *string `type:"string" required:"true" enum:"Scope"` // The start date and time and the end date and time of the range for which - // you want GetSampledRequests to return a sample of requests. Specify the date - // and time in the following format: "2016-09-27T14:50Z". You can specify any - // time range in the previous three hours. + // you want GetSampledRequests to return a sample of requests. You must specify + // the times in Coordinated Universal Time (UTC) format. UTC format includes + // the special designator, Z. For example, "2016-09-27T14:50Z". You can specify + // any time range in the previous three hours. // // TimeWindow is a required field TimeWindow *TimeWindow `type:"structure" required:"true"` @@ -8028,7 +8152,8 @@ type GetSampledRequestsOutput struct { // Usually, TimeWindow is the time range that you specified in the GetSampledRequests // request. However, if your AWS resource received more than 5,000 requests // during the time range that you specified in the request, GetSampledRequests - // returns the time range for the first 5,000 requests. + // returns the time range for the first 5,000 requests. Times are in Coordinated + // Universal Time (UTC) format. TimeWindow *TimeWindow `type:"structure"` } @@ -8491,6 +8616,115 @@ func (s *IPSet) SetName(v string) *IPSet { return s } +// The configuration for inspecting IP addresses in an HTTP header that you +// specify, instead of using the IP address that's reported by the web request +// origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify +// any header name. +// +// If the specified header isn't present in the request, AWS WAF doesn't apply +// the rule to the web request at all. +// +// This configuration is used only for IPSetReferenceStatement. For GeoMatchStatement +// and RateBasedStatement, use ForwardedIPConfig instead. +type IPSetForwardedIPConfig struct { + _ struct{} `type:"structure"` + + // The match status to assign to the web request if the request doesn't have + // a valid IP address in the specified position. + // + // If the specified header isn't present in the request, AWS WAF doesn't apply + // the rule to the web request at all. + // + // You can specify the following fallback behaviors: + // + // * MATCH - Treat the web request as matching the rule statement. AWS WAF + // applies the rule action to the request. + // + // * NO_MATCH - Treat the web request as not matching the rule statement. + // + // FallbackBehavior is a required field + FallbackBehavior *string `type:"string" required:"true" enum:"FallbackBehavior"` + + // The name of the HTTP header to use for the IP address. For example, to use + // the X-Forwarded-For (XFF) header, set this to X-Forwarded-For. + // + // If the specified header isn't present in the request, AWS WAF doesn't apply + // the rule to the web request at all. + // + // HeaderName is a required field + HeaderName *string `min:"1" type:"string" required:"true"` + + // The position in the header to search for the IP address. The header can contain + // IP addresses of the original client and also of proxies. For example, the + // header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10 where the first IP + // address identifies the original client and the rest identify proxies that + // the request went through. + // + // The options for this setting are the following: + // + // * FIRST - Inspect the first IP address in the list of IP addresses in + // the header. This is usually the client's original IP. + // + // * LAST - Inspect the last IP address in the list of IP addresses in the + // header. + // + // * ANY - Inspect all IP addresses in the header for a match. If the header + // contains more than 10 IP addresses, AWS WAF inspects the last 10. + // + // Position is a required field + Position *string `type:"string" required:"true" enum:"ForwardedIPPosition"` +} + +// String returns the string representation +func (s IPSetForwardedIPConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IPSetForwardedIPConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IPSetForwardedIPConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IPSetForwardedIPConfig"} + if s.FallbackBehavior == nil { + invalidParams.Add(request.NewErrParamRequired("FallbackBehavior")) + } + if s.HeaderName == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderName")) + } + if s.HeaderName != nil && len(*s.HeaderName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HeaderName", 1)) + } + if s.Position == nil { + invalidParams.Add(request.NewErrParamRequired("Position")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFallbackBehavior sets the FallbackBehavior field's value. +func (s *IPSetForwardedIPConfig) SetFallbackBehavior(v string) *IPSetForwardedIPConfig { + s.FallbackBehavior = &v + return s +} + +// SetHeaderName sets the HeaderName field's value. +func (s *IPSetForwardedIPConfig) SetHeaderName(v string) *IPSetForwardedIPConfig { + s.HeaderName = &v + return s +} + +// SetPosition sets the Position field's value. +func (s *IPSetForwardedIPConfig) SetPosition(v string) *IPSetForwardedIPConfig { + s.Position = &v + return s +} + // // This is the latest version of AWS WAF, named AWS WAFV2, released in November, // 2019. For information, including how to migrate your AWS WAF resources from @@ -8512,6 +8746,15 @@ type IPSetReferenceStatement struct { // // ARN is a required field ARN *string `min:"20" type:"string" required:"true"` + + // The configuration for inspecting IP addresses in an HTTP header that you + // specify, instead of using the IP address that's reported by the web request + // origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify + // any header name. + // + // If the specified header isn't present in the request, AWS WAF doesn't apply + // the rule to the web request at all. + IPSetForwardedIPConfig *IPSetForwardedIPConfig `type:"structure"` } // String returns the string representation @@ -8533,6 +8776,11 @@ func (s *IPSetReferenceStatement) Validate() error { if s.ARN != nil && len(*s.ARN) < 20 { invalidParams.Add(request.NewErrParamMinLen("ARN", 20)) } + if s.IPSetForwardedIPConfig != nil { + if err := s.IPSetForwardedIPConfig.Validate(); err != nil { + invalidParams.AddNested("IPSetForwardedIPConfig", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -8546,6 +8794,12 @@ func (s *IPSetReferenceStatement) SetARN(v string) *IPSetReferenceStatement { return s } +// SetIPSetForwardedIPConfig sets the IPSetForwardedIPConfig field's value. +func (s *IPSetReferenceStatement) SetIPSetForwardedIPConfig(v *IPSetForwardedIPConfig) *IPSetReferenceStatement { + s.IPSetForwardedIPConfig = v + return s +} + // // This is the latest version of AWS WAF, named AWS WAFV2, released in November, // 2019. For information, including how to migrate your AWS WAF resources from @@ -9483,9 +9737,16 @@ type LoggingConfiguration struct { // LogDestinationConfigs is a required field LogDestinationConfigs []*string `min:"1" type:"list" required:"true"` + // Indicates whether the logging configuration was created by AWS Firewall Manager, + // as part of an AWS WAF policy configuration. If true, only Firewall Manager + // can modify or delete the configuration. + ManagedByFirewallManager *bool `type:"boolean"` + // The parts of the request that you want to keep out of the logs. For example, - // if you redact the cookie field, the cookie field in the firehose will be + // if you redact the HEADER field, the HEADER field in the firehose will be // xxx. + // + // You must use one of the following values: URI, QUERY_STRING, HEADER, or METHOD. RedactedFields []*FieldToMatch `type:"list"` // The Amazon Resource Name (ARN) of the web ACL that you want to associate @@ -9543,6 +9804,12 @@ func (s *LoggingConfiguration) SetLogDestinationConfigs(v []*string) *LoggingCon return s } +// SetManagedByFirewallManager sets the ManagedByFirewallManager field's value. +func (s *LoggingConfiguration) SetManagedByFirewallManager(v bool) *LoggingConfiguration { + s.ManagedByFirewallManager = &v + return s +} + // SetRedactedFields sets the RedactedFields field's value. func (s *LoggingConfiguration) SetRedactedFields(v []*FieldToMatch) *LoggingConfiguration { s.RedactedFields = v @@ -10135,14 +10402,32 @@ func (s QueryString) GoString() string { type RateBasedStatement struct { _ struct{} `type:"structure"` - // Setting that indicates how to aggregate the request counts. Currently, you - // must set this to IP. The request counts are aggregated on IP addresses. + // Setting that indicates how to aggregate the request counts. The options are + // the following: + // + // * IP - Aggregate the request counts on the IP address from the web request + // origin. + // + // * FORWARDED_IP - Aggregate the request counts on the first IP address + // in an HTTP header. If you use this, configure the ForwardedIPConfig, to + // specify the header to use. // // AggregateKeyType is a required field AggregateKeyType *string `type:"string" required:"true" enum:"RateBasedStatementAggregateKeyType"` + // The configuration for inspecting IP addresses in an HTTP header that you + // specify, instead of using the IP address that's reported by the web request + // origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify + // any header name. + // + // If the specified header isn't present in the request, AWS WAF doesn't apply + // the rule to the web request at all. + // + // This is required if AggregateKeyType is set to FORWARDED_IP. + ForwardedIPConfig *ForwardedIPConfig `type:"structure"` + // The limit on requests per 5-minute period for a single originating IP address. - // If the statement includes a ScopDownStatement, this limit is applied only + // If the statement includes a ScopeDownStatement, this limit is applied only // to the requests that match the statement. // // Limit is a required field @@ -10176,6 +10461,11 @@ func (s *RateBasedStatement) Validate() error { if s.Limit != nil && *s.Limit < 100 { invalidParams.Add(request.NewErrParamMinValue("Limit", 100)) } + if s.ForwardedIPConfig != nil { + if err := s.ForwardedIPConfig.Validate(); err != nil { + invalidParams.AddNested("ForwardedIPConfig", err.(request.ErrInvalidParams)) + } + } if s.ScopeDownStatement != nil { if err := s.ScopeDownStatement.Validate(); err != nil { invalidParams.AddNested("ScopeDownStatement", err.(request.ErrInvalidParams)) @@ -10194,6 +10484,12 @@ func (s *RateBasedStatement) SetAggregateKeyType(v string) *RateBasedStatement { return s } +// SetForwardedIPConfig sets the ForwardedIPConfig field's value. +func (s *RateBasedStatement) SetForwardedIPConfig(v *ForwardedIPConfig) *RateBasedStatement { + s.ForwardedIPConfig = v + return s +} + // SetLimit sets the Limit field's value. func (s *RateBasedStatement) SetLimit(v int64) *RateBasedStatement { s.Limit = &v @@ -11083,7 +11379,7 @@ type SampledHTTPRequest struct { // The name of the Rule that the request matched. For managed rule groups, the // format for this name is ##. // For your own rule groups, the format for this name is #. If the rule is not in a rule group, the format is . + // name>. If the rule is not in a rule group, this field is absent. RuleNameWithinRuleGroup *string `min:"1" type:"string"` // The time at which AWS WAF received the request from your AWS resource, in @@ -11754,11 +12050,18 @@ func (s *Statement) SetXssMatchStatement(v *XssMatchStatement) *Statement { // 2019. For information, including how to migrate your AWS WAF resources from // the prior release, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). // -// A collection of key:value pairs associated with an AWS resource. The key:value -// pair can be anything you define. Typically, the tag key represents a category -// (such as "environment") and the tag value represents a specific value within -// that category (such as "test," "development," or "production"). You can add -// up to 50 tags to each AWS resource. +// A tag associated with an AWS resource. Tags are key:value pairs that you +// can use to categorize and manage your resources, for purposes like billing +// or other management. Typically, the tag key represents a category, such as +// "environment", and the tag value represents a specific value within that +// category, such as "test," "development," or "production". Or you might set +// the tag key to "customer" and the value to the customer name or ID. You can +// specify one or more tags to add to each AWS resource, up to 50 tags for a +// resource. +// +// You can tag the AWS resources that you manage through AWS WAF: web ACLs, +// rule groups, IP sets, and regex pattern sets. You can't manage or view tags +// through the AWS WAF console. type Tag struct { _ struct{} `type:"structure"` @@ -11822,7 +12125,18 @@ func (s *Tag) SetValue(v string) *Tag { // 2019. For information, including how to migrate your AWS WAF resources from // the prior release, see the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). // -// The collection of tagging definitions for an AWS resource. +// The collection of tagging definitions for an AWS resource. Tags are key:value +// pairs that you can use to categorize and manage your resources, for purposes +// like billing or other management. Typically, the tag key represents a category, +// such as "environment", and the tag value represents a specific value within +// that category, such as "test," "development," or "production". Or you might +// set the tag key to "customer" and the value to the customer name or ID. You +// can specify one or more tags to add to each AWS resource, up to 50 tags for +// a resource. +// +// You can tag the AWS resources that you manage through AWS WAF: web ACLs, +// rule groups, IP sets, and regex pattern sets. You can't manage or view tags +// through the AWS WAF console. type TagInfoForResource struct { _ struct{} `type:"structure"` @@ -12073,6 +12387,10 @@ func (s *TextTransformation) SetType(v string) *TextTransformation { // In a GetSampledRequests request, the StartTime and EndTime objects specify // the time range for which you want AWS WAF to return a sample of web requests. // +// You must specify the times in Coordinated Universal Time (UTC) format. UTC +// format includes the special designator, Z. For example, "2016-09-27T14:50Z". +// You can specify any time range in the previous three hours. +// // In a GetSampledRequests response, the StartTime and EndTime objects specify // the time range for which AWS WAF actually returned a sample of web requests. // AWS WAF gets the specified number of requests from among the first 5,000 @@ -12084,17 +12402,19 @@ type TimeWindow struct { _ struct{} `type:"structure"` // The end of the time range from which you want GetSampledRequests to return - // a sample of the requests that your AWS resource received. Specify the date - // and time in the following format: "2016-09-27T14:50Z". You can specify any - // time range in the previous three hours. + // a sample of the requests that your AWS resource received. You must specify + // the times in Coordinated Universal Time (UTC) format. UTC format includes + // the special designator, Z. For example, "2016-09-27T14:50Z". You can specify + // any time range in the previous three hours. // // EndTime is a required field EndTime *time.Time `type:"timestamp" required:"true"` // The beginning of the time range from which you want GetSampledRequests to - // return a sample of the requests that your AWS resource received. Specify - // the date and time in the following format: "2016-09-27T14:50Z". You can specify - // any time range in the previous three hours. + // return a sample of the requests that your AWS resource received. You must + // specify the times in Coordinated Universal Time (UTC) format. UTC format + // includes the special designator, Z. For example, "2016-09-27T14:50Z". You + // can specify any time range in the previous three hours. // // StartTime is a required field StartTime *time.Time `type:"timestamp" required:"true"` @@ -12982,10 +13302,10 @@ type VisibilityConfig struct { // CloudWatchMetricsEnabled is a required field CloudWatchMetricsEnabled *bool `type:"boolean" required:"true"` - // A name of the CloudWatch metric. The name can contain only alphanumeric characters - // (A-Z, a-z, 0-9), with length from one to 128 characters. It can't contain - // whitespace or metric names reserved for AWS WAF, for example "All" and "Default_Action." - // You can't change a MetricName after you create a VisibilityConfig. + // A name of the CloudWatch metric. The name can contain only the characters: + // A-Z, a-z, 0-9, - (hyphen), and _ (underscore). The name can be from one to + // 128 characters long. It can't contain whitespace or metric names reserved + // for AWS WAF, for example "All" and "Default_Action." // // MetricName is a required field MetricName *string `min:"1" type:"string" required:"true"` @@ -15044,6 +15364,25 @@ const ( CountryCodeZw = "ZW" ) +const ( + // FallbackBehaviorMatch is a FallbackBehavior enum value + FallbackBehaviorMatch = "MATCH" + + // FallbackBehaviorNoMatch is a FallbackBehavior enum value + FallbackBehaviorNoMatch = "NO_MATCH" +) + +const ( + // ForwardedIPPositionFirst is a ForwardedIPPosition enum value + ForwardedIPPositionFirst = "FIRST" + + // ForwardedIPPositionLast is a ForwardedIPPosition enum value + ForwardedIPPositionLast = "LAST" + + // ForwardedIPPositionAny is a ForwardedIPPosition enum value + ForwardedIPPositionAny = "ANY" +) + const ( // IPAddressVersionIpv4 is a IPAddressVersion enum value IPAddressVersionIpv4 = "IPV4" @@ -15166,6 +15505,21 @@ const ( // ParameterExceptionFieldFirewallManagerStatement is a ParameterExceptionField enum value ParameterExceptionFieldFirewallManagerStatement = "FIREWALL_MANAGER_STATEMENT" + + // ParameterExceptionFieldFallbackBehavior is a ParameterExceptionField enum value + ParameterExceptionFieldFallbackBehavior = "FALLBACK_BEHAVIOR" + + // ParameterExceptionFieldPosition is a ParameterExceptionField enum value + ParameterExceptionFieldPosition = "POSITION" + + // ParameterExceptionFieldForwardedIpConfig is a ParameterExceptionField enum value + ParameterExceptionFieldForwardedIpConfig = "FORWARDED_IP_CONFIG" + + // ParameterExceptionFieldIpSetForwardedIpConfig is a ParameterExceptionField enum value + ParameterExceptionFieldIpSetForwardedIpConfig = "IP_SET_FORWARDED_IP_CONFIG" + + // ParameterExceptionFieldHeaderName is a ParameterExceptionField enum value + ParameterExceptionFieldHeaderName = "HEADER_NAME" ) const ( @@ -15188,6 +15542,9 @@ const ( const ( // RateBasedStatementAggregateKeyTypeIp is a RateBasedStatementAggregateKeyType enum value RateBasedStatementAggregateKeyTypeIp = "IP" + + // RateBasedStatementAggregateKeyTypeForwardedIp is a RateBasedStatementAggregateKeyType enum value + RateBasedStatementAggregateKeyTypeForwardedIp = "FORWARDED_IP" ) const ( diff --git a/vendor/github.com/aws/aws-sdk-go/service/worklink/api.go b/vendor/github.com/aws/aws-sdk-go/service/worklink/api.go index 517b093fece..50f9d5ff3a8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/worklink/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/worklink/api.go @@ -1717,6 +1717,9 @@ func (c *WorkLink) ListDomainsRequest(input *ListDomainsInput) (req *request.Req // * InvalidRequestException // The request is not valid. // +// * ResourceNotFoundException +// The requested resource was not found. +// // * TooManyRequestsException // The number of requests exceeds the limit. // @@ -1940,6 +1943,85 @@ func (c *WorkLink) ListFleetsPagesWithContext(ctx aws.Context, input *ListFleets return p.Err() } +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListTagsForResource +func (c *WorkLink) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon WorkLink. +// +// Retrieves a list of tags for the specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListTagsForResource +func (c *WorkLink) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkLink) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListWebsiteAuthorizationProviders = "ListWebsiteAuthorizationProviders" // ListWebsiteAuthorizationProvidersRequest generates a "aws/request.Request" representing the @@ -2514,6 +2596,168 @@ func (c *WorkLink) SignOutUserWithContext(ctx aws.Context, input *SignOutUserInp return out, req.Send() } +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/TagResource +func (c *WorkLink) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon WorkLink. +// +// Adds or overwrites one or more tags for the specified resource, such as a +// fleet. Each tag consists of a key and an optional value. If a resource already +// has a tag with the same key, this operation updates its value. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/TagResource +func (c *WorkLink) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkLink) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UntagResource +func (c *WorkLink) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon WorkLink. +// +// Removes one or more tags from the specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkLink's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UntagResource +func (c *WorkLink) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkLink) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateAuditStreamConfiguration = "UpdateAuditStreamConfiguration" // UpdateAuditStreamConfigurationRequest generates a "aws/request.Request" representing the @@ -3356,6 +3600,9 @@ type CreateFleetInput struct { // The option to optimize for better performance by routing traffic through // the closest AWS Region to users, which may be outside of your home Region. OptimizeForEndUserLocation *bool `type:"boolean"` + + // The tags to add to the resource. A tag is a key-value pair. + Tags map[string]*string `min:"1" type:"map"` } // String returns the string representation @@ -3377,6 +3624,9 @@ func (s *CreateFleetInput) Validate() error { if s.FleetName != nil && len(*s.FleetName) < 1 { invalidParams.Add(request.NewErrParamMinLen("FleetName", 1)) } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -3402,10 +3652,16 @@ func (s *CreateFleetInput) SetOptimizeForEndUserLocation(v bool) *CreateFleetInp return s } +// SetTags sets the Tags field's value. +func (s *CreateFleetInput) SetTags(v map[string]*string) *CreateFleetInput { + s.Tags = v + return s +} + type CreateFleetOutput struct { _ struct{} `type:"structure"` - // The ARN of the fleet. + // The Amazon Resource Name (ARN) of the fleet. FleetArn *string `min:"20" type:"string"` } @@ -3964,7 +4220,7 @@ func (s *DescribeDomainOutput) SetDomainStatus(v string) *DescribeDomainOutput { type DescribeFleetMetadataInput struct { _ struct{} `type:"structure"` - // The ARN of the fleet. + // The Amazon Resource Name (ARN) of the fleet. // // FleetArn is a required field FleetArn *string `min:"20" type:"string" required:"true"` @@ -4026,6 +4282,9 @@ type DescribeFleetMetadataOutput struct { // The option to optimize for better performance by routing traffic through // the closest AWS Region to users, which may be outside of your home Region. OptimizeForEndUserLocation *bool `type:"boolean"` + + // The tags attached to the resource. A tag is a key-value pair. + Tags map[string]*string `min:"1" type:"map"` } // String returns the string representation @@ -4080,6 +4339,12 @@ func (s *DescribeFleetMetadataOutput) SetOptimizeForEndUserLocation(v bool) *Des return s } +// SetTags sets the Tags field's value. +func (s *DescribeFleetMetadataOutput) SetTags(v map[string]*string) *DescribeFleetMetadataOutput { + s.Tags = v + return s +} + type DescribeIdentityProviderConfigurationInput struct { _ struct{} `type:"structure"` @@ -4577,10 +4842,10 @@ type FleetSummary struct { // The time when the fleet was created. CreatedTime *time.Time `type:"timestamp"` - // The name to display. + // The name of the fleet to display. DisplayName *string `type:"string"` - // The ARN of the fleet. + // The Amazon Resource Name (ARN) of the fleet. FleetArn *string `min:"20" type:"string"` // The name of the fleet. @@ -4591,6 +4856,9 @@ type FleetSummary struct { // The time when the fleet was last updated. LastUpdatedTime *time.Time `type:"timestamp"` + + // The tags attached to the resource. A tag is a key-value pair. + Tags map[string]*string `min:"1" type:"map"` } // String returns the string representation @@ -4645,6 +4913,12 @@ func (s *FleetSummary) SetLastUpdatedTime(v time.Time) *FleetSummary { return s } +// SetTags sets the Tags field's value. +func (s *FleetSummary) SetTags(v map[string]*string) *FleetSummary { + s.Tags = v + return s +} + // The service is temporarily unavailable. type InternalServerErrorException struct { _ struct{} `type:"structure"` @@ -5037,6 +5311,70 @@ func (s *ListFleetsOutput) SetNextToken(v string) *ListFleetsOutput { return s } +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the fleet. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags attached to the resource. A tag is a key-value pair. + Tags map[string]*string `min:"1" type:"map"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + type ListWebsiteAuthorizationProvidersInput struct { _ struct{} `type:"structure"` @@ -5563,6 +5901,78 @@ func (s SignOutUserOutput) GoString() string { return s.String() } +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the fleet. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"` + + // The tags to add to the resource. A tag is a key-value pair. + // + // Tags is a required field + Tags map[string]*string `min:"1" type:"map" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + // The number of requests exceeds the limit. type TooManyRequestsException struct { _ struct{} `type:"structure"` @@ -5675,6 +6085,78 @@ func (s *UnauthorizedException) RequestID() string { return s.RespMetadata.RequestID } +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the fleet. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"` + + // The list of tag keys to remove from the resource. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + if s.TagKeys != nil && len(s.TagKeys) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + type UpdateAuditStreamConfigurationInput struct { _ struct{} `type:"structure"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/worklink/doc.go b/vendor/github.com/aws/aws-sdk-go/service/worklink/doc.go index 691b270395a..dcde2c87d96 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/worklink/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/worklink/doc.go @@ -4,10 +4,10 @@ // requests to Amazon WorkLink. // // Amazon WorkLink is a cloud-based service that provides secure access to internal -// websites and web apps from iOS phones. In a single step, your users, such -// as employees, can access internal websites as efficiently as they access -// any other public website. They enter a URL in their web browser, or choose -// a link to an internal website in an email. Amazon WorkLink authenticates +// websites and web apps from iOS and Android phones. In a single step, your +// users, such as employees, can access internal websites as efficiently as +// they access any other public website. They enter a URL in their web browser, +// or choose a link to an internal website in an email. Amazon WorkLink authenticates // the user's access and securely renders authorized internal web content in // a secure rendering service in the AWS cloud. Amazon WorkLink doesn't download // or store any internal web content on mobile devices. diff --git a/vendor/github.com/aws/aws-sdk-go/service/workmail/api.go b/vendor/github.com/aws/aws-sdk-go/service/workmail/api.go index 24766b693f2..959b4386d58 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/workmail/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/workmail/api.go @@ -1104,6 +1104,94 @@ func (c *WorkMail) DeleteResourceWithContext(ctx aws.Context, input *DeleteResou return out, req.Send() } +const opDeleteRetentionPolicy = "DeleteRetentionPolicy" + +// DeleteRetentionPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRetentionPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteRetentionPolicy for more information on using the DeleteRetentionPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteRetentionPolicyRequest method. +// req, resp := client.DeleteRetentionPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteRetentionPolicy +func (c *WorkMail) DeleteRetentionPolicyRequest(input *DeleteRetentionPolicyInput) (req *request.Request, output *DeleteRetentionPolicyOutput) { + op := &request.Operation{ + Name: opDeleteRetentionPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteRetentionPolicyInput{} + } + + output = &DeleteRetentionPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteRetentionPolicy API operation for Amazon WorkMail. +// +// Deletes the specified retention policy from the specified organization. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkMail's +// API operation DeleteRetentionPolicy for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. +// +// * OrganizationNotFoundException +// An operation received a valid organization identifier that either doesn't +// belong or exist in the system. +// +// * OrganizationStateException +// The organization must have a valid state (Active or Synchronizing) to perform +// certain operations on the organization or its members. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/DeleteRetentionPolicy +func (c *WorkMail) DeleteRetentionPolicy(input *DeleteRetentionPolicyInput) (*DeleteRetentionPolicyOutput, error) { + req, out := c.DeleteRetentionPolicyRequest(input) + return out, req.Send() +} + +// DeleteRetentionPolicyWithContext is the same as DeleteRetentionPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteRetentionPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkMail) DeleteRetentionPolicyWithContext(ctx aws.Context, input *DeleteRetentionPolicyInput, opts ...request.Option) (*DeleteRetentionPolicyOutput, error) { + req, out := c.DeleteRetentionPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteUser = "DeleteUser" // DeleteUserRequest generates a "aws/request.Request" representing the @@ -1958,6 +2046,97 @@ func (c *WorkMail) GetAccessControlEffectWithContext(ctx aws.Context, input *Get return out, req.Send() } +const opGetDefaultRetentionPolicy = "GetDefaultRetentionPolicy" + +// GetDefaultRetentionPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetDefaultRetentionPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDefaultRetentionPolicy for more information on using the GetDefaultRetentionPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetDefaultRetentionPolicyRequest method. +// req, resp := client.GetDefaultRetentionPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetDefaultRetentionPolicy +func (c *WorkMail) GetDefaultRetentionPolicyRequest(input *GetDefaultRetentionPolicyInput) (req *request.Request, output *GetDefaultRetentionPolicyOutput) { + op := &request.Operation{ + Name: opGetDefaultRetentionPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetDefaultRetentionPolicyInput{} + } + + output = &GetDefaultRetentionPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDefaultRetentionPolicy API operation for Amazon WorkMail. +// +// Gets the default retention policy details for the specified organization. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkMail's +// API operation GetDefaultRetentionPolicy for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. +// +// * OrganizationNotFoundException +// An operation received a valid organization identifier that either doesn't +// belong or exist in the system. +// +// * OrganizationStateException +// The organization must have a valid state (Active or Synchronizing) to perform +// certain operations on the organization or its members. +// +// * EntityNotFoundException +// The identifier supplied for the user, group, or resource does not exist in +// your organization. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/GetDefaultRetentionPolicy +func (c *WorkMail) GetDefaultRetentionPolicy(input *GetDefaultRetentionPolicyInput) (*GetDefaultRetentionPolicyOutput, error) { + req, out := c.GetDefaultRetentionPolicyRequest(input) + return out, req.Send() +} + +// GetDefaultRetentionPolicyWithContext is the same as GetDefaultRetentionPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetDefaultRetentionPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkMail) GetDefaultRetentionPolicyWithContext(ctx aws.Context, input *GetDefaultRetentionPolicyInput, opts ...request.Option) (*GetDefaultRetentionPolicyOutput, error) { + req, out := c.GetDefaultRetentionPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetMailboxDetails = "GetMailboxDetails" // GetMailboxDetailsRequest generates a "aws/request.Request" representing the @@ -2786,7 +2965,7 @@ func (c *WorkMail) ListOrganizationsRequest(input *ListOrganizationsInput) (req // ListOrganizations API operation for Amazon WorkMail. // -// Returns summaries of the customer's non-deleted organizations. +// Returns summaries of the customer's organizations. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3591,6 +3770,97 @@ func (c *WorkMail) PutMailboxPermissionsWithContext(ctx aws.Context, input *PutM return out, req.Send() } +const opPutRetentionPolicy = "PutRetentionPolicy" + +// PutRetentionPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutRetentionPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutRetentionPolicy for more information on using the PutRetentionPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutRetentionPolicyRequest method. +// req, resp := client.PutRetentionPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutRetentionPolicy +func (c *WorkMail) PutRetentionPolicyRequest(input *PutRetentionPolicyInput) (req *request.Request, output *PutRetentionPolicyOutput) { + op := &request.Operation{ + Name: opPutRetentionPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutRetentionPolicyInput{} + } + + output = &PutRetentionPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutRetentionPolicy API operation for Amazon WorkMail. +// +// Puts a retention policy to the specified organization. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkMail's +// API operation PutRetentionPolicy for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more of the input parameters don't match the service's restrictions. +// +// * OrganizationNotFoundException +// An operation received a valid organization identifier that either doesn't +// belong or exist in the system. +// +// * OrganizationStateException +// The organization must have a valid state (Active or Synchronizing) to perform +// certain operations on the organization or its members. +// +// * LimitExceededException +// The request exceeds the limit of the resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workmail-2017-10-01/PutRetentionPolicy +func (c *WorkMail) PutRetentionPolicy(input *PutRetentionPolicyInput) (*PutRetentionPolicyOutput, error) { + req, out := c.PutRetentionPolicyRequest(input) + return out, req.Send() +} + +// PutRetentionPolicyWithContext is the same as PutRetentionPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutRetentionPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkMail) PutRetentionPolicyWithContext(ctx aws.Context, input *PutRetentionPolicyInput, opts ...request.Option) (*PutRetentionPolicyOutput, error) { + req, out := c.PutRetentionPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRegisterToWorkMail = "RegisterToWorkMail" // RegisterToWorkMailRequest generates a "aws/request.Request" representing the @@ -5071,7 +5341,9 @@ type DeleteAccessControlRuleInput struct { Name *string `min:"1" type:"string" required:"true"` // The identifier for the organization. - OrganizationId *string `type:"string"` + // + // OrganizationId is a required field + OrganizationId *string `type:"string" required:"true"` } // String returns the string representation @@ -5093,6 +5365,9 @@ func (s *DeleteAccessControlRuleInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } + if s.OrganizationId == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationId")) + } if invalidParams.Len() > 0 { return invalidParams @@ -5439,6 +5714,75 @@ func (s DeleteResourceOutput) GoString() string { return s.String() } +type DeleteRetentionPolicyInput struct { + _ struct{} `type:"structure"` + + // The retention policy ID. + // + // Id is a required field + Id *string `min:"1" type:"string" required:"true"` + + // The organization ID. + // + // OrganizationId is a required field + OrganizationId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteRetentionPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRetentionPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRetentionPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRetentionPolicyInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.OrganizationId == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteRetentionPolicyInput) SetId(v string) *DeleteRetentionPolicyInput { + s.Id = &v + return s +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *DeleteRetentionPolicyInput) SetOrganizationId(v string) *DeleteRetentionPolicyInput { + s.OrganizationId = &v + return s +} + +type DeleteRetentionPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteRetentionPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteRetentionPolicyOutput) GoString() string { + return s.String() +} + type DeleteUserInput struct { _ struct{} `type:"structure"` @@ -6639,6 +6983,72 @@ func (s *EntityStateException) RequestID() string { return s.RespMetadata.RequestID } +// The configuration applied to an organization's folders by its retention policy. +type FolderConfiguration struct { + _ struct{} `type:"structure"` + + // The action to take on the folder contents at the end of the folder configuration + // period. + // + // Action is a required field + Action *string `type:"string" required:"true" enum:"RetentionAction"` + + // The folder name. + // + // Name is a required field + Name *string `type:"string" required:"true" enum:"FolderName"` + + // The period of time at which the folder configuration action is applied. + Period *int64 `min:"1" type:"integer"` +} + +// String returns the string representation +func (s FolderConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FolderConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FolderConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FolderConfiguration"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Period != nil && *s.Period < 1 { + invalidParams.Add(request.NewErrParamMinValue("Period", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAction sets the Action field's value. +func (s *FolderConfiguration) SetAction(v string) *FolderConfiguration { + s.Action = &v + return s +} + +// SetName sets the Name field's value. +func (s *FolderConfiguration) SetName(v string) *FolderConfiguration { + s.Name = &v + return s +} + +// SetPeriod sets the Period field's value. +func (s *FolderConfiguration) SetPeriod(v int64) *FolderConfiguration { + s.Period = &v + return s +} + type GetAccessControlEffectInput struct { _ struct{} `type:"structure"` @@ -6761,6 +7171,94 @@ func (s *GetAccessControlEffectOutput) SetMatchedRules(v []*string) *GetAccessCo return s } +type GetDefaultRetentionPolicyInput struct { + _ struct{} `type:"structure"` + + // The organization ID. + // + // OrganizationId is a required field + OrganizationId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDefaultRetentionPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDefaultRetentionPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDefaultRetentionPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDefaultRetentionPolicyInput"} + if s.OrganizationId == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *GetDefaultRetentionPolicyInput) SetOrganizationId(v string) *GetDefaultRetentionPolicyInput { + s.OrganizationId = &v + return s +} + +type GetDefaultRetentionPolicyOutput struct { + _ struct{} `type:"structure"` + + // The retention policy description. + Description *string `type:"string"` + + // The retention policy folder configurations. + FolderConfigurations []*FolderConfiguration `type:"list"` + + // The retention policy ID. + Id *string `min:"1" type:"string"` + + // The retention policy name. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetDefaultRetentionPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDefaultRetentionPolicyOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *GetDefaultRetentionPolicyOutput) SetDescription(v string) *GetDefaultRetentionPolicyOutput { + s.Description = &v + return s +} + +// SetFolderConfigurations sets the FolderConfigurations field's value. +func (s *GetDefaultRetentionPolicyOutput) SetFolderConfigurations(v []*FolderConfiguration) *GetDefaultRetentionPolicyOutput { + s.FolderConfigurations = v + return s +} + +// SetId sets the Id field's value. +func (s *GetDefaultRetentionPolicyOutput) SetId(v string) *GetDefaultRetentionPolicyOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetDefaultRetentionPolicyOutput) SetName(v string) *GetDefaultRetentionPolicyOutput { + s.Name = &v + return s +} + type GetMailboxDetailsInput struct { _ struct{} `type:"structure"` @@ -8817,6 +9315,120 @@ func (s PutMailboxPermissionsOutput) GoString() string { return s.String() } +type PutRetentionPolicyInput struct { + _ struct{} `type:"structure"` + + // The retention policy description. + Description *string `type:"string"` + + // The retention policy folder configurations. + // + // FolderConfigurations is a required field + FolderConfigurations []*FolderConfiguration `type:"list" required:"true"` + + // The retention policy ID. + Id *string `min:"1" type:"string"` + + // The retention policy name. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The organization ID. + // + // OrganizationId is a required field + OrganizationId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s PutRetentionPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutRetentionPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutRetentionPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutRetentionPolicyInput"} + if s.FolderConfigurations == nil { + invalidParams.Add(request.NewErrParamRequired("FolderConfigurations")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.OrganizationId == nil { + invalidParams.Add(request.NewErrParamRequired("OrganizationId")) + } + if s.FolderConfigurations != nil { + for i, v := range s.FolderConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FolderConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *PutRetentionPolicyInput) SetDescription(v string) *PutRetentionPolicyInput { + s.Description = &v + return s +} + +// SetFolderConfigurations sets the FolderConfigurations field's value. +func (s *PutRetentionPolicyInput) SetFolderConfigurations(v []*FolderConfiguration) *PutRetentionPolicyInput { + s.FolderConfigurations = v + return s +} + +// SetId sets the Id field's value. +func (s *PutRetentionPolicyInput) SetId(v string) *PutRetentionPolicyInput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *PutRetentionPolicyInput) SetName(v string) *PutRetentionPolicyInput { + s.Name = &v + return s +} + +// SetOrganizationId sets the OrganizationId field's value. +func (s *PutRetentionPolicyInput) SetOrganizationId(v string) *PutRetentionPolicyInput { + s.OrganizationId = &v + return s +} + +type PutRetentionPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutRetentionPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutRetentionPolicyOutput) GoString() string { + return s.String() +} + type RegisterToWorkMailInput struct { _ struct{} `type:"structure"` @@ -9861,6 +10473,23 @@ const ( EntityStateDeleted = "DELETED" ) +const ( + // FolderNameInbox is a FolderName enum value + FolderNameInbox = "INBOX" + + // FolderNameDeletedItems is a FolderName enum value + FolderNameDeletedItems = "DELETED_ITEMS" + + // FolderNameSentItems is a FolderName enum value + FolderNameSentItems = "SENT_ITEMS" + + // FolderNameDrafts is a FolderName enum value + FolderNameDrafts = "DRAFTS" + + // FolderNameJunkEmail is a FolderName enum value + FolderNameJunkEmail = "JUNK_EMAIL" +) + const ( // MemberTypeGroup is a MemberType enum value MemberTypeGroup = "GROUP" @@ -9888,6 +10517,17 @@ const ( ResourceTypeEquipment = "EQUIPMENT" ) +const ( + // RetentionActionNone is a RetentionAction enum value + RetentionActionNone = "NONE" + + // RetentionActionDelete is a RetentionAction enum value + RetentionActionDelete = "DELETE" + + // RetentionActionPermanentlyDelete is a RetentionAction enum value + RetentionActionPermanentlyDelete = "PERMANENTLY_DELETE" +) + const ( // UserRoleUser is a UserRole enum value UserRoleUser = "USER" diff --git a/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go b/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go index 16866ca6bec..fa50e91e039 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/workspaces/api.go @@ -793,8 +793,8 @@ func (c *WorkSpaces) DeleteWorkspaceImageRequest(input *DeleteWorkspaceImageInpu // DeleteWorkspaceImage API operation for Amazon WorkSpaces. // // Deletes the specified image from your account. To delete an image, you must -// first delete any bundles that are associated with the image and un-share -// the image if it is shared with other accounts. +// first delete any bundles that are associated with the image and unshare the +// image if it is shared with other accounts. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1611,6 +1611,92 @@ func (c *WorkSpaces) DescribeWorkspaceDirectoriesPagesWithContext(ctx aws.Contex return p.Err() } +const opDescribeWorkspaceImagePermissions = "DescribeWorkspaceImagePermissions" + +// DescribeWorkspaceImagePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeWorkspaceImagePermissions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeWorkspaceImagePermissions for more information on using the DescribeWorkspaceImagePermissions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeWorkspaceImagePermissionsRequest method. +// req, resp := client.DescribeWorkspaceImagePermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceImagePermissions +func (c *WorkSpaces) DescribeWorkspaceImagePermissionsRequest(input *DescribeWorkspaceImagePermissionsInput) (req *request.Request, output *DescribeWorkspaceImagePermissionsOutput) { + op := &request.Operation{ + Name: opDescribeWorkspaceImagePermissions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeWorkspaceImagePermissionsInput{} + } + + output = &DescribeWorkspaceImagePermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeWorkspaceImagePermissions API operation for Amazon WorkSpaces. +// +// Describes the permissions that the owner of an image has granted to other +// AWS accounts for an 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 WorkSpaces's +// API operation DescribeWorkspaceImagePermissions for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource could not be found. +// +// * AccessDeniedException +// The user is not authorized to access a resource. +// +// * InvalidParameterValuesException +// One or more parameter values are not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceImagePermissions +func (c *WorkSpaces) DescribeWorkspaceImagePermissions(input *DescribeWorkspaceImagePermissionsInput) (*DescribeWorkspaceImagePermissionsOutput, error) { + req, out := c.DescribeWorkspaceImagePermissionsRequest(input) + return out, req.Send() +} + +// DescribeWorkspaceImagePermissionsWithContext is the same as DescribeWorkspaceImagePermissions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeWorkspaceImagePermissions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkSpaces) DescribeWorkspaceImagePermissionsWithContext(ctx aws.Context, input *DescribeWorkspaceImagePermissionsInput, opts ...request.Option) (*DescribeWorkspaceImagePermissionsOutput, error) { + req, out := c.DescribeWorkspaceImagePermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeWorkspaceImages = "DescribeWorkspaceImages" // DescribeWorkspaceImagesRequest generates a "aws/request.Request" representing the @@ -2860,7 +2946,9 @@ func (c *WorkSpaces) ModifyWorkspacePropertiesRequest(input *ModifyWorkspaceProp // ModifyWorkspaceProperties API operation for Amazon WorkSpaces. // -// Modifies the specified WorkSpace properties. +// Modifies the specified WorkSpace properties. For important information about +// how to modify the size of the root and user volumes, see Modify a WorkSpace +// (https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.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 @@ -3133,7 +3221,7 @@ func (c *WorkSpaces) RebuildWorkspacesRequest(input *RebuildWorkspacesInput) (re // Rebuilds the specified WorkSpace. // // You cannot rebuild a WorkSpace unless its state is AVAILABLE, ERROR, UNHEALTHY, -// or STOPPED. +// STOPPED, or REBOOTING. // // Rebuilding a WorkSpace is a potentially destructive action that can result // in the loss of data. For more information, see Rebuild a WorkSpace (https://docs.aws.amazon.com/workspaces/latest/adminguide/reset-workspace.html). @@ -3794,6 +3882,109 @@ func (c *WorkSpaces) UpdateRulesOfIpGroupWithContext(ctx aws.Context, input *Upd return out, req.Send() } +const opUpdateWorkspaceImagePermission = "UpdateWorkspaceImagePermission" + +// UpdateWorkspaceImagePermissionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateWorkspaceImagePermission operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateWorkspaceImagePermission for more information on using the UpdateWorkspaceImagePermission +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateWorkspaceImagePermissionRequest method. +// req, resp := client.UpdateWorkspaceImagePermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateWorkspaceImagePermission +func (c *WorkSpaces) UpdateWorkspaceImagePermissionRequest(input *UpdateWorkspaceImagePermissionInput) (req *request.Request, output *UpdateWorkspaceImagePermissionOutput) { + op := &request.Operation{ + Name: opUpdateWorkspaceImagePermission, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateWorkspaceImagePermissionInput{} + } + + output = &UpdateWorkspaceImagePermissionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateWorkspaceImagePermission API operation for Amazon WorkSpaces. +// +// Shares or unshares an image with one account by specifying whether that account +// has permission to copy the image. If the copy image permission is granted, +// the image is shared with that account. If the copy image permission is revoked, +// the image is unshared with the account. +// +// * To delete an image that has been shared, you must unshare the image +// before you delete it. +// +// * Sharing Bring Your Own License (BYOL) images across AWS accounts isn't +// supported at this time in the AWS GovCloud (US-West) Region. To share +// BYOL images across accounts in the AWS GovCloud (US-West) Region, contact +// AWS 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 WorkSpaces's +// API operation UpdateWorkspaceImagePermission for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The resource could not be found. +// +// * ResourceUnavailableException +// The specified resource is not available. +// +// * AccessDeniedException +// The user is not authorized to access a resource. +// +// * InvalidParameterValuesException +// One or more parameter values are not valid. +// +// * OperationNotSupportedException +// This operation is not supported. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateWorkspaceImagePermission +func (c *WorkSpaces) UpdateWorkspaceImagePermission(input *UpdateWorkspaceImagePermissionInput) (*UpdateWorkspaceImagePermissionOutput, error) { + req, out := c.UpdateWorkspaceImagePermissionRequest(input) + return out, req.Send() +} + +// UpdateWorkspaceImagePermissionWithContext is the same as UpdateWorkspaceImagePermission with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateWorkspaceImagePermission for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkSpaces) UpdateWorkspaceImagePermissionWithContext(ctx aws.Context, input *UpdateWorkspaceImagePermissionInput, opts ...request.Option) (*UpdateWorkspaceImagePermissionOutput, error) { + req, out := c.UpdateWorkspaceImagePermissionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + // The user is not authorized to access a resource. type AccessDeniedException struct { _ struct{} `type:"structure"` @@ -4539,8 +4730,9 @@ func (s *CreateWorkspacesOutput) SetPendingRequests(v []*Workspace) *CreateWorks type DefaultWorkspaceCreationProperties struct { _ struct{} `type:"structure"` - // The identifier of any security groups to apply to WorkSpaces when they are - // created. + // The identifier of the default security group to apply to WorkSpaces when + // they are created. For more information, see Security Groups for Your WorkSpaces + // (https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-security-groups.html). CustomSecurityGroupId *string `min:"11" type:"string"` // The organizational unit (OU) in the directory for the WorkSpace machine accounts. @@ -5382,12 +5574,120 @@ func (s *DescribeWorkspaceDirectoriesOutput) SetNextToken(v string) *DescribeWor return s } +type DescribeWorkspaceImagePermissionsInput struct { + _ struct{} `type:"structure"` + + // The identifier of the image. + // + // ImageId is a required field + ImageId *string `type:"string" required:"true"` + + // The maximum number of items to return. + MaxResults *int64 `min:"1" type:"integer"` + + // If you received a NextToken from a previous call that was paginated, provide + // this token to receive the next set of results. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeWorkspaceImagePermissionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeWorkspaceImagePermissionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeWorkspaceImagePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeWorkspaceImagePermissionsInput"} + if s.ImageId == nil { + invalidParams.Add(request.NewErrParamRequired("ImageId")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImageId sets the ImageId field's value. +func (s *DescribeWorkspaceImagePermissionsInput) SetImageId(v string) *DescribeWorkspaceImagePermissionsInput { + s.ImageId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeWorkspaceImagePermissionsInput) SetMaxResults(v int64) *DescribeWorkspaceImagePermissionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeWorkspaceImagePermissionsInput) SetNextToken(v string) *DescribeWorkspaceImagePermissionsInput { + s.NextToken = &v + return s +} + +type DescribeWorkspaceImagePermissionsOutput struct { + _ struct{} `type:"structure"` + + // The identifier of the image. + ImageId *string `type:"string"` + + // The identifiers of the AWS accounts that the image has been shared with. + ImagePermissions []*ImagePermission `type:"list"` + + // The token to use to retrieve the next set of results, or null if no more + // results are available. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeWorkspaceImagePermissionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeWorkspaceImagePermissionsOutput) GoString() string { + return s.String() +} + +// SetImageId sets the ImageId field's value. +func (s *DescribeWorkspaceImagePermissionsOutput) SetImageId(v string) *DescribeWorkspaceImagePermissionsOutput { + s.ImageId = &v + return s +} + +// SetImagePermissions sets the ImagePermissions field's value. +func (s *DescribeWorkspaceImagePermissionsOutput) SetImagePermissions(v []*ImagePermission) *DescribeWorkspaceImagePermissionsOutput { + s.ImagePermissions = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeWorkspaceImagePermissionsOutput) SetNextToken(v string) *DescribeWorkspaceImagePermissionsOutput { + s.NextToken = &v + return s +} + type DescribeWorkspaceImagesInput struct { _ struct{} `type:"structure"` // The identifier of the image. ImageIds []*string `min:"1" type:"list"` + // The type (owned or shared) of the image. + ImageType *string `type:"string" enum:"ImageType"` + // The maximum number of items to return. MaxResults *int64 `min:"1" type:"integer"` @@ -5431,6 +5731,12 @@ func (s *DescribeWorkspaceImagesInput) SetImageIds(v []*string) *DescribeWorkspa return s } +// SetImageType sets the ImageType field's value. +func (s *DescribeWorkspaceImagesInput) SetImageType(v string) *DescribeWorkspaceImagesInput { + s.ImageType = &v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *DescribeWorkspaceImagesInput) SetMaxResults(v int64) *DescribeWorkspaceImagesInput { s.MaxResults = &v @@ -5925,6 +6231,31 @@ func (s *FailedWorkspaceChangeRequest) SetWorkspaceId(v string) *FailedWorkspace return s } +// Describes the AWS accounts that have been granted permission to use a shared +// image. +type ImagePermission struct { + _ struct{} `type:"structure"` + + // The identifier of the AWS account that an image has been shared with. + SharedAccountId *string `type:"string"` +} + +// String returns the string representation +func (s ImagePermission) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImagePermission) GoString() string { + return s.String() +} + +// SetSharedAccountId sets the SharedAccountId field's value. +func (s *ImagePermission) SetSharedAccountId(v string) *ImagePermission { + s.SharedAccountId = &v + return s +} + type ImportWorkspaceImageInput struct { _ struct{} `type:"structure"` @@ -8523,6 +8854,87 @@ func (s UpdateRulesOfIpGroupOutput) GoString() string { return s.String() } +type UpdateWorkspaceImagePermissionInput struct { + _ struct{} `type:"structure"` + + // The permission to copy the image. This permission can be revoked only after + // an image has been shared. + // + // AllowCopyImage is a required field + AllowCopyImage *bool `type:"boolean" required:"true"` + + // The identifier of the image. + // + // ImageId is a required field + ImageId *string `type:"string" required:"true"` + + // The identifier of the AWS account to share or unshare the image with. + // + // SharedAccountId is a required field + SharedAccountId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateWorkspaceImagePermissionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWorkspaceImagePermissionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateWorkspaceImagePermissionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateWorkspaceImagePermissionInput"} + if s.AllowCopyImage == nil { + invalidParams.Add(request.NewErrParamRequired("AllowCopyImage")) + } + if s.ImageId == nil { + invalidParams.Add(request.NewErrParamRequired("ImageId")) + } + if s.SharedAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("SharedAccountId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowCopyImage sets the AllowCopyImage field's value. +func (s *UpdateWorkspaceImagePermissionInput) SetAllowCopyImage(v bool) *UpdateWorkspaceImagePermissionInput { + s.AllowCopyImage = &v + return s +} + +// SetImageId sets the ImageId field's value. +func (s *UpdateWorkspaceImagePermissionInput) SetImageId(v string) *UpdateWorkspaceImagePermissionInput { + s.ImageId = &v + return s +} + +// SetSharedAccountId sets the SharedAccountId field's value. +func (s *UpdateWorkspaceImagePermissionInput) SetSharedAccountId(v string) *UpdateWorkspaceImagePermissionInput { + s.SharedAccountId = &v + return s +} + +type UpdateWorkspaceImagePermissionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateWorkspaceImagePermissionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateWorkspaceImagePermissionOutput) GoString() string { + return s.String() +} + // Describes the user storage for a WorkSpace bundle. type UserStorage struct { _ struct{} `type:"structure"` @@ -9175,6 +9587,11 @@ func (s *WorkspaceDirectory) SetWorkspaceSecurityGroupId(v string) *WorkspaceDir type WorkspaceImage struct { _ struct{} `type:"structure"` + // The date when the image was created. If the image has been shared, the AWS + // account that the image has been shared with sees the original creation date + // of the image. + Created *time.Time `type:"timestamp"` + // The description of the image. Description *string `min:"1" type:"string"` @@ -9193,6 +9610,9 @@ type WorkspaceImage struct { // The operating system that the image is running. OperatingSystem *OperatingSystem `type:"structure"` + // The identifier of the AWS account that owns the image. + OwnerAccountId *string `type:"string"` + // Specifies whether the image is running on dedicated hardware. When Bring // Your Own License (BYOL) is enabled, this value is set to DEDICATED. For more // information, see Bring Your Own Windows Desktop Images (https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html). @@ -9212,6 +9632,12 @@ func (s WorkspaceImage) GoString() string { return s.String() } +// SetCreated sets the Created field's value. +func (s *WorkspaceImage) SetCreated(v time.Time) *WorkspaceImage { + s.Created = &v + return s +} + // SetDescription sets the Description field's value. func (s *WorkspaceImage) SetDescription(v string) *WorkspaceImage { s.Description = &v @@ -9248,6 +9674,12 @@ func (s *WorkspaceImage) SetOperatingSystem(v *OperatingSystem) *WorkspaceImage return s } +// SetOwnerAccountId sets the OwnerAccountId field's value. +func (s *WorkspaceImage) SetOwnerAccountId(v string) *WorkspaceImage { + s.OwnerAccountId = &v + return s +} + // SetRequiredTenancy sets the RequiredTenancy field's value. func (s *WorkspaceImage) SetRequiredTenancy(v string) *WorkspaceImage { s.RequiredTenancy = &v @@ -9267,7 +9699,8 @@ type WorkspaceProperties struct { // The compute type. For more information, see Amazon WorkSpaces Bundles (http://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles). ComputeTypeName *string `type:"string" enum:"Compute"` - // The size of the root volume. + // The size of the root volume. For important information about how to modify + // the size of the root and user volumes, see Modify a WorkSpace (https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html). RootVolumeSizeGib *int64 `type:"integer"` // The running mode. For more information, see Manage the WorkSpace Running @@ -9278,7 +9711,8 @@ type WorkspaceProperties struct { // Configured in 60-minute intervals. RunningModeAutoStopTimeoutInMinutes *int64 `type:"integer"` - // The size of the user storage. + // The size of the user storage. For important information about how to modify + // the size of the root and user volumes, see Modify a WorkSpace (https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html). UserVolumeSizeGib *int64 `type:"integer"` } @@ -9579,6 +10013,14 @@ const ( DedicatedTenancySupportResultEnumDisabled = "DISABLED" ) +const ( + // ImageTypeOwned is a ImageType enum value + ImageTypeOwned = "OWNED" + + // ImageTypeShared is a ImageType enum value + ImageTypeShared = "SHARED" +) + const ( // ModificationResourceEnumRootVolume is a ModificationResourceEnum enum value ModificationResourceEnumRootVolume = "ROOT_VOLUME" diff --git a/vendor/modules.txt b/vendor/modules.txt index 8aaa0a1d16f..1190d93b056 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -25,7 +25,7 @@ github.com/apparentlymart/go-cidr/cidr github.com/apparentlymart/go-textseg/textseg # github.com/armon/go-radix v1.0.0 github.com/armon/go-radix -# github.com/aws/aws-sdk-go v1.30.21 +# github.com/aws/aws-sdk-go v1.34.0 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/arn github.com/aws/aws-sdk-go/aws/awserr @@ -56,6 +56,7 @@ github.com/aws/aws-sdk-go/internal/sdkuri github.com/aws/aws-sdk-go/internal/shareddefaults github.com/aws/aws-sdk-go/internal/strings github.com/aws/aws-sdk-go/internal/sync/singleflight +github.com/aws/aws-sdk-go/private/checksum github.com/aws/aws-sdk-go/private/protocol github.com/aws/aws-sdk-go/private/protocol/ec2query github.com/aws/aws-sdk-go/private/protocol/eventstream